@resonatehq/sdk 0.8.1 → 0.8.3

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 (91) hide show
  1. package/dist/dev/network.d.ts +13 -6
  2. package/dist/dev/network.d.ts.map +1 -1
  3. package/dist/dev/network.js +32 -17
  4. package/dist/dev/network.js.map +1 -1
  5. package/dist/dev/server.d.ts +2 -1
  6. package/dist/dev/server.d.ts.map +1 -1
  7. package/dist/dev/server.js +42 -51
  8. package/dist/dev/server.js.map +1 -1
  9. package/dist/sim/example-1.js +9 -7
  10. package/dist/sim/example-1.js.map +1 -1
  11. package/dist/sim/example-2.js +9 -7
  12. package/dist/sim/example-2.js.map +1 -1
  13. package/dist/sim/example-3.js +9 -7
  14. package/dist/sim/example-3.js.map +1 -1
  15. package/dist/sim/main.d.ts.map +1 -1
  16. package/dist/sim/main.js +5 -4
  17. package/dist/sim/main.js.map +1 -1
  18. package/dist/sim/src/server.d.ts.map +1 -1
  19. package/dist/sim/src/worker.d.ts +2 -1
  20. package/dist/sim/src/worker.d.ts.map +1 -1
  21. package/dist/sim/src/worker.js +29 -14
  22. package/dist/sim/src/worker.js.map +1 -1
  23. package/dist/src/computation.d.ts +4 -3
  24. package/dist/src/computation.d.ts.map +1 -1
  25. package/dist/src/computation.js +53 -20
  26. package/dist/src/computation.js.map +1 -1
  27. package/dist/src/context.d.ts +27 -11
  28. package/dist/src/context.d.ts.map +1 -1
  29. package/dist/src/context.js +68 -33
  30. package/dist/src/context.js.map +1 -1
  31. package/dist/src/core.d.ts +5 -5
  32. package/dist/src/core.d.ts.map +1 -1
  33. package/dist/src/core.js +11 -11
  34. package/dist/src/core.js.map +1 -1
  35. package/dist/src/coroutine.d.ts.map +1 -1
  36. package/dist/src/coroutine.js +41 -27
  37. package/dist/src/coroutine.js.map +1 -1
  38. package/dist/src/decorator.d.ts +3 -3
  39. package/dist/src/decorator.d.ts.map +1 -1
  40. package/dist/src/decorator.js +4 -4
  41. package/dist/src/decorator.js.map +1 -1
  42. package/dist/src/encoder.d.ts +12 -0
  43. package/dist/src/encoder.d.ts.map +1 -0
  44. package/dist/src/encoder.js +107 -0
  45. package/dist/src/encoder.js.map +1 -0
  46. package/dist/src/exceptions.d.ts +35 -0
  47. package/dist/src/exceptions.d.ts.map +1 -0
  48. package/dist/src/exceptions.js +75 -0
  49. package/dist/src/exceptions.js.map +1 -0
  50. package/dist/src/handler.d.ts +18 -15
  51. package/dist/src/handler.d.ts.map +1 -1
  52. package/dist/src/handler.js +141 -39
  53. package/dist/src/handler.js.map +1 -1
  54. package/dist/src/index.d.ts +1 -1
  55. package/dist/src/index.d.ts.map +1 -1
  56. package/dist/src/index.js +2 -2
  57. package/dist/src/index.js.map +1 -1
  58. package/dist/src/network/network.d.ts +32 -16
  59. package/dist/src/network/network.d.ts.map +1 -1
  60. package/dist/src/network/remote.d.ts +26 -36
  61. package/dist/src/network/remote.d.ts.map +1 -1
  62. package/dist/src/network/remote.js +156 -193
  63. package/dist/src/network/remote.js.map +1 -1
  64. package/dist/src/processor/processor.d.ts +2 -2
  65. package/dist/src/processor/processor.d.ts.map +1 -1
  66. package/dist/src/processor/processor.js +8 -4
  67. package/dist/src/processor/processor.js.map +1 -1
  68. package/dist/src/promises.d.ts +19 -10
  69. package/dist/src/promises.d.ts.map +1 -1
  70. package/dist/src/promises.js +38 -26
  71. package/dist/src/promises.js.map +1 -1
  72. package/dist/src/registry.d.ts +3 -4
  73. package/dist/src/registry.d.ts.map +1 -1
  74. package/dist/src/registry.js +25 -49
  75. package/dist/src/registry.js.map +1 -1
  76. package/dist/src/resonate-inner.d.ts +8 -5
  77. package/dist/src/resonate-inner.d.ts.map +1 -1
  78. package/dist/src/resonate-inner.js +8 -6
  79. package/dist/src/resonate-inner.js.map +1 -1
  80. package/dist/src/resonate.d.ts +223 -22
  81. package/dist/src/resonate.d.ts.map +1 -1
  82. package/dist/src/resonate.js +277 -153
  83. package/dist/src/resonate.js.map +1 -1
  84. package/dist/src/schedules.d.ts +3 -2
  85. package/dist/src/schedules.d.ts.map +1 -1
  86. package/dist/src/schedules.js +2 -2
  87. package/dist/src/schedules.js.map +1 -1
  88. package/dist/src/types.d.ts +4 -0
  89. package/dist/src/types.d.ts.map +1 -1
  90. package/dist/tsconfig.build.tsbuildinfo +1 -1
  91. package/package.json +2 -2
@@ -32,12 +32,17 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  exports.Resonate = void 0;
37
40
  const network_1 = require("../dev/network");
38
41
  const handler_1 = require("../src/handler");
39
42
  const registry_1 = require("../src/registry");
40
43
  const clock_1 = require("./clock");
44
+ const encoder_1 = require("./encoder");
45
+ const exceptions_1 = __importDefault(require("./exceptions"));
41
46
  const heartbeat_1 = require("./heartbeat");
42
47
  const remote_1 = require("./network/remote");
43
48
  const options_1 = require("./options");
@@ -47,11 +52,14 @@ const schedules_1 = require("./schedules");
47
52
  const util = __importStar(require("./util"));
48
53
  class Resonate {
49
54
  unicast;
50
- anycast;
55
+ anycastPreference;
56
+ anycastNoPreference;
51
57
  pid;
52
58
  ttl;
53
59
  inner;
54
60
  network;
61
+ encoder;
62
+ messageSource;
55
63
  handler;
56
64
  registry;
57
65
  heartbeat;
@@ -59,68 +67,146 @@ class Resonate {
59
67
  subscriptions = new Map();
60
68
  promises;
61
69
  schedules;
62
- constructor({ group, pid, ttl }, network) {
70
+ constructor({ url = undefined, group = "default", pid = crypto.randomUUID().replace(/-/g, ""), ttl = 1 * util.MIN, auth = undefined, } = {}) {
63
71
  this.unicast = `poll://uni@${group}/${pid}`;
64
- this.anycast = `poll://any@${group}/${pid}`;
72
+ this.anycastPreference = `poll://any@${group}/${pid}`;
73
+ this.anycastNoPreference = `poll://any@${group}`;
65
74
  this.pid = pid;
66
75
  this.ttl = ttl;
67
- this.network = network;
68
- this.handler = new handler_1.Handler(this.network);
76
+ this.encoder = new encoder_1.JsonEncoder();
77
+ // Determine the URL based on priority: url arg > RESONATE_URL > RESONATE_HOST+PORT
78
+ let resolvedUrl = url;
79
+ if (!resolvedUrl) {
80
+ if (process.env.RESONATE_URL) {
81
+ resolvedUrl = process.env.RESONATE_URL;
82
+ }
83
+ else {
84
+ const resonateScheme = process.env.RESONATE_SCHEME ?? "http";
85
+ const resonateHost = process.env.RESONATE_HOST;
86
+ const resonatePort = process.env.RESONATE_PORT ?? "8001";
87
+ if (resonateHost) {
88
+ resolvedUrl = `${resonateScheme}://${resonateHost}:${resonatePort}`;
89
+ }
90
+ }
91
+ }
92
+ // Determine the auth based on priority: auth arg > RESONATE_USERNAME+RESONATE_PASSWORD
93
+ let resolvedAuth = auth;
94
+ if (!resolvedAuth) {
95
+ const resonateUsername = process.env.RESONATE_USERNAME;
96
+ const resonatePassword = process.env.RESONATE_PASSWORD ?? "";
97
+ if (resonateUsername) {
98
+ resolvedAuth = { username: resonateUsername, password: resonatePassword };
99
+ }
100
+ }
101
+ if (!resolvedUrl) {
102
+ const localNetwork = new network_1.LocalNetwork();
103
+ this.network = localNetwork;
104
+ this.messageSource = localNetwork.getMessageSource();
105
+ this.heartbeat = new heartbeat_1.NoopHeartbeat();
106
+ }
107
+ else {
108
+ this.network = new remote_1.HttpNetwork({ url: resolvedUrl, auth: resolvedAuth, timeout: 1 * util.MIN, headers: {} });
109
+ this.messageSource = new remote_1.HttpMessageSource({ url: resolvedUrl, pid, group, auth: resolvedAuth });
110
+ this.heartbeat = new heartbeat_1.AsyncHeartbeat(pid, ttl / 2, this.network);
111
+ }
112
+ this.handler = new handler_1.Handler(this.network, this.encoder);
69
113
  this.registry = new registry_1.Registry();
70
- this.heartbeat = network instanceof network_1.LocalNetwork ? new heartbeat_1.NoopHeartbeat() : new heartbeat_1.AsyncHeartbeat(pid, ttl / 2, network);
71
114
  this.dependencies = new Map();
72
115
  this.inner = new resonate_inner_1.ResonateInner({
73
116
  unicast: this.unicast,
74
- anycast: this.anycast,
117
+ anycastPreference: this.anycastPreference,
118
+ anycastNoPreference: this.anycastNoPreference,
75
119
  pid: this.pid,
76
120
  ttl: this.ttl,
77
121
  clock: new clock_1.WallClock(),
78
122
  network: this.network,
123
+ messageSource: this.messageSource,
79
124
  handler: this.handler,
80
125
  registry: this.registry,
81
126
  heartbeat: this.heartbeat,
82
127
  dependencies: this.dependencies,
83
128
  });
84
- this.promises = new promises_1.Promises(network);
85
- this.schedules = new schedules_1.Schedules(network);
129
+ this.promises = new promises_1.Promises(this.network);
130
+ this.schedules = new schedules_1.Schedules(this.network);
86
131
  // subscribe to notify
87
- this.network.subscribe("notify", this.onMessage.bind(this));
132
+ this.messageSource.subscribe("notify", this.onMessage.bind(this));
88
133
  }
89
134
  /**
90
- * Create a local Resonate instance
135
+ * Initializes a Resonate client instance for local development.
136
+ *
137
+ * Creates and returns a Resonate client configured for **local-only execution**
138
+ * with zero external dependencies. All state is stored in local memory — no
139
+ * network or external persistence is required. This mode is ideal for rapid
140
+ * testing, debugging, and experimentation before connecting to a Resonate server.
141
+ *
142
+ * The client runs with a `"default"` worker group, a `"default"` process ID,
143
+ * and an effectively infinite TTL (`Number.MAX_SAFE_INTEGER`) for tasks.
144
+ *
145
+ * @returns A {@link Resonate} client instance configured for local development.
146
+ *
147
+ * @example
148
+ * ```ts
149
+ * const resonate = Resonate.local();
150
+ * resonate.register(foo);
151
+ * const result = await resonate.run("foo.1", foo, { data: "test" });
152
+ * console.log(result);
153
+ * ```
91
154
  */
92
155
  static local() {
93
156
  return new Resonate({
94
157
  group: "default",
95
158
  pid: "default",
96
159
  ttl: Number.MAX_SAFE_INTEGER,
97
- }, new network_1.LocalNetwork());
160
+ });
98
161
  }
99
162
  /**
100
- * Create a remote Resonate instance
163
+ * Initializes a Resonate client instance with remote configuration.
164
+ *
165
+ * Creates and returns a Resonate client that connects to a **Resonate Server**
166
+ * and optional remote message sources. This configuration enables distributed,
167
+ * durable workers to cooperate and execute functions via **durable RPCs**.
168
+ *
169
+ * By default, the client connects to a Resonate Server running locally
170
+ * (`http://localhost:8001`) and joins the `"default"` worker group.
171
+ *
172
+ * The client is identified by a unique process ID (`pid`) and maintains
173
+ * claimed task leases for the duration specified by `ttl`.
174
+ *
175
+ * @param options - Configuration options for the remote client.
176
+ * @param options.url - The base URL of the remote Resonate Server. Defaults to `"http://localhost:8001"`.
177
+ * @param options.group - The worker group name. Defaults to `"default"`.
178
+ * @param options.pid - Optional process identifier for the client. Defaults to a randomly generated UUID.
179
+ * @param options.ttl - Time-to-live (in seconds) for claimed tasks. Defaults to `1 * util.MIN`.
180
+ * @param options.auth - Optional authentication credentials for connecting to the remote server.
181
+ *
182
+ * @returns A {@link Resonate} client instance configured for remote operation.
183
+ *
184
+ * @example
185
+ * ```ts
186
+ * const resonate = Resonate.remote({
187
+ * url: "https://resonate.example.com",
188
+ * group: "analytics",
189
+ * ttl: 30,
190
+ * auth: { username: "user", password: "secret" },
191
+ * });
192
+ *
193
+ * const result = await resonate.run("task-42", "processData", { input: "dataset.csv" });
194
+ * console.log(result);
195
+ * ```
101
196
  */
102
- static remote({ url = "http://localhost:8001", group = "default", pid = crypto.randomUUID().replace(/-/g, ""), ttl = 1 * util.MIN, auth = undefined, messageSourceAuth = undefined, } = {}) {
103
- const network = new remote_1.HttpNetwork({
104
- url,
105
- pid,
106
- group,
107
- auth,
108
- messageSourceAuth,
109
- timeout: 1 * util.MIN,
110
- headers: {},
111
- });
112
- return new Resonate({ pid, group, ttl }, network);
197
+ static remote({ url = "http://localhost:8001", group = "default", pid = crypto.randomUUID().replace(/-/g, ""), ttl = 1 * util.MIN, auth = undefined, } = {}) {
198
+ return new Resonate({ url, group, pid, ttl, auth });
113
199
  }
114
200
  register(nameOrFunc, funcOrOptions, maybeOptions = {}) {
115
201
  const { version = 1 } = (typeof funcOrOptions === "object" ? funcOrOptions : maybeOptions) ?? {};
116
202
  const func = typeof nameOrFunc === "function" ? nameOrFunc : funcOrOptions;
117
- const name = typeof nameOrFunc === "string" ? nameOrFunc : (func.name ?? "anonymous");
203
+ const name = typeof nameOrFunc === "string" ? nameOrFunc : func.name;
118
204
  this.registry.add(func, name, version);
119
205
  return {
120
- run: (id, ...args) => this.run(id, func, ...util.splitArgsAndOpts(args, this.options({ version: version }))),
121
- rpc: (id, ...args) => this.rpc(id, func, ...util.splitArgsAndOpts(args, this.options({ version: version }))),
122
- beginRun: (id, ...args) => this.beginRun(id, func, ...util.splitArgsAndOpts(args, this.options({ version: version }))),
123
- beginRpc: (id, ...args) => this.beginRpc(id, func, ...util.splitArgsAndOpts(args, this.options({ version: version }))),
206
+ run: (id, ...args) => this.run(id, func, ...this.getArgsAndOpts(args, version)),
207
+ rpc: (id, ...args) => this.rpc(id, func, ...this.getArgsAndOpts(args, version)),
208
+ beginRun: (id, ...args) => this.beginRun(id, func, ...this.getArgsAndOpts(args, version)),
209
+ beginRpc: (id, ...args) => this.beginRpc(id, func, ...this.getArgsAndOpts(args, version)),
124
210
  options: this.options,
125
211
  };
126
212
  }
@@ -128,17 +214,28 @@ class Resonate {
128
214
  return (await this.beginRun(id, funcOrName, ...args)).result();
129
215
  }
130
216
  async beginRun(id, funcOrName, ...argsWithOpts) {
131
- const [args, opts] = util.splitArgsAndOpts(argsWithOpts, this.options());
217
+ const [args, opts] = this.getArgsAndOpts(argsWithOpts);
132
218
  const registered = this.registry.get(funcOrName, opts.version);
219
+ // function must be registered
220
+ if (!registered) {
221
+ throw exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(typeof funcOrName === "string" ? funcOrName : funcOrName.name, opts.version);
222
+ }
223
+ util.assert(registered.version > 0, "function version must be greater than zero");
133
224
  const { promise, task } = await this.createPromiseAndTask({
134
225
  kind: "createPromiseAndTask",
135
226
  promise: {
136
227
  id: id,
137
228
  timeout: Date.now() + opts.timeout,
138
- param: { func: registered.name, args, version: opts.version },
229
+ param: {
230
+ data: {
231
+ func: registered.name,
232
+ args: args,
233
+ version: registered.version,
234
+ },
235
+ },
139
236
  tags: {
140
237
  ...opts.tags,
141
- "resonate:invoke": this.anycast,
238
+ "resonate:invoke": this.anycastPreference,
142
239
  "resonate:scope": "global",
143
240
  },
144
241
  },
@@ -158,37 +255,46 @@ class Resonate {
158
255
  return (await this.beginRpc(id, funcOrName, ...args)).result();
159
256
  }
160
257
  async beginRpc(id, funcOrName, ...argsWithOpts) {
161
- const [args, opts] = util.splitArgsAndOpts(argsWithOpts, this.options());
162
- let name;
163
- if (typeof funcOrName === "string") {
164
- name = funcOrName;
165
- }
166
- else {
167
- name = this.registry.get(funcOrName, opts.version).name;
258
+ const [args, opts] = this.getArgsAndOpts(argsWithOpts);
259
+ const registered = this.registry.get(funcOrName, opts.version);
260
+ // function must be registered if function pointer is provided
261
+ if (typeof funcOrName === "function" && !registered) {
262
+ throw exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version);
168
263
  }
169
264
  const promise = await this.createPromise({
170
265
  kind: "createPromise",
171
266
  id: id,
172
267
  timeout: Date.now() + opts.timeout,
173
- param: { func: name, args, version: opts.version },
268
+ param: {
269
+ data: {
270
+ func: registered ? registered.name : funcOrName,
271
+ args: args,
272
+ version: registered ? registered.version : opts.version || 1,
273
+ },
274
+ },
174
275
  tags: { ...opts.tags, "resonate:invoke": opts.target, "resonate:scope": "global" },
175
276
  iKey: id,
176
277
  strict: false,
177
278
  });
178
279
  return this.createHandle(promise);
179
280
  }
180
- async schedule(name, cron, func, ...argsWithOpts) {
181
- const [args, opts] = util.splitArgsAndOpts(argsWithOpts, this.options());
182
- let funcName;
183
- if (typeof func === "string") {
184
- funcName = func;
185
- }
186
- else {
187
- funcName = this.registry.get(func, opts.version).name;
281
+ async schedule(name, cron, funcOrName, ...argsWithOpts) {
282
+ const [args, opts] = this.getArgsAndOpts(argsWithOpts);
283
+ const registered = this.registry.get(funcOrName, opts.version);
284
+ // function must be registered if function pointer is provided
285
+ if (typeof funcOrName === "function" && !registered) {
286
+ throw exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version);
188
287
  }
288
+ // TODO: move this into the handler?
289
+ const { headers, data } = this.encoder.encode({
290
+ func: registered ? registered.name : funcOrName,
291
+ args: args,
292
+ version: registered ? registered.version : opts.version || 1,
293
+ });
189
294
  await this.schedules.create(name, cron, "{{.id}}.{{.timestamp}}", opts.timeout, {
190
295
  ikey: name,
191
- promiseParam: { func: funcName, args, version: opts.version },
296
+ promiseHeaders: headers,
297
+ promiseData: data,
192
298
  promiseTags: { ...opts.tags, "resonate:invoke": opts.target },
193
299
  });
194
300
  return {
@@ -196,7 +302,22 @@ class Resonate {
196
302
  };
197
303
  }
198
304
  /**
199
- * Get a promise and return a value
305
+ * Retrieves or subscribes to an existing execution by its unique ID.
306
+ *
307
+ * This method attaches to an existing **durable promise** identified by `id`.
308
+ * If the associated execution is still in progress, it returns a {@link ResonateHandle}
309
+ * that can be awaited or observed until completion. If the execution has already
310
+ * finished, the handle is immediately resolved with the stored result.
311
+ *
312
+ * Notes:
313
+ * - A durable promise with the given `id` must already exist.
314
+ * - This operation is **non-blocking**; awaiting the returned handle will block
315
+ * only if the execution is still running.
316
+ *
317
+ * @param id - Unique identifier of the target execution or durable promise.
318
+ *
319
+ * @returns A {@link ResonateHandle} representing the existing execution.
320
+ * The handle can be awaited or queried to retrieve the final result.
200
321
  */
201
322
  async get(id) {
202
323
  const promise = await this.readPromise({
@@ -206,135 +327,138 @@ class Resonate {
206
327
  return this.createHandle(promise);
207
328
  }
208
329
  options(opts = {}) {
209
- return new options_1.Options(opts);
330
+ const target = opts.target ?? this.anycastNoPreference;
331
+ return new options_1.Options({ target, ...opts });
332
+ }
333
+ getArgsAndOpts(args, version) {
334
+ return util.splitArgsAndOpts(args, this.options({ version }));
210
335
  }
211
- /** Store a named dependency for use with `Context`.
212
- * The dependency is made available to all functions via
213
- * their execution `Context`.
214
- * Setting a dependency for a name that already exists will
215
- * overwrite the previously set dependency.
216
- */
217
336
  setDependency(name, obj) {
218
337
  this.dependencies.set(name, obj);
219
338
  }
220
339
  stop() {
221
340
  this.network.stop();
341
+ this.messageSource.stop();
222
342
  this.heartbeat.stop();
223
343
  }
224
344
  createPromiseAndTask(req) {
225
- return new Promise((resolve, reject) => {
226
- this.handler.createPromiseAndTask(req, (err, res) => {
227
- if (err) {
228
- reject(new Error(`Promise '${req.promise.id}' could not be created`));
229
- }
230
- else {
231
- resolve({ promise: res.promise, task: res.task });
232
- }
233
- }, true);
234
- });
345
+ return new Promise((resolve, reject) => this.handler.createPromiseAndTask(req, (err, res) => {
346
+ if (err) {
347
+ reject(err);
348
+ }
349
+ else {
350
+ resolve({ promise: res.promise, task: res.task });
351
+ }
352
+ }, undefined, true));
235
353
  }
236
354
  createPromise(req) {
237
- return new Promise((resolve, reject) => {
238
- this.handler.createPromise(req, (err, res) => {
239
- if (err) {
240
- reject(new Error(`Promise '${req.id}' could not be created`));
241
- }
242
- else {
243
- resolve(res);
244
- }
245
- }, true);
246
- });
355
+ return new Promise((resolve, reject) => this.handler.createPromise(req, (err, res) => {
356
+ if (err) {
357
+ reject(err);
358
+ }
359
+ else {
360
+ resolve(res);
361
+ }
362
+ }, undefined, true));
363
+ }
364
+ createSubscription(req) {
365
+ return new Promise((resolve, reject) => this.handler.createSubscription(req, (err, res) => {
366
+ if (err) {
367
+ reject(err);
368
+ }
369
+ else {
370
+ resolve(res);
371
+ }
372
+ }, true));
247
373
  }
248
374
  readPromise(req) {
249
- return new Promise((resolve, reject) => {
250
- this.handler.readPromise(req, (err, res) => {
251
- if (err) {
252
- reject(new Error(`Promise '${req.id}' not found`));
253
- }
254
- else {
255
- resolve(res);
256
- }
257
- });
258
- });
375
+ return new Promise((resolve, reject) => this.handler.readPromise(req, (err, res) => {
376
+ if (err) {
377
+ reject(err);
378
+ }
379
+ else {
380
+ resolve(res);
381
+ }
382
+ }));
259
383
  }
260
384
  createHandle(promise) {
261
- let resultPromise = null;
385
+ const createSubscriptionReq = {
386
+ kind: "createSubscription",
387
+ id: this.pid,
388
+ promiseId: promise.id,
389
+ timeout: promise.timeout + 1 * util.MIN, // add a buffer
390
+ recv: this.unicast,
391
+ };
262
392
  return {
263
393
  id: promise.id,
264
- result: () => {
265
- if (resultPromise !== null) {
266
- return resultPromise;
267
- }
268
- resultPromise = new Promise((resolve, reject) => {
269
- this.subscribe(promise, (promise) => {
270
- util.assert(promise.state !== "pending", "promise must be completed");
271
- if (promise.state === "resolved") {
272
- resolve(promise.value);
273
- }
274
- else if (promise.state === "rejected") {
275
- reject(promise.value);
276
- }
277
- else if (promise.state === "rejected_canceled") {
278
- reject(new Error("Promise canceled"));
279
- }
280
- else if (promise.state === "rejected_timedout") {
281
- reject(new Error("Promise timedout"));
282
- }
283
- }, undefined);
284
- });
285
- return resultPromise;
286
- },
287
- done: () => new Promise((resolve, _) => {
288
- this.subscribe(promise, undefined, (promise) => {
289
- if (promise.state === "pending") {
290
- resolve(false);
291
- }
292
- else {
293
- resolve(true);
294
- }
295
- });
296
- }),
394
+ done: () => this.createSubscription(createSubscriptionReq).then((res) => res.state !== "pending"),
395
+ result: () => this.createSubscription(createSubscriptionReq).then((res) => this.subscribe(promise.id, res)),
297
396
  };
298
397
  }
299
398
  onMessage(msg) {
300
399
  util.assert(msg.type === "notify");
301
- if (msg.type === "notify")
302
- this.notify(msg.promise);
303
- }
304
- subscribe(promise, subsCallback, callback) {
305
- const subscriptions = this.subscriptions.get(promise.id) || [];
306
- if (subsCallback) {
307
- subscriptions.push(subsCallback);
308
- }
309
- // store local subscription
310
- this.subscriptions.set(promise.id, subscriptions);
311
- // create remote subscription
312
- this.handler.createSubscription({
313
- kind: "createSubscription",
314
- id: this.pid,
315
- promiseId: promise.id,
316
- timeout: promise.timeout + 1 * util.MIN, // add a buffer
317
- recv: this.unicast,
318
- }, (err, res) => {
319
- if (err) {
320
- // TODO
400
+ if (msg.type === "notify") {
401
+ let paramData;
402
+ let valueData;
403
+ try {
404
+ paramData = this.encoder.decode(msg.promise.param);
321
405
  }
322
- else {
323
- callback?.(res);
324
- if (res.state !== "pending") {
325
- this.notify(res);
326
- }
406
+ catch (e) {
407
+ // TODO: improve this message
408
+ this.notify(msg.promise.id, new Error("Failed to decode promise param"));
409
+ return;
410
+ }
411
+ try {
412
+ valueData = this.encoder.decode(msg.promise.value);
413
+ }
414
+ catch (e) {
415
+ // TODO: improve this message
416
+ this.notify(msg.promise.id, new Error("Failed to decode promise value"));
417
+ return;
327
418
  }
328
- }, true);
419
+ this.notify(msg.promise.id, undefined, {
420
+ ...msg.promise,
421
+ param: { headers: msg.promise.param?.headers, data: paramData },
422
+ value: { headers: msg.promise.value?.headers, data: valueData },
423
+ });
424
+ }
329
425
  }
330
- notify(promise) {
331
- util.assert(promise.state !== "pending", "promise must be completed");
426
+ async subscribe(id, res) {
427
+ const { promise, resolve, reject } = this.subscriptions.get(id) ?? Promise.withResolvers();
428
+ if (res.state === "pending") {
429
+ this.subscriptions.set(id, { promise, resolve, reject });
430
+ }
431
+ else {
432
+ resolve(res);
433
+ this.subscriptions.delete(id);
434
+ }
435
+ const p = await promise;
436
+ util.assert(p.state !== "pending", "promise must be completed");
437
+ if (p.state === "resolved") {
438
+ return p.value?.data;
439
+ }
440
+ if (p.state === "rejected") {
441
+ throw p.value?.data;
442
+ }
443
+ if (p.state === "rejected_canceled") {
444
+ throw new Error("Promise canceled");
445
+ }
446
+ if (p.state === "rejected_timedout") {
447
+ throw new Error("Promise timedout");
448
+ }
449
+ }
450
+ notify(id, err, res) {
451
+ const subscription = this.subscriptions.get(id);
332
452
  // notify subscribers
333
- for (const callback of this.subscriptions.get(promise.id) ?? []) {
334
- callback(promise);
453
+ if (res) {
454
+ util.assert(res.state !== "pending", "promise must be completed");
455
+ subscription?.resolve(res);
456
+ }
457
+ else {
458
+ subscription?.reject(err);
335
459
  }
336
- // remove subscriptions
337
- this.subscriptions.delete(promise.id);
460
+ // remove subscription
461
+ this.subscriptions.delete(id);
338
462
  }
339
463
  }
340
464
  exports.Resonate = Resonate;
@@ -1 +1 @@
1
- {"version":3,"file":"resonate.js","sourceRoot":"","sources":["../../src/resonate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resonate.js","sourceRoot":"","sources":["../../src/resonate.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,12 @@ export declare class Schedules {
3
3
  private network;
4
4
  constructor(network?: Network);
5
5
  get(id: string): Promise<ScheduleRecord>;
6
- create(id: string, cron: string, promiseId: string, promiseTimeout: number, { ikey, description, tags, promiseParam, promiseTags, }?: {
6
+ create(id: string, cron: string, promiseId: string, promiseTimeout: number, { ikey, description, tags, promiseHeaders, promiseData, promiseTags, }?: {
7
7
  ikey?: string;
8
8
  description?: string;
9
9
  tags?: Record<string, string>;
10
- promiseParam?: any;
10
+ promiseHeaders?: Record<string, string>;
11
+ promiseData?: string;
11
12
  promiseTags?: Record<string, string>;
12
13
  }): Promise<ScheduleRecord>;
13
14
  delete(id: string): Promise<void>;
@@ -1 +1 @@
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,YAAwB,EACxB,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,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,GACL,OAAO,CAAC,cAAc,CAAC;IA4B1B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBlC"}
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;IA4B1B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBlC"}