@resonatehq/sdk 0.7.0 → 0.7.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 (78) hide show
  1. package/README.md +14 -32
  2. package/dist/dev/network.d.ts +1 -1
  3. package/dist/dev/network.d.ts.map +1 -1
  4. package/dist/dev/network.js +4 -4
  5. package/dist/dev/network.js.map +1 -1
  6. package/dist/dev/server.d.ts.map +1 -1
  7. package/dist/dev/server.js +13 -12
  8. package/dist/dev/server.js.map +1 -1
  9. package/dist/sim/src/worker.d.ts.map +1 -1
  10. package/dist/sim/src/worker.js +4 -4
  11. package/dist/sim/src/worker.js.map +1 -1
  12. package/dist/src/computation.d.ts +2 -1
  13. package/dist/src/computation.d.ts.map +1 -1
  14. package/dist/src/computation.js +4 -4
  15. package/dist/src/computation.js.map +1 -1
  16. package/dist/src/context.d.ts +18 -8
  17. package/dist/src/context.d.ts.map +1 -1
  18. package/dist/src/context.js +10 -11
  19. package/dist/src/context.js.map +1 -1
  20. package/dist/src/core.d.ts +12 -0
  21. package/dist/src/core.d.ts.map +1 -0
  22. package/dist/src/core.js +28 -0
  23. package/dist/src/core.js.map +1 -0
  24. package/dist/src/coroutine.d.ts +2 -3
  25. package/dist/src/coroutine.d.ts.map +1 -1
  26. package/dist/src/coroutine.js +2 -7
  27. package/dist/src/coroutine.js.map +1 -1
  28. package/dist/src/decorator.d.ts +45 -2
  29. package/dist/src/decorator.d.ts.map +1 -1
  30. package/dist/src/decorator.js.map +1 -1
  31. package/dist/src/handler.d.ts +2 -1
  32. package/dist/src/handler.d.ts.map +1 -1
  33. package/dist/src/handler.js +18 -4
  34. package/dist/src/handler.js.map +1 -1
  35. package/dist/src/index.d.ts +2 -6
  36. package/dist/src/index.d.ts.map +1 -1
  37. package/dist/src/index.js +24 -9
  38. package/dist/src/index.js.map +1 -1
  39. package/dist/src/network/network.d.ts +3 -2
  40. package/dist/src/network/network.d.ts.map +1 -1
  41. package/dist/src/network/remote.d.ts +1 -1
  42. package/dist/src/network/remote.d.ts.map +1 -1
  43. package/dist/src/network/remote.js +9 -8
  44. package/dist/src/network/remote.js.map +1 -1
  45. package/dist/src/options.d.ts +16 -0
  46. package/dist/src/options.d.ts.map +1 -0
  47. package/dist/src/options.js +57 -0
  48. package/dist/src/options.js.map +1 -0
  49. package/dist/src/promises.d.ts +28 -6
  50. package/dist/src/promises.d.ts.map +1 -1
  51. package/dist/src/promises.js +15 -15
  52. package/dist/src/promises.js.map +1 -1
  53. package/dist/src/resonate-inner.d.ts +12 -8
  54. package/dist/src/resonate-inner.d.ts.map +1 -1
  55. package/dist/src/resonate-inner.js +6 -81
  56. package/dist/src/resonate-inner.js.map +1 -1
  57. package/dist/src/resonate.d.ts +31 -17
  58. package/dist/src/resonate.d.ts.map +1 -1
  59. package/dist/src/resonate.js +134 -42
  60. package/dist/src/resonate.js.map +1 -1
  61. package/dist/src/schedules.d.ts +7 -1
  62. package/dist/src/schedules.d.ts.map +1 -1
  63. package/dist/src/schedules.js +2 -2
  64. package/dist/src/schedules.js.map +1 -1
  65. package/dist/src/tasks.d.ts +2 -2
  66. package/dist/src/tasks.d.ts.map +1 -1
  67. package/dist/src/tasks.js +4 -4
  68. package/dist/src/tasks.js.map +1 -1
  69. package/dist/src/types.d.ts +9 -71
  70. package/dist/src/types.d.ts.map +1 -1
  71. package/dist/src/types.js +2 -5
  72. package/dist/src/types.js.map +1 -1
  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 +16 -3
  76. package/dist/src/util.js.map +1 -1
  77. package/dist/tsconfig.build.tsbuildinfo +1 -1
  78. package/package.json +2 -2
@@ -1,19 +1,21 @@
1
1
  import type { Network } from "./network/network";
2
+ import { Options } from "./options";
2
3
  import { Promises } from "./promises";
3
4
  import { Schedules } from "./schedules";
4
- import { type Func, type Options, type ParamsWithOptions, RESONATE_OPTIONS, type Return } from "./types";
5
- export interface Handle<T> {
5
+ import type { Func, ParamsWithOptions, Return } from "./types";
6
+ export interface ResonateHandle<T> {
6
7
  id: string;
7
8
  result(): Promise<T>;
8
9
  }
9
10
  export interface ResonateFunc<F extends Func> {
10
11
  run: (id: string, ...args: ParamsWithOptions<F>) => Promise<Return<F>>;
11
12
  rpc: (id: string, ...args: ParamsWithOptions<F>) => Promise<Return<F>>;
12
- beginRun: (id: string, ...args: ParamsWithOptions<F>) => Promise<Handle<Return<F>>>;
13
- beginRpc: (id: string, ...args: ParamsWithOptions<F>) => Promise<Handle<Return<F>>>;
14
- options: (opts?: Partial<Options>) => Partial<Options> & {
15
- [RESONATE_OPTIONS]: true;
16
- };
13
+ beginRun: (id: string, ...args: ParamsWithOptions<F>) => Promise<ResonateHandle<Return<F>>>;
14
+ beginRpc: (id: string, ...args: ParamsWithOptions<F>) => Promise<ResonateHandle<Return<F>>>;
15
+ options: (opts?: Partial<Options>) => Options;
16
+ }
17
+ export interface ResonateSchedule {
18
+ delete(): Promise<void>;
17
19
  }
18
20
  export declare class Resonate {
19
21
  private unicast;
@@ -22,9 +24,11 @@ export declare class Resonate {
22
24
  private ttl;
23
25
  private inner;
24
26
  private network;
27
+ private handler;
25
28
  private registry;
26
29
  private heartbeat;
27
30
  private dependencies;
31
+ private subscriptions;
28
32
  readonly promises: Promises;
29
33
  readonly schedules: Schedules;
30
34
  constructor({ group, pid, ttl }: {
@@ -61,9 +65,9 @@ export declare class Resonate {
61
65
  /**
62
66
  * Invoke a function and return a promise
63
67
  */
64
- beginRun<F extends Func>(id: string, func: F, ...args: ParamsWithOptions<F>): Promise<Handle<Return<F>>>;
65
- beginRun<T>(id: string, func: string, ...args: any[]): Promise<Handle<T>>;
66
- beginRun(id: string, funcOrName: Func | string, ...args: any[]): Promise<Handle<any>>;
68
+ beginRun<F extends Func>(id: string, func: F, ...args: ParamsWithOptions<F>): Promise<ResonateHandle<Return<F>>>;
69
+ beginRun<T>(id: string, func: string, ...args: any[]): Promise<ResonateHandle<T>>;
70
+ beginRun(id: string, funcOrName: Func | string, ...args: any[]): Promise<ResonateHandle<any>>;
67
71
  /**
68
72
  * Invoke a remote function and return a value
69
73
  */
@@ -73,12 +77,16 @@ export declare class Resonate {
73
77
  /**
74
78
  * Invoke a remote function and return a promise
75
79
  */
76
- beginRpc<F extends Func>(id: string, func: F, ...args: ParamsWithOptions<F>): Promise<Handle<Return<F>>>;
77
- beginRpc<T>(id: string, func: string, ...args: any[]): Promise<Handle<T>>;
78
- beginRpc(id: string, funcOrName: Func | string, ...args: any[]): Promise<Handle<any>>;
79
- options(opts?: Partial<Options>): Options & {
80
- [RESONATE_OPTIONS]: true;
81
- };
80
+ beginRpc<F extends Func>(id: string, func: F, ...args: ParamsWithOptions<F>): Promise<ResonateHandle<Return<F>>>;
81
+ beginRpc<T>(id: string, func: string, ...args: any[]): Promise<ResonateHandle<T>>;
82
+ beginRpc(id: string, funcOrName: Func | string, ...args: any[]): Promise<ResonateHandle<any>>;
83
+ schedule<F extends Func>(name: string, cron: string, func: F, ...args: ParamsWithOptions<F>): Promise<ResonateSchedule>;
84
+ schedule(name: string, cron: string, func: string, ...args: any[]): Promise<ResonateSchedule>;
85
+ /**
86
+ * Get a promise and return a value
87
+ */
88
+ get<T = any>(id: string): Promise<ResonateHandle<T>>;
89
+ options(opts?: Partial<Options>): Options;
82
90
  /** Store a named dependency for use with `Context`.
83
91
  * The dependency is made available to all functions via
84
92
  * their execution `Context`.
@@ -87,6 +95,12 @@ export declare class Resonate {
87
95
  */
88
96
  setDependency(name: string, obj: any): void;
89
97
  stop(): void;
90
- private handle;
98
+ private createPromiseAndTask;
99
+ private createPromise;
100
+ private readPromise;
101
+ private createHandle;
102
+ private onMessage;
103
+ private subscribe;
104
+ private notify;
91
105
  }
92
106
  //# sourceMappingURL=resonate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resonate.d.ts","sourceRoot":"","sources":["../../src/resonate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resonate.d.ts","sourceRoot":"","sources":["../../src/resonate.ts"],"names":[],"mappings":"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"}
@@ -40,10 +40,10 @@ const registry_1 = require("../src/registry");
40
40
  const clock_1 = require("./clock");
41
41
  const heartbeat_1 = require("./heartbeat");
42
42
  const remote_1 = require("./network/remote");
43
+ const options_1 = require("./options");
43
44
  const promises_1 = require("./promises");
44
45
  const resonate_inner_1 = require("./resonate-inner");
45
46
  const schedules_1 = require("./schedules");
46
- const types_1 = require("./types");
47
47
  const util = __importStar(require("./util"));
48
48
  class Resonate {
49
49
  unicast;
@@ -52,9 +52,11 @@ class Resonate {
52
52
  ttl;
53
53
  inner;
54
54
  network;
55
+ handler;
55
56
  registry;
56
57
  heartbeat;
57
58
  dependencies;
59
+ subscriptions = new Map();
58
60
  promises;
59
61
  schedules;
60
62
  constructor({ group, pid, ttl }, network) {
@@ -63,6 +65,7 @@ class Resonate {
63
65
  this.pid = pid;
64
66
  this.ttl = ttl;
65
67
  this.network = network;
68
+ this.handler = new handler_1.Handler(this.network);
66
69
  this.registry = new registry_1.Registry();
67
70
  this.heartbeat = network instanceof network_1.LocalNetwork ? new heartbeat_1.NoopHeartbeat() : new heartbeat_1.AsyncHeartbeat(pid, ttl / 2, network);
68
71
  this.dependencies = new Map();
@@ -73,13 +76,15 @@ class Resonate {
73
76
  ttl: this.ttl,
74
77
  clock: new clock_1.WallClock(),
75
78
  network: this.network,
76
- handler: new handler_1.Handler(this.network),
79
+ handler: this.handler,
77
80
  registry: this.registry,
78
81
  heartbeat: this.heartbeat,
79
82
  dependencies: this.dependencies,
80
83
  });
81
84
  this.promises = new promises_1.Promises(network);
82
85
  this.schedules = new schedules_1.Schedules(network);
86
+ // subscribe to notify
87
+ this.network.subscribe("notify", this.onMessage.bind(this));
83
88
  }
84
89
  /**
85
90
  * Create a local Resonate instance
@@ -130,7 +135,7 @@ class Resonate {
130
135
  throw new Error(`${funcOrName} does not exist`);
131
136
  }
132
137
  const [args, opts] = util.splitArgsAndOpts(argsWithOpts, this.options());
133
- const promiseHandler = this.inner.run({
138
+ const { promise, task } = await this.createPromiseAndTask({
134
139
  kind: "createPromiseAndTask",
135
140
  promise: {
136
141
  id: id,
@@ -149,7 +154,10 @@ class Resonate {
149
154
  iKey: id,
150
155
  strict: false,
151
156
  });
152
- return this.handle(promiseHandler);
157
+ if (task) {
158
+ this.inner.process({ kind: "claimed", task: task, rootPromise: promise }, () => { });
159
+ }
160
+ return this.createHandle(promise);
153
161
  }
154
162
  async rpc(id, funcOrName, ...args) {
155
163
  return (await this.beginRpc(id, funcOrName, ...args)).result();
@@ -167,7 +175,7 @@ class Resonate {
167
175
  name = registered.name;
168
176
  }
169
177
  const [args, opts] = util.splitArgsAndOpts(argsWithOpts, this.options());
170
- const promiseHandler = this.inner.rpc({
178
+ const promise = await this.createPromise({
171
179
  kind: "createPromise",
172
180
  id: id,
173
181
  timeout: Date.now() + opts.timeout,
@@ -176,18 +184,43 @@ class Resonate {
176
184
  iKey: id,
177
185
  strict: false,
178
186
  });
179
- return this.handle(promiseHandler);
187
+ return this.createHandle(promise);
180
188
  }
181
- options(opts = {}) {
189
+ async schedule(name, cron, func, ...argsWithOpts) {
190
+ let funcName;
191
+ if (typeof func === "string") {
192
+ funcName = func;
193
+ }
194
+ else {
195
+ const registered = this.registry.get(func);
196
+ if (!registered) {
197
+ throw new Error(`${func} is not registered`);
198
+ }
199
+ funcName = registered.name;
200
+ }
201
+ const [args, opts] = util.splitArgsAndOpts(argsWithOpts, this.options());
202
+ await this.schedules.create(name, cron, "{{.id}}.{{.timestamp}}", opts.timeout, {
203
+ ikey: name,
204
+ promiseParam: { func: funcName, args },
205
+ promiseTags: { ...opts.tags, "resonate:invoke": opts.target },
206
+ });
182
207
  return {
183
- id: "",
184
- target: "poll://any@default",
185
- timeout: 24 * util.HOUR,
186
- tags: {},
187
- ...opts,
188
- [types_1.RESONATE_OPTIONS]: true,
208
+ delete: () => this.schedules.delete(name),
189
209
  };
190
210
  }
211
+ /**
212
+ * Get a promise and return a value
213
+ */
214
+ async get(id) {
215
+ const promise = await this.readPromise({
216
+ kind: "readPromise",
217
+ id: id,
218
+ });
219
+ return this.createHandle(promise);
220
+ }
221
+ options(opts = {}) {
222
+ return new options_1.Options(opts);
223
+ }
191
224
  /** Store a named dependency for use with `Context`.
192
225
  * The dependency is made available to all functions via
193
226
  * their execution `Context`.
@@ -201,39 +234,98 @@ class Resonate {
201
234
  this.network.stop();
202
235
  this.heartbeat.stop();
203
236
  }
204
- handle(promiseHandler) {
205
- // resolves with a handle
206
- const handle = Promise.withResolvers();
207
- // resolves with the result
208
- const result = Promise.withResolvers();
209
- // listen for created and resolve p1 with a handle
210
- promiseHandler.addEventListener("created", (promise) => {
211
- handle.resolve({
212
- id: promise.id,
213
- result: async () => {
214
- // subscribe lazily, no need to await
215
- promiseHandler.subscribe();
216
- return await result.promise;
217
- },
237
+ createPromiseAndTask(req) {
238
+ return new Promise((resolve, reject) => {
239
+ this.handler.createPromiseAndTask(req, (err, res) => {
240
+ if (err) {
241
+ reject(new Error(`Promise '${req.promise.id}' could not be created`));
242
+ }
243
+ else {
244
+ resolve({ promise: res.promise, task: res.task });
245
+ }
246
+ }, true);
247
+ });
248
+ }
249
+ createPromise(req) {
250
+ return new Promise((resolve, reject) => {
251
+ this.handler.createPromise(req, (err, res) => {
252
+ if (err) {
253
+ reject(new Error(`Promise '${req.id}' could not be created`));
254
+ }
255
+ else {
256
+ resolve(res);
257
+ }
258
+ }, true);
259
+ });
260
+ }
261
+ readPromise(req) {
262
+ return new Promise((resolve, reject) => {
263
+ this.handler.readPromise(req, (err, res) => {
264
+ if (err) {
265
+ reject(new Error(`Promise '${req.id}' not found`));
266
+ }
267
+ else {
268
+ resolve(res);
269
+ }
218
270
  });
219
271
  });
220
- // listen for completed and resolve p2 with the value
221
- promiseHandler.addEventListener("completed", (promise) => {
222
- util.assert(promise.state !== "pending", "promise must be completed");
223
- if (promise.state === "resolved") {
224
- result.resolve(promise.value);
225
- }
226
- else if (promise.state === "rejected") {
227
- result.reject(promise.value);
228
- }
229
- else if (promise.state === "rejected_canceled") {
230
- result.reject(new Error("Promise canceled"));
272
+ }
273
+ createHandle(promise) {
274
+ return {
275
+ id: promise.id,
276
+ result: () => new Promise((resolve, reject) => {
277
+ this.subscribe(promise, (promise) => {
278
+ util.assert(promise.state !== "pending", "promise must be completed");
279
+ if (promise.state === "resolved") {
280
+ resolve(promise.value);
281
+ }
282
+ else if (promise.state === "rejected") {
283
+ reject(promise.value);
284
+ }
285
+ else if (promise.state === "rejected_canceled") {
286
+ reject(new Error("Promise canceled"));
287
+ }
288
+ else if (promise.state === "rejected_timedout") {
289
+ reject(new Error("Promise timedout"));
290
+ }
291
+ });
292
+ }),
293
+ };
294
+ }
295
+ onMessage(msg) {
296
+ util.assert(msg.type === "notify");
297
+ if (msg.type === "notify")
298
+ this.notify(msg.promise);
299
+ }
300
+ subscribe(promise, callback) {
301
+ const subscriptions = this.subscriptions.get(promise.id) || [];
302
+ subscriptions.push(callback);
303
+ // store local subscription
304
+ this.subscriptions.set(promise.id, subscriptions);
305
+ // create remote subscription
306
+ this.handler.createSubscription({
307
+ kind: "createSubscription",
308
+ id: this.pid,
309
+ promiseId: promise.id,
310
+ timeout: promise.timeout + 1 * util.MIN, // add a buffer
311
+ recv: this.unicast,
312
+ }, (err, res) => {
313
+ if (err) {
314
+ // TODO
231
315
  }
232
- else if (promise.state === "rejected_timedout") {
233
- result.reject(new Error("Promise timedout"));
316
+ else if (res.state !== "pending") {
317
+ this.notify(res);
234
318
  }
235
- });
236
- return handle.promise;
319
+ }, true);
320
+ }
321
+ notify(promise) {
322
+ util.assert(promise.state !== "pending", "promise must be completed");
323
+ // notify subscribers
324
+ for (const callback of this.subscriptions.get(promise.id) ?? []) {
325
+ callback(promise);
326
+ }
327
+ // remove subscriptions
328
+ this.subscriptions.delete(promise.id);
237
329
  }
238
330
  }
239
331
  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,7 +3,13 @@ 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?: string | undefined, description?: string | undefined, tags?: Record<string, string> | undefined, promiseParam?: any | undefined, promiseTags?: Record<string, string> | undefined): Promise<ScheduleRecord>;
6
+ create(id: string, cron: string, promiseId: string, promiseTimeout: number, { ikey, description, tags, promiseParam, promiseTags, }?: {
7
+ ikey?: string;
8
+ description?: string;
9
+ tags?: Record<string, string>;
10
+ promiseParam?: any;
11
+ promiseTags?: Record<string, string>;
12
+ }): Promise<ScheduleRecord>;
7
13
  delete(id: string): Promise<void>;
8
14
  }
9
15
  //# sourceMappingURL=schedules.d.ts.map
@@ -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,IAAI,GAAE,MAAM,GAAG,SAAqB,EACpC,WAAW,GAAE,MAAM,GAAG,SAAqB,EAC3C,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAqB,EACpD,YAAY,GAAE,GAAG,GAAG,SAAqB,EACzC,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAqB,GAC1D,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,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"}
@@ -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, promiseParam = undefined, promiseTags = undefined, } = {}) {
26
26
  return new Promise((resolve, reject) => {
27
27
  this.network.send({
28
28
  kind: "createSchedule",
@@ -34,7 +34,7 @@ class Schedules {
34
34
  promiseTimeout: promiseTimeout,
35
35
  promiseParam: promiseParam,
36
36
  promiseTags: promiseTags,
37
- iKey: iKey,
37
+ iKey: ikey,
38
38
  }, (err, res) => {
39
39
  if (err) {
40
40
  // TODO: reject with more information
@@ -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,OAA2B,SAAS,EACpC,cAAkC,SAAS,EAC3C,OAA2C,SAAS,EACpD,eAAgC,SAAS,EACzC,cAAkD,SAAS;QAE3D,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;AApFD,8BAoFC"}
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"}
@@ -2,8 +2,8 @@ import type { ClaimTaskRes, Network, TaskRecord } from "./network/network";
2
2
  export declare class Tasks {
3
3
  private network;
4
4
  constructor(network?: Network);
5
- claim(id: string, counter: number, processId: string, ttl: number): Promise<ClaimTaskRes["message"]>;
5
+ claim(id: string, counter: number, pid: string, ttl: number): Promise<ClaimTaskRes["message"]>;
6
6
  complete(id: string, counter: number): Promise<TaskRecord>;
7
- heartbeat(processId: string): Promise<number>;
7
+ heartbeat(pid: string): Promise<number>;
8
8
  }
9
9
  //# sourceMappingURL=tasks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tasks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE3E,qBAAa,KAAK;IAChB,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,GAAE,OAA4B;IAIjD,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAuBpG,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAqB1D,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAmB9C"}
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tasks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE3E,qBAAa,KAAK;IAChB,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,GAAE,OAA4B;IAIjD,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAuB9F,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAqB1D,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAmBxC"}
package/dist/src/tasks.js CHANGED
@@ -7,13 +7,13 @@ class Tasks {
7
7
  constructor(network = new network_1.LocalNetwork()) {
8
8
  this.network = network;
9
9
  }
10
- claim(id, counter, processId, ttl) {
10
+ claim(id, counter, pid, ttl) {
11
11
  return new Promise((resolve, reject) => {
12
12
  this.network.send({
13
13
  kind: "claimTask",
14
14
  id: id,
15
15
  counter: counter,
16
- processId: processId,
16
+ processId: pid,
17
17
  ttl: ttl,
18
18
  }, (err, res) => {
19
19
  if (err) {
@@ -41,11 +41,11 @@ class Tasks {
41
41
  });
42
42
  });
43
43
  }
44
- heartbeat(processId) {
44
+ heartbeat(pid) {
45
45
  return new Promise((resolve, reject) => {
46
46
  this.network.send({
47
47
  kind: "heartbeatTasks",
48
- processId: processId,
48
+ processId: pid,
49
49
  }, (err, res) => {
50
50
  if (err) {
51
51
  // TODO: reject with more information
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tasks.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAG9C,MAAa,KAAK;IACR,OAAO,CAAU;IAEzB,YAAY,UAAmB,IAAI,sBAAY,EAAE;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,EAAU,EAAE,OAAe,EAAE,SAAiB,EAAE,GAAW;QAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,EAAE;gBACN,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,SAAS;gBACpB,GAAG,EAAE,GAAG;aACT,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,OAAO,CAAC,CAAC;YACxB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,EAAU,EAAE,OAAe;QAClC,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;gBACN,OAAO,EAAE,OAAO;aACjB,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,IAAI,CAAC,CAAC;YACrB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,SAAiB;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,SAAS;aACrB,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,aAAa,CAAC,CAAC;YAC9B,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAtED,sBAsEC"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tasks.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAG9C,MAAa,KAAK;IACR,OAAO,CAAU;IAEzB,YAAY,UAAmB,IAAI,sBAAY,EAAE;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,EAAU,EAAE,OAAe,EAAE,GAAW,EAAE,GAAW;QACzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,EAAE;gBACN,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,GAAG;gBACd,GAAG,EAAE,GAAG;aACT,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,OAAO,CAAC,CAAC;YACxB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,EAAU,EAAE,OAAe;QAClC,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;gBACN,OAAO,EAAE,OAAO;aACjB,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,IAAI,CAAC,CAAC;YACrB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CACf;gBACE,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,GAAG;aACf,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,aAAa,CAAC,CAAC;YAC9B,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAtED,sBAsEC"}
@@ -1,31 +1,9 @@
1
- import type { Context } from "./context";
2
- import type { CreatePromiseReq, DurablePromiseRecord, TaskRecord } from "./network/network";
1
+ import type { Context, Future, LFC, LFI, RFC, RFI } from "./context";
2
+ import type { Options } from "./options";
3
3
  export type Func = (ctx: Context, ...args: any[]) => any;
4
- export declare const RESONATE_OPTIONS: unique symbol;
5
4
  export type Params<F> = F extends (ctx: Context, ...args: infer P) => any ? P : never;
6
- export type ParamsWithOptions<F> = [...Params<F>, (Partial<Options> & {
7
- [RESONATE_OPTIONS]: true;
8
- })?];
9
- export type Options = {
10
- id: string;
11
- target: string;
12
- tags: Record<string, string>;
13
- timeout: number;
14
- };
15
- export type Callback<T> = {
16
- (err: false, res: T): void;
17
- (err: true, res?: undefined): void;
18
- };
19
- export type Task = ClaimedTask | UnclaimedTask;
20
- export type ClaimedTask = {
21
- kind: "claimed";
22
- task: TaskRecord;
23
- rootPromise: DurablePromiseRecord;
24
- };
25
- export type UnclaimedTask = {
26
- kind: "unclaimed";
27
- task: TaskRecord;
28
- };
5
+ export type ParamsWithOptions<F> = [...Params<F>, Options?];
6
+ export type Yieldable<T = any> = LFI<T> | LFC<T> | RFI<T> | RFC<T> | Future<T>;
29
7
  export type Return<T> = T extends (...args: any[]) => Generator<infer __, infer R, infer _> ? R : T extends (...args: any[]) => infer R ? Awaited<R> : never;
30
8
  export type Result<T> = Ok<T> | Ko;
31
9
  type Ok<T> = {
@@ -36,51 +14,11 @@ type Ko = {
36
14
  success: false;
37
15
  error: any;
38
16
  };
39
- export type InternalExpr<T> = InternalAsyncL | InternalAsyncR | InternalAwait<T> | InternalReturn<T>;
40
- export type InternalAsyncR = {
41
- type: "internal.async.r";
42
- id: string;
43
- mode: "attached" | "detached";
44
- createReq: CreatePromiseReq;
45
- };
46
- export type InternalAsyncL = {
47
- type: "internal.async.l";
48
- id: string;
49
- func: Func;
50
- args: any[];
51
- createReq: CreatePromiseReq;
52
- };
53
- export type InternalAwait<T> = {
54
- type: "internal.await";
55
- id: string;
56
- promise: Promise<T>;
57
- };
58
- export type InternalReturn<T> = {
59
- type: "internal.return";
60
- value: Literal<T>;
61
- };
62
- export type Value<T> = Nothing | Literal<T> | Promise<T>;
63
- export type Nothing = {
64
- type: "internal.nothing";
65
- };
66
- export type Promise<T> = PromisePending | PromiseCompleted<T>;
67
- export type PromisePending = {
68
- type: "internal.promise";
69
- state: "pending";
70
- mode: "attached" | "detached";
71
- id: string;
72
- };
73
- export type PromiseCompleted<T> = {
74
- type: "internal.promise";
75
- state: "completed";
76
- id: string;
77
- value: Literal<T>;
78
- };
79
- export type Literal<T> = {
80
- type: "internal.literal";
81
- value: Result<T>;
82
- };
83
- export declare function ok<T>(data: T): Result<T>;
17
+ export declare function ok<T>(value: T): Result<T>;
84
18
  export declare function ko(error: any): Result<any>;
19
+ export type Callback<T> = {
20
+ (err: false, res: T): void;
21
+ (err: true, res?: undefined): void;
22
+ };
85
23
  export {};
86
24
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
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"}