@resonatehq/sdk 0.8.6 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/dev/network.d.ts +20 -9
  2. package/dist/dev/network.d.ts.map +1 -1
  3. package/dist/dev/network.js +41 -30
  4. package/dist/dev/network.js.map +1 -1
  5. package/dist/dev/server.d.ts.map +1 -1
  6. package/dist/dev/server.js +5 -4
  7. package/dist/dev/server.js.map +1 -1
  8. package/dist/sim/example-1.js +8 -9
  9. package/dist/sim/example-1.js.map +1 -1
  10. package/dist/sim/example-2.js +1 -1
  11. package/dist/sim/example-2.js.map +1 -1
  12. package/dist/sim/example-3.js +1 -1
  13. package/dist/sim/example-3.js.map +1 -1
  14. package/dist/sim/main.d.ts.map +1 -1
  15. package/dist/sim/main.js +0 -1
  16. package/dist/sim/main.js.map +1 -1
  17. package/dist/sim/src/simulator.d.ts.map +1 -1
  18. package/dist/sim/src/simulator.js +1 -0
  19. package/dist/sim/src/simulator.js.map +1 -1
  20. package/dist/sim/src/worker.d.ts.map +1 -1
  21. package/dist/sim/src/worker.js +39 -14
  22. package/dist/sim/src/worker.js.map +1 -1
  23. package/dist/src/computation.d.ts +9 -3
  24. package/dist/src/computation.d.ts.map +1 -1
  25. package/dist/src/computation.js +72 -32
  26. package/dist/src/computation.js.map +1 -1
  27. package/dist/src/context.d.ts +25 -13
  28. package/dist/src/context.d.ts.map +1 -1
  29. package/dist/src/context.js +70 -34
  30. package/dist/src/context.js.map +1 -1
  31. package/dist/src/coroutine.d.ts +8 -3
  32. package/dist/src/coroutine.d.ts.map +1 -1
  33. package/dist/src/coroutine.js +69 -10
  34. package/dist/src/coroutine.js.map +1 -1
  35. package/dist/src/decorator.d.ts +3 -1
  36. package/dist/src/decorator.d.ts.map +1 -1
  37. package/dist/src/decorator.js +2 -0
  38. package/dist/src/decorator.js.map +1 -1
  39. package/dist/src/handler.d.ts +7 -4
  40. package/dist/src/handler.d.ts.map +1 -1
  41. package/dist/src/handler.js +8 -8
  42. package/dist/src/handler.js.map +1 -1
  43. package/dist/src/network/network.d.ts +12 -2
  44. package/dist/src/network/network.d.ts.map +1 -1
  45. package/dist/src/network/remote.d.ts +29 -16
  46. package/dist/src/network/remote.d.ts.map +1 -1
  47. package/dist/src/network/remote.js +32 -28
  48. package/dist/src/network/remote.js.map +1 -1
  49. package/dist/src/options.d.ts +17 -4
  50. package/dist/src/options.d.ts.map +1 -1
  51. package/dist/src/options.js +13 -7
  52. package/dist/src/options.js.map +1 -1
  53. package/dist/src/processor/processor.d.ts +3 -3
  54. package/dist/src/processor/processor.d.ts.map +1 -1
  55. package/dist/src/processor/processor.js +16 -9
  56. package/dist/src/processor/processor.js.map +1 -1
  57. package/dist/src/resonate-inner.d.ts +12 -6
  58. package/dist/src/resonate-inner.d.ts.map +1 -1
  59. package/dist/src/resonate-inner.js +19 -8
  60. package/dist/src/resonate-inner.js.map +1 -1
  61. package/dist/src/resonate.d.ts +18 -9
  62. package/dist/src/resonate.d.ts.map +1 -1
  63. package/dist/src/resonate.js +147 -77
  64. package/dist/src/resonate.js.map +1 -1
  65. package/dist/src/retries.d.ts +47 -8
  66. package/dist/src/retries.d.ts.map +1 -1
  67. package/dist/src/retries.js +29 -1
  68. package/dist/src/retries.js.map +1 -1
  69. package/dist/src/tracer.d.ts +23 -0
  70. package/dist/src/tracer.d.ts.map +1 -0
  71. package/dist/src/tracer.js +25 -0
  72. package/dist/src/tracer.js.map +1 -0
  73. package/dist/src/util.d.ts +2 -1
  74. package/dist/src/util.d.ts.map +1 -1
  75. package/dist/src/util.js +4 -0
  76. package/dist/src/util.js.map +1 -1
  77. package/dist/tsconfig.build.tsbuildinfo +1 -1
  78. package/package.json +3 -3
@@ -32,21 +32,35 @@ 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.WorkerProcess = void 0;
37
40
  const encryptor_1 = require("../../src/encryptor");
38
- const exceptions_1 = require("../../src/exceptions");
41
+ const exceptions_1 = __importDefault(require("../../src/exceptions"));
39
42
  const handler_1 = require("../../src/handler");
40
43
  const heartbeat_1 = require("../../src/heartbeat");
44
+ const options_1 = require("../../src/options");
41
45
  const resonate_inner_1 = require("../../src/resonate-inner");
46
+ const tracer_1 = require("../../src/tracer");
42
47
  const util = __importStar(require("../../src/util"));
43
48
  const simulator_1 = require("./simulator");
44
49
  class SimulatedMessageSource {
45
50
  maybeCorruptData;
51
+ pid;
52
+ group;
53
+ unicast;
54
+ anycast;
46
55
  subscriptions = { invoke: [], resume: [], notify: [] };
47
- constructor(maybeCorruptData) {
56
+ constructor(iaddr, gaddr, maybeCorruptData) {
48
57
  this.maybeCorruptData = maybeCorruptData;
58
+ this.pid = iaddr;
59
+ this.group = gaddr;
60
+ this.unicast = `sim://uni@${gaddr}/${iaddr}`;
61
+ this.anycast = `sim://any@${gaddr}/${iaddr}`;
49
62
  }
63
+ start() { }
50
64
  recv(msg) {
51
65
  for (const callback of this.subscriptions[msg.type]) {
52
66
  callback(this.maybeCorruptData(msg));
@@ -56,6 +70,9 @@ class SimulatedMessageSource {
56
70
  this.subscriptions[type].push(callback);
57
71
  }
58
72
  stop() { }
73
+ match(target) {
74
+ return `sim://any@${target}`;
75
+ }
59
76
  }
60
77
  class SimulatedNetwork {
61
78
  source;
@@ -67,13 +84,14 @@ class SimulatedNetwork {
67
84
  buffer = [];
68
85
  callbacks = {};
69
86
  messageSource;
70
- constructor(prng, { charFlipProb = 0 }, source, target) {
87
+ constructor(iaddr, gaddr, prng, { charFlipProb = 0 }, source, target) {
71
88
  this.source = source;
72
89
  this.target = target;
73
90
  this.prng = prng;
74
91
  this.deliveryOptions = { charFlipProb };
75
- this.messageSource = new SimulatedMessageSource((data) => this.maybeCorruptData(data));
92
+ this.messageSource = new SimulatedMessageSource(iaddr, gaddr, (data) => this.maybeCorruptData(data));
76
93
  }
94
+ start() { }
77
95
  getMessageSource() {
78
96
  return this.messageSource;
79
97
  }
@@ -83,10 +101,15 @@ class SimulatedNetwork {
83
101
  correlationId: this.correlationId++,
84
102
  });
85
103
  const callback = (err, res) => {
86
- util.assert(err || (res !== undefined && res.kind === req.kind), "res kind must match req kind");
87
- cb(new exceptions_1.ResonateError("0", "Simulator", "Simulator error"), res);
104
+ if (res !== undefined) {
105
+ util.assert(res.kind === req.kind, "res kind must match req kind");
106
+ cb(undefined, res);
107
+ }
108
+ else {
109
+ cb(err);
110
+ }
88
111
  };
89
- this.callbacks[message.head.correlationId] = { callback, timeout: this.currentTime + 5000 };
112
+ this.callbacks[message.head.correlationId] = { callback, timeout: this.currentTime + 50000 };
90
113
  this.buffer.push(message);
91
114
  }
92
115
  stop() { }
@@ -97,7 +120,7 @@ class SimulatedNetwork {
97
120
  const cb = this.callbacks[key];
98
121
  const hasTimedOut = cb.timeout < this.currentTime;
99
122
  if (hasTimedOut) {
100
- cb.callback(true);
123
+ cb.callback(exceptions_1.default.SERVER_ERROR("Request timed out", true));
101
124
  delete this.callbacks[key];
102
125
  }
103
126
  }
@@ -112,11 +135,11 @@ class SimulatedNetwork {
112
135
  const msg = message;
113
136
  if (msg.data.err) {
114
137
  util.assert(msg.data.res === undefined);
115
- entry.callback(true);
138
+ entry.callback(msg.data.err);
116
139
  }
117
140
  else {
118
141
  util.assertDefined(msg.data.res);
119
- entry.callback(false, this.maybeCorruptData(msg.data.res));
142
+ entry.callback(undefined, this.maybeCorruptData(msg.data.res));
120
143
  }
121
144
  delete this.callbacks[correlationId];
122
145
  }
@@ -159,12 +182,12 @@ class WorkerProcess extends simulator_1.Process {
159
182
  this.iaddr = iaddr;
160
183
  this.gaddr = gaddr;
161
184
  this.clock = clock;
162
- this.network = new SimulatedNetwork(prng, { charFlipProb: 0 }, (0, simulator_1.unicast)(iaddr), (0, simulator_1.unicast)("server"));
185
+ this.network = new SimulatedNetwork(iaddr, gaddr, prng, { charFlipProb: 0 }, (0, simulator_1.unicast)(iaddr), (0, simulator_1.unicast)("server"));
163
186
  this.registry = registry;
187
+ const messageSource = this.network.getMessageSource();
164
188
  this.resonate = new resonate_inner_1.ResonateInner({
165
- unicast: `sim://uni@${gaddr}/${iaddr}`,
166
- anycastPreference: `sim://any@${gaddr}/${iaddr}`,
167
- anycastNoPreference: `sim://any@${gaddr}`,
189
+ unicast: messageSource.unicast,
190
+ anycast: messageSource.anycast,
168
191
  pid: iaddr,
169
192
  ttl: 5000,
170
193
  clock: this.clock,
@@ -174,7 +197,9 @@ class WorkerProcess extends simulator_1.Process {
174
197
  registry: registry,
175
198
  heartbeat: new heartbeat_1.NoopHeartbeat(),
176
199
  dependencies: new Map(),
200
+ optsBuilder: new options_1.OptionsBuilder({ match: messageSource.match }),
177
201
  verbose: false,
202
+ tracer: new tracer_1.NoopTracer(),
178
203
  });
179
204
  }
180
205
  tick(tick, messages) {
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../sim/src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../sim/src/worker.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,12 @@ import type { Clock } from "./clock";
2
2
  import type { Handler } from "./handler";
3
3
  import type { Heartbeat } from "./heartbeat";
4
4
  import type { CallbackRecord, DurablePromiseRecord, Network } from "./network/network";
5
+ import type { OptionsBuilder } from "./options";
5
6
  import { type Processor } from "./processor/processor";
6
7
  import type { Registry } from "./registry";
7
8
  import type { Task } from "./resonate-inner";
9
+ import { type RetryPolicyConstructor } from "./retries";
10
+ import type { Span, Tracer } from "./tracer";
8
11
  import type { Callback } from "./types";
9
12
  export type Status = Completed | Suspended;
10
13
  export type Completed = {
@@ -21,18 +24,21 @@ export declare class Computation {
21
24
  private ttl;
22
25
  private clock;
23
26
  private unicast;
24
- private anycastPreference;
25
- private anycastNoPreference;
27
+ private anycast;
26
28
  private network;
27
29
  private handler;
30
+ private retries;
28
31
  private registry;
29
32
  private dependencies;
33
+ private optsBuilder;
30
34
  private verbose;
31
35
  private heartbeat;
32
36
  private processor;
37
+ private span;
38
+ private spans;
33
39
  private seen;
34
40
  private processing;
35
- constructor(id: string, unicast: string, anycastPreference: string, anycastNoPreference: string, pid: string, ttl: number, clock: Clock, network: Network, handler: Handler, registry: Registry, heartbeat: Heartbeat, dependencies: Map<string, any>, verbose: boolean, processor?: Processor);
41
+ constructor(id: string, unicast: string, anycast: string, pid: string, ttl: number, clock: Clock, network: Network, handler: Handler, retries: Map<string, RetryPolicyConstructor>, registry: Registry, heartbeat: Heartbeat, dependencies: Map<string, any>, optsBuilder: OptionsBuilder, verbose: boolean, tracer: Tracer, span: Span, processor?: Processor);
36
42
  process(task: Task, done: Callback<Status>): void;
37
43
  private processClaimed;
38
44
  private processGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"computation.d.ts","sourceRoot":"","sources":["../../src/computation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEvF,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAe,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,SAAS,CAAC;AAG9C,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B,CAAC;AAEF,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,UAAU,CAAS;gBAGzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,EACzB,mBAAmB,EAAE,MAAM,EAC3B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,SAAS;IAkBhB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;IAsCjD,OAAO,CAAC,cAAc;IA+EtB,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,iBAAiB;CAqD1B"}
1
+ {"version":3,"file":"computation.d.ts","sourceRoot":"","sources":["../../src/computation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,OAAO,EAAc,MAAM,mBAAmB,CAAC;AAEnG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAe,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,SAAS,CAAC;AAG9C,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B,CAAC;AASF,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,KAAK,CAAoB;IAEjC,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,UAAU,CAAS;gBAGzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAC5C,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,WAAW,EAAE,cAAc,EAC3B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,SAAS,CAAC,EAAE,SAAS;IAqBhB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;IAyCjD,OAAO,CAAC,cAAc;IAkFtB,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,iBAAiB;CAgE1B"}
@@ -50,32 +50,38 @@ class Computation {
50
50
  ttl;
51
51
  clock;
52
52
  unicast;
53
- anycastPreference;
54
- anycastNoPreference;
53
+ anycast;
55
54
  network;
56
55
  handler;
56
+ retries;
57
57
  registry;
58
58
  dependencies;
59
+ optsBuilder;
59
60
  verbose;
60
61
  heartbeat;
61
62
  processor;
63
+ span;
64
+ spans;
62
65
  seen = new Set();
63
66
  processing = false;
64
- constructor(id, unicast, anycastPreference, anycastNoPreference, pid, ttl, clock, network, handler, registry, heartbeat, dependencies, verbose, processor) {
67
+ constructor(id, unicast, anycast, pid, ttl, clock, network, handler, retries, registry, heartbeat, dependencies, optsBuilder, verbose, tracer, span, processor) {
65
68
  this.id = id;
66
69
  this.unicast = unicast;
67
- this.anycastPreference = anycastPreference;
68
- this.anycastNoPreference = anycastNoPreference;
70
+ this.anycast = anycast;
69
71
  this.pid = pid;
70
72
  this.ttl = ttl;
71
73
  this.clock = clock;
72
74
  this.network = network;
73
75
  this.handler = handler;
76
+ this.retries = retries;
74
77
  this.registry = registry;
75
78
  this.heartbeat = heartbeat;
76
79
  this.dependencies = dependencies;
80
+ this.optsBuilder = optsBuilder;
77
81
  this.verbose = verbose;
78
82
  this.processor = processor ?? new processor_1.AsyncProcessor();
83
+ this.span = span;
84
+ this.spans = new Map();
79
85
  }
80
86
  process(task, done) {
81
87
  // If we are already processing there is nothing to do, the
@@ -104,7 +110,7 @@ class Computation {
104
110
  return doneProcessing(true);
105
111
  }
106
112
  util.assertDefined(promise);
107
- this.processClaimed({ kind: "claimed", task: task.task, rootPromise: promise }, doneProcessing);
113
+ this.processClaimed({ kind: "claimed", task: task.task, rootPromise: promise.root, leafPromise: promise.leaf }, doneProcessing);
108
114
  });
109
115
  break;
110
116
  }
@@ -121,27 +127,19 @@ class Computation {
121
127
  }
122
128
  done(false, res);
123
129
  };
124
- if (rootPromise.param === null ||
125
- typeof rootPromise.param !== "object" ||
126
- rootPromise.param.data === null ||
127
- typeof rootPromise.param.data !== "object" ||
128
- !("func" in rootPromise.param.data) ||
129
- typeof rootPromise.param.data.func !== "string" ||
130
- !("args" in rootPromise.param.data) ||
131
- !Array.isArray(rootPromise.param.data.args) ||
132
- ("version" in rootPromise.param.data && typeof rootPromise.param.data.version !== "number")) {
130
+ if (!isValidData(rootPromise.param?.data)) {
133
131
  return doneAndDropTaskIfErr(true);
134
132
  }
135
- const { func: funcName, version = 1, args } = rootPromise.param.data;
136
- const registered = this.registry.get(funcName, version);
133
+ const { func, args, retry, version = 1 } = rootPromise.param.data;
134
+ const registered = this.registry.get(func, version);
137
135
  // function must be registered
138
136
  if (!registered) {
139
- exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(funcName, version).log(this.verbose);
137
+ exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(func, version).log(this.verbose);
140
138
  return doneAndDropTaskIfErr(true);
141
139
  }
142
140
  if (version !== 0)
143
141
  util.assert(version === registered.version, "versions must match");
144
- util.assert(funcName === registered.name, "names must match");
142
+ util.assert(func === registered.name, "names must match");
145
143
  // start heartbeat
146
144
  this.heartbeat.start();
147
145
  return new nursery_1.Nursery((nursery) => {
@@ -153,18 +151,29 @@ class Computation {
153
151
  nursery.done(!!err, res);
154
152
  });
155
153
  };
154
+ const retryCtor = retry ? this.retries.get(retry.type) : undefined;
155
+ const retryPolicy = retryCtor
156
+ ? new retryCtor(retry?.data)
157
+ : util.isGeneratorFunction(registered.func)
158
+ ? new retries_1.Never()
159
+ : new retries_1.Exponential();
160
+ if (retry && !retryCtor) {
161
+ console.warn(`Options. Retry policy '${retry.type}' not found. Will ignore.`);
162
+ }
156
163
  const ctx = new context_1.InnerContext({
157
164
  id: this.id,
158
- anycast: this.anycastNoPreference,
165
+ func: registered.func.name,
159
166
  clock: this.clock,
160
167
  registry: this.registry,
161
168
  dependencies: this.dependencies,
169
+ optsBuilder: this.optsBuilder,
162
170
  timeout: rootPromise.timeout,
163
171
  version: registered.version,
164
- retryPolicy: util.isGeneratorFunction(registered.func) ? new retries_1.Never() : new retries_1.Exponential(),
172
+ retryPolicy: retryPolicy,
173
+ span: this.span,
165
174
  });
166
175
  if (util.isGeneratorFunction(registered.func)) {
167
- this.processGenerator(nursery, ctx, registered.func, args, done);
176
+ this.processGenerator(nursery, ctx, registered.func, args, task, done);
168
177
  }
169
178
  else {
170
179
  this.processFunction(this.id, ctx, registered.func, args, (err, promise) => {
@@ -176,8 +185,8 @@ class Computation {
176
185
  }
177
186
  }, doneAndDropTaskIfErr);
178
187
  }
179
- processGenerator(nursery, ctx, func, args, done) {
180
- coroutine_1.Coroutine.exec(this.id, this.verbose, ctx, func, args, this.handler, (err, status) => {
188
+ processGenerator(nursery, ctx, func, args, task, done) {
189
+ coroutine_1.Coroutine.exec(this.id, this.verbose, ctx, func, args, task, this.handler, this.spans, (err, status) => {
181
190
  if (err) {
182
191
  return done(err);
183
192
  }
@@ -192,14 +201,14 @@ class Computation {
192
201
  this.processLocalTodo(nursery, status.todo.local, done);
193
202
  }
194
203
  else if (status.todo.remote.length > 0) {
195
- this.processRemoteTodo(nursery, status.todo.remote, ctx.info.timeout, done);
204
+ this.processRemoteTodo(nursery, status.todo.remote, status.spans, ctx.info.timeout, done);
196
205
  }
197
206
  break;
198
207
  }
199
208
  });
200
209
  }
201
210
  processFunction(id, ctx, func, args, done) {
202
- this.processor.process(id, ctx, func.name, async () => await func(ctx, ...args), (res) => this.handler.completePromise({
211
+ this.processor.process(id, ctx, async () => await func(ctx, ...args), (res) => this.handler.completePromise({
203
212
  kind: "completePromise",
204
213
  id: id,
205
214
  state: res.success ? "resolved" : "rejected",
@@ -215,16 +224,17 @@ class Computation {
215
224
  }
216
225
  util.assertDefined(res);
217
226
  done(false, res);
218
- }, func.name), this.verbose);
227
+ }, func.name), this.verbose, ctx.span);
219
228
  }
220
229
  processLocalTodo(nursery, todo, done) {
221
- for (const { id, ctx, func, args } of todo) {
230
+ for (const { id, ctx, span, func, args } of todo) {
222
231
  if (this.seen.has(id)) {
223
232
  continue;
224
233
  }
225
234
  this.seen.add(id);
226
235
  nursery.hold((next) => {
227
236
  this.processFunction(id, ctx, func, args, (err) => {
237
+ span.end(this.clock.now());
228
238
  next();
229
239
  if (err) {
230
240
  this.seen.delete(id);
@@ -236,13 +246,13 @@ class Computation {
236
246
  // once all local todos are submitted we can call continue
237
247
  return nursery.cont();
238
248
  }
239
- processRemoteTodo(nursery, todo, timeout, done) {
249
+ processRemoteTodo(nursery, todo, spans, timeout, done) {
240
250
  nursery.all(todo, ({ id }, done) => this.handler.createCallback({
241
251
  kind: "createCallback",
242
252
  promiseId: id,
243
253
  rootPromiseId: this.id,
244
254
  timeout: timeout,
245
- recv: this.anycastPreference,
255
+ recv: this.anycast,
246
256
  }, (err, res) => {
247
257
  if (err) {
248
258
  err.log(this.verbose);
@@ -250,9 +260,13 @@ class Computation {
250
260
  }
251
261
  util.assertDefined(res);
252
262
  done(false, res);
253
- }), (err, results) => {
254
- if (err)
263
+ }, this.span.encode()), (err, results) => {
264
+ if (err) {
265
+ for (const span of spans) {
266
+ span.end(this.clock.now());
267
+ }
255
268
  return done(err);
269
+ }
256
270
  util.assertDefined(results);
257
271
  const callbacks = [];
258
272
  for (const res of results) {
@@ -265,10 +279,36 @@ class Computation {
265
279
  break;
266
280
  }
267
281
  }
282
+ for (const span of spans) {
283
+ span.end(this.clock.now());
284
+ }
268
285
  // once all callbacks are created we can call done
269
286
  return done(false, { kind: "suspended", callbacks });
270
287
  });
271
288
  }
272
289
  }
273
290
  exports.Computation = Computation;
291
+ // Helper functions
292
+ function isValidData(data) {
293
+ if (data === null || typeof data !== "object")
294
+ return false;
295
+ const d = data;
296
+ // func must be a string
297
+ if (typeof d.func !== "string")
298
+ return false;
299
+ // args must be an array
300
+ if (!Array.isArray(d.args))
301
+ return false;
302
+ // retry (if present) must be an object with string `type` and any `data`
303
+ if (d.retry !== undefined) {
304
+ if (d.retry === null || typeof d.retry !== "object" || typeof d.retry.type !== "string" || !("data" in d.retry)) {
305
+ return false;
306
+ }
307
+ }
308
+ // version (if present) must be a number
309
+ if (d.version !== undefined && typeof d.version !== "number") {
310
+ return false;
311
+ }
312
+ return true;
313
+ }
274
314
  //# sourceMappingURL=computation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"computation.js","sourceRoot":"","sources":["../../src/computation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"computation.js","sourceRoot":"","sources":["../../src/computation.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import type { Clock } from "./clock";
2
2
  import { type ResonateError } from "./exceptions";
3
3
  import type { CreatePromiseReq } from "./network/network";
4
- import { Options } from "./options";
4
+ import type { Options, OptionsBuilder } from "./options";
5
5
  import type { Registry } from "./registry";
6
6
  import { type RetryPolicy } from "./retries";
7
+ import type { Span } from "./tracer";
7
8
  import type { Func, ParamsWithOptions, Result, Return } from "./types";
8
9
  export declare class LFI<T> implements Iterable<LFI<T>> {
9
10
  id: string;
@@ -27,16 +28,20 @@ export declare class LFC<T> implements Iterable<LFC<T>> {
27
28
  }
28
29
  export declare class RFI<T> implements Iterable<RFI<T>> {
29
30
  id: string;
31
+ func: string;
32
+ version: number;
30
33
  createReq: CreatePromiseReq;
31
34
  mode: "attached" | "detached";
32
- constructor(id: string, createReq: CreatePromiseReq, mode?: "attached" | "detached");
35
+ constructor(id: string, func: string, version: number, createReq: CreatePromiseReq, mode?: "attached" | "detached");
33
36
  [Symbol.iterator](): Generator<RFI<T>, Future<T>, any>;
34
37
  }
35
38
  export declare class RFC<T> implements Iterable<RFC<T>> {
36
39
  id: string;
40
+ func: string;
41
+ version: number;
37
42
  createReq: CreatePromiseReq;
38
43
  mode: "attached";
39
- constructor(id: string, createReq: CreatePromiseReq);
44
+ constructor(id: string, func: string, version: number, createReq: CreatePromiseReq);
40
45
  [Symbol.iterator](): Generator<RFC<T>, T, any>;
41
46
  }
42
47
  export declare class DIE implements Iterable<DIE> {
@@ -88,7 +93,8 @@ export interface Context {
88
93
  for?: number;
89
94
  until?: Date;
90
95
  }): RFC<void>;
91
- promise<T>({ id, timeout, data, tags, }?: {
96
+ promise<T>(): RFI<T>;
97
+ promise<T>({ id, timeout, data, tags, }: {
92
98
  id?: string;
93
99
  timeout?: number;
94
100
  data?: any;
@@ -97,7 +103,7 @@ export interface Context {
97
103
  panic(condition: boolean, msg?: string): DIE;
98
104
  assert(condition: boolean, msg?: string): DIE;
99
105
  getDependency<T = any>(key: string): T | undefined;
100
- options(opts: Partial<Options>): Options;
106
+ options(opts?: Partial<Options>): Options;
101
107
  date: ResonateDate;
102
108
  math: ResonateMath;
103
109
  }
@@ -114,13 +120,15 @@ export declare class InnerContext implements Context {
114
120
  readonly timeout: number;
115
121
  readonly version: number;
116
122
  };
123
+ readonly func: string;
117
124
  readonly retryPolicy: RetryPolicy;
118
125
  private rId;
119
126
  private pId;
120
- private anycast;
121
- private clock;
127
+ readonly clock: Clock;
128
+ readonly span: Span;
122
129
  private registry;
123
130
  private dependencies;
131
+ private optsBuilder;
124
132
  private seq;
125
133
  run: {
126
134
  <F extends Func>(func: F, ...args: ParamsWithOptions<F>): LFC<Return<F>>;
@@ -138,23 +146,27 @@ export declare class InnerContext implements Context {
138
146
  <F extends Func>(func: F, ...args: ParamsWithOptions<F>): RFI<Return<F>>;
139
147
  <T>(func: string, ...args: any[]): RFI<T>;
140
148
  };
141
- constructor({ id, rId, pId, anycast, clock, registry, dependencies, timeout, version, retryPolicy, }: {
149
+ constructor({ id, rId, pId, func, clock, registry, dependencies, optsBuilder, timeout, version, retryPolicy, span, }: {
142
150
  id: string;
143
151
  rId?: string;
144
152
  pId?: string;
145
- anycast: string;
153
+ func: string;
146
154
  clock: Clock;
147
155
  registry: Registry;
148
156
  dependencies: Map<string, any>;
157
+ optsBuilder: OptionsBuilder;
149
158
  timeout: number;
150
159
  version: number;
151
160
  retryPolicy: RetryPolicy;
161
+ span: Span;
152
162
  });
153
- child({ id, timeout, version, retryPolicy, }: {
163
+ child({ id, func, timeout, version, retryPolicy, span, }: {
154
164
  id: string;
165
+ func: string;
155
166
  timeout: number;
156
167
  version: number;
157
168
  retryPolicy: RetryPolicy;
169
+ span: Span;
158
170
  }): InnerContext;
159
171
  lfi<F extends Func>(func: F, ...args: ParamsWithOptions<F>): LFI<Return<F>>;
160
172
  lfi<T>(func: string, ...args: any[]): LFI<T>;
@@ -179,15 +191,15 @@ export declare class InnerContext implements Context {
179
191
  panic(condition: boolean, msg?: string): DIE;
180
192
  assert(condition: boolean, msg?: string): DIE;
181
193
  getDependency<T = any>(name: string): T | undefined;
182
- options(opts?: Partial<Options>): Options;
194
+ options(opts?: Partial<Pick<Options, "id" | "tags" | "target" | "timeout" | "version" | "retryPolicy">>): Options;
183
195
  readonly date: {
184
196
  now: () => LFC<number>;
185
197
  };
186
198
  readonly math: {
187
199
  random: () => LFC<number>;
188
200
  };
189
- localCreateReq(opts: Options): CreatePromiseReq;
190
- remoteCreateReq(data: any, opts: Options, maxTimeout?: number): CreatePromiseReq;
201
+ localCreateReq(id: string, data: any, opts: Options): CreatePromiseReq;
202
+ remoteCreateReq(id: string, data: any, opts: Options, maxTimeout?: number): CreatePromiseReq;
191
203
  latentCreateOpts(id: string, timeout?: number, data?: any, tags?: Record<string, string>): CreatePromiseReq;
192
204
  sleepCreateOpts(id: string, time: number): CreatePromiseReq;
193
205
  seqid(): string;