@restatedev/restate-sdk 0.7.3-worker → 0.8.1

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 (231) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +29 -51
  3. package/dist/clients/workflow_client.d.ts +77 -0
  4. package/dist/clients/workflow_client.d.ts.map +1 -0
  5. package/dist/clients/workflow_client.js +172 -0
  6. package/dist/clients/workflow_client.js.map +1 -0
  7. package/dist/connection/buffered_connection.js +44 -0
  8. package/dist/connection/buffered_connection.js.map +1 -0
  9. package/dist/connection/connection.js +13 -0
  10. package/dist/connection/connection.js.map +1 -0
  11. package/dist/connection/embedded_connection.js +59 -0
  12. package/dist/connection/embedded_connection.js.map +1 -0
  13. package/dist/connection/http_connection.js +203 -0
  14. package/dist/connection/http_connection.js.map +1 -0
  15. package/dist/connection/lambda_connection.js +58 -0
  16. package/dist/connection/lambda_connection.js.map +1 -0
  17. package/dist/{restate_context.d.ts → context.d.ts} +239 -170
  18. package/dist/context.d.ts.map +1 -0
  19. package/dist/context.js +113 -0
  20. package/dist/context.js.map +1 -0
  21. package/dist/{restate_context_impl.d.ts → context_impl.d.ts} +26 -30
  22. package/dist/context_impl.d.ts.map +1 -0
  23. package/dist/context_impl.js +439 -0
  24. package/dist/context_impl.js.map +1 -0
  25. package/dist/embedded/api.d.ts +2 -2
  26. package/dist/embedded/api.d.ts.map +1 -1
  27. package/dist/embedded/api.js +35 -0
  28. package/dist/embedded/api.js.map +1 -0
  29. package/dist/embedded/handler.d.ts +2 -2
  30. package/dist/embedded/handler.d.ts.map +1 -1
  31. package/dist/embedded/handler.js +26 -0
  32. package/dist/embedded/handler.js.map +1 -0
  33. package/dist/embedded/http2_remote.js +91 -0
  34. package/dist/embedded/http2_remote.js.map +1 -0
  35. package/dist/embedded/invocation.d.ts.map +1 -1
  36. package/dist/embedded/invocation.js +94 -0
  37. package/dist/embedded/invocation.js.map +1 -0
  38. package/dist/endpoint/endpoint_impl.d.ts +35 -0
  39. package/dist/endpoint/endpoint_impl.d.ts.map +1 -0
  40. package/dist/endpoint/endpoint_impl.js +405 -0
  41. package/dist/endpoint/endpoint_impl.js.map +1 -0
  42. package/dist/endpoint/http2_handler.d.ts +11 -0
  43. package/dist/endpoint/http2_handler.d.ts.map +1 -0
  44. package/dist/endpoint/http2_handler.js +119 -0
  45. package/dist/endpoint/http2_handler.js.map +1 -0
  46. package/dist/endpoint/lambda_handler.d.ts +15 -0
  47. package/dist/endpoint/lambda_handler.d.ts.map +1 -0
  48. package/dist/endpoint/lambda_handler.js +144 -0
  49. package/dist/endpoint/lambda_handler.js.map +1 -0
  50. package/dist/endpoint.d.ts +161 -0
  51. package/dist/endpoint.d.ts.map +1 -0
  52. package/dist/endpoint.js +22 -0
  53. package/dist/endpoint.js.map +1 -0
  54. package/dist/generated/dev/restate/events.js +371 -0
  55. package/dist/generated/dev/restate/events.js.map +1 -0
  56. package/dist/generated/dev/restate/ext.js +215 -0
  57. package/dist/generated/dev/restate/ext.js.map +1 -0
  58. package/dist/generated/google/protobuf/descriptor.js +6676 -0
  59. package/dist/generated/google/protobuf/descriptor.js.map +1 -0
  60. package/dist/generated/google/protobuf/empty.js +107 -0
  61. package/dist/generated/google/protobuf/empty.js.map +1 -0
  62. package/dist/generated/google/protobuf/struct.js +754 -0
  63. package/dist/generated/google/protobuf/struct.js.map +1 -0
  64. package/dist/generated/proto/discovery.js +364 -0
  65. package/dist/generated/proto/discovery.js.map +1 -0
  66. package/dist/generated/proto/dynrpc.js +668 -0
  67. package/dist/generated/proto/dynrpc.js.map +1 -0
  68. package/dist/generated/proto/javascript.d.ts +13 -0
  69. package/dist/generated/proto/javascript.d.ts.map +1 -1
  70. package/dist/generated/proto/javascript.js +416 -0
  71. package/dist/generated/proto/javascript.js.map +1 -0
  72. package/dist/generated/proto/protocol.d.ts +43 -0
  73. package/dist/generated/proto/protocol.d.ts.map +1 -1
  74. package/dist/generated/proto/protocol.js +2641 -0
  75. package/dist/generated/proto/protocol.js.map +1 -0
  76. package/dist/generated/proto/services.js +1535 -0
  77. package/dist/generated/proto/services.js.map +1 -0
  78. package/dist/generated/proto/test.js +321 -0
  79. package/dist/generated/proto/test.js.map +1 -0
  80. package/dist/invocation.d.ts +4 -1
  81. package/dist/invocation.d.ts.map +1 -1
  82. package/dist/invocation.js +157 -0
  83. package/dist/invocation.js.map +1 -0
  84. package/dist/io/decoder.d.ts +1 -0
  85. package/dist/io/decoder.d.ts.map +1 -1
  86. package/dist/io/decoder.js +140 -0
  87. package/dist/io/decoder.js.map +1 -0
  88. package/dist/io/encoder.d.ts +1 -2
  89. package/dist/io/encoder.d.ts.map +1 -1
  90. package/dist/io/encoder.js +68 -0
  91. package/dist/io/encoder.js.map +1 -0
  92. package/dist/journal.d.ts +13 -4
  93. package/dist/journal.d.ts.map +1 -1
  94. package/dist/journal.js +405 -0
  95. package/dist/journal.js.map +1 -0
  96. package/dist/local_state_store.d.ts +5 -3
  97. package/dist/local_state_store.d.ts.map +1 -1
  98. package/dist/local_state_store.js +82 -0
  99. package/dist/local_state_store.js.map +1 -0
  100. package/dist/logger.d.ts +19 -0
  101. package/dist/logger.d.ts.map +1 -0
  102. package/dist/logger.js +90 -0
  103. package/dist/logger.js.map +1 -0
  104. package/dist/promise_combinator_tracker.d.ts +29 -0
  105. package/dist/promise_combinator_tracker.d.ts.map +1 -0
  106. package/dist/promise_combinator_tracker.js +128 -0
  107. package/dist/promise_combinator_tracker.js.map +1 -0
  108. package/dist/public_api.d.ts +5 -5
  109. package/dist/public_api.d.ts.map +1 -1
  110. package/dist/public_api.js +60 -0
  111. package/dist/public_api.js.map +1 -0
  112. package/dist/state_machine.d.ts +19 -12
  113. package/dist/state_machine.d.ts.map +1 -1
  114. package/dist/state_machine.js +437 -0
  115. package/dist/state_machine.js.map +1 -0
  116. package/dist/types/errors.d.ts +12 -3
  117. package/dist/types/errors.d.ts.map +1 -1
  118. package/dist/types/errors.js +273 -0
  119. package/dist/types/errors.js.map +1 -0
  120. package/dist/types/grpc.d.ts +6 -4
  121. package/dist/types/grpc.d.ts.map +1 -1
  122. package/dist/types/grpc.js +81 -0
  123. package/dist/types/grpc.js.map +1 -0
  124. package/dist/types/protocol.d.ts +9 -5
  125. package/dist/types/protocol.d.ts.map +1 -1
  126. package/dist/types/protocol.js +147 -0
  127. package/dist/types/protocol.js.map +1 -0
  128. package/dist/types/router.d.ts +8 -8
  129. package/dist/types/router.d.ts.map +1 -1
  130. package/dist/types/router.js +36 -0
  131. package/dist/types/router.js.map +1 -0
  132. package/dist/types/types.d.ts +1 -0
  133. package/dist/types/types.d.ts.map +1 -1
  134. package/dist/types/types.js +138 -0
  135. package/dist/types/types.js.map +1 -0
  136. package/dist/utils/{assumpsions.d.ts → assumptions.d.ts} +1 -1
  137. package/dist/utils/{assumpsions.d.ts.map → assumptions.d.ts.map} +1 -1
  138. package/dist/utils/assumptions.js +101 -0
  139. package/dist/utils/assumptions.js.map +1 -0
  140. package/dist/utils/message_logger.d.ts +28 -0
  141. package/dist/utils/message_logger.d.ts.map +1 -0
  142. package/dist/utils/message_logger.js +88 -0
  143. package/dist/utils/message_logger.js.map +1 -0
  144. package/dist/utils/promises.d.ts +15 -0
  145. package/dist/utils/promises.d.ts.map +1 -0
  146. package/dist/utils/promises.js +67 -0
  147. package/dist/utils/promises.js.map +1 -0
  148. package/dist/utils/public_utils.js +49 -0
  149. package/dist/utils/public_utils.js.map +1 -0
  150. package/dist/utils/rand.d.ts +1 -1
  151. package/dist/utils/rand.d.ts.map +1 -1
  152. package/dist/utils/rand.js +114 -0
  153. package/dist/utils/rand.js.map +1 -0
  154. package/dist/utils/utils.d.ts +1 -10
  155. package/dist/utils/utils.d.ts.map +1 -1
  156. package/dist/utils/utils.js +122 -0
  157. package/dist/utils/utils.js.map +1 -0
  158. package/dist/workflows/workflow.d.ts +101 -0
  159. package/dist/workflows/workflow.d.ts.map +1 -0
  160. package/dist/workflows/workflow.js +80 -0
  161. package/dist/workflows/workflow.js.map +1 -0
  162. package/dist/workflows/workflow_state_service.d.ts +35 -0
  163. package/dist/workflows/workflow_state_service.d.ts.map +1 -0
  164. package/dist/workflows/workflow_state_service.js +201 -0
  165. package/dist/workflows/workflow_state_service.js.map +1 -0
  166. package/dist/workflows/workflow_wrapper_service.d.ts +10 -0
  167. package/dist/workflows/workflow_wrapper_service.d.ts.map +1 -0
  168. package/dist/workflows/workflow_wrapper_service.js +264 -0
  169. package/dist/workflows/workflow_wrapper_service.js.map +1 -0
  170. package/package.json +38 -39
  171. package/src/clients/workflow_client.ts +290 -0
  172. package/src/connection/buffered_connection.ts +47 -0
  173. package/src/connection/connection.ts +34 -0
  174. package/src/connection/embedded_connection.ts +62 -0
  175. package/src/connection/http_connection.ts +228 -0
  176. package/src/connection/lambda_connection.ts +69 -0
  177. package/src/context.ts +633 -0
  178. package/src/context_impl.ts +721 -0
  179. package/src/embedded/api.ts +57 -0
  180. package/src/embedded/handler.ts +36 -0
  181. package/src/embedded/http2_remote.ts +103 -0
  182. package/src/embedded/invocation.ts +126 -0
  183. package/src/endpoint/endpoint_impl.ts +623 -0
  184. package/src/endpoint/http2_handler.ts +151 -0
  185. package/src/endpoint/lambda_handler.ts +181 -0
  186. package/src/endpoint.ts +187 -0
  187. package/src/generated/dev/restate/events.ts +430 -0
  188. package/src/generated/dev/restate/ext.ts +238 -0
  189. package/src/generated/google/protobuf/descriptor.ts +7889 -0
  190. package/src/generated/google/protobuf/empty.ts +150 -0
  191. package/src/generated/google/protobuf/struct.ts +878 -0
  192. package/src/generated/proto/discovery.ts +423 -0
  193. package/src/generated/proto/dynrpc.ts +768 -0
  194. package/src/generated/proto/javascript.ts +488 -0
  195. package/src/generated/proto/protocol.ts +3091 -0
  196. package/src/generated/proto/services.ts +1834 -0
  197. package/src/generated/proto/test.ts +387 -0
  198. package/src/invocation.ts +212 -0
  199. package/src/io/decoder.ts +171 -0
  200. package/src/io/encoder.ts +72 -0
  201. package/src/journal.ts +537 -0
  202. package/src/local_state_store.ts +94 -0
  203. package/src/logger.ts +121 -0
  204. package/src/promise_combinator_tracker.ts +191 -0
  205. package/src/public_api.ts +53 -0
  206. package/src/state_machine.ts +635 -0
  207. package/src/types/errors.ts +297 -0
  208. package/src/types/grpc.ts +97 -0
  209. package/src/types/protocol.ts +201 -0
  210. package/src/types/router.ts +118 -0
  211. package/src/types/types.ts +160 -0
  212. package/src/utils/assumptions.ts +131 -0
  213. package/src/utils/message_logger.ts +112 -0
  214. package/src/utils/promises.ts +118 -0
  215. package/src/utils/public_utils.ts +91 -0
  216. package/src/utils/rand.ts +142 -0
  217. package/src/utils/utils.ts +178 -0
  218. package/src/workflows/workflow.ts +178 -0
  219. package/src/workflows/workflow_state_service.ts +299 -0
  220. package/src/workflows/workflow_wrapper_service.ts +314 -0
  221. package/dist/cloudflare_bundle.js +0 -27387
  222. package/dist/restate_context.d.ts.map +0 -1
  223. package/dist/restate_context_impl.d.ts.map +0 -1
  224. package/dist/server/base_restate_server.d.ts +0 -32
  225. package/dist/server/base_restate_server.d.ts.map +0 -1
  226. package/dist/server/restate_lambda_handler.d.ts +0 -104
  227. package/dist/server/restate_lambda_handler.d.ts.map +0 -1
  228. package/dist/server/restate_server.d.ts +0 -97
  229. package/dist/server/restate_server.d.ts.map +0 -1
  230. package/dist/utils/logger.d.ts +0 -60
  231. package/dist/utils/logger.d.ts.map +0 -1
@@ -0,0 +1,768 @@
1
+ /* eslint-disable */
2
+ import _m0 from "protobufjs/minimal";
3
+ import { FileDescriptorProto as FileDescriptorProto1 } from "ts-proto-descriptors";
4
+ import { protoMetadata as protoMetadata2 } from "../dev/restate/events";
5
+ import { protoMetadata as protoMetadata1 } from "../dev/restate/ext";
6
+ import { Empty, protoMetadata as protoMetadata4 } from "../google/protobuf/empty";
7
+ import { protoMetadata as protoMetadata3, Value } from "../google/protobuf/struct";
8
+
9
+ export const protobufPackage = "";
10
+
11
+ export interface KeyedEvent {
12
+ key: string;
13
+ payload: Buffer;
14
+ attributes: { [key: string]: string };
15
+ }
16
+
17
+ export interface KeyedEvent_AttributesEntry {
18
+ key: string;
19
+ value: string;
20
+ }
21
+
22
+ export interface RpcRequest {
23
+ key: string;
24
+ request:
25
+ | any
26
+ | undefined;
27
+ /** internal: see src/utils/assumptions.ts */
28
+ senderAssumes: number;
29
+ }
30
+
31
+ export interface RpcResponse {
32
+ response: any | undefined;
33
+ }
34
+
35
+ function createBaseKeyedEvent(): KeyedEvent {
36
+ return { key: "", payload: Buffer.alloc(0), attributes: {} };
37
+ }
38
+
39
+ export const KeyedEvent = {
40
+ encode(message: KeyedEvent, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
41
+ if (message.key !== "") {
42
+ writer.uint32(10).string(message.key);
43
+ }
44
+ if (message.payload.length !== 0) {
45
+ writer.uint32(26).bytes(message.payload);
46
+ }
47
+ Object.entries(message.attributes).forEach(([key, value]) => {
48
+ KeyedEvent_AttributesEntry.encode({ key: key as any, value }, writer.uint32(122).fork()).ldelim();
49
+ });
50
+ return writer;
51
+ },
52
+
53
+ decode(input: _m0.Reader | Uint8Array, length?: number): KeyedEvent {
54
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
55
+ let end = length === undefined ? reader.len : reader.pos + length;
56
+ const message = createBaseKeyedEvent();
57
+ while (reader.pos < end) {
58
+ const tag = reader.uint32();
59
+ switch (tag >>> 3) {
60
+ case 1:
61
+ if (tag !== 10) {
62
+ break;
63
+ }
64
+
65
+ message.key = reader.string();
66
+ continue;
67
+ case 3:
68
+ if (tag !== 26) {
69
+ break;
70
+ }
71
+
72
+ message.payload = reader.bytes() as Buffer;
73
+ continue;
74
+ case 15:
75
+ if (tag !== 122) {
76
+ break;
77
+ }
78
+
79
+ const entry15 = KeyedEvent_AttributesEntry.decode(reader, reader.uint32());
80
+ if (entry15.value !== undefined) {
81
+ message.attributes[entry15.key] = entry15.value;
82
+ }
83
+ continue;
84
+ }
85
+ if ((tag & 7) === 4 || tag === 0) {
86
+ break;
87
+ }
88
+ reader.skipType(tag & 7);
89
+ }
90
+ return message;
91
+ },
92
+
93
+ fromJSON(object: any): KeyedEvent {
94
+ return {
95
+ key: isSet(object.key) ? globalThis.String(object.key) : "",
96
+ payload: isSet(object.payload) ? Buffer.from(bytesFromBase64(object.payload)) : Buffer.alloc(0),
97
+ attributes: isObject(object.attributes)
98
+ ? Object.entries(object.attributes).reduce<{ [key: string]: string }>((acc, [key, value]) => {
99
+ acc[key] = String(value);
100
+ return acc;
101
+ }, {})
102
+ : {},
103
+ };
104
+ },
105
+
106
+ toJSON(message: KeyedEvent): unknown {
107
+ const obj: any = {};
108
+ if (message.key !== "") {
109
+ obj.key = message.key;
110
+ }
111
+ if (message.payload.length !== 0) {
112
+ obj.payload = base64FromBytes(message.payload);
113
+ }
114
+ if (message.attributes) {
115
+ const entries = Object.entries(message.attributes);
116
+ if (entries.length > 0) {
117
+ obj.attributes = {};
118
+ entries.forEach(([k, v]) => {
119
+ obj.attributes[k] = v;
120
+ });
121
+ }
122
+ }
123
+ return obj;
124
+ },
125
+
126
+ create(base?: DeepPartial<KeyedEvent>): KeyedEvent {
127
+ return KeyedEvent.fromPartial(base ?? {});
128
+ },
129
+ fromPartial(object: DeepPartial<KeyedEvent>): KeyedEvent {
130
+ const message = createBaseKeyedEvent();
131
+ message.key = object.key ?? "";
132
+ message.payload = object.payload ?? Buffer.alloc(0);
133
+ message.attributes = Object.entries(object.attributes ?? {}).reduce<{ [key: string]: string }>(
134
+ (acc, [key, value]) => {
135
+ if (value !== undefined) {
136
+ acc[key] = globalThis.String(value);
137
+ }
138
+ return acc;
139
+ },
140
+ {},
141
+ );
142
+ return message;
143
+ },
144
+ };
145
+
146
+ function createBaseKeyedEvent_AttributesEntry(): KeyedEvent_AttributesEntry {
147
+ return { key: "", value: "" };
148
+ }
149
+
150
+ export const KeyedEvent_AttributesEntry = {
151
+ encode(message: KeyedEvent_AttributesEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
152
+ if (message.key !== "") {
153
+ writer.uint32(10).string(message.key);
154
+ }
155
+ if (message.value !== "") {
156
+ writer.uint32(18).string(message.value);
157
+ }
158
+ return writer;
159
+ },
160
+
161
+ decode(input: _m0.Reader | Uint8Array, length?: number): KeyedEvent_AttributesEntry {
162
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
163
+ let end = length === undefined ? reader.len : reader.pos + length;
164
+ const message = createBaseKeyedEvent_AttributesEntry();
165
+ while (reader.pos < end) {
166
+ const tag = reader.uint32();
167
+ switch (tag >>> 3) {
168
+ case 1:
169
+ if (tag !== 10) {
170
+ break;
171
+ }
172
+
173
+ message.key = reader.string();
174
+ continue;
175
+ case 2:
176
+ if (tag !== 18) {
177
+ break;
178
+ }
179
+
180
+ message.value = reader.string();
181
+ continue;
182
+ }
183
+ if ((tag & 7) === 4 || tag === 0) {
184
+ break;
185
+ }
186
+ reader.skipType(tag & 7);
187
+ }
188
+ return message;
189
+ },
190
+
191
+ fromJSON(object: any): KeyedEvent_AttributesEntry {
192
+ return {
193
+ key: isSet(object.key) ? globalThis.String(object.key) : "",
194
+ value: isSet(object.value) ? globalThis.String(object.value) : "",
195
+ };
196
+ },
197
+
198
+ toJSON(message: KeyedEvent_AttributesEntry): unknown {
199
+ const obj: any = {};
200
+ if (message.key !== "") {
201
+ obj.key = message.key;
202
+ }
203
+ if (message.value !== "") {
204
+ obj.value = message.value;
205
+ }
206
+ return obj;
207
+ },
208
+
209
+ create(base?: DeepPartial<KeyedEvent_AttributesEntry>): KeyedEvent_AttributesEntry {
210
+ return KeyedEvent_AttributesEntry.fromPartial(base ?? {});
211
+ },
212
+ fromPartial(object: DeepPartial<KeyedEvent_AttributesEntry>): KeyedEvent_AttributesEntry {
213
+ const message = createBaseKeyedEvent_AttributesEntry();
214
+ message.key = object.key ?? "";
215
+ message.value = object.value ?? "";
216
+ return message;
217
+ },
218
+ };
219
+
220
+ function createBaseRpcRequest(): RpcRequest {
221
+ return { key: "", request: undefined, senderAssumes: 0 };
222
+ }
223
+
224
+ export const RpcRequest = {
225
+ encode(message: RpcRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
226
+ if (message.key !== "") {
227
+ writer.uint32(10).string(message.key);
228
+ }
229
+ if (message.request !== undefined) {
230
+ Value.encode(Value.wrap(message.request), writer.uint32(18).fork()).ldelim();
231
+ }
232
+ if (message.senderAssumes !== 0) {
233
+ writer.uint32(808).int32(message.senderAssumes);
234
+ }
235
+ return writer;
236
+ },
237
+
238
+ decode(input: _m0.Reader | Uint8Array, length?: number): RpcRequest {
239
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
240
+ let end = length === undefined ? reader.len : reader.pos + length;
241
+ const message = createBaseRpcRequest();
242
+ while (reader.pos < end) {
243
+ const tag = reader.uint32();
244
+ switch (tag >>> 3) {
245
+ case 1:
246
+ if (tag !== 10) {
247
+ break;
248
+ }
249
+
250
+ message.key = reader.string();
251
+ continue;
252
+ case 2:
253
+ if (tag !== 18) {
254
+ break;
255
+ }
256
+
257
+ message.request = Value.unwrap(Value.decode(reader, reader.uint32()));
258
+ continue;
259
+ case 101:
260
+ if (tag !== 808) {
261
+ break;
262
+ }
263
+
264
+ message.senderAssumes = reader.int32();
265
+ continue;
266
+ }
267
+ if ((tag & 7) === 4 || tag === 0) {
268
+ break;
269
+ }
270
+ reader.skipType(tag & 7);
271
+ }
272
+ return message;
273
+ },
274
+
275
+ fromJSON(object: any): RpcRequest {
276
+ return {
277
+ key: isSet(object.key) ? globalThis.String(object.key) : "",
278
+ request: isSet(object?.request) ? object.request : undefined,
279
+ senderAssumes: isSet(object.senderAssumes) ? globalThis.Number(object.senderAssumes) : 0,
280
+ };
281
+ },
282
+
283
+ toJSON(message: RpcRequest): unknown {
284
+ const obj: any = {};
285
+ if (message.key !== "") {
286
+ obj.key = message.key;
287
+ }
288
+ if (message.request !== undefined) {
289
+ obj.request = message.request;
290
+ }
291
+ if (message.senderAssumes !== 0) {
292
+ obj.senderAssumes = Math.round(message.senderAssumes);
293
+ }
294
+ return obj;
295
+ },
296
+
297
+ create(base?: DeepPartial<RpcRequest>): RpcRequest {
298
+ return RpcRequest.fromPartial(base ?? {});
299
+ },
300
+ fromPartial(object: DeepPartial<RpcRequest>): RpcRequest {
301
+ const message = createBaseRpcRequest();
302
+ message.key = object.key ?? "";
303
+ message.request = object.request ?? undefined;
304
+ message.senderAssumes = object.senderAssumes ?? 0;
305
+ return message;
306
+ },
307
+ };
308
+
309
+ function createBaseRpcResponse(): RpcResponse {
310
+ return { response: undefined };
311
+ }
312
+
313
+ export const RpcResponse = {
314
+ encode(message: RpcResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
315
+ if (message.response !== undefined) {
316
+ Value.encode(Value.wrap(message.response), writer.uint32(10).fork()).ldelim();
317
+ }
318
+ return writer;
319
+ },
320
+
321
+ decode(input: _m0.Reader | Uint8Array, length?: number): RpcResponse {
322
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
323
+ let end = length === undefined ? reader.len : reader.pos + length;
324
+ const message = createBaseRpcResponse();
325
+ while (reader.pos < end) {
326
+ const tag = reader.uint32();
327
+ switch (tag >>> 3) {
328
+ case 1:
329
+ if (tag !== 10) {
330
+ break;
331
+ }
332
+
333
+ message.response = Value.unwrap(Value.decode(reader, reader.uint32()));
334
+ continue;
335
+ }
336
+ if ((tag & 7) === 4 || tag === 0) {
337
+ break;
338
+ }
339
+ reader.skipType(tag & 7);
340
+ }
341
+ return message;
342
+ },
343
+
344
+ fromJSON(object: any): RpcResponse {
345
+ return { response: isSet(object?.response) ? object.response : undefined };
346
+ },
347
+
348
+ toJSON(message: RpcResponse): unknown {
349
+ const obj: any = {};
350
+ if (message.response !== undefined) {
351
+ obj.response = message.response;
352
+ }
353
+ return obj;
354
+ },
355
+
356
+ create(base?: DeepPartial<RpcResponse>): RpcResponse {
357
+ return RpcResponse.fromPartial(base ?? {});
358
+ },
359
+ fromPartial(object: DeepPartial<RpcResponse>): RpcResponse {
360
+ const message = createBaseRpcResponse();
361
+ message.response = object.response ?? undefined;
362
+ return message;
363
+ },
364
+ };
365
+
366
+ export interface RpcEndpoint {
367
+ call(request: RpcRequest): Promise<RpcResponse>;
368
+ handle(request: KeyedEvent): Promise<Empty>;
369
+ }
370
+
371
+ export const RpcEndpointServiceName = "RpcEndpoint";
372
+ export class RpcEndpointClientImpl implements RpcEndpoint {
373
+ private readonly rpc: Rpc;
374
+ private readonly service: string;
375
+ constructor(rpc: Rpc, opts?: { service?: string }) {
376
+ this.service = opts?.service || RpcEndpointServiceName;
377
+ this.rpc = rpc;
378
+ this.call = this.call.bind(this);
379
+ this.handle = this.handle.bind(this);
380
+ }
381
+ call(request: RpcRequest): Promise<RpcResponse> {
382
+ const data = RpcRequest.encode(request).finish();
383
+ const promise = this.rpc.request(this.service, "call", data);
384
+ return promise.then((data) => RpcResponse.decode(_m0.Reader.create(data)));
385
+ }
386
+
387
+ handle(request: KeyedEvent): Promise<Empty> {
388
+ const data = KeyedEvent.encode(request).finish();
389
+ const promise = this.rpc.request(this.service, "handle", data);
390
+ return promise.then((data) => Empty.decode(_m0.Reader.create(data)));
391
+ }
392
+ }
393
+
394
+ export interface UnkeyedRpcEndpoint {
395
+ call(request: RpcRequest): Promise<RpcResponse>;
396
+ }
397
+
398
+ export const UnkeyedRpcEndpointServiceName = "UnkeyedRpcEndpoint";
399
+ export class UnkeyedRpcEndpointClientImpl implements UnkeyedRpcEndpoint {
400
+ private readonly rpc: Rpc;
401
+ private readonly service: string;
402
+ constructor(rpc: Rpc, opts?: { service?: string }) {
403
+ this.service = opts?.service || UnkeyedRpcEndpointServiceName;
404
+ this.rpc = rpc;
405
+ this.call = this.call.bind(this);
406
+ }
407
+ call(request: RpcRequest): Promise<RpcResponse> {
408
+ const data = RpcRequest.encode(request).finish();
409
+ const promise = this.rpc.request(this.service, "call", data);
410
+ return promise.then((data) => RpcResponse.decode(_m0.Reader.create(data)));
411
+ }
412
+ }
413
+
414
+ interface Rpc {
415
+ request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
416
+ }
417
+
418
+ type ProtoMetaMessageOptions = {
419
+ options?: { [key: string]: any };
420
+ fields?: { [key: string]: { [key: string]: any } };
421
+ oneof?: { [key: string]: { [key: string]: any } };
422
+ nested?: { [key: string]: ProtoMetaMessageOptions };
423
+ };
424
+
425
+ export interface ProtoMetadata {
426
+ fileDescriptor: FileDescriptorProto1;
427
+ references: { [key: string]: any };
428
+ dependencies?: ProtoMetadata[];
429
+ options?: {
430
+ options?: { [key: string]: any };
431
+ services?: {
432
+ [key: string]: { options?: { [key: string]: any }; methods?: { [key: string]: { [key: string]: any } } };
433
+ };
434
+ messages?: { [key: string]: ProtoMetaMessageOptions };
435
+ enums?: { [key: string]: { options?: { [key: string]: any }; values?: { [key: string]: { [key: string]: any } } } };
436
+ };
437
+ }
438
+
439
+ export const protoMetadata: ProtoMetadata = {
440
+ fileDescriptor: FileDescriptorProto1.fromPartial({
441
+ "name": "proto/dynrpc.proto",
442
+ "package": "",
443
+ "dependency": [
444
+ "dev/restate/ext.proto",
445
+ "dev/restate/events.proto",
446
+ "google/protobuf/struct.proto",
447
+ "google/protobuf/empty.proto",
448
+ ],
449
+ "publicDependency": [],
450
+ "weakDependency": [],
451
+ "messageType": [{
452
+ "name": "KeyedEvent",
453
+ "field": [{
454
+ "name": "key",
455
+ "number": 1,
456
+ "label": 1,
457
+ "type": 9,
458
+ "typeName": "",
459
+ "extendee": "",
460
+ "defaultValue": "",
461
+ "oneofIndex": 0,
462
+ "jsonName": "key",
463
+ "options": {
464
+ "ctype": 0,
465
+ "packed": false,
466
+ "jstype": 0,
467
+ "lazy": false,
468
+ "deprecated": false,
469
+ "weak": false,
470
+ "uninterpretedOption": [],
471
+ },
472
+ "proto3Optional": false,
473
+ }, {
474
+ "name": "payload",
475
+ "number": 3,
476
+ "label": 1,
477
+ "type": 12,
478
+ "typeName": "",
479
+ "extendee": "",
480
+ "defaultValue": "",
481
+ "oneofIndex": 0,
482
+ "jsonName": "payload",
483
+ "options": {
484
+ "ctype": 0,
485
+ "packed": false,
486
+ "jstype": 0,
487
+ "lazy": false,
488
+ "deprecated": false,
489
+ "weak": false,
490
+ "uninterpretedOption": [],
491
+ },
492
+ "proto3Optional": false,
493
+ }, {
494
+ "name": "attributes",
495
+ "number": 15,
496
+ "label": 3,
497
+ "type": 11,
498
+ "typeName": ".KeyedEvent.AttributesEntry",
499
+ "extendee": "",
500
+ "defaultValue": "",
501
+ "oneofIndex": 0,
502
+ "jsonName": "attributes",
503
+ "options": {
504
+ "ctype": 0,
505
+ "packed": false,
506
+ "jstype": 0,
507
+ "lazy": false,
508
+ "deprecated": false,
509
+ "weak": false,
510
+ "uninterpretedOption": [],
511
+ },
512
+ "proto3Optional": false,
513
+ }],
514
+ "extension": [],
515
+ "nestedType": [{
516
+ "name": "AttributesEntry",
517
+ "field": [{
518
+ "name": "key",
519
+ "number": 1,
520
+ "label": 1,
521
+ "type": 9,
522
+ "typeName": "",
523
+ "extendee": "",
524
+ "defaultValue": "",
525
+ "oneofIndex": 0,
526
+ "jsonName": "key",
527
+ "options": undefined,
528
+ "proto3Optional": false,
529
+ }, {
530
+ "name": "value",
531
+ "number": 2,
532
+ "label": 1,
533
+ "type": 9,
534
+ "typeName": "",
535
+ "extendee": "",
536
+ "defaultValue": "",
537
+ "oneofIndex": 0,
538
+ "jsonName": "value",
539
+ "options": undefined,
540
+ "proto3Optional": false,
541
+ }],
542
+ "extension": [],
543
+ "nestedType": [],
544
+ "enumType": [],
545
+ "extensionRange": [],
546
+ "oneofDecl": [],
547
+ "options": {
548
+ "messageSetWireFormat": false,
549
+ "noStandardDescriptorAccessor": false,
550
+ "deprecated": false,
551
+ "mapEntry": true,
552
+ "uninterpretedOption": [],
553
+ },
554
+ "reservedRange": [],
555
+ "reservedName": [],
556
+ }],
557
+ "enumType": [],
558
+ "extensionRange": [],
559
+ "oneofDecl": [],
560
+ "options": undefined,
561
+ "reservedRange": [],
562
+ "reservedName": [],
563
+ }, {
564
+ "name": "RpcRequest",
565
+ "field": [{
566
+ "name": "key",
567
+ "number": 1,
568
+ "label": 1,
569
+ "type": 9,
570
+ "typeName": "",
571
+ "extendee": "",
572
+ "defaultValue": "",
573
+ "oneofIndex": 0,
574
+ "jsonName": "key",
575
+ "options": {
576
+ "ctype": 0,
577
+ "packed": false,
578
+ "jstype": 0,
579
+ "lazy": false,
580
+ "deprecated": false,
581
+ "weak": false,
582
+ "uninterpretedOption": [],
583
+ },
584
+ "proto3Optional": false,
585
+ }, {
586
+ "name": "request",
587
+ "number": 2,
588
+ "label": 1,
589
+ "type": 11,
590
+ "typeName": ".google.protobuf.Value",
591
+ "extendee": "",
592
+ "defaultValue": "",
593
+ "oneofIndex": 0,
594
+ "jsonName": "request",
595
+ "options": undefined,
596
+ "proto3Optional": false,
597
+ }, {
598
+ "name": "sender_assumes",
599
+ "number": 101,
600
+ "label": 1,
601
+ "type": 5,
602
+ "typeName": "",
603
+ "extendee": "",
604
+ "defaultValue": "",
605
+ "oneofIndex": 0,
606
+ "jsonName": "senderAssumes",
607
+ "options": undefined,
608
+ "proto3Optional": false,
609
+ }],
610
+ "extension": [],
611
+ "nestedType": [],
612
+ "enumType": [],
613
+ "extensionRange": [],
614
+ "oneofDecl": [],
615
+ "options": undefined,
616
+ "reservedRange": [],
617
+ "reservedName": [],
618
+ }, {
619
+ "name": "RpcResponse",
620
+ "field": [{
621
+ "name": "response",
622
+ "number": 1,
623
+ "label": 1,
624
+ "type": 11,
625
+ "typeName": ".google.protobuf.Value",
626
+ "extendee": "",
627
+ "defaultValue": "",
628
+ "oneofIndex": 0,
629
+ "jsonName": "response",
630
+ "options": undefined,
631
+ "proto3Optional": false,
632
+ }],
633
+ "extension": [],
634
+ "nestedType": [],
635
+ "enumType": [],
636
+ "extensionRange": [],
637
+ "oneofDecl": [],
638
+ "options": undefined,
639
+ "reservedRange": [],
640
+ "reservedName": [],
641
+ }],
642
+ "enumType": [],
643
+ "service": [{
644
+ "name": "RpcEndpoint",
645
+ "method": [{
646
+ "name": "call",
647
+ "inputType": ".RpcRequest",
648
+ "outputType": ".RpcResponse",
649
+ "options": { "deprecated": false, "idempotencyLevel": 0, "uninterpretedOption": [] },
650
+ "clientStreaming": false,
651
+ "serverStreaming": false,
652
+ }, {
653
+ "name": "handle",
654
+ "inputType": ".KeyedEvent",
655
+ "outputType": ".google.protobuf.Empty",
656
+ "options": { "deprecated": false, "idempotencyLevel": 0, "uninterpretedOption": [] },
657
+ "clientStreaming": false,
658
+ "serverStreaming": false,
659
+ }],
660
+ "options": { "deprecated": false, "uninterpretedOption": [] },
661
+ }, {
662
+ "name": "UnkeyedRpcEndpoint",
663
+ "method": [{
664
+ "name": "call",
665
+ "inputType": ".RpcRequest",
666
+ "outputType": ".RpcResponse",
667
+ "options": { "deprecated": false, "idempotencyLevel": 0, "uninterpretedOption": [] },
668
+ "clientStreaming": false,
669
+ "serverStreaming": false,
670
+ }],
671
+ "options": { "deprecated": false, "uninterpretedOption": [] },
672
+ }],
673
+ "extension": [],
674
+ "options": {
675
+ "javaPackage": "",
676
+ "javaOuterClassname": "DynrpcProto",
677
+ "javaMultipleFiles": true,
678
+ "javaGenerateEqualsAndHash": false,
679
+ "javaStringCheckUtf8": false,
680
+ "optimizeFor": 1,
681
+ "goPackage": "",
682
+ "ccGenericServices": false,
683
+ "javaGenericServices": false,
684
+ "pyGenericServices": false,
685
+ "phpGenericServices": false,
686
+ "deprecated": false,
687
+ "ccEnableArenas": false,
688
+ "objcClassPrefix": "",
689
+ "csharpNamespace": "",
690
+ "swiftPrefix": "",
691
+ "phpClassPrefix": "",
692
+ "phpNamespace": "",
693
+ "phpMetadataNamespace": "",
694
+ "rubyPackage": "",
695
+ "uninterpretedOption": [],
696
+ },
697
+ "sourceCodeInfo": {
698
+ "location": [{
699
+ "path": [4, 1, 2, 2],
700
+ "span": [43, 2, 29],
701
+ "leadingComments": " internal: see src/utils/assumptions.ts\n",
702
+ "trailingComments": "",
703
+ "leadingDetachedComments": [],
704
+ }],
705
+ },
706
+ "syntax": "proto3",
707
+ }),
708
+ references: {
709
+ ".KeyedEvent": KeyedEvent,
710
+ ".KeyedEvent.AttributesEntry": KeyedEvent_AttributesEntry,
711
+ ".RpcRequest": RpcRequest,
712
+ ".RpcResponse": RpcResponse,
713
+ ".RpcEndpoint": RpcEndpointClientImpl,
714
+ ".UnkeyedRpcEndpoint": UnkeyedRpcEndpointClientImpl,
715
+ },
716
+ dependencies: [protoMetadata1, protoMetadata2, protoMetadata3, protoMetadata4],
717
+ options: {
718
+ messages: {
719
+ "KeyedEvent": { fields: { "key": { "field": 0 }, "payload": { "field": 1 }, "attributes": { "field": 2 } } },
720
+ "RpcRequest": { fields: { "key": { "field": 0 } } },
721
+ },
722
+ services: {
723
+ "RpcEndpoint": { options: { "service_type": 1 }, methods: {} },
724
+ "UnkeyedRpcEndpoint": { options: { "service_type": 0 }, methods: {} },
725
+ },
726
+ },
727
+ };
728
+
729
+ function bytesFromBase64(b64: string): Uint8Array {
730
+ if (globalThis.Buffer) {
731
+ return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
732
+ } else {
733
+ const bin = globalThis.atob(b64);
734
+ const arr = new Uint8Array(bin.length);
735
+ for (let i = 0; i < bin.length; ++i) {
736
+ arr[i] = bin.charCodeAt(i);
737
+ }
738
+ return arr;
739
+ }
740
+ }
741
+
742
+ function base64FromBytes(arr: Uint8Array): string {
743
+ if (globalThis.Buffer) {
744
+ return globalThis.Buffer.from(arr).toString("base64");
745
+ } else {
746
+ const bin: string[] = [];
747
+ arr.forEach((byte) => {
748
+ bin.push(globalThis.String.fromCharCode(byte));
749
+ });
750
+ return globalThis.btoa(bin.join(""));
751
+ }
752
+ }
753
+
754
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
755
+
756
+ export type DeepPartial<T> = T extends Builtin ? T
757
+ : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>
758
+ : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
759
+ : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
760
+ : Partial<T>;
761
+
762
+ function isObject(value: any): boolean {
763
+ return typeof value === "object" && value !== null;
764
+ }
765
+
766
+ function isSet(value: any): boolean {
767
+ return value !== null && value !== undefined;
768
+ }