@resonatehq/sdk 0.9.6 → 0.10.0

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 (234) hide show
  1. package/README.md +84 -12
  2. package/dist/clock.d.ts.map +1 -0
  3. package/dist/clock.js +12 -0
  4. package/dist/clock.js.map +1 -0
  5. package/dist/codec.d.ts +11 -0
  6. package/dist/codec.d.ts.map +1 -0
  7. package/dist/codec.js +115 -0
  8. package/dist/codec.js.map +1 -0
  9. package/dist/computation.d.ts +40 -0
  10. package/dist/computation.d.ts.map +1 -0
  11. package/dist/computation.js +152 -0
  12. package/dist/computation.js.map +1 -0
  13. package/dist/{src/context.d.ts → context.d.ts} +65 -40
  14. package/dist/context.d.ts.map +1 -0
  15. package/dist/{src/context.js → context.js} +131 -153
  16. package/dist/context.js.map +1 -0
  17. package/dist/core.d.ts +45 -0
  18. package/dist/core.d.ts.map +1 -0
  19. package/dist/core.js +140 -0
  20. package/dist/core.js.map +1 -0
  21. package/dist/coroutine.d.ts +37 -0
  22. package/dist/coroutine.d.ts.map +1 -0
  23. package/dist/coroutine.js +258 -0
  24. package/dist/coroutine.js.map +1 -0
  25. package/dist/{src/decorator.d.ts → decorator.d.ts} +8 -8
  26. package/dist/decorator.d.ts.map +1 -0
  27. package/dist/decorator.js +149 -0
  28. package/dist/decorator.js.map +1 -0
  29. package/dist/encryptor.d.ts +10 -0
  30. package/dist/encryptor.d.ts.map +1 -0
  31. package/dist/encryptor.js +9 -0
  32. package/dist/encryptor.js.map +1 -0
  33. package/dist/{src/exceptions.d.ts → exceptions.d.ts} +4 -1
  34. package/dist/exceptions.d.ts.map +1 -0
  35. package/dist/{src/exceptions.js → exceptions.js} +11 -11
  36. package/dist/exceptions.js.map +1 -0
  37. package/dist/{src/heartbeat.d.ts → heartbeat.d.ts} +5 -3
  38. package/dist/heartbeat.d.ts.map +1 -0
  39. package/dist/heartbeat.js +50 -0
  40. package/dist/heartbeat.js.map +1 -0
  41. package/dist/index.d.ts +21 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +15 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/logger.d.ts +33 -0
  46. package/dist/logger.d.ts.map +1 -0
  47. package/dist/logger.js +54 -0
  48. package/dist/logger.js.map +1 -0
  49. package/dist/network/http.d.ts +82 -0
  50. package/dist/network/http.d.ts.map +1 -0
  51. package/dist/network/http.js +339 -0
  52. package/dist/network/http.js.map +1 -0
  53. package/dist/network/local.d.ts +179 -0
  54. package/dist/network/local.d.ts.map +1 -0
  55. package/dist/network/local.js +1232 -0
  56. package/dist/network/local.js.map +1 -0
  57. package/dist/network/network.d.ts +16 -0
  58. package/dist/network/network.d.ts.map +1 -0
  59. package/dist/network/network.js +2 -0
  60. package/dist/network/network.js.map +1 -0
  61. package/dist/network/types.d.ts +1279 -0
  62. package/dist/network/types.d.ts.map +1 -0
  63. package/dist/network/types.js +919 -0
  64. package/dist/network/types.js.map +1 -0
  65. package/dist/{src/options.d.ts → options.d.ts} +10 -4
  66. package/dist/options.d.ts.map +1 -0
  67. package/dist/options.js +32 -0
  68. package/dist/options.js.map +1 -0
  69. package/dist/promises.d.ts +41 -0
  70. package/dist/promises.d.ts.map +1 -0
  71. package/dist/promises.js +113 -0
  72. package/dist/promises.js.map +1 -0
  73. package/dist/{src/registry.d.ts → registry.d.ts} +1 -1
  74. package/dist/registry.d.ts.map +1 -0
  75. package/dist/{src/registry.js → registry.js} +6 -13
  76. package/dist/registry.js.map +1 -0
  77. package/dist/resonate.d.ts +168 -0
  78. package/dist/resonate.d.ts.map +1 -0
  79. package/dist/resonate.js +488 -0
  80. package/dist/resonate.js.map +1 -0
  81. package/dist/retries.d.ts.map +1 -0
  82. package/dist/{src/retries.js → retries.js} +4 -11
  83. package/dist/retries.js.map +1 -0
  84. package/dist/schedules.d.ts +22 -0
  85. package/dist/schedules.d.ts.map +1 -0
  86. package/dist/schedules.js +65 -0
  87. package/dist/schedules.js.map +1 -0
  88. package/dist/trace.d.ts +79 -0
  89. package/dist/trace.d.ts.map +1 -0
  90. package/dist/trace.js +224 -0
  91. package/dist/trace.js.map +1 -0
  92. package/dist/types.d.ts +21 -0
  93. package/dist/types.d.ts.map +1 -0
  94. package/dist/types.js +2 -0
  95. package/dist/types.js.map +1 -0
  96. package/dist/{src/util.d.ts → util.d.ts} +10 -6
  97. package/dist/util.d.ts.map +1 -0
  98. package/dist/util.js +156 -0
  99. package/dist/util.js.map +1 -0
  100. package/package.json +18 -10
  101. package/dist/dev/network.d.ts +0 -34
  102. package/dist/dev/network.d.ts.map +0 -1
  103. package/dist/dev/network.js +0 -115
  104. package/dist/dev/network.js.map +0 -1
  105. package/dist/dev/server.d.ts +0 -89
  106. package/dist/dev/server.d.ts.map +0 -1
  107. package/dist/dev/server.js +0 -890
  108. package/dist/dev/server.js.map +0 -1
  109. package/dist/sim/example-1.d.ts +0 -2
  110. package/dist/sim/example-1.d.ts.map +0 -1
  111. package/dist/sim/example-1.js +0 -95
  112. package/dist/sim/example-1.js.map +0 -1
  113. package/dist/sim/example-2.d.ts +0 -2
  114. package/dist/sim/example-2.d.ts.map +0 -1
  115. package/dist/sim/example-2.js +0 -97
  116. package/dist/sim/example-2.js.map +0 -1
  117. package/dist/sim/example-3.d.ts +0 -2
  118. package/dist/sim/example-3.d.ts.map +0 -1
  119. package/dist/sim/example-3.js +0 -97
  120. package/dist/sim/example-3.js.map +0 -1
  121. package/dist/sim/main.d.ts +0 -14
  122. package/dist/sim/main.d.ts.map +0 -1
  123. package/dist/sim/main.js +0 -207
  124. package/dist/sim/main.js.map +0 -1
  125. package/dist/sim/src/server.d.ts +0 -15
  126. package/dist/sim/src/server.d.ts.map +0 -1
  127. package/dist/sim/src/server.js +0 -85
  128. package/dist/sim/src/server.js.map +0 -1
  129. package/dist/sim/src/simulator.d.ts +0 -65
  130. package/dist/sim/src/simulator.d.ts.map +0 -1
  131. package/dist/sim/src/simulator.js +0 -236
  132. package/dist/sim/src/simulator.js.map +0 -1
  133. package/dist/sim/src/worker.d.ts +0 -23
  134. package/dist/sim/src/worker.d.ts.map +0 -1
  135. package/dist/sim/src/worker.js +0 -217
  136. package/dist/sim/src/worker.js.map +0 -1
  137. package/dist/src/clock.d.ts.map +0 -1
  138. package/dist/src/clock.js +0 -17
  139. package/dist/src/clock.js.map +0 -1
  140. package/dist/src/computation.d.ts +0 -49
  141. package/dist/src/computation.d.ts.map +0 -1
  142. package/dist/src/computation.js +0 -314
  143. package/dist/src/computation.js.map +0 -1
  144. package/dist/src/context.d.ts.map +0 -1
  145. package/dist/src/context.js.map +0 -1
  146. package/dist/src/core.d.ts +0 -12
  147. package/dist/src/core.d.ts.map +0 -1
  148. package/dist/src/core.js +0 -28
  149. package/dist/src/core.js.map +0 -1
  150. package/dist/src/coroutine.d.ts +0 -42
  151. package/dist/src/coroutine.d.ts.map +0 -1
  152. package/dist/src/coroutine.js +0 -364
  153. package/dist/src/coroutine.js.map +0 -1
  154. package/dist/src/decorator.d.ts.map +0 -1
  155. package/dist/src/decorator.js +0 -220
  156. package/dist/src/decorator.js.map +0 -1
  157. package/dist/src/encoder.d.ts +0 -12
  158. package/dist/src/encoder.d.ts.map +0 -1
  159. package/dist/src/encoder.js +0 -101
  160. package/dist/src/encoder.js.map +0 -1
  161. package/dist/src/encryptor.d.ts +0 -10
  162. package/dist/src/encryptor.d.ts.map +0 -1
  163. package/dist/src/encryptor.js +0 -13
  164. package/dist/src/encryptor.js.map +0 -1
  165. package/dist/src/exceptions.d.ts.map +0 -1
  166. package/dist/src/exceptions.js.map +0 -1
  167. package/dist/src/handler.d.ts +0 -49
  168. package/dist/src/handler.d.ts.map +0 -1
  169. package/dist/src/handler.js +0 -316
  170. package/dist/src/handler.js.map +0 -1
  171. package/dist/src/heartbeat.d.ts.map +0 -1
  172. package/dist/src/heartbeat.js +0 -87
  173. package/dist/src/heartbeat.js.map +0 -1
  174. package/dist/src/index.d.ts +0 -15
  175. package/dist/src/index.d.ts.map +0 -1
  176. package/dist/src/index.js +0 -61
  177. package/dist/src/index.js.map +0 -1
  178. package/dist/src/network/network.d.ts +0 -254
  179. package/dist/src/network/network.d.ts.map +0 -1
  180. package/dist/src/network/network.js +0 -4
  181. package/dist/src/network/network.js.map +0 -1
  182. package/dist/src/network/remote.d.ts +0 -85
  183. package/dist/src/network/remote.d.ts.map +0 -1
  184. package/dist/src/network/remote.js +0 -523
  185. package/dist/src/network/remote.js.map +0 -1
  186. package/dist/src/nursery.d.ts +0 -19
  187. package/dist/src/nursery.d.ts.map +0 -1
  188. package/dist/src/nursery.js +0 -102
  189. package/dist/src/nursery.js.map +0 -1
  190. package/dist/src/options.d.ts.map +0 -1
  191. package/dist/src/options.js +0 -70
  192. package/dist/src/options.js.map +0 -1
  193. package/dist/src/processor/processor.d.ts +0 -12
  194. package/dist/src/processor/processor.d.ts.map +0 -1
  195. package/dist/src/processor/processor.js +0 -43
  196. package/dist/src/processor/processor.js.map +0 -1
  197. package/dist/src/promises.d.ts +0 -54
  198. package/dist/src/promises.d.ts.map +0 -1
  199. package/dist/src/promises.js +0 -169
  200. package/dist/src/promises.js.map +0 -1
  201. package/dist/src/registry.d.ts.map +0 -1
  202. package/dist/src/registry.js.map +0 -1
  203. package/dist/src/resonate-inner.d.ts +0 -60
  204. package/dist/src/resonate-inner.d.ts.map +0 -1
  205. package/dist/src/resonate-inner.js +0 -97
  206. package/dist/src/resonate-inner.js.map +0 -1
  207. package/dist/src/resonate.d.ts +0 -341
  208. package/dist/src/resonate.d.ts.map +0 -1
  209. package/dist/src/resonate.js +0 -591
  210. package/dist/src/resonate.js.map +0 -1
  211. package/dist/src/retries.d.ts.map +0 -1
  212. package/dist/src/retries.js.map +0 -1
  213. package/dist/src/schedules.d.ts +0 -19
  214. package/dist/src/schedules.d.ts.map +0 -1
  215. package/dist/src/schedules.js +0 -85
  216. package/dist/src/schedules.js.map +0 -1
  217. package/dist/src/tasks.d.ts +0 -9
  218. package/dist/src/tasks.d.ts.map +0 -1
  219. package/dist/src/tasks.js +0 -61
  220. package/dist/src/tasks.js.map +0 -1
  221. package/dist/src/tracer.d.ts +0 -23
  222. package/dist/src/tracer.d.ts.map +0 -1
  223. package/dist/src/tracer.js +0 -25
  224. package/dist/src/tracer.js.map +0 -1
  225. package/dist/src/types.d.ts +0 -28
  226. package/dist/src/types.d.ts.map +0 -1
  227. package/dist/src/types.js +0 -11
  228. package/dist/src/types.js.map +0 -1
  229. package/dist/src/util.d.ts.map +0 -1
  230. package/dist/src/util.js +0 -120
  231. package/dist/src/util.js.map +0 -1
  232. package/dist/tsconfig.build.tsbuildinfo +0 -1
  233. /package/dist/{src/clock.d.ts → clock.d.ts} +0 -0
  234. /package/dist/{src/retries.d.ts → retries.d.ts} +0 -0
@@ -1,591 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.Resonate = void 0;
40
- const network_1 = require("../dev/network");
41
- const clock_1 = require("./clock");
42
- const encoder_1 = require("./encoder");
43
- const encryptor_1 = require("./encryptor");
44
- const exceptions_1 = __importDefault(require("./exceptions"));
45
- const handler_1 = require("./handler");
46
- const heartbeat_1 = require("./heartbeat");
47
- const remote_1 = require("./network/remote");
48
- const options_1 = require("./options");
49
- const promises_1 = require("./promises");
50
- const registry_1 = require("./registry");
51
- const resonate_inner_1 = require("./resonate-inner");
52
- const schedules_1 = require("./schedules");
53
- const tracer_1 = require("./tracer");
54
- const util = __importStar(require("./util"));
55
- class Resonate {
56
- clock;
57
- pid;
58
- ttl;
59
- idPrefix;
60
- unicast;
61
- anycast;
62
- match;
63
- inner;
64
- network;
65
- encoder;
66
- encryptor;
67
- verbose;
68
- messageSource;
69
- tracer;
70
- handler;
71
- registry;
72
- heartbeat;
73
- dependencies;
74
- optsBuilder;
75
- subscriptions = new Map();
76
- subscribeEvery;
77
- intervalId;
78
- promises;
79
- schedules;
80
- constructor({ url = undefined, group = "default", pid = undefined, ttl = 1 * util.MIN, auth = undefined, token = undefined, verbose = false, encryptor = undefined, tracer = undefined, transport = undefined, prefix = undefined, } = {}) {
81
- this.clock = new clock_1.WallClock();
82
- this.ttl = ttl;
83
- this.tracer = tracer ?? new tracer_1.NoopTracer();
84
- this.encryptor = encryptor ?? new encryptor_1.NoopEncryptor();
85
- this.encoder = new encoder_1.JsonEncoder();
86
- const resolvedPrefix = prefix ?? process.env.RESONATE_PREFIX;
87
- this.idPrefix = resolvedPrefix ? `${resolvedPrefix}:` : "";
88
- this.verbose = verbose;
89
- this.subscribeEvery = 60 * 1000; // make this configurable
90
- // Determine the URL based on priority: url arg > RESONATE_URL > RESONATE_HOST+PORT
91
- let resolvedUrl = url;
92
- if (!resolvedUrl) {
93
- if (process.env.RESONATE_URL) {
94
- resolvedUrl = process.env.RESONATE_URL;
95
- }
96
- else {
97
- const resonateScheme = process.env.RESONATE_SCHEME ?? "http";
98
- const resonateHost = process.env.RESONATE_HOST;
99
- const resonatePort = process.env.RESONATE_PORT ?? "8001";
100
- if (resonateHost) {
101
- resolvedUrl = `${resonateScheme}://${resonateHost}:${resonatePort}`;
102
- }
103
- }
104
- }
105
- // Determine the token based on priority: token arg > RESONATE_TOKEN
106
- const resolvedToken = token ?? process.env.RESONATE_TOKEN;
107
- // Determine the auth based on priority: auth arg > RESONATE_USERNAME+RESONATE_PASSWORD
108
- let resolvedAuth = auth;
109
- if (!resolvedAuth) {
110
- const resonateUsername = process.env.RESONATE_USERNAME;
111
- const resonatePassword = process.env.RESONATE_PASSWORD ?? "";
112
- if (resonateUsername) {
113
- resolvedAuth = { username: resonateUsername, password: resonatePassword };
114
- }
115
- }
116
- if (transport) {
117
- this.network = transport;
118
- if (util.isMessageSource(transport)) {
119
- this.messageSource = transport;
120
- }
121
- else if (transport.getMessageSource) {
122
- this.messageSource = transport.getMessageSource();
123
- }
124
- else {
125
- // TODO: instantiate default message source instead
126
- throw new Error("transport must implement both network and message source");
127
- }
128
- this.pid = pid ?? this.messageSource.pid;
129
- this.heartbeat = new heartbeat_1.AsyncHeartbeat(this.pid, ttl / 2, this.network);
130
- }
131
- else {
132
- if (!resolvedUrl) {
133
- const localNetwork = new network_1.LocalNetwork({ pid, group });
134
- this.network = localNetwork;
135
- this.messageSource = localNetwork.getMessageSource();
136
- this.pid = pid ?? this.messageSource.pid;
137
- this.heartbeat = new heartbeat_1.NoopHeartbeat();
138
- }
139
- else {
140
- this.network = new remote_1.HttpNetwork({
141
- verbose: this.verbose,
142
- url: resolvedUrl,
143
- auth: resolvedAuth,
144
- token: resolvedToken,
145
- timeout: 1 * util.MIN,
146
- headers: {},
147
- });
148
- this.messageSource = new remote_1.PollMessageSource({
149
- url: resolvedUrl,
150
- pid,
151
- group,
152
- auth: resolvedAuth,
153
- token: resolvedToken,
154
- });
155
- this.pid = pid ?? this.messageSource.pid;
156
- this.heartbeat = new heartbeat_1.AsyncHeartbeat(this.pid, ttl / 2, this.network);
157
- }
158
- }
159
- this.handler = new handler_1.Handler(this.network, this.encoder, this.encryptor);
160
- this.registry = new registry_1.Registry();
161
- this.dependencies = new Map();
162
- this.unicast = this.messageSource.unicast;
163
- this.anycast = this.messageSource.anycast;
164
- this.match = this.messageSource.match;
165
- this.optsBuilder = new options_1.OptionsBuilder({ match: this.match, idPrefix: this.idPrefix });
166
- this.inner = new resonate_inner_1.ResonateInner({
167
- unicast: this.unicast,
168
- anycast: this.anycast,
169
- pid: this.pid,
170
- ttl: this.ttl,
171
- clock: this.clock,
172
- network: this.network,
173
- messageSource: this.messageSource,
174
- handler: this.handler,
175
- registry: this.registry,
176
- heartbeat: this.heartbeat,
177
- dependencies: this.dependencies,
178
- optsBuilder: this.optsBuilder,
179
- verbose: this.verbose,
180
- tracer: this.tracer,
181
- });
182
- this.promises = new promises_1.Promises(this.network);
183
- this.schedules = new schedules_1.Schedules(this.network);
184
- // subscribe to notify
185
- this.messageSource.subscribe("notify", this.onMessage.bind(this));
186
- // periodically refresh subscriptions
187
- this.intervalId = setInterval(async () => {
188
- for (const [id, sub] of this.subscriptions.entries()) {
189
- try {
190
- const createSubscriptionReq = {
191
- kind: "createSubscription",
192
- id: this.pid,
193
- promiseId: id,
194
- timeout: sub.timeout + 1 * util.MIN, // add a buffer
195
- recv: this.unicast,
196
- };
197
- const res = await this.createSubscription(createSubscriptionReq);
198
- if (res.state !== "pending") {
199
- sub.resolve(res);
200
- this.subscriptions.delete(id);
201
- }
202
- }
203
- catch {
204
- // silently skip on error
205
- }
206
- }
207
- }, this.subscribeEvery);
208
- }
209
- /**
210
- * Initializes a Resonate client instance for local development.
211
- *
212
- * Creates and returns a Resonate client configured for **local-only execution**
213
- * with zero external dependencies. All state is stored in local memory — no
214
- * network or external persistence is required. This mode is ideal for rapid
215
- * testing, debugging, and experimentation before connecting to a Resonate server.
216
- *
217
- * The client runs with a `"default"` worker group, a `"default"` process ID,
218
- * and an effectively infinite TTL (`Number.MAX_SAFE_INTEGER`) for tasks.
219
- *
220
- * @returns A {@link Resonate} client instance configured for local development.
221
- *
222
- * @example
223
- * ```ts
224
- * const resonate = Resonate.local();
225
- * resonate.register(foo);
226
- * const result = await resonate.run("foo.1", foo, { data: "test" });
227
- * console.log(result);
228
- * ```
229
- */
230
- static local({ verbose = false, encryptor = undefined, tracer = undefined, } = {}) {
231
- return new Resonate({
232
- group: "default",
233
- pid: "default",
234
- ttl: Number.MAX_SAFE_INTEGER,
235
- verbose,
236
- encryptor,
237
- tracer,
238
- });
239
- }
240
- /**
241
- * Initializes a Resonate client instance with remote configuration.
242
- *
243
- * Creates and returns a Resonate client that connects to a **Resonate Server**
244
- * and optional remote message sources. This configuration enables distributed,
245
- * durable workers to cooperate and execute functions via **durable RPCs**.
246
- *
247
- * By default, the client connects to a Resonate Server running locally
248
- * (`http://localhost:8001`) and joins the `"default"` worker group.
249
- *
250
- * The client is identified by a unique process ID (`pid`) and maintains
251
- * claimed task leases for the duration specified by `ttl`.
252
- *
253
- * @param options - Configuration options for the remote client.
254
- * @param options.url - The base URL of the remote Resonate Server. Defaults to `"http://localhost:8001"`.
255
- * @param options.group - The worker group name. Defaults to `"default"`.
256
- * @param options.pid - Optional process identifier for the client. Defaults to a randomly generated UUID.
257
- * @param options.ttl - Time-to-live (in seconds) for claimed tasks. Defaults to `1 * util.MIN`.
258
- * @param options.auth - Optional authentication credentials for connecting to the remote server.
259
- * @param options.token - Optional bearer token for authentication. Takes priority over basic auth.
260
- *
261
- * @returns A {@link Resonate} client instance configured for remote operation.
262
- *
263
- * @example
264
- * ```ts
265
- * const resonate = Resonate.remote({
266
- * url: "https://resonate.example.com",
267
- * group: "analytics",
268
- * ttl: 30,
269
- * token: "bearer-token-here",
270
- * });
271
- *
272
- * const result = await resonate.run("task-42", "processData", { input: "dataset.csv" });
273
- * console.log(result);
274
- * ```
275
- */
276
- static remote({ url = "http://localhost:8001", group = "default", pid = crypto.randomUUID().replace(/-/g, ""), ttl = 1 * util.MIN, auth = undefined, token = undefined, verbose = false, encryptor = undefined, tracer = undefined, prefix = undefined, } = {}) {
277
- return new Resonate({ url, group, pid, ttl, auth, token, verbose, encryptor, tracer, prefix });
278
- }
279
- register(nameOrFunc, funcOrOptions, maybeOptions = {}) {
280
- const { version = 1 } = (typeof funcOrOptions === "object" ? funcOrOptions : maybeOptions) ?? {};
281
- const func = typeof nameOrFunc === "function" ? nameOrFunc : funcOrOptions;
282
- const name = typeof nameOrFunc === "string" ? nameOrFunc : func.name;
283
- this.registry.add(func, name, version);
284
- return {
285
- run: (id, ...args) => this.run(id, func, ...this.getArgsAndOpts(args, version)),
286
- rpc: (id, ...args) => this.rpc(id, func, ...this.getArgsAndOpts(args, version)),
287
- beginRun: (id, ...args) => this.beginRun(id, func, ...this.getArgsAndOpts(args, version)),
288
- beginRpc: (id, ...args) => this.beginRpc(id, func, ...this.getArgsAndOpts(args, version)),
289
- options: this.options,
290
- };
291
- }
292
- async run(id, funcOrName, ...args) {
293
- return (await this.beginRun(id, funcOrName, ...args)).result();
294
- }
295
- async beginRun(id, funcOrName, ...argsWithOpts) {
296
- const [args, opts] = this.getArgsAndOpts(argsWithOpts);
297
- const registered = this.registry.get(funcOrName, opts.version);
298
- // function must be registered
299
- if (!registered) {
300
- throw exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(typeof funcOrName === "string" ? funcOrName : funcOrName.name, opts.version);
301
- }
302
- id = `${this.idPrefix}${id}`;
303
- util.assert(registered.version > 0, "function version must be greater than zero");
304
- const span = this.tracer.startSpan(id, this.clock.now());
305
- span.setAttribute("type", "run");
306
- span.setAttribute("func", registered.name);
307
- span.setAttribute("version", registered.version);
308
- try {
309
- const { promise, task } = await this.createPromiseAndTask({
310
- kind: "createPromiseAndTask",
311
- promise: {
312
- id: id,
313
- timeout: Date.now() + opts.timeout,
314
- param: {
315
- data: {
316
- func: registered.name,
317
- args: args,
318
- retry: opts.retryPolicy?.encode(),
319
- version: registered.version,
320
- },
321
- },
322
- tags: {
323
- ...opts.tags,
324
- "resonate:root": id,
325
- "resonate:parent": id,
326
- "resonate:scope": "global",
327
- "resonate:invoke": this.anycast,
328
- },
329
- },
330
- task: {
331
- processId: this.pid,
332
- ttl: this.ttl,
333
- },
334
- iKey: id,
335
- strict: false,
336
- }, span.encode());
337
- // if the promise is created, the span is considered successful
338
- span.setStatus(true);
339
- if (task) {
340
- this.inner.process(span, { kind: "claimed", task: task, rootPromise: promise }, () => {
341
- span.end(this.clock.now());
342
- });
343
- }
344
- else {
345
- span.end(this.clock.now());
346
- }
347
- return this.createHandle(promise);
348
- }
349
- catch (e) {
350
- span.setStatus(false, String(e));
351
- span.end(this.clock.now());
352
- throw e;
353
- }
354
- }
355
- async rpc(id, funcOrName, ...args) {
356
- return (await this.beginRpc(id, funcOrName, ...args)).result();
357
- }
358
- async beginRpc(id, funcOrName, ...argsWithOpts) {
359
- const [args, opts] = this.getArgsAndOpts(argsWithOpts);
360
- const registered = this.registry.get(funcOrName, opts.version);
361
- // function must be registered if function pointer is provided
362
- if (typeof funcOrName === "function" && !registered) {
363
- throw exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version);
364
- }
365
- id = `${this.idPrefix}${id}`;
366
- const func = registered ? registered.name : funcOrName;
367
- const version = registered ? registered.version : opts.version || 1;
368
- const span = this.tracer.startSpan(id, this.clock.now());
369
- span.setAttribute("type", "rpc");
370
- span.setAttribute("func", func);
371
- span.setAttribute("version", version);
372
- try {
373
- const promise = await this.createPromise({
374
- kind: "createPromise",
375
- id: id,
376
- timeout: Date.now() + opts.timeout,
377
- param: {
378
- data: {
379
- func: func,
380
- args: args,
381
- retry: opts.retryPolicy?.encode(),
382
- version: version,
383
- },
384
- },
385
- tags: {
386
- ...opts.tags,
387
- "resonate:root": id,
388
- "resonate:parent": id,
389
- "resonate:scope": "global",
390
- "resonate:invoke": opts.target,
391
- },
392
- iKey: id,
393
- strict: false,
394
- }, span.encode());
395
- // if the promise is created, the span is considered successful
396
- span.setStatus(true);
397
- span.end(this.clock.now());
398
- return this.createHandle(promise);
399
- }
400
- catch (e) {
401
- span.setStatus(false, String(e));
402
- span.end(this.clock.now());
403
- throw e;
404
- }
405
- }
406
- async schedule(name, cron, funcOrName, ...argsWithOpts) {
407
- const [args, opts] = this.getArgsAndOpts(argsWithOpts);
408
- const registered = this.registry.get(funcOrName, opts.version);
409
- // function must be registered if function pointer is provided
410
- if (typeof funcOrName === "function" && !registered) {
411
- throw exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version);
412
- }
413
- // TODO: move this into the handler?
414
- const { headers, data } = this.encryptor.encrypt(this.encoder.encode({
415
- func: registered ? registered.name : funcOrName,
416
- args: args,
417
- version: registered ? registered.version : opts.version || 1,
418
- }));
419
- await this.schedules.create(name, cron, `${this.idPrefix}{{.id}}.{{.timestamp}}`, opts.timeout, {
420
- ikey: name,
421
- promiseHeaders: headers,
422
- promiseData: data,
423
- promiseTags: { ...opts.tags, "resonate:invoke": opts.target },
424
- });
425
- return {
426
- delete: () => this.schedules.delete(name),
427
- };
428
- }
429
- /**
430
- * Retrieves or subscribes to an existing execution by its unique ID.
431
- *
432
- * This method attaches to an existing **durable promise** identified by `id`.
433
- * If the associated execution is still in progress, it returns a {@link ResonateHandle}
434
- * that can be awaited or observed until completion. If the execution has already
435
- * finished, the handle is immediately resolved with the stored result.
436
- *
437
- * Notes:
438
- * - A durable promise with the given `id` must already exist.
439
- * - This operation is **non-blocking**; awaiting the returned handle will block
440
- * only if the execution is still running.
441
- *
442
- * @param id - Unique identifier of the target execution or durable promise.
443
- *
444
- * @returns A {@link ResonateHandle} representing the existing execution.
445
- * The handle can be awaited or queried to retrieve the final result.
446
- */
447
- async get(id) {
448
- id = `${this.idPrefix}${id}`;
449
- const promise = await this.readPromise({
450
- kind: "readPromise",
451
- id: id,
452
- });
453
- return this.createHandle(promise);
454
- }
455
- options(opts = {}) {
456
- return this.optsBuilder.build(opts);
457
- }
458
- getArgsAndOpts(args, version) {
459
- return util.splitArgsAndOpts(args, this.options({ version }));
460
- }
461
- setDependency(name, obj) {
462
- this.dependencies.set(name, obj);
463
- }
464
- stop() {
465
- this.network.stop();
466
- this.messageSource.stop();
467
- this.heartbeat.stop();
468
- clearInterval(this.intervalId);
469
- }
470
- createPromiseAndTask(req, headers) {
471
- return new Promise((resolve, reject) => this.handler.createPromiseAndTask(req, (err, res) => {
472
- if (err) {
473
- reject(err);
474
- }
475
- else {
476
- resolve({ promise: res.promise, task: res.task });
477
- }
478
- }, undefined, headers, true));
479
- }
480
- createPromise(req, headers) {
481
- return new Promise((resolve, reject) => this.handler.createPromise(req, (err, res) => {
482
- if (err) {
483
- reject(err);
484
- }
485
- else {
486
- resolve(res);
487
- }
488
- }, undefined, headers, true));
489
- }
490
- createSubscription(req) {
491
- return new Promise((resolve, reject) => this.handler.createSubscription(req, (err, res) => {
492
- if (err) {
493
- reject(err);
494
- }
495
- else {
496
- resolve(res);
497
- }
498
- }, true));
499
- }
500
- readPromise(req) {
501
- return new Promise((resolve, reject) => this.handler.readPromise(req, (err, res) => {
502
- if (err) {
503
- reject(err);
504
- }
505
- else {
506
- resolve(res);
507
- }
508
- }));
509
- }
510
- createHandle(promise) {
511
- const createSubscriptionReq = {
512
- kind: "createSubscription",
513
- id: this.pid,
514
- promiseId: promise.id,
515
- timeout: promise.timeout + 1 * util.MIN, // add a buffer
516
- recv: this.unicast,
517
- };
518
- return {
519
- id: promise.id,
520
- done: () => this.createSubscription(createSubscriptionReq).then((res) => res.state !== "pending"),
521
- result: () => this.createSubscription(createSubscriptionReq).then((res) => this.subscribe(promise.id, res)),
522
- };
523
- }
524
- onMessage(msg) {
525
- util.assert(msg.type === "notify");
526
- if (msg.type === "notify") {
527
- let paramData;
528
- let valueData;
529
- try {
530
- paramData = this.encoder.decode(this.encryptor.decrypt(msg.promise.param));
531
- }
532
- catch (e) {
533
- // TODO: improve this message
534
- this.notify(msg.promise.id, new Error("Failed to decode promise param"));
535
- return;
536
- }
537
- try {
538
- valueData = this.encoder.decode(this.encryptor.decrypt(msg.promise.value));
539
- }
540
- catch (e) {
541
- // TODO: improve this message
542
- this.notify(msg.promise.id, new Error("Failed to decode promise value"));
543
- return;
544
- }
545
- this.notify(msg.promise.id, undefined, {
546
- ...msg.promise,
547
- param: { headers: msg.promise.param?.headers, data: paramData },
548
- value: { headers: msg.promise.value?.headers, data: valueData },
549
- });
550
- }
551
- }
552
- async subscribe(id, res) {
553
- const { promise, resolve, reject } = this.subscriptions.get(id) ?? Promise.withResolvers();
554
- if (res.state === "pending") {
555
- this.subscriptions.set(id, { promise, resolve, reject, timeout: res.timeout });
556
- }
557
- else {
558
- resolve(res);
559
- this.subscriptions.delete(id);
560
- }
561
- const p = await promise;
562
- util.assert(p.state !== "pending", "promise must be completed");
563
- if (p.state === "resolved") {
564
- return p.value?.data;
565
- }
566
- if (p.state === "rejected") {
567
- throw p.value?.data;
568
- }
569
- if (p.state === "rejected_canceled") {
570
- throw new Error("Promise canceled");
571
- }
572
- if (p.state === "rejected_timedout") {
573
- throw new Error("Promise timedout");
574
- }
575
- }
576
- notify(id, err, res) {
577
- const subscription = this.subscriptions.get(id);
578
- // notify subscribers
579
- if (res) {
580
- util.assert(res.state !== "pending", "promise must be completed");
581
- subscription?.resolve(res);
582
- }
583
- else {
584
- subscription?.reject(err);
585
- }
586
- // remove subscription
587
- this.subscriptions.delete(id);
588
- }
589
- }
590
- exports.Resonate = Resonate;
591
- //# sourceMappingURL=resonate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resonate.js","sourceRoot":"","sources":["../../src/resonate.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"retries.d.ts","sourceRoot":"","sources":["../../src/retries.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,GAAG,EAAE,GAAG,GAAG,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,MAAM,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC;CACvC;AAED,qBAAa,QAAS,YAAW,WAAW;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,EAAE,KAAY,EAAE,UAAoC,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAKhH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAgBpC,MAAM;;;;;;;CAMP;AAED,qBAAa,WAAY,YAAW,WAAW;IAC7C,MAAM,CAAC,QAAQ,CAAC,IAAI,iBAAiB;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,EACV,KAAY,EACZ,MAAU,EACV,UAAoC,EACpC,QAAgB,GACjB,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO;IAOnF,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAgBpC,MAAM;;;;;;;;;CAMP;AAED,qBAAa,MAAO,YAAW,WAAW;IACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,YAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,EAAE,KAAY,EAAE,UAAoC,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAKhH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAYpC,MAAM;;;;;;;CAMP;AAED,qBAAa,KAAM,YAAW,WAAW;IACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW;IAE/B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQpC,MAAM;;;;CAMP"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"retries.js","sourceRoot":"","sources":["../../src/retries.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import type { Network, ScheduleRecord } from "./network/network";
2
- export declare class Schedules {
3
- private network;
4
- constructor(network?: Network);
5
- get(id: string): Promise<ScheduleRecord>;
6
- create(id: string, cron: string, promiseId: string, promiseTimeout: number, { ikey, description, tags, promiseHeaders, promiseData, promiseTags, }?: {
7
- ikey?: string;
8
- description?: string;
9
- tags?: Record<string, string>;
10
- promiseHeaders?: Record<string, string>;
11
- promiseData?: string;
12
- promiseTags?: Record<string, string>;
13
- }): Promise<ScheduleRecord>;
14
- delete(id: string): Promise<void>;
15
- search(id: string, { limit }?: {
16
- limit?: number;
17
- }): AsyncGenerator<ScheduleRecord[], void>;
18
- }
19
- //# sourceMappingURL=schedules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/schedules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEjE,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,GAAE,OAA4B;IAIjD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAoBxC,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,EACE,IAAgB,EAChB,WAAuB,EACvB,IAAgB,EAChB,cAA0B,EAC1B,WAAuB,EACvB,WAAuB,GACxB,GAAE;QACD,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,GACL,OAAO,CAAC,cAAc,CAAC;IA6B1B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB1B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,KAAiB,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,cAAc,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC;CAuBlH"}