@resonatehq/sdk 0.8.1 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/dev/network.d.ts +12 -5
  2. package/dist/dev/network.d.ts.map +1 -1
  3. package/dist/dev/network.js +31 -16
  4. package/dist/dev/network.js.map +1 -1
  5. package/dist/dev/server.d.ts +1 -1
  6. package/dist/dev/server.d.ts.map +1 -1
  7. package/dist/dev/server.js +16 -28
  8. package/dist/dev/server.js.map +1 -1
  9. package/dist/sim/example-1.js +6 -4
  10. package/dist/sim/example-1.js.map +1 -1
  11. package/dist/sim/example-2.js +6 -4
  12. package/dist/sim/example-2.js.map +1 -1
  13. package/dist/sim/example-3.js +6 -4
  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/worker.d.ts +2 -1
  19. package/dist/sim/src/worker.d.ts.map +1 -1
  20. package/dist/sim/src/worker.js +27 -13
  21. package/dist/sim/src/worker.js.map +1 -1
  22. package/dist/src/computation.d.ts +4 -3
  23. package/dist/src/computation.d.ts.map +1 -1
  24. package/dist/src/computation.js +27 -14
  25. package/dist/src/computation.js.map +1 -1
  26. package/dist/src/context.d.ts +13 -8
  27. package/dist/src/context.d.ts.map +1 -1
  28. package/dist/src/context.js +50 -27
  29. package/dist/src/context.js.map +1 -1
  30. package/dist/src/coroutine.d.ts.map +1 -1
  31. package/dist/src/coroutine.js +19 -13
  32. package/dist/src/coroutine.js.map +1 -1
  33. package/dist/src/decorator.d.ts +3 -3
  34. package/dist/src/decorator.d.ts.map +1 -1
  35. package/dist/src/decorator.js +4 -4
  36. package/dist/src/decorator.js.map +1 -1
  37. package/dist/src/encoder.d.ts +12 -0
  38. package/dist/src/encoder.d.ts.map +1 -0
  39. package/dist/src/encoder.js +107 -0
  40. package/dist/src/encoder.js.map +1 -0
  41. package/dist/src/handler.d.ts +14 -11
  42. package/dist/src/handler.d.ts.map +1 -1
  43. package/dist/src/handler.js +127 -25
  44. package/dist/src/handler.js.map +1 -1
  45. package/dist/src/network/network.d.ts +16 -13
  46. package/dist/src/network/network.d.ts.map +1 -1
  47. package/dist/src/network/remote.d.ts +23 -34
  48. package/dist/src/network/remote.d.ts.map +1 -1
  49. package/dist/src/network/remote.js +123 -185
  50. package/dist/src/network/remote.js.map +1 -1
  51. package/dist/src/processor/processor.d.ts +2 -2
  52. package/dist/src/processor/processor.d.ts.map +1 -1
  53. package/dist/src/processor/processor.js +8 -3
  54. package/dist/src/processor/processor.js.map +1 -1
  55. package/dist/src/promises.d.ts +15 -10
  56. package/dist/src/promises.d.ts.map +1 -1
  57. package/dist/src/promises.js +10 -10
  58. package/dist/src/promises.js.map +1 -1
  59. package/dist/src/registry.d.ts +2 -3
  60. package/dist/src/registry.d.ts.map +1 -1
  61. package/dist/src/registry.js.map +1 -1
  62. package/dist/src/resonate-inner.d.ts +8 -5
  63. package/dist/src/resonate-inner.d.ts.map +1 -1
  64. package/dist/src/resonate-inner.js +8 -6
  65. package/dist/src/resonate-inner.js.map +1 -1
  66. package/dist/src/resonate.d.ts +16 -8
  67. package/dist/src/resonate.d.ts.map +1 -1
  68. package/dist/src/resonate.js +156 -123
  69. package/dist/src/resonate.js.map +1 -1
  70. package/dist/src/schedules.d.ts +3 -2
  71. package/dist/src/schedules.d.ts.map +1 -1
  72. package/dist/src/schedules.js +2 -2
  73. package/dist/src/schedules.js.map +1 -1
  74. package/dist/src/types.d.ts +4 -0
  75. package/dist/src/types.d.ts.map +1 -1
  76. package/dist/tsconfig.build.tsbuildinfo +1 -1
  77. package/package.json +1 -1
@@ -38,6 +38,7 @@ const network_1 = require("../dev/network");
38
38
  const handler_1 = require("../src/handler");
39
39
  const registry_1 = require("../src/registry");
40
40
  const clock_1 = require("./clock");
41
+ const encoder_1 = require("./encoder");
41
42
  const heartbeat_1 = require("./heartbeat");
42
43
  const remote_1 = require("./network/remote");
43
44
  const options_1 = require("./options");
@@ -47,11 +48,14 @@ const schedules_1 = require("./schedules");
47
48
  const util = __importStar(require("./util"));
48
49
  class Resonate {
49
50
  unicast;
50
- anycast;
51
+ anycastPreference;
52
+ anycastNoPreference;
51
53
  pid;
52
54
  ttl;
53
55
  inner;
54
56
  network;
57
+ encoder;
58
+ messageSource;
55
59
  handler;
56
60
  registry;
57
61
  heartbeat;
@@ -59,32 +63,45 @@ class Resonate {
59
63
  subscriptions = new Map();
60
64
  promises;
61
65
  schedules;
62
- constructor({ group, pid, ttl }, network) {
66
+ constructor({ url = undefined, group = "default", pid = crypto.randomUUID().replace(/-/g, ""), ttl = 1 * util.MIN, auth = undefined, } = {}) {
63
67
  this.unicast = `poll://uni@${group}/${pid}`;
64
- this.anycast = `poll://any@${group}/${pid}`;
68
+ this.anycastPreference = `poll://any@${group}/${pid}`;
69
+ this.anycastNoPreference = `poll://any@${group}`;
65
70
  this.pid = pid;
66
71
  this.ttl = ttl;
67
- this.network = network;
68
- this.handler = new handler_1.Handler(this.network);
72
+ this.encoder = new encoder_1.JsonEncoder();
73
+ if (!url) {
74
+ const localNetwork = new network_1.LocalNetwork();
75
+ this.network = localNetwork;
76
+ this.messageSource = localNetwork.getMessageSource();
77
+ this.heartbeat = new heartbeat_1.NoopHeartbeat();
78
+ }
79
+ else {
80
+ this.network = new remote_1.HttpNetwork({ url, auth, timeout: 1 * util.MIN, headers: {} });
81
+ this.messageSource = new remote_1.HttpMessageSource({ url, pid, group, auth });
82
+ this.heartbeat = new heartbeat_1.AsyncHeartbeat(pid, ttl / 2, this.network);
83
+ }
84
+ this.handler = new handler_1.Handler(this.network, this.encoder);
69
85
  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
86
  this.dependencies = new Map();
72
87
  this.inner = new resonate_inner_1.ResonateInner({
73
88
  unicast: this.unicast,
74
- anycast: this.anycast,
89
+ anycastPreference: this.anycastPreference,
90
+ anycastNoPreference: this.anycastNoPreference,
75
91
  pid: this.pid,
76
92
  ttl: this.ttl,
77
93
  clock: new clock_1.WallClock(),
78
94
  network: this.network,
95
+ messageSource: this.messageSource,
79
96
  handler: this.handler,
80
97
  registry: this.registry,
81
98
  heartbeat: this.heartbeat,
82
99
  dependencies: this.dependencies,
83
100
  });
84
- this.promises = new promises_1.Promises(network);
85
- this.schedules = new schedules_1.Schedules(network);
101
+ this.promises = new promises_1.Promises(this.network);
102
+ this.schedules = new schedules_1.Schedules(this.network);
86
103
  // subscribe to notify
87
- this.network.subscribe("notify", this.onMessage.bind(this));
104
+ this.messageSource.subscribe("notify", this.onMessage.bind(this));
88
105
  }
89
106
  /**
90
107
  * Create a local Resonate instance
@@ -94,22 +111,13 @@ class Resonate {
94
111
  group: "default",
95
112
  pid: "default",
96
113
  ttl: Number.MAX_SAFE_INTEGER,
97
- }, new network_1.LocalNetwork());
114
+ });
98
115
  }
99
116
  /**
100
117
  * Create a remote Resonate instance
101
118
  */
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);
119
+ static remote({ url = "http://localhost:8001", group = "default", pid = crypto.randomUUID().replace(/-/g, ""), ttl = 1 * util.MIN, auth = undefined, } = {}) {
120
+ return new Resonate({ url, group, pid, ttl, auth });
113
121
  }
114
122
  register(nameOrFunc, funcOrOptions, maybeOptions = {}) {
115
123
  const { version = 1 } = (typeof funcOrOptions === "object" ? funcOrOptions : maybeOptions) ?? {};
@@ -135,10 +143,16 @@ class Resonate {
135
143
  promise: {
136
144
  id: id,
137
145
  timeout: Date.now() + opts.timeout,
138
- param: { func: registered.name, args, version: opts.version },
146
+ param: {
147
+ data: {
148
+ func: registered.name,
149
+ args: args,
150
+ version: opts.version,
151
+ },
152
+ },
139
153
  tags: {
140
154
  ...opts.tags,
141
- "resonate:invoke": this.anycast,
155
+ "resonate:invoke": this.anycastPreference,
142
156
  "resonate:scope": "global",
143
157
  },
144
158
  },
@@ -170,7 +184,13 @@ class Resonate {
170
184
  kind: "createPromise",
171
185
  id: id,
172
186
  timeout: Date.now() + opts.timeout,
173
- param: { func: name, args, version: opts.version },
187
+ param: {
188
+ data: {
189
+ func: name,
190
+ args: args,
191
+ version: opts.version,
192
+ },
193
+ },
174
194
  tags: { ...opts.tags, "resonate:invoke": opts.target, "resonate:scope": "global" },
175
195
  iKey: id,
176
196
  strict: false,
@@ -186,9 +206,12 @@ class Resonate {
186
206
  else {
187
207
  funcName = this.registry.get(func, opts.version).name;
188
208
  }
209
+ // TODO: move this into the handler?
210
+ const { headers, data } = this.encoder.encode({ func: funcName, args, version: opts.version });
189
211
  await this.schedules.create(name, cron, "{{.id}}.{{.timestamp}}", opts.timeout, {
190
212
  ikey: name,
191
- promiseParam: { func: funcName, args, version: opts.version },
213
+ promiseHeaders: headers,
214
+ promiseData: data,
192
215
  promiseTags: { ...opts.tags, "resonate:invoke": opts.target },
193
216
  });
194
217
  return {
@@ -206,7 +229,8 @@ class Resonate {
206
229
  return this.createHandle(promise);
207
230
  }
208
231
  options(opts = {}) {
209
- return new options_1.Options(opts);
232
+ const target = opts.target ?? this.anycastNoPreference;
233
+ return new options_1.Options({ target, ...opts });
210
234
  }
211
235
  /** Store a named dependency for use with `Context`.
212
236
  * The dependency is made available to all functions via
@@ -219,122 +243,131 @@ class Resonate {
219
243
  }
220
244
  stop() {
221
245
  this.network.stop();
246
+ this.messageSource.stop();
222
247
  this.heartbeat.stop();
223
248
  }
224
249
  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
- });
250
+ return new Promise((resolve, reject) => this.handler.createPromiseAndTask(req, (err, res) => {
251
+ if (err) {
252
+ // TODO: improve this message
253
+ reject(new Error(`Promise '${req.promise.id}' could not be created`));
254
+ }
255
+ else {
256
+ resolve({ promise: res.promise, task: res.task });
257
+ }
258
+ }, true));
235
259
  }
236
260
  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
- });
261
+ return new Promise((resolve, reject) => this.handler.createPromise(req, (err, res) => {
262
+ if (err) {
263
+ // TODO: improve this message
264
+ reject(new Error(`Promise '${req.id}' could not be created`));
265
+ }
266
+ else {
267
+ resolve(res);
268
+ }
269
+ }, true));
270
+ }
271
+ createSubscription(req) {
272
+ return new Promise((resolve, reject) => this.handler.createSubscription(req, (err, res) => {
273
+ if (err) {
274
+ // TODO: improve this message
275
+ reject(new Error(`Subscription for promise '${req.promiseId}' could not be created`));
276
+ }
277
+ else {
278
+ resolve(res);
279
+ }
280
+ }, true));
247
281
  }
248
282
  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
- });
283
+ return new Promise((resolve, reject) => this.handler.readPromise(req, (err, res) => {
284
+ if (err) {
285
+ // TODO: improve this message
286
+ reject(new Error(`Promise '${req.id}' not found`));
287
+ }
288
+ else {
289
+ resolve(res);
290
+ }
291
+ }));
259
292
  }
260
293
  createHandle(promise) {
261
- let resultPromise = null;
294
+ const createSubscriptionReq = {
295
+ kind: "createSubscription",
296
+ id: this.pid,
297
+ promiseId: promise.id,
298
+ timeout: promise.timeout + 1 * util.MIN, // add a buffer
299
+ recv: this.unicast,
300
+ };
262
301
  return {
263
302
  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
- }),
303
+ done: () => this.createSubscription(createSubscriptionReq).then((res) => res.state !== "pending"),
304
+ result: () => this.createSubscription(createSubscriptionReq).then((res) => this.subscribe(promise.id, res)),
297
305
  };
298
306
  }
299
307
  onMessage(msg) {
300
308
  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
309
+ if (msg.type === "notify") {
310
+ let paramData;
311
+ let valueData;
312
+ try {
313
+ paramData = this.encoder.decode(msg.promise.param);
321
314
  }
322
- else {
323
- callback?.(res);
324
- if (res.state !== "pending") {
325
- this.notify(res);
326
- }
315
+ catch (e) {
316
+ // TODO: improve this message
317
+ this.notify(msg.promise.id, new Error("Failed to decode promise param"));
318
+ return;
327
319
  }
328
- }, true);
320
+ try {
321
+ valueData = this.encoder.decode(msg.promise.value);
322
+ }
323
+ catch (e) {
324
+ // TODO: improve this message
325
+ this.notify(msg.promise.id, new Error("Failed to decode promise value"));
326
+ return;
327
+ }
328
+ this.notify(msg.promise.id, undefined, {
329
+ ...msg.promise,
330
+ param: { headers: msg.promise.param?.headers, data: paramData },
331
+ value: { headers: msg.promise.value?.headers, data: valueData },
332
+ });
333
+ }
334
+ }
335
+ async subscribe(id, res) {
336
+ const { promise, resolve, reject } = this.subscriptions.get(id) ?? Promise.withResolvers();
337
+ if (res.state === "pending") {
338
+ this.subscriptions.set(id, { promise, resolve, reject });
339
+ }
340
+ else {
341
+ resolve(res);
342
+ this.subscriptions.delete(id);
343
+ }
344
+ const p = await promise;
345
+ util.assert(p.state !== "pending", "promise must be completed");
346
+ if (p.state === "resolved") {
347
+ return p.value?.data;
348
+ }
349
+ if (p.state === "rejected") {
350
+ throw p.value?.data;
351
+ }
352
+ if (p.state === "rejected_canceled") {
353
+ throw new Error("Promise canceled");
354
+ }
355
+ if (p.state === "rejected_timedout") {
356
+ throw new Error("Promise timedout");
357
+ }
329
358
  }
330
- notify(promise) {
331
- util.assert(promise.state !== "pending", "promise must be completed");
359
+ notify(id, err, res) {
360
+ const subscription = this.subscriptions.get(id);
332
361
  // notify subscribers
333
- for (const callback of this.subscriptions.get(promise.id) ?? []) {
334
- callback(promise);
362
+ if (res) {
363
+ util.assert(res.state !== "pending", "promise must be completed");
364
+ subscription?.resolve(res);
365
+ }
366
+ else {
367
+ subscription?.reject(err);
335
368
  }
336
- // remove subscriptions
337
- this.subscriptions.delete(promise.id);
369
+ // remove subscription
370
+ this.subscriptions.delete(id);
338
371
  }
339
372
  }
340
373
  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"}
@@ -22,7 +22,7 @@ class Schedules {
22
22
  });
23
23
  });
24
24
  }
25
- create(id, cron, promiseId, promiseTimeout, { ikey = undefined, description = undefined, tags = undefined, promiseParam = undefined, promiseTags = undefined, } = {}) {
25
+ create(id, cron, promiseId, promiseTimeout, { ikey = undefined, description = undefined, tags = undefined, promiseHeaders = undefined, promiseData = undefined, promiseTags = undefined, } = {}) {
26
26
  return new Promise((resolve, reject) => {
27
27
  this.network.send({
28
28
  kind: "createSchedule",
@@ -32,7 +32,7 @@ class Schedules {
32
32
  tags: tags,
33
33
  promiseId: promiseId,
34
34
  promiseTimeout: promiseTimeout,
35
- promiseParam: promiseParam,
35
+ promiseParam: { headers: promiseHeaders, data: promiseData },
36
36
  promiseTags: promiseTags,
37
37
  iKey: ikey,
38
38
  }, (err, res) => {
@@ -1 +1 @@
1
- {"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../src/schedules.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAG9C,MAAa,SAAS;IACZ,OAAO,CAAU;IAEzB,YAAY,UAAmB,IAAI,sBAAY,EAAE;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,EAAE;aACP,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACX,IAAI,GAAG,EAAE,CAAC;oBACR,qCAAqC;oBACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CACJ,EAAU,EACV,IAAY,EACZ,SAAiB,EACjB,cAAsB,EACtB,EACE,IAAI,GAAG,SAAS,EAChB,WAAW,GAAG,SAAS,EACvB,IAAI,GAAG,SAAS,EAChB,YAAY,GAAG,SAAS,EACxB,WAAW,GAAG,SAAS,MAOrB,EAAE;QAEN,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,gBAAgB;gBACtB,EAAE,EAAE,EAAE;gBACN,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,SAAS;gBACpB,cAAc,EAAE,cAAc;gBAC9B,YAAY,EAAE,YAAY;gBAC1B,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,IAAI;aACX,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACX,IAAI,GAAG,EAAE,CAAC;oBACR,qCAAqC;oBACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,gBAAgB;gBACtB,EAAE,EAAE,EAAE;aACP,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,EAAE,CAAC;oBACR,qCAAqC;oBACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA5FD,8BA4FC"}
1
+ {"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../src/schedules.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAG9C,MAAa,SAAS;IACZ,OAAO,CAAU;IAEzB,YAAY,UAAmB,IAAI,sBAAY,EAAE;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,EAAE;aACP,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACX,IAAI,GAAG,EAAE,CAAC;oBACR,qCAAqC;oBACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CACJ,EAAU,EACV,IAAY,EACZ,SAAiB,EACjB,cAAsB,EACtB,EACE,IAAI,GAAG,SAAS,EAChB,WAAW,GAAG,SAAS,EACvB,IAAI,GAAG,SAAS,EAChB,cAAc,GAAG,SAAS,EAC1B,WAAW,GAAG,SAAS,EACvB,WAAW,GAAG,SAAS,MAQrB,EAAE;QAEN,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,gBAAgB;gBACtB,EAAE,EAAE,EAAE;gBACN,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,SAAS;gBACpB,cAAc,EAAE,cAAc;gBAC9B,YAAY,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE;gBAC5D,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,IAAI;aACX,EACD,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACX,IAAI,GAAG,EAAE,CAAC;oBACR,qCAAqC;oBACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,gBAAgB;gBACtB,EAAE,EAAE,EAAE;aACP,EACD,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,EAAE,CAAC;oBACR,qCAAqC;oBACrC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA9FD,8BA8FC"}
@@ -20,5 +20,9 @@ export type Callback<T> = {
20
20
  (err: false, res: T): void;
21
21
  (err: true, res?: undefined): void;
22
22
  };
23
+ export interface Value<T> {
24
+ headers?: Record<string, string>;
25
+ data?: T;
26
+ }
23
27
  export {};
24
28
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAEzD,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AACtF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5D,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACvF,CAAC,GACD,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GACnC,OAAO,CAAC,CAAC,CAAC,GACV,KAAK,CAAC;AAIZ,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAEnC,KAAK,EAAE,CAAC,CAAC,IAAI;IACX,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,KAAK,EAAE,GAAG;IACR,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAEzC;AAED,wBAAgB,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAE1C;AAID,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAC3B,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAEzD,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AACtF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5D,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACvF,CAAC,GACD,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GACnC,OAAO,CAAC,CAAC,CAAC,GACV,KAAK,CAAC;AAIZ,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAEnC,KAAK,EAAE,CAAC,CAAC,IAAI;IACX,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,KAAK,EAAE,GAAG;IACR,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAEzC;AAED,wBAAgB,EAAE,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAE1C;AAID,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAC3B,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CACpC,CAAC;AAIF,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,CAAC;CACV"}
@@ -1 +1 @@
1
- {"root":["../sim/example-1.ts","../sim/example-2.ts","../sim/example-3.ts","../sim/main.ts","../sim/src/server.ts","../sim/src/simulator.ts","../sim/src/worker.ts","../src/clock.ts","../src/computation.ts","../src/context.ts","../src/core.ts","../src/coroutine.ts","../src/decorator.ts","../src/handler.ts","../src/heartbeat.ts","../src/index.ts","../src/nursery.ts","../src/options.ts","../src/promises.ts","../src/registry.ts","../src/resonate-inner.ts","../src/resonate.ts","../src/retries.ts","../src/schedules.ts","../src/tasks.ts","../src/types.ts","../src/util.ts","../src/network/network.ts","../src/network/remote.ts","../src/processor/processor.ts"],"version":"5.9.2"}
1
+ {"root":["../sim/example-1.ts","../sim/example-2.ts","../sim/example-3.ts","../sim/main.ts","../sim/src/server.ts","../sim/src/simulator.ts","../sim/src/worker.ts","../src/clock.ts","../src/computation.ts","../src/context.ts","../src/core.ts","../src/coroutine.ts","../src/decorator.ts","../src/encoder.ts","../src/handler.ts","../src/heartbeat.ts","../src/index.ts","../src/nursery.ts","../src/options.ts","../src/promises.ts","../src/registry.ts","../src/resonate-inner.ts","../src/resonate.ts","../src/retries.ts","../src/schedules.ts","../src/tasks.ts","../src/types.ts","../src/util.ts","../src/network/network.ts","../src/network/remote.ts","../src/processor/processor.ts"],"version":"5.9.2"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resonatehq/sdk",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "TypeScript SDK for Resonate",
5
5
  "author": "Resonate Developers",
6
6
  "license": "Apache-2.0",