@resonatehq/sdk 0.8.6 → 0.9.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 (62) hide show
  1. package/dist/dev/network.d.ts +12 -2
  2. package/dist/dev/network.d.ts.map +1 -1
  3. package/dist/dev/network.js +14 -3
  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/src/worker.d.ts.map +1 -1
  9. package/dist/sim/src/worker.js +22 -7
  10. package/dist/sim/src/worker.js.map +1 -1
  11. package/dist/src/computation.d.ts +9 -3
  12. package/dist/src/computation.d.ts.map +1 -1
  13. package/dist/src/computation.js +72 -32
  14. package/dist/src/computation.js.map +1 -1
  15. package/dist/src/context.d.ts +25 -13
  16. package/dist/src/context.d.ts.map +1 -1
  17. package/dist/src/context.js +70 -34
  18. package/dist/src/context.js.map +1 -1
  19. package/dist/src/coroutine.d.ts +8 -3
  20. package/dist/src/coroutine.d.ts.map +1 -1
  21. package/dist/src/coroutine.js +69 -10
  22. package/dist/src/coroutine.js.map +1 -1
  23. package/dist/src/decorator.d.ts +3 -1
  24. package/dist/src/decorator.d.ts.map +1 -1
  25. package/dist/src/decorator.js +2 -0
  26. package/dist/src/decorator.js.map +1 -1
  27. package/dist/src/handler.d.ts +7 -4
  28. package/dist/src/handler.d.ts.map +1 -1
  29. package/dist/src/handler.js +8 -8
  30. package/dist/src/handler.js.map +1 -1
  31. package/dist/src/network/network.d.ts +8 -1
  32. package/dist/src/network/network.d.ts.map +1 -1
  33. package/dist/src/network/remote.d.ts +7 -4
  34. package/dist/src/network/remote.d.ts.map +1 -1
  35. package/dist/src/network/remote.js +24 -18
  36. package/dist/src/network/remote.js.map +1 -1
  37. package/dist/src/options.d.ts +17 -4
  38. package/dist/src/options.d.ts.map +1 -1
  39. package/dist/src/options.js +13 -7
  40. package/dist/src/options.js.map +1 -1
  41. package/dist/src/processor/processor.d.ts +3 -3
  42. package/dist/src/processor/processor.d.ts.map +1 -1
  43. package/dist/src/processor/processor.js +16 -9
  44. package/dist/src/processor/processor.js.map +1 -1
  45. package/dist/src/resonate-inner.d.ts +12 -6
  46. package/dist/src/resonate-inner.d.ts.map +1 -1
  47. package/dist/src/resonate-inner.js +19 -8
  48. package/dist/src/resonate-inner.js.map +1 -1
  49. package/dist/src/resonate.d.ts +18 -9
  50. package/dist/src/resonate.d.ts.map +1 -1
  51. package/dist/src/resonate.js +138 -77
  52. package/dist/src/resonate.js.map +1 -1
  53. package/dist/src/retries.d.ts +47 -8
  54. package/dist/src/retries.d.ts.map +1 -1
  55. package/dist/src/retries.js +29 -1
  56. package/dist/src/retries.js.map +1 -1
  57. package/dist/src/tracer.d.ts +23 -0
  58. package/dist/src/tracer.d.ts.map +1 -0
  59. package/dist/src/tracer.js +25 -0
  60. package/dist/src/tracer.js.map +1 -0
  61. package/dist/tsconfig.build.tsbuildinfo +1 -1
  62. package/package.json +3 -3
@@ -38,46 +38,48 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.Resonate = void 0;
40
40
  const network_1 = require("../dev/network");
41
- const encryptor_1 = require("../src/encryptor");
42
- const handler_1 = require("../src/handler");
43
- const registry_1 = require("../src/registry");
44
41
  const clock_1 = require("./clock");
45
42
  const encoder_1 = require("./encoder");
43
+ const encryptor_1 = require("./encryptor");
46
44
  const exceptions_1 = __importDefault(require("./exceptions"));
45
+ const handler_1 = require("./handler");
47
46
  const heartbeat_1 = require("./heartbeat");
48
47
  const remote_1 = require("./network/remote");
49
48
  const options_1 = require("./options");
50
49
  const promises_1 = require("./promises");
50
+ const registry_1 = require("./registry");
51
51
  const resonate_inner_1 = require("./resonate-inner");
52
52
  const schedules_1 = require("./schedules");
53
+ const tracer_1 = require("./tracer");
53
54
  const util = __importStar(require("./util"));
54
55
  class Resonate {
55
- unicast;
56
- anycastPreference;
57
- anycastNoPreference;
56
+ clock;
58
57
  pid;
59
58
  ttl;
59
+ unicast;
60
+ anycast;
61
+ match;
60
62
  inner;
61
63
  network;
62
64
  encoder;
63
65
  encryptor;
64
66
  verbose;
65
67
  messageSource;
68
+ tracer;
66
69
  handler;
67
70
  registry;
68
71
  heartbeat;
69
72
  dependencies;
73
+ optsBuilder;
70
74
  subscriptions = new Map();
71
75
  subscribeEvery;
72
76
  intervalId;
73
77
  promises;
74
78
  schedules;
75
- constructor({ url = undefined, group = "default", pid = crypto.randomUUID().replace(/-/g, ""), ttl = 1 * util.MIN, auth = undefined, verbose = false, encryptor = undefined, } = {}) {
76
- this.unicast = `poll://uni@${group}/${pid}`;
77
- this.anycastPreference = `poll://any@${group}/${pid}`;
78
- this.anycastNoPreference = `poll://any@${group}`;
79
- this.pid = pid;
79
+ constructor({ url = undefined, group = "default", pid = undefined, ttl = 1 * util.MIN, auth = undefined, verbose = false, encryptor = undefined, tracer = undefined, transport = undefined, } = {}) {
80
+ this.clock = new clock_1.WallClock();
80
81
  this.ttl = ttl;
82
+ this.tracer = tracer ?? new tracer_1.NoopTracer();
81
83
  this.encryptor = encryptor ?? new encryptor_1.NoopEncryptor();
82
84
  this.encoder = new encoder_1.JsonEncoder();
83
85
  this.verbose = verbose;
@@ -106,40 +108,55 @@ class Resonate {
106
108
  resolvedAuth = { username: resonateUsername, password: resonatePassword };
107
109
  }
108
110
  }
109
- if (!resolvedUrl) {
110
- const localNetwork = new network_1.LocalNetwork();
111
- this.network = localNetwork;
112
- this.messageSource = localNetwork.getMessageSource();
113
- this.heartbeat = new heartbeat_1.NoopHeartbeat();
111
+ if (transport) {
112
+ this.network = transport;
113
+ this.messageSource = transport;
114
+ this.pid = pid ?? this.messageSource.pid;
115
+ this.heartbeat = new heartbeat_1.AsyncHeartbeat(this.pid, ttl / 2, this.network);
114
116
  }
115
117
  else {
116
- this.network = new remote_1.HttpNetwork({
117
- verbose: this.verbose,
118
- url: resolvedUrl,
119
- auth: resolvedAuth,
120
- timeout: 1 * util.MIN,
121
- headers: {},
122
- });
123
- this.messageSource = new remote_1.HttpMessageSource({ url: resolvedUrl, pid, group, auth: resolvedAuth });
124
- this.heartbeat = new heartbeat_1.AsyncHeartbeat(pid, ttl / 2, this.network);
118
+ if (!resolvedUrl) {
119
+ const localNetwork = new network_1.LocalNetwork({ pid, group });
120
+ this.network = localNetwork;
121
+ this.messageSource = localNetwork.getMessageSource();
122
+ this.pid = pid ?? this.messageSource.pid;
123
+ this.heartbeat = new heartbeat_1.NoopHeartbeat();
124
+ }
125
+ else {
126
+ this.network = new remote_1.HttpNetwork({
127
+ verbose: this.verbose,
128
+ url: resolvedUrl,
129
+ auth: resolvedAuth,
130
+ timeout: 1 * util.MIN,
131
+ headers: {},
132
+ });
133
+ this.messageSource = new remote_1.HttpMessageSource({ url: resolvedUrl, pid, group, auth: resolvedAuth });
134
+ this.pid = pid ?? this.messageSource.pid;
135
+ this.heartbeat = new heartbeat_1.AsyncHeartbeat(this.pid, ttl / 2, this.network);
136
+ }
125
137
  }
126
138
  this.handler = new handler_1.Handler(this.network, this.encoder, this.encryptor);
127
139
  this.registry = new registry_1.Registry();
128
140
  this.dependencies = new Map();
141
+ this.unicast = this.messageSource.unicast;
142
+ this.anycast = this.messageSource.anycast;
143
+ this.match = this.messageSource.match;
144
+ this.optsBuilder = new options_1.OptionsBuilder({ match: this.match });
129
145
  this.inner = new resonate_inner_1.ResonateInner({
130
146
  unicast: this.unicast,
131
- anycastPreference: this.anycastPreference,
132
- anycastNoPreference: this.anycastNoPreference,
147
+ anycast: this.anycast,
133
148
  pid: this.pid,
134
149
  ttl: this.ttl,
135
- clock: new clock_1.WallClock(),
150
+ clock: this.clock,
136
151
  network: this.network,
137
152
  messageSource: this.messageSource,
138
153
  handler: this.handler,
139
154
  registry: this.registry,
140
155
  heartbeat: this.heartbeat,
141
156
  dependencies: this.dependencies,
157
+ optsBuilder: this.optsBuilder,
142
158
  verbose: this.verbose,
159
+ tracer: this.tracer,
143
160
  });
144
161
  this.promises = new promises_1.Promises(this.network);
145
162
  this.schedules = new schedules_1.Schedules(this.network);
@@ -189,13 +206,14 @@ class Resonate {
189
206
  * console.log(result);
190
207
  * ```
191
208
  */
192
- static local({ verbose = false, encryptor = undefined, } = {}) {
209
+ static local({ verbose = false, encryptor = undefined, tracer = undefined, } = {}) {
193
210
  return new Resonate({
194
211
  group: "default",
195
212
  pid: "default",
196
213
  ttl: Number.MAX_SAFE_INTEGER,
197
214
  verbose,
198
215
  encryptor,
216
+ tracer,
199
217
  });
200
218
  }
201
219
  /**
@@ -233,8 +251,8 @@ class Resonate {
233
251
  * console.log(result);
234
252
  * ```
235
253
  */
236
- static remote({ url = "http://localhost:8001", group = "default", pid = crypto.randomUUID().replace(/-/g, ""), ttl = 1 * util.MIN, auth = undefined, verbose = false, encryptor = undefined, } = {}) {
237
- return new Resonate({ url, group, pid, ttl, auth, verbose, encryptor });
254
+ static remote({ url = "http://localhost:8001", group = "default", pid = crypto.randomUUID().replace(/-/g, ""), ttl = 1 * util.MIN, auth = undefined, verbose = false, encryptor = undefined, tracer = undefined, } = {}) {
255
+ return new Resonate({ url, group, pid, ttl, auth, verbose, encryptor, tracer });
238
256
  }
239
257
  register(nameOrFunc, funcOrOptions, maybeOptions = {}) {
240
258
  const { version = 1 } = (typeof funcOrOptions === "object" ? funcOrOptions : maybeOptions) ?? {};
@@ -260,35 +278,56 @@ class Resonate {
260
278
  throw exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(typeof funcOrName === "string" ? funcOrName : funcOrName.name, opts.version);
261
279
  }
262
280
  util.assert(registered.version > 0, "function version must be greater than zero");
263
- const { promise, task } = await this.createPromiseAndTask({
264
- kind: "createPromiseAndTask",
265
- promise: {
266
- id: id,
267
- timeout: Date.now() + opts.timeout,
268
- param: {
269
- data: {
270
- func: registered.name,
271
- args: args,
272
- version: registered.version,
281
+ const span = this.tracer.startSpan(id, this.clock.now());
282
+ span.setAttribute("type", "run");
283
+ span.setAttribute("func", registered.name);
284
+ span.setAttribute("version", registered.version);
285
+ try {
286
+ const { promise, task } = await this.createPromiseAndTask({
287
+ kind: "createPromiseAndTask",
288
+ promise: {
289
+ id: id,
290
+ timeout: Date.now() + opts.timeout,
291
+ param: {
292
+ data: {
293
+ func: registered.name,
294
+ args: args,
295
+ retry: opts.retryPolicy?.encode(),
296
+ version: registered.version,
297
+ },
298
+ },
299
+ tags: {
300
+ ...opts.tags,
301
+ "resonate:root": id,
302
+ "resonate:parent": id,
303
+ "resonate:scope": "global",
304
+ "resonate:invoke": this.anycast,
273
305
  },
274
306
  },
275
- tags: {
276
- ...opts.tags,
277
- "resonate:invoke": this.anycastPreference,
278
- "resonate:scope": "global",
307
+ task: {
308
+ processId: this.pid,
309
+ ttl: this.ttl,
279
310
  },
280
- },
281
- task: {
282
- processId: this.pid,
283
- ttl: this.ttl,
284
- },
285
- iKey: id,
286
- strict: false,
287
- });
288
- if (task) {
289
- this.inner.process({ kind: "claimed", task: task, rootPromise: promise }, () => { });
311
+ iKey: id,
312
+ strict: false,
313
+ }, span.encode());
314
+ // if the promise is created, the span is considered successful
315
+ span.setStatus(true);
316
+ if (task) {
317
+ this.inner.process(span, { kind: "claimed", task: task, rootPromise: promise }, () => {
318
+ span.end(this.clock.now());
319
+ });
320
+ }
321
+ else {
322
+ span.end(this.clock.now());
323
+ }
324
+ return this.createHandle(promise);
325
+ }
326
+ catch (e) {
327
+ span.setStatus(false, String(e));
328
+ span.end(this.clock.now());
329
+ throw e;
290
330
  }
291
- return this.createHandle(promise);
292
331
  }
293
332
  async rpc(id, funcOrName, ...args) {
294
333
  return (await this.beginRpc(id, funcOrName, ...args)).result();
@@ -300,22 +339,45 @@ class Resonate {
300
339
  if (typeof funcOrName === "function" && !registered) {
301
340
  throw exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version);
302
341
  }
303
- const promise = await this.createPromise({
304
- kind: "createPromise",
305
- id: id,
306
- timeout: Date.now() + opts.timeout,
307
- param: {
308
- data: {
309
- func: registered ? registered.name : funcOrName,
310
- args: args,
311
- version: registered ? registered.version : opts.version || 1,
342
+ const func = registered ? registered.name : funcOrName;
343
+ const version = registered ? registered.version : opts.version || 1;
344
+ const span = this.tracer.startSpan(id, this.clock.now());
345
+ span.setAttribute("type", "rpc");
346
+ span.setAttribute("func", func);
347
+ span.setAttribute("version", version);
348
+ try {
349
+ const promise = await this.createPromise({
350
+ kind: "createPromise",
351
+ id: id,
352
+ timeout: Date.now() + opts.timeout,
353
+ param: {
354
+ data: {
355
+ func: func,
356
+ args: args,
357
+ retry: opts.retryPolicy?.encode(),
358
+ version: version,
359
+ },
312
360
  },
313
- },
314
- tags: { ...opts.tags, "resonate:invoke": opts.target, "resonate:scope": "global" },
315
- iKey: id,
316
- strict: false,
317
- });
318
- return this.createHandle(promise);
361
+ tags: {
362
+ ...opts.tags,
363
+ "resonate:root": id,
364
+ "resonate:parent": id,
365
+ "resonate:scope": "global",
366
+ "resonate:invoke": opts.target,
367
+ },
368
+ iKey: id,
369
+ strict: false,
370
+ }, span.encode());
371
+ // if the promise is created, the span is considered successful
372
+ span.setStatus(true);
373
+ span.end(this.clock.now());
374
+ return this.createHandle(promise);
375
+ }
376
+ catch (e) {
377
+ span.setStatus(false, String(e));
378
+ span.end(this.clock.now());
379
+ throw e;
380
+ }
319
381
  }
320
382
  async schedule(name, cron, funcOrName, ...argsWithOpts) {
321
383
  const [args, opts] = this.getArgsAndOpts(argsWithOpts);
@@ -366,8 +428,7 @@ class Resonate {
366
428
  return this.createHandle(promise);
367
429
  }
368
430
  options(opts = {}) {
369
- const target = opts.target ?? this.anycastNoPreference;
370
- return new options_1.Options({ target, ...opts });
431
+ return this.optsBuilder.build(opts);
371
432
  }
372
433
  getArgsAndOpts(args, version) {
373
434
  return util.splitArgsAndOpts(args, this.options({ version }));
@@ -381,7 +442,7 @@ class Resonate {
381
442
  this.heartbeat.stop();
382
443
  clearInterval(this.intervalId);
383
444
  }
384
- createPromiseAndTask(req) {
445
+ createPromiseAndTask(req, headers) {
385
446
  return new Promise((resolve, reject) => this.handler.createPromiseAndTask(req, (err, res) => {
386
447
  if (err) {
387
448
  reject(err);
@@ -389,9 +450,9 @@ class Resonate {
389
450
  else {
390
451
  resolve({ promise: res.promise, task: res.task });
391
452
  }
392
- }, undefined, true));
453
+ }, undefined, headers, true));
393
454
  }
394
- createPromise(req) {
455
+ createPromise(req, headers) {
395
456
  return new Promise((resolve, reject) => this.handler.createPromise(req, (err, res) => {
396
457
  if (err) {
397
458
  reject(err);
@@ -399,7 +460,7 @@ class Resonate {
399
460
  else {
400
461
  resolve(res);
401
462
  }
402
- }, undefined, true));
463
+ }, undefined, headers, true));
403
464
  }
404
465
  createSubscription(req) {
405
466
  return new Promise((resolve, reject) => this.handler.createSubscription(req, (err, res) => {
@@ -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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"}
@@ -1,20 +1,37 @@
1
+ export interface RetryPolicyConstructor {
2
+ readonly type: string;
3
+ new (arg: any): RetryPolicy;
4
+ }
1
5
  export interface RetryPolicy {
2
6
  next(attempt: number): number | null;
7
+ encode(): {
8
+ type: string;
9
+ data: any;
10
+ };
3
11
  }
4
12
  export declare class Constant implements RetryPolicy {
5
- readonly delay: number;
6
- readonly maxRetries: number;
13
+ static readonly type = "constant";
14
+ private readonly delay;
15
+ private readonly maxRetries;
7
16
  constructor({ delay, maxRetries }?: {
8
17
  delay?: number;
9
18
  maxRetries?: number;
10
19
  });
11
20
  next(attempt: number): number | null;
21
+ encode(): {
22
+ type: string;
23
+ data: {
24
+ delay: number;
25
+ maxRetries: number;
26
+ };
27
+ };
12
28
  }
13
29
  export declare class Exponential implements RetryPolicy {
14
- readonly delay: number;
15
- readonly maxRetries: number;
16
- readonly factor: number;
17
- readonly maxDelay: number;
30
+ static readonly type = "exponential";
31
+ private readonly delay;
32
+ private readonly maxRetries;
33
+ private readonly factor;
34
+ private readonly maxDelay;
18
35
  constructor({ delay, factor, maxRetries, maxDelay, }?: {
19
36
  delay?: number;
20
37
  factor?: number;
@@ -22,17 +39,39 @@ export declare class Exponential implements RetryPolicy {
22
39
  maxDelay?: number;
23
40
  });
24
41
  next(attempt: number): number | null;
42
+ encode(): {
43
+ type: string;
44
+ data: {
45
+ delay: number;
46
+ factor: number;
47
+ maxRetries: number;
48
+ maxDelay: number;
49
+ };
50
+ };
25
51
  }
26
52
  export declare class Linear implements RetryPolicy {
27
- readonly delay: number;
28
- readonly maxRetries: number;
53
+ static readonly type = "linear";
54
+ private readonly delay;
55
+ private readonly maxRetries;
29
56
  constructor({ delay, maxRetries }?: {
30
57
  delay?: number;
31
58
  maxRetries?: number;
32
59
  });
33
60
  next(attempt: number): number | null;
61
+ encode(): {
62
+ type: string;
63
+ data: {
64
+ delay: number;
65
+ maxRetries: number;
66
+ };
67
+ };
34
68
  }
35
69
  export declare class Never implements RetryPolicy {
70
+ static readonly type = "never";
36
71
  next(attempt: number): number | null;
72
+ encode(): {
73
+ type: string;
74
+ data: {};
75
+ };
37
76
  }
38
77
  //# sourceMappingURL=retries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retries.d.ts","sourceRoot":"","sources":["../../src/retries.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,qBAAa,QAAS,YAAW,WAAW;IAC1C,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEvB,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;CAerC;AAED,qBAAa,WAAY,YAAW,WAAW;IAC7C,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAErB,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;CAerC;AAED,qBAAa,MAAO,YAAW,WAAW;IACxC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEvB,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;CAWrC;AAED,qBAAa,KAAM,YAAW,WAAW;IACvC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAOrC"}
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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Never = exports.Linear = exports.Exponential = exports.Constant = void 0;
4
4
  class Constant {
5
+ static type = "constant";
5
6
  delay;
6
7
  maxRetries;
7
8
  constructor({ delay = 1000, maxRetries = Number.MAX_SAFE_INTEGER } = {}) {
@@ -20,17 +21,24 @@ class Constant {
20
21
  }
21
22
  return this.delay;
22
23
  }
24
+ encode() {
25
+ return {
26
+ type: "constant",
27
+ data: { delay: this.delay, maxRetries: this.maxRetries },
28
+ };
29
+ }
23
30
  }
24
31
  exports.Constant = Constant;
25
32
  class Exponential {
33
+ static type = "exponential";
26
34
  delay;
27
35
  maxRetries;
28
36
  factor;
29
37
  maxDelay;
30
38
  constructor({ delay = 1000, factor = 2, maxRetries = Number.MAX_SAFE_INTEGER, maxDelay = 30000, } = {}) {
31
39
  this.delay = delay;
32
- this.maxRetries = maxRetries;
33
40
  this.factor = factor;
41
+ this.maxRetries = maxRetries;
34
42
  this.maxDelay = maxDelay;
35
43
  }
36
44
  next(attempt) {
@@ -45,9 +53,16 @@ class Exponential {
45
53
  }
46
54
  return Math.min(this.delay * this.factor ** attempt, this.maxDelay);
47
55
  }
56
+ encode() {
57
+ return {
58
+ type: "exponential",
59
+ data: { delay: this.delay, factor: this.factor, maxRetries: this.maxRetries, maxDelay: this.maxDelay },
60
+ };
61
+ }
48
62
  }
49
63
  exports.Exponential = Exponential;
50
64
  class Linear {
65
+ static type = "linear";
51
66
  delay;
52
67
  maxRetries;
53
68
  constructor({ delay = 1000, maxRetries = Number.MAX_SAFE_INTEGER } = {}) {
@@ -63,15 +78,28 @@ class Linear {
63
78
  }
64
79
  return this.delay * attempt;
65
80
  }
81
+ encode() {
82
+ return {
83
+ type: "linear",
84
+ data: { delay: this.delay, maxRetries: this.maxRetries },
85
+ };
86
+ }
66
87
  }
67
88
  exports.Linear = Linear;
68
89
  class Never {
90
+ static type = "never";
69
91
  next(attempt) {
70
92
  if (attempt < 0) {
71
93
  throw new Error("attempt must be greater than or equal to 0");
72
94
  }
73
95
  return attempt === 0 ? 0 : null;
74
96
  }
97
+ encode() {
98
+ return {
99
+ type: "never",
100
+ data: {},
101
+ };
102
+ }
75
103
  }
76
104
  exports.Never = Never;
77
105
  //# sourceMappingURL=retries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retries.js","sourceRoot":"","sources":["../../src/retries.ts"],"names":[],"mappings":";;;AAIA,MAAa,QAAQ;IACH,KAAK,CAAS;IACd,UAAU,CAAS;IAEnC,YAAY,EAAE,KAAK,GAAG,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,gBAAgB,KAA8C,EAAE;QAC9G,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAxBD,4BAwBC;AAED,MAAa,WAAW;IACN,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,MAAM,CAAS;IACf,QAAQ,CAAS;IAEjC,YAAY,EACV,KAAK,GAAG,IAAI,EACZ,MAAM,GAAG,CAAC,EACV,UAAU,GAAG,MAAM,CAAC,gBAAgB,EACpC,QAAQ,GAAG,KAAK,MAC+D,EAAE;QACjF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;CACF;AAjCD,kCAiCC;AAED,MAAa,MAAM;IACD,KAAK,CAAS;IACd,UAAU,CAAS;IAEnC,YAAY,EAAE,KAAK,GAAG,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,gBAAgB,KAA8C,EAAE;QAC9G,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IAC9B,CAAC;CACF;AApBD,wBAoBC;AAED,MAAa,KAAK;IAChB,IAAI,CAAC,OAAe;QAClB,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC;CACF;AARD,sBAQC"}
1
+ {"version":3,"file":"retries.js","sourceRoot":"","sources":["../../src/retries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface Tracer {
2
+ startSpan(id: string, startTime: number): Span;
3
+ decode(headers: Record<string, string>): Span;
4
+ }
5
+ export interface Span {
6
+ startSpan(id: string, startTime: number): Span;
7
+ encode(): Record<string, string>;
8
+ setAttribute(key: string, value: string | number | boolean): void;
9
+ setStatus(success: boolean, message?: string): void;
10
+ end(endTime: number): void;
11
+ }
12
+ export declare class NoopTracer {
13
+ startSpan(id: string, startTime: number): NoopSpan;
14
+ decode(headers: Record<string, string>): Span;
15
+ }
16
+ export declare class NoopSpan {
17
+ startSpan(id: string, startTime: number): Span;
18
+ setAttribute(key: string, value: string | number | boolean): void;
19
+ setStatus(success: boolean, message?: string): void;
20
+ encode(): Record<string, string>;
21
+ end(endTime: number): void;
22
+ }
23
+ //# sourceMappingURL=tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/tracer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,IAAI;IACnB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAClE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,qBAAa,UAAU;IACrB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ;IAGlD,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;CAG9C;AAED,qBAAa,QAAQ;IACnB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAG9C,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IACjE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IACnD,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAGhC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAC3B"}