@resonatehq/sdk 0.6.0 → 0.6.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.
@@ -33,5 +33,5 @@ export declare function retryIterator<T extends {
33
33
  attempt: number;
34
34
  timeout: number;
35
35
  }>(ctx: T): IterableIterator<number>;
36
- export declare function runWithRetry<T>(func: () => Promise<T>, retryPolicy: RetryPolicy, timeout: number): Promise<T>;
36
+ export declare function runWithRetry<T>(func: () => Promise<T>, onRetry: () => Promise<void>, retryPolicy: RetryPolicy, timeout: number): Promise<T>;
37
37
  //# sourceMappingURL=retry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../lib/core/retry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAqClE;AACD,wBAAgB,WAAW,CACzB,cAAc,GAAE,MAAY,EAC5B,aAAa,GAAE,MAAU,EACzB,WAAW,GAAE,MAAiB,EAC9B,UAAU,GAAE,MAAc,GACzB,WAAW,CAQb;AAED,wBAAgB,MAAM,CAAC,OAAO,GAAE,MAAa,EAAE,WAAW,GAAE,MAAiB,GAAG,MAAM,CAMrF;AAED,wBAAgB,KAAK,IAAI,KAAK,CAE7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,WAAW,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACpG,GAAG,EAAE,CAAC,GACL,gBAAgB,CAAC,MAAM,CAAC,CA8B1B;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAqBtG"}
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../lib/core/retry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAqClE;AACD,wBAAgB,WAAW,CACzB,cAAc,GAAE,MAAY,EAC5B,aAAa,GAAE,MAAU,EACzB,WAAW,GAAE,MAAiB,EAC9B,UAAU,GAAE,MAAc,GACzB,WAAW,CAQb;AAED,wBAAgB,MAAM,CAAC,OAAO,GAAE,MAAa,EAAE,WAAW,GAAE,MAAiB,GAAG,MAAM,CAMrF;AAED,wBAAgB,KAAK,IAAI,KAAK,CAE7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,WAAW,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACpG,GAAG,EAAE,CAAC,GACL,gBAAgB,CAAC,MAAM,CAAC,CA8B1B;AAED,wBAAsB,YAAY,CAAC,CAAC,EAClC,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,cAwBhB"}
@@ -91,12 +91,15 @@ function retryIterator(ctx) {
91
91
  };
92
92
  }
93
93
  exports.retryIterator = retryIterator;
94
- async function runWithRetry(func, retryPolicy, timeout) {
94
+ async function runWithRetry(func, onRetry, retryPolicy, timeout) {
95
95
  let error;
96
96
  const ctx = { attempt: 0, retryPolicy, timeout };
97
97
  // invoke the function according to the retry policy
98
98
  for (const delay of retryIterator(ctx)) {
99
99
  await new Promise((resolve) => setTimeout(resolve, delay));
100
+ if (ctx.attempt > 0) {
101
+ await onRetry();
102
+ }
100
103
  try {
101
104
  return await func();
102
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../lib/core/retry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../lib/core/retry.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { ILogger } from "./core/logger";
2
2
  import { PartialOptions, Options, InvocationOverrides, ResonateOptions } from "./core/options";
3
3
  import * as durablePromises from "./core/promises/promises";
4
4
  import * as schedules from "./core/schedules/schedules";
5
- import { IStore } from "./core/store";
5
+ import { ILockStore, IPromiseStore, IStore } from "./core/store";
6
6
  type InvocationData = {
7
7
  id: string;
8
8
  eid: string;
@@ -23,8 +23,9 @@ export declare class Resonate {
23
23
  logger, pid, pollFrequency, // 5s
24
24
  retryPolicy, store, tags, timeout, // 10s
25
25
  url, }?: Partial<ResonateOptions>);
26
- get promisesStore(): import("./core/store").IPromiseStore;
27
- get locksStore(): import("./core/store").ILockStore;
26
+ get promisesStore(): IPromiseStore;
27
+ get locksStore(): ILockStore;
28
+ options(opts: Partial<Options>): PartialOptions;
28
29
  registeredFunction(funcName: string, version: number): {
29
30
  func: Func;
30
31
  opts: Options;
@@ -75,11 +76,56 @@ export declare class Context {
75
76
  private constructor();
76
77
  static createRootContext(resonate: Resonate, invocationData: InvocationData): Context;
77
78
  static createChildrenContext(parentCtx: Context, invocationData: InvocationData): Context;
78
- reset(): void;
79
+ onRetry(): Promise<void>;
79
80
  finalize(): Promise<void>;
80
81
  abort(cause: any): void;
81
82
  get aborted(): boolean;
82
83
  get abortCause(): any;
84
+ /**
85
+ * Adds a finalizer function to be executed at the end of the current context.
86
+ * Finalizers are run in reverse order of their definition (last-in, first-out).
87
+ *
88
+ * @param fn - An asynchronous function to be executed as a finalizer.
89
+ * It should return a Promise that resolves to void.
90
+ *
91
+ * @remarks
92
+ * Finalizer functions must be non fallible.
93
+ */
94
+ addFinalizer(fn: () => Promise<void>): void;
95
+ /**
96
+ * Sets a named resource for the current context and optionally adds a finalizer.
97
+ *
98
+ * @param name - A unique string identifier for the resource.
99
+ * @param resource - The resource to be stored. Can be of any type.
100
+ * @param finalizer - Optional. An asynchronous function to be executed when the context ends.
101
+ * Finalizers are run in reverse order of their addition to the context and
102
+ * must not fail.
103
+ * @throws {Error} Throws an error if a resource with the same name already exists in the current context.
104
+ *
105
+ * This method associates a resource with a unique name in the current context.
106
+ * If a finalizer is provided, it will be executed when the context ends.
107
+ * Finalizers are useful for cleanup operations, such as closing connections or freeing resources.
108
+ */
109
+ setResource(name: string, resource: any, finalizer?: () => Promise<void>): void;
110
+ /**
111
+ * Retrieves a resource by name from the current context or its parent contexts.
112
+ *
113
+ * @template R - The expected type of the resource.
114
+ * @param name - The unique string identifier of the resource to retrieve.
115
+ * @returns The resource of type R if found, or undefined if not found.
116
+ *
117
+ * This method searches for a resource in the following order:
118
+ * 1. In the current context.
119
+ * 2. If not found, it recursively searches in parent contexts.
120
+ * 3. Returns undefined if the resource is not found in any context.
121
+ *
122
+ * @remarks
123
+ * The method uses type assertion to cast the resource to type R.
124
+ * Ensure that the type parameter R matches the actual type of the stored resource
125
+ * to avoid runtime type errors.
126
+ */
127
+ getResource<R>(name: string): R | undefined;
128
+ options(opts: Partial<Options>): PartialOptions;
83
129
  /**
84
130
  * Invoke a remote function.
85
131
  *
@@ -252,9 +298,9 @@ export interface ResonateSchedules {
252
298
  search(id: string, tags: Record<string, string> | undefined, limit?: number): AsyncGenerator<schedules.Schedule[], void>;
253
299
  }
254
300
  export declare class InvocationHandle<R> {
255
- readonly resultPromise: Promise<R>;
256
301
  readonly invocationId: string;
257
- constructor(resultPromise: Promise<R>, invocationId: string);
302
+ readonly resultPromise: Promise<R>;
303
+ constructor(invocationId: string, resultPromise: Promise<R>);
258
304
  /**
259
305
  * get the current state of the resultPromise.
260
306
  *
@@ -1 +1 @@
1
- {"version":3,"file":"resonate.d.ts","sourceRoot":"","sources":["../lib/resonate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resonate.d.ts","sourceRoot":"","sources":["../lib/resonate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAW,MAAM,gBAAgB,CAAC;AACxG,OAAO,KAAK,eAAe,MAAM,0BAA0B,CAAC;AAI5D,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAUjE,KAAK,cAAc,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAGzD,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAGlF,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAInF,qBAAa,QAAQ;;IAInB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;gBAE1B,EACV,IAAgB,EAChB,OAA2B,EAC3B,SAAiB,EAAE,MAAM;IACzB,MAAqB,EACrB,GAAsB,EACtB,aAAoB,EAAE,KAAK;IAC3B,WAAyC,EACzC,KAAiB,EACjB,IAAS,EACT,OAAe,EAAE,MAAM;IACvB,GAAe,GAChB,GAAE,OAAO,CAAC,eAAe,CAAM;IAwEhC,IAAI,aAAa,kBAEhB;IAED,IAAI,UAAU,eAEb;IAED,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,cAAc;IAI/C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE;IAQpF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,OAAO,CAAC,OAAO,CAAM,GAAG,IAAI;IA+BrE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAE,OAAO,CAAC,OAAO,CAAM;IAMxE;;;;;OAKG;IACG,KAAK,CAAC,KAAK,GAAE,MAAa;IAMhC;;OAEG;IACG,IAAI;IAiDJ,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC,GAAG,GAAG,EAAE,mBAAmB,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKlG,WAAW,CAAC,CAAC,EACjB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,GAAG,iBAAiB,EAAE,CAAC,GAAG,GAAG,EAAE,mBAAmB,CAAC,CAAC,GACnD,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAsE/B;;;;;;;;OAQG;IACG,QAAQ,CAAC,CAAC,SAAS,IAAI,EAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EACP,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GACvC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;IAE9B;;;;;;;;OAQG;IACG,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,CAAC,GACjC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;IAoC9B,eAAe,CAAC,SAAS,GAAE,OAAO,CAAC,OAAO,CAAM,GAAG,OAAO;CAS3D;AAED,qBAAa,OAAO;;IAQlB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;IAEd,OAAO;IAYP,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO;IAIrF,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO;IAInF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,QAAQ;IAed,KAAK,CAAC,KAAK,EAAE,GAAG;IAOhB,IAAI,OAAO,YAEV;IAED,IAAI,UAAU,QAEb;IAED;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAIpC;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAW/E;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAS3C,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,cAAc;IAI/C;;;;;;;;OAQG;IACG,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAE1E;;;;;;;OAOG;IACG,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAelG,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAqEzG,WAAW,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EACjC,IAAI,EAAE,CAAC,EACP,GAAG,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAC/C,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAuE/B;;;;;;OAMG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtC;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,EACnC,MAAM,EAAE,CAAC,EACT,IAAI,GAAE,OAAO,CAAC,OAAO,CAAM,GAC1B,OAAO,CAAC;QAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC;IAevD;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,GAAE,OAAO,CAAC,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAepH;;;;;;;OAOG;IACH,IAAI,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,GAAE,OAAO,CAAC,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAe5G;;;;;;;OAOG;IACH,UAAU,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,EAC1C,MAAM,EAAE,CAAC,EACT,IAAI,GAAE,OAAO,CAAC,OAAO,CAAM,GAC1B,OAAO,CAAC;QAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC;IAe7E;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,CAAC,EACd,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,GAAG,iBAAiB,EAAE,CAAC,GAAG,GAAG,EAAE,mBAAmB,CAAC,CAAC,GACnD,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAGhC;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;OAQG;IACH,MAAM,CAAC,CAAC,EACN,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,GAC5C,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9C;;;;;;;;OAQG;IACH,OAAO,CAAC,CAAC,EACP,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,CAAC,EACR,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,GAC9C,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9C;;;;;;;;OAQG;IACH,MAAM,CAAC,CAAC,EACN,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,GAAG,EACV,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,GAC9C,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9C;;;;;;;;OAQG;IACH,MAAM,CAAC,CAAC,EACN,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,GAAG,EACV,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,GAC9C,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9C;;;;;;OAMG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/D;;;;;;;;OAQG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,KAAK,CAAC,EAAE,MAAM,GACb,cAAc,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;OASG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,GAChC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE/B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE7C;;;;;;;OAOG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,KAAK,CAAC,EAAE,MAAM,GACb,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;CAC/C;AAED,qBAAa,gBAAgB,CAAC,CAAC;IAE3B,QAAQ,CAAC,YAAY,EAAE,MAAM;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;gBADzB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAGpC;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAIrD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;CAG3B"}
package/dist/resonate.js CHANGED
@@ -36,6 +36,7 @@ const local_1 = require("./core/stores/local");
36
36
  const remote_1 = require("./core/stores/remote");
37
37
  const utils = __importStar(require("./core/utils"));
38
38
  const utils_1 = require("./core/utils");
39
+ //////////////////////////////////////////////////////////////////////
39
40
  class Resonate {
40
41
  #registeredFunctions = {};
41
42
  #invocationHandles;
@@ -105,6 +106,9 @@ class Resonate {
105
106
  get locksStore() {
106
107
  return this.store.locks;
107
108
  }
109
+ options(opts) {
110
+ return (0, options_1.options)(opts);
111
+ }
108
112
  registeredFunction(funcName, version) {
109
113
  if (!this.#registeredFunctions[funcName]?.[version]) {
110
114
  throw new Error(`Function ${funcName} version ${version} not registered`);
@@ -230,113 +234,9 @@ class Resonate {
230
234
  };
231
235
  const idempotencyKey = opts.idempotencyKeyFn(id);
232
236
  const storedPromise = await this.promisesStore.create(id, idempotencyKey, false, undefined, opts.encoder.encode(param), Date.now() + opts.timeout, opts.tags);
233
- const runFunc = async () => {
234
- const eid = opts.eidFn(id);
235
- let value;
236
- // If the promise that comes back from the server is already completed, resolve or reject right away.
237
- switch (storedPromise.state) {
238
- case "RESOLVED":
239
- return opts.encoder.decode(storedPromise.value.data);
240
- case "REJECTED":
241
- throw opts.encoder.decode(storedPromise.value.data);
242
- case "REJECTED_CANCELED":
243
- throw new errors_1.ResonateError("Resonate function canceled", errors_1.ErrorCodes.CANCELED, opts.encoder.decode(storedPromise.value.data));
244
- case "REJECTED_TIMEDOUT":
245
- throw new errors_1.ResonateError(`Resonate function timedout at ${new Date(storedPromise.timeout).toISOString()}`, errors_1.ErrorCodes.TIMEDOUT);
246
- }
247
- // storedPromise.state === "PENDING"
248
- try {
249
- // Acquire the lock if necessary
250
- if (opts.shouldLock) {
251
- const acquireLock = async () => {
252
- try {
253
- return await this.store.locks.tryAcquire(id, eid);
254
- }
255
- catch (e) {
256
- // if lock is already acquired, return false so we can poll
257
- if (e instanceof errors_1.ResonateError && e.code === errors_1.ErrorCodes.STORE_FORBIDDEN) {
258
- return false;
259
- }
260
- throw e;
261
- }
262
- };
263
- while (!(await acquireLock())) {
264
- await (0, utils_1.sleep)(opts.pollFrequency);
265
- }
266
- }
267
- let error;
268
- const ctx = Context.createRootContext(this, { id, eid, name, opts });
269
- // we need to hold on to a boolean to determine if the function was successful,
270
- // we cannot rely on the value or error as these values could be undefined
271
- let success = true;
272
- try {
273
- value = await (0, retry_1.runWithRetry)(async () => {
274
- ctx.reset();
275
- return await func(ctx, ...args);
276
- }, opts.retryPolicy, storedPromise.timeout);
277
- }
278
- catch (e) {
279
- if (ctx.aborted) {
280
- throw e;
281
- }
282
- // We need to capture the error to be able to reject the durable promise
283
- // after that we will then propagate this error by rejecting the result promise
284
- error = e;
285
- success = false;
286
- }
287
- finally {
288
- await ctx.finalize();
289
- }
290
- let completedPromiseRecord;
291
- if (success) {
292
- completedPromiseRecord = await this.promisesStore.resolve(id, idempotencyKey, false, storedPromise.value.headers, opts.encoder.encode(value));
293
- }
294
- else {
295
- completedPromiseRecord = await this.promisesStore.reject(id, idempotencyKey, false, storedPromise.value.headers, opts.encoder.encode(error));
296
- }
297
- // Because of eventual consistency and recovery paths it is possible that we get a
298
- // rejected promise even if we did call `resolve` on it or the other way around.
299
- // What should never happen is that we get a "PENDING" promise
300
- switch (completedPromiseRecord.state) {
301
- case "RESOLVED":
302
- return value;
303
- case "REJECTED":
304
- throw error;
305
- case "REJECTED_CANCELED":
306
- throw new errors_1.ResonateError("Resonate function canceled", errors_1.ErrorCodes.CANCELED, error);
307
- case "REJECTED_TIMEDOUT":
308
- throw new errors_1.ResonateError(`Resonate function timedout at ${new Date(completedPromiseRecord.timeout).toISOString()}`, errors_1.ErrorCodes.TIMEDOUT);
309
- case "PENDING":
310
- throw new Error("Unreachable");
311
- }
312
- }
313
- catch (err) {
314
- if (err instanceof errors_1.ResonateError && (err.code === errors_1.ErrorCodes.CANCELED || err.code === errors_1.ErrorCodes.TIMEDOUT)) {
315
- // Cancel and timeout errors just forward them
316
- throw err;
317
- }
318
- else if (err instanceof errors_1.ResonateError && err.code !== errors_1.ErrorCodes.ABORT) {
319
- // All other resonate errors we wrap them in an abort.
320
- throw new errors_1.ResonateError("Unrecoverable Error: Aborting", errors_1.ErrorCodes.ABORT, err);
321
- }
322
- else {
323
- // - The error was already an abort error, for example, the unrecoverable error happened in one
324
- // of the children invocations
325
- // - Error in the user function.
326
- // Either way, just forward it.
327
- throw err;
328
- }
329
- }
330
- finally {
331
- // release lock if necessary
332
- if (opts.shouldLock) {
333
- await this.locksStore.release(id, eid);
334
- }
335
- }
336
- return value;
337
- };
338
- const resultPromise = runFunc();
339
- const handle = new InvocationHandle(resultPromise, id);
237
+ const ctx = Context.createRootContext(this, { id, name, opts, eid: opts.eidFn(id) });
238
+ const resultPromise = _runFunc(func, ctx, args, idempotencyKey, storedPromise, this.store.locks, this.store.promises);
239
+ const handle = new InvocationHandle(id, resultPromise);
340
240
  this.#invocationHandles.set(id, handle);
341
241
  return handle;
342
242
  }
@@ -381,6 +281,8 @@ class Context {
381
281
  #invocationHandles;
382
282
  #aborted;
383
283
  #abortCause;
284
+ #resources;
285
+ #finalizers;
384
286
  childrenCount;
385
287
  invocationData;
386
288
  parent;
@@ -388,6 +290,8 @@ class Context {
388
290
  constructor(resonate, invocationData, parent) {
389
291
  this.#resonate = resonate;
390
292
  this.#invocationHandles = new Map();
293
+ this.#resources = new Map();
294
+ this.#finalizers = [];
391
295
  this.#aborted = false;
392
296
  this.parent = parent;
393
297
  this.root = !parent ? this : parent.root;
@@ -400,13 +304,25 @@ class Context {
400
304
  static createChildrenContext(parentCtx, invocationData) {
401
305
  return new Context(parentCtx.#resonate, invocationData, parentCtx);
402
306
  }
403
- reset() {
307
+ async onRetry() {
404
308
  this.childrenCount = 0;
309
+ await this.finalize();
405
310
  }
406
311
  async finalize() {
312
+ // It is important to await all promises before finalizing the resources
313
+ // doing it the other way around could cause problems
407
314
  await Promise.allSettled(Array.from(this.#invocationHandles, ([_, handle]) => handle.result()));
315
+ // We need to run the finalizers in reverse insertion order since later set finalizers might have
316
+ // a dependency in early set resources
317
+ for (const finalizer of this.#finalizers.reverse()) {
318
+ await finalizer();
319
+ }
320
+ this.#resources.clear();
321
+ this.#finalizers = [];
408
322
  }
409
323
  abort(cause) {
324
+ this.#aborted = true;
325
+ this.#abortCause = cause;
410
326
  this.root.#aborted = true;
411
327
  this.root.#abortCause = cause;
412
328
  }
@@ -416,6 +332,69 @@ class Context {
416
332
  get abortCause() {
417
333
  return this.#abortCause;
418
334
  }
335
+ /**
336
+ * Adds a finalizer function to be executed at the end of the current context.
337
+ * Finalizers are run in reverse order of their definition (last-in, first-out).
338
+ *
339
+ * @param fn - An asynchronous function to be executed as a finalizer.
340
+ * It should return a Promise that resolves to void.
341
+ *
342
+ * @remarks
343
+ * Finalizer functions must be non fallible.
344
+ */
345
+ addFinalizer(fn) {
346
+ this.#finalizers.push(fn);
347
+ }
348
+ /**
349
+ * Sets a named resource for the current context and optionally adds a finalizer.
350
+ *
351
+ * @param name - A unique string identifier for the resource.
352
+ * @param resource - The resource to be stored. Can be of any type.
353
+ * @param finalizer - Optional. An asynchronous function to be executed when the context ends.
354
+ * Finalizers are run in reverse order of their addition to the context and
355
+ * must not fail.
356
+ * @throws {Error} Throws an error if a resource with the same name already exists in the current context.
357
+ *
358
+ * This method associates a resource with a unique name in the current context.
359
+ * If a finalizer is provided, it will be executed when the context ends.
360
+ * Finalizers are useful for cleanup operations, such as closing connections or freeing resources.
361
+ */
362
+ setResource(name, resource, finalizer) {
363
+ if (this.#resources.has(name)) {
364
+ throw new Error("Resource already set for this context");
365
+ }
366
+ this.#resources.set(name, resource);
367
+ if (finalizer) {
368
+ this.#finalizers.push(finalizer);
369
+ }
370
+ }
371
+ /**
372
+ * Retrieves a resource by name from the current context or its parent contexts.
373
+ *
374
+ * @template R - The expected type of the resource.
375
+ * @param name - The unique string identifier of the resource to retrieve.
376
+ * @returns The resource of type R if found, or undefined if not found.
377
+ *
378
+ * This method searches for a resource in the following order:
379
+ * 1. In the current context.
380
+ * 2. If not found, it recursively searches in parent contexts.
381
+ * 3. Returns undefined if the resource is not found in any context.
382
+ *
383
+ * @remarks
384
+ * The method uses type assertion to cast the resource to type R.
385
+ * Ensure that the type parameter R matches the actual type of the stored resource
386
+ * to avoid runtime type errors.
387
+ */
388
+ getResource(name) {
389
+ const resource = this.#resources.get(name);
390
+ if (resource) {
391
+ return resource;
392
+ }
393
+ return this.parent ? this.parent.getResource(name) : undefined;
394
+ }
395
+ options(opts) {
396
+ return (0, options_1.options)(opts);
397
+ }
419
398
  async run(funcOrId, ...argsWithOpts) {
420
399
  let handle;
421
400
  if (typeof funcOrId === "string") {
@@ -462,7 +441,7 @@ class Context {
462
441
  throw new Error(`Polling of remote invocation with ${funcId} was stopped`);
463
442
  };
464
443
  const resultPromise = runFunc();
465
- const invocationHandle = new InvocationHandle(resultPromise, funcId);
444
+ const invocationHandle = new InvocationHandle(funcId, resultPromise);
466
445
  this.#invocationHandles.set(funcId, invocationHandle);
467
446
  return invocationHandle;
468
447
  }
@@ -481,18 +460,14 @@ class Context {
481
460
  if (this.#invocationHandles.has(id)) {
482
461
  return this.#invocationHandles.get(id);
483
462
  }
463
+ const ctx = Context.createChildrenContext(this, { name, id, eid: opts.eidFn(id), opts });
484
464
  if (!opts.durable) {
485
- const eid = opts.eidFn(id);
486
465
  const runFunc = async () => {
487
- const ctx = Context.createChildrenContext(this, { name, id, eid, opts });
488
466
  const timeout = Date.now() + opts.timeout;
489
- return (await (0, retry_1.runWithRetry)(async () => {
490
- ctx.reset();
491
- return await func(ctx, ...args);
492
- }, opts.retryPolicy, timeout));
467
+ return (await (0, retry_1.runWithRetry)(async () => await func(ctx, ...args), async () => await ctx.onRetry(), opts.retryPolicy, timeout));
493
468
  };
494
469
  const resultPromise = runFunc();
495
- const handle = new InvocationHandle(resultPromise, id);
470
+ const handle = new InvocationHandle(id, resultPromise);
496
471
  this.#invocationHandles.set(id, handle);
497
472
  return handle;
498
473
  }
@@ -500,112 +475,8 @@ class Context {
500
475
  const param = {};
501
476
  const idempotencyKey = opts.idempotencyKeyFn(id);
502
477
  const storedPromise = await this.#resonate.promisesStore.create(id, idempotencyKey, false, undefined, opts.encoder.encode(param), Date.now() + opts.timeout, opts.tags);
503
- const runFunc = async () => {
504
- const eid = opts.eidFn(id);
505
- let value;
506
- // If the promise that comes back from the server is already completed, resolve or reject right away.
507
- switch (storedPromise.state) {
508
- case "RESOLVED":
509
- return opts.encoder.decode(storedPromise.value.data);
510
- case "REJECTED":
511
- throw opts.encoder.decode(storedPromise.value.data);
512
- case "REJECTED_CANCELED":
513
- throw new errors_1.ResonateError("Resonate function canceled", errors_1.ErrorCodes.CANCELED, opts.encoder.decode(storedPromise.value.data));
514
- case "REJECTED_TIMEDOUT":
515
- throw new errors_1.ResonateError(`Resonate function timedout at ${new Date(storedPromise.timeout).toISOString()}`, errors_1.ErrorCodes.TIMEDOUT);
516
- }
517
- // storedPromise.state === "PENDING"
518
- try {
519
- // Acquire the lock if necessary
520
- if (opts.shouldLock) {
521
- const acquireLock = async () => {
522
- try {
523
- return await this.#resonate.locksStore.tryAcquire(id, eid);
524
- }
525
- catch (e) {
526
- // if lock is already acquired, return false so we can poll
527
- if (e instanceof errors_1.ResonateError && e.code === errors_1.ErrorCodes.STORE_FORBIDDEN) {
528
- return false;
529
- }
530
- throw e;
531
- }
532
- };
533
- while (!(await acquireLock())) {
534
- await (0, utils_1.sleep)(opts.pollFrequency);
535
- }
536
- }
537
- let error;
538
- const ctx = Context.createChildrenContext(this, { id, eid, name, opts });
539
- // we need to hold on to a boolean to determine if the function was successful,
540
- // we cannot rely on the value or error as these values could be undefined
541
- let success = true;
542
- try {
543
- value = await (0, retry_1.runWithRetry)(async () => {
544
- ctx.reset();
545
- return await func(ctx, ...args);
546
- }, opts.retryPolicy, storedPromise.timeout);
547
- }
548
- catch (e) {
549
- // We need to capture the error to be able to reject the durable promise,
550
- // after that we will then propagate this error by rejecting the result promise
551
- error = e;
552
- success = false;
553
- }
554
- finally {
555
- // Resonate will implicitly await all the invocationHandles as the last
556
- // thing it does with the context before it goes out of scope
557
- await ctx.finalize();
558
- }
559
- if (this.root.aborted) {
560
- throw new errors_1.ResonateError("Unrecoverable Error: Aborting", errors_1.ErrorCodes.ABORT, this.root.abortCause);
561
- }
562
- let completedPromiseRecord;
563
- if (success) {
564
- completedPromiseRecord = await this.#resonate.promisesStore.resolve(id, idempotencyKey, false, storedPromise.value.headers, opts.encoder.encode(value));
565
- }
566
- else {
567
- completedPromiseRecord = await this.#resonate.promisesStore.reject(id, idempotencyKey, false, storedPromise.value.headers, opts.encoder.encode(error));
568
- }
569
- // Because of eventual consistency and recovery paths it is possible that we get a
570
- // rejected promise even if we did call `resolve` on it or the other way around.
571
- // What should never happen is that we get a "PENDING" promise
572
- switch (completedPromiseRecord.state) {
573
- case "RESOLVED":
574
- return value;
575
- case "REJECTED":
576
- throw error;
577
- case "REJECTED_CANCELED":
578
- throw new errors_1.ResonateError("Resonate function canceled", errors_1.ErrorCodes.CANCELED, error);
579
- case "REJECTED_TIMEDOUT":
580
- throw new errors_1.ResonateError(`Resonate function timedout at ${new Date(completedPromiseRecord.timeout).toISOString()}`, errors_1.ErrorCodes.TIMEDOUT);
581
- case "PENDING":
582
- throw new Error("Unreachable");
583
- }
584
- }
585
- catch (err) {
586
- if (err instanceof errors_1.ResonateError && (err.code === errors_1.ErrorCodes.CANCELED || err.code === errors_1.ErrorCodes.TIMEDOUT)) {
587
- // Cancel and timeout errors, just forward them
588
- throw err;
589
- }
590
- else if (err instanceof errors_1.ResonateError && err.code !== errors_1.ErrorCodes.ABORT) {
591
- // Any other instance of ResonateError we must abort the current execution.
592
- this.abort(err);
593
- throw new errors_1.ResonateError("Unrecoverable Error: Aborting", errors_1.ErrorCodes.ABORT, err);
594
- }
595
- else {
596
- throw err;
597
- }
598
- }
599
- finally {
600
- // release lock if necessary
601
- if (opts.shouldLock) {
602
- await this.#resonate.locksStore.release(id, eid);
603
- }
604
- }
605
- return value;
606
- };
607
- const resultPromise = runFunc();
608
- const invocationHandle = new InvocationHandle(resultPromise, id);
478
+ const resultPromise = _runFunc(func, ctx, args, idempotencyKey, storedPromise, this.#resonate.store.locks, this.#resonate.store.promises);
479
+ const invocationHandle = new InvocationHandle(id, resultPromise);
609
480
  this.#invocationHandles.set(id, invocationHandle);
610
481
  return invocationHandle;
611
482
  }
@@ -726,11 +597,11 @@ class Context {
726
597
  }
727
598
  exports.Context = Context;
728
599
  class InvocationHandle {
729
- resultPromise;
730
600
  invocationId;
731
- constructor(resultPromise, invocationId) {
732
- this.resultPromise = resultPromise;
601
+ resultPromise;
602
+ constructor(invocationId, resultPromise) {
733
603
  this.invocationId = invocationId;
604
+ this.resultPromise = resultPromise;
734
605
  }
735
606
  /**
736
607
  * get the current state of the resultPromise.
@@ -744,4 +615,103 @@ class InvocationHandle {
744
615
  }
745
616
  }
746
617
  exports.InvocationHandle = InvocationHandle;
618
+ const acquireLock = async (id, eid, locksStore) => {
619
+ try {
620
+ return await locksStore.tryAcquire(id, eid);
621
+ }
622
+ catch (e) {
623
+ // if lock is already acquired, return false so we can poll
624
+ if (e instanceof errors_1.ResonateError && e.code === errors_1.ErrorCodes.STORE_FORBIDDEN) {
625
+ return false;
626
+ }
627
+ throw e;
628
+ }
629
+ };
630
+ const _runFunc = async (func, ctx, args, idempotencyKey, storedPromise, locksStore, promisesStore) => {
631
+ const { id, eid, opts } = ctx.invocationData;
632
+ // If the promise that comes back from the server is already completed, resolve or reject right away.
633
+ switch (storedPromise.state) {
634
+ case "RESOLVED":
635
+ return opts.encoder.decode(storedPromise.value.data);
636
+ case "REJECTED":
637
+ throw opts.encoder.decode(storedPromise.value.data);
638
+ case "REJECTED_CANCELED":
639
+ throw new errors_1.ResonateError("Resonate function canceled", errors_1.ErrorCodes.CANCELED, opts.encoder.decode(storedPromise.value.data));
640
+ case "REJECTED_TIMEDOUT":
641
+ throw new errors_1.ResonateError(`Resonate function timedout at ${new Date(storedPromise.timeout).toISOString()}`, errors_1.ErrorCodes.TIMEDOUT);
642
+ }
643
+ // storedPromise.state === "PENDING"
644
+ try {
645
+ // Acquire the lock if necessary
646
+ if (opts.shouldLock) {
647
+ while (!(await acquireLock(id, eid, locksStore))) {
648
+ await (0, utils_1.sleep)(opts.pollFrequency);
649
+ }
650
+ }
651
+ let error;
652
+ let value;
653
+ // we need to hold on to a boolean to determine if the function was successful,
654
+ // we cannot rely on the value or error as these values could be undefined
655
+ let success = true;
656
+ try {
657
+ value = await (0, retry_1.runWithRetry)(async () => await func(ctx, ...args), async () => await ctx.onRetry(), opts.retryPolicy, storedPromise.timeout);
658
+ }
659
+ catch (e) {
660
+ // We need to capture the error to be able to reject the durable promise,
661
+ // after that we will then propagate this error by rejecting the result promise
662
+ error = e;
663
+ success = false;
664
+ }
665
+ finally {
666
+ // Resonate will implicitly await all the invocationHandles as the last
667
+ // thing it does with the context before it goes out of scope
668
+ await ctx.finalize();
669
+ }
670
+ if (ctx.root.aborted) {
671
+ throw new errors_1.ResonateError("Unrecoverable Error: Aborting", errors_1.ErrorCodes.ABORT, ctx.root.abortCause);
672
+ }
673
+ let completedPromiseRecord;
674
+ if (success) {
675
+ completedPromiseRecord = await promisesStore.resolve(id, idempotencyKey, false, storedPromise.value.headers, opts.encoder.encode(value));
676
+ }
677
+ else {
678
+ completedPromiseRecord = await promisesStore.reject(id, idempotencyKey, false, storedPromise.value.headers, opts.encoder.encode(error));
679
+ }
680
+ // Because of eventual consistency and recovery paths it is possible that we get a
681
+ // rejected promise even if we did call `resolve` on it or the other way around.
682
+ // What should never happen is that we get a "PENDING" promise
683
+ switch (completedPromiseRecord.state) {
684
+ case "RESOLVED":
685
+ return value;
686
+ case "REJECTED":
687
+ throw error;
688
+ case "REJECTED_CANCELED":
689
+ throw new errors_1.ResonateError("Resonate function canceled", errors_1.ErrorCodes.CANCELED, error);
690
+ case "REJECTED_TIMEDOUT":
691
+ throw new errors_1.ResonateError(`Resonate function timedout at ${new Date(completedPromiseRecord.timeout).toISOString()}`, errors_1.ErrorCodes.TIMEDOUT);
692
+ case "PENDING":
693
+ throw new Error("Unreachable");
694
+ }
695
+ }
696
+ catch (err) {
697
+ if (err instanceof errors_1.ResonateError && (err.code === errors_1.ErrorCodes.CANCELED || err.code === errors_1.ErrorCodes.TIMEDOUT)) {
698
+ // Cancel and timeout errors, just forward them
699
+ throw err;
700
+ }
701
+ else if (err instanceof errors_1.ResonateError && err.code !== errors_1.ErrorCodes.ABORT) {
702
+ // Any other instance of ResonateError we must abort the current execution.
703
+ ctx.abort(err);
704
+ throw new errors_1.ResonateError("Unrecoverable Error: Aborting", errors_1.ErrorCodes.ABORT, err);
705
+ }
706
+ else {
707
+ throw err;
708
+ }
709
+ }
710
+ finally {
711
+ // release lock if necessary
712
+ if (opts.shouldLock) {
713
+ await locksStore.release(id, eid);
714
+ }
715
+ }
716
+ };
747
717
  //# sourceMappingURL=resonate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resonate.js","sourceRoot":"","sources":["../lib/resonate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAmD;AACnD,0CAA0D;AAE1D,kDAA+C;AAC/C,4CAAwG;AACxG,0EAA4D;AAE5D,4DAA8C;AAC9C,wCAA4C;AAC5C,sEAAwD;AAExD,+CAAiD;AACjD,iDAAmD;AACnD,oDAAsC;AACtC,wCAAqC;AAsBrC,MAAa,QAAQ;IACnB,oBAAoB,GAAkE,EAAE,CAAC;IACzF,kBAAkB,CAAqC;IACvD,SAAS,CAA6B;IAC7B,KAAK,CAAS;IACd,MAAM,CAAU;IAChB,wBAAwB,CAAU;IAClC,QAAQ,CAAmB;IAC3B,SAAS,CAAoB;IAEtC,YAAY,EACV,IAAI,GAAG,SAAS,EAChB,OAAO,GAAG,IAAI,kBAAW,EAAE,EAC3B,SAAS,GAAG,KAAK,EAAE,MAAM;IACzB,MAAM,GAAG,IAAI,eAAM,EAAE,EACrB,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,EACtB,aAAa,GAAG,IAAI,EAAE,KAAK;IAC3B,WAAW,GAAG,aAAa,CAAC,WAAW,EAAE,EACzC,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,EAAE,EACT,OAAO,GAAG,KAAK,EAAE,MAAM;IACvB,GAAG,GAAG,SAAS,MACa,EAAE;QAC9B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAW,CAAC,GAAG,EAAE;gBAChC,IAAI;gBACJ,SAAS;gBACT,MAAM;gBACN,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,kBAAU,CAAC;gBAC1B,IAAI;gBACJ,SAAS;gBACT,MAAM;gBACN,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;QAEpC,IAAI,CAAC,wBAAwB,GAAG;YAC9B,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,KAAK,CAAC,QAAQ;YACrB,OAAO,EAAE,OAAO;YAChB,gBAAgB,EAAE,KAAK,CAAC,IAAI;YAC5B,UAAU,EAAE,SAAS;YACrB,aAAa;YACb,WAAW;YACX,IAAI;YACJ,OAAO;YACP,OAAO,EAAE,CAAC;SACX,CAAC;QAEF,WAAW;QACX,IAAI,CAAC,QAAQ,GAAG;YACd,MAAM,EAAE,CAAI,EAAU,EAAE,OAAe,EAAE,OAA+C,EAAE,EAAE,EAAE,CAC5F,eAAe,CAAC,cAAc,CAAC,MAAM,CAAI,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC;YAE1F,OAAO,EAAE,CAAI,EAAU,EAAE,KAAQ,EAAE,OAAiD,EAAE,EAAE,EAAE,CACxF,eAAe,CAAC,cAAc,CAAC,OAAO,CAAI,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;YAEzF,MAAM,EAAE,CAAI,EAAU,EAAE,KAAU,EAAE,OAAiD,EAAE,EAAE,EAAE,CACzF,eAAe,CAAC,cAAc,CAAC,MAAM,CAAI,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;YAExF,MAAM,EAAE,CAAI,EAAU,EAAE,KAAU,EAAE,OAAiD,EAAE,EAAE,EAAE,CACzF,eAAe,CAAC,cAAc,CAAC,MAAM,CAAI,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;YAExF,GAAG,EAAE,CAAI,EAAU,EAAE,EAAE,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAI,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC;YAE9F,MAAM,EAAE,CAAC,EAAU,EAAE,KAAc,EAAE,IAA6B,EAAE,KAAc,EAAE,EAAE,CACpF,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;SAC7F,CAAC;QAEF,YAAY;QACZ,IAAI,CAAC,SAAS,GAAG;YACf,MAAM,EAAE,CACN,EAAU,EACV,IAAY,EACZ,SAAiB,EACjB,cAAsB,EACtB,OAAmC,EAAE,EACrC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC;YAExG,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC;YAC9E,MAAM,EAAE,CAAC,EAAU,EAAE,IAA6B,EAAE,KAAc,EAAE,EAAE,CACpE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC;SAC5E,CAAC;IACJ,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,kBAAkB,CAAC,QAAgB,EAAE,OAAe;QAClD,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,YAAY,OAAO,iBAAiB,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,IAAU,EAAE,OAAyB,EAAE;QAC5D,sBAAsB;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAEjC,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,YAAY,OAAO,CAAC,OAAO,qBAAqB,CAAC,CAAC;QACpF,CAAC;QAED,sEAAsE;QACtE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7G,+EAA+E;QAC/E,IAAI,OAAO,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC/D,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC7E,CAAC;IAED,cAAc,CAAC,MAA4B,EAAE,OAAyB,EAAE;QACtE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,QAAgB,IAAI;QAC9B,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBAC1G,KAAK,MAAM,aAAa,IAAI,QAAQ,EAAE,CAAC;oBACrC,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACrF,IACE,KAAK;wBACL,OAAO,KAAK,KAAK,QAAQ;wBACzB,MAAM,IAAI,KAAK;wBACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;wBAC9B,SAAS,IAAI,KAAK;wBAClB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;wBACjC,MAAM,IAAI,KAAK;wBACf,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;wBACzB,aAAa,IAAI,KAAK;wBACtB,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,EAC9C,CAAC;wBACD,yFAAyF;wBACzF,iFAAiF;wBACjF,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAE,EAAE;4BACrC,OAAO,CACL,aAAa,CAAC,uBAAuB;gCACrC,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,CACjE,CAAC;wBACJ,CAAC,CAAC;wBACF,MAAM,IAAI,CAAC,WAAW,CACpB,KAAK,CAAC,IAAI,EACV,aAAa,CAAC,EAAE,EAChB,GAAG,KAAK,CAAC,IAAI,EACb,IAAA,iBAAO,EAAC;4BACN,WAAW,EAAE,KAAK,CAAC,WAAW;4BAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,gBAAgB;yBACjB,CAAC,CACH,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,6BAA6B;YAC7B,2DAA2D;YAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,EAAU,EAAE,GAAG,iBAAiD;QACzF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAI,IAAI,EAAE,EAAE,EAAE,GAAG,iBAAiB,CAAC,CAAC;QACzE,OAAO,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAAY,EACZ,EAAU,EACV,GAAG,iBAAiD;QAEpD,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAwB,CAAC;QAChE,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAEvE,gDAAgD;QAChD,MAAM,YAAY,GAAG,eAAe,EAAE,OAAO,IAAI,CAAC,CAAC;QAEnD,4FAA4F;QAC5F,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;QACzF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEnF,MAAM,IAAI,GAAY,KAAK,CAAC,YAAY,CACtC;YACE,KAAK;YACL,gBAAgB;YAChB,WAAW;YACX,IAAI;YACJ,OAAO;YACP,OAAO;SACR,EACD,cAAc,CACf,CAAC;QAEF,8CAA8C;QAC9C,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;QAEtC,mDAAmD;QACnD,iDAAiD;QACjD,6DAA6D;QAC7D,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC;QAE/E,uCAAuC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;QAE1C,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI;SACL,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,aAAa,GAAyB,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CACzE,EAAE,EACF,cAAc,EACd,KAAK,EACL,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1B,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EACzB,IAAI,CAAC,IAAI,CACV,CAAC;QAEF,MAAM,OAAO,GAAG,KAAK,IAAgB,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,KAAS,CAAC;YAEd,qGAAqG;YACrG,QAAQ,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC5B,KAAK,UAAU;oBACb,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;gBAC5D,KAAK,UAAU;oBACb,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,KAAK,mBAAmB;oBACtB,MAAM,IAAI,sBAAa,CACrB,4BAA4B,EAC5B,mBAAU,CAAC,QAAQ,EACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAC9C,CAAC;gBACJ,KAAK,mBAAmB;oBACtB,MAAM,IAAI,sBAAa,CACrB,iCAAiC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,EAChF,mBAAU,CAAC,QAAQ,CACpB,CAAC;YACN,CAAC;YAED,oCAAoC;YACpC,IAAI,CAAC;gBACH,gCAAgC;gBAChC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,MAAM,WAAW,GAAG,KAAK,IAAsB,EAAE;wBAC/C,IAAI,CAAC;4BACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;wBACpD,CAAC;wBAAC,OAAO,CAAU,EAAE,CAAC;4BACpB,2DAA2D;4BAC3D,IAAI,CAAC,YAAY,sBAAa,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAU,CAAC,eAAe,EAAE,CAAC;gCACxE,OAAO,KAAK,CAAC;4BACf,CAAC;4BAED,MAAM,CAAC,CAAC;wBACV,CAAC;oBACH,CAAC,CAAC;oBACF,OAAO,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,EAAE,CAAC;wBAC9B,MAAM,IAAA,aAAK,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAED,IAAI,KAAU,CAAC;gBACf,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAErE,+EAA+E;gBAC/E,0EAA0E;gBAC1E,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC;oBACH,KAAK,GAAG,MAAM,IAAA,oBAAY,EACxB,KAAK,IAAI,EAAE;wBACT,GAAG,CAAC,KAAK,EAAE,CAAC;wBACZ,OAAO,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;oBAClC,CAAC,EACD,IAAI,CAAC,WAAW,EAChB,aAAa,CAAC,OAAO,CACtB,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;wBAChB,MAAM,CAAC,CAAC;oBACV,CAAC;oBACD,wEAAwE;oBACxE,+EAA+E;oBAC/E,KAAK,GAAG,CAAC,CAAC;oBACV,OAAO,GAAG,KAAK,CAAC;gBAClB,CAAC;wBAAS,CAAC;oBACT,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACvB,CAAC;gBAED,IAAI,sBAA6C,CAAC;gBAClD,IAAI,OAAO,EAAE,CAAC;oBACZ,sBAAsB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CACvD,EAAE,EACF,cAAc,EACd,KAAK,EACL,aAAa,CAAC,KAAK,CAAC,OAAO,EAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAC3B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,sBAAsB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CACtD,EAAE,EACF,cAAc,EACd,KAAK,EACL,aAAa,CAAC,KAAK,CAAC,OAAO,EAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAC3B,CAAC;gBACJ,CAAC;gBAED,kFAAkF;gBAClF,gFAAgF;gBAChF,8DAA8D;gBAC9D,QAAQ,sBAAsB,CAAC,KAAK,EAAE,CAAC;oBACrC,KAAK,UAAU;wBACb,OAAO,KAAU,CAAC;oBACpB,KAAK,UAAU;wBACb,MAAM,KAAK,CAAC;oBACd,KAAK,mBAAmB;wBACtB,MAAM,IAAI,sBAAa,CAAC,4BAA4B,EAAE,mBAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACpF,KAAK,mBAAmB;wBACtB,MAAM,IAAI,sBAAa,CACrB,iCAAiC,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,EACzF,mBAAU,CAAC,QAAQ,CACpB,CAAC;oBACJ,KAAK,SAAS;wBACZ,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,sBAAa,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,mBAAU,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3G,8CAA8C;oBAC9C,MAAM,GAAG,CAAC;gBACZ,CAAC;qBAAM,IAAI,GAAG,YAAY,sBAAa,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAU,CAAC,KAAK,EAAE,CAAC;oBACzE,sDAAsD;oBACtD,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,+FAA+F;oBAC/F,8BAA8B;oBAC9B,gCAAgC;oBAChC,+BAA+B;oBAC/B,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,4BAA4B;gBAC5B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,aAAa,GAAe,OAAO,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IAkCD,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAY,EAAE,IAAmB,EAAE,GAAG,YAAmB;QACpF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,oDAAoD;YACpD,6CAA6C;YAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAExD,MAAM,EACJ,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAClE,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpD,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAEvD,MAAM,YAAY,GAAG;YACnB,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,WAAW,EAAE,KAAK;YAClB,IAAI;SACL,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE;YAChF,cAAc;YACd,YAAY;YACZ,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,YAA8B,EAAE;QAC9C,aAAa;QACb,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1E,OAAO;YACL,GAAG,IAAI,CAAC,wBAAwB;YAChC,GAAG,SAAS;YACZ,IAAI;SACL,CAAC;IACJ,CAAC;CACF;AAveD,4BAueC;AAED,MAAa,OAAO;IAClB,SAAS,CAAW;IACpB,eAAe,GAAY,KAAK,CAAC;IACjC,kBAAkB,CAAqC;IACvD,QAAQ,CAAU;IAClB,WAAW,CAAM;IACjB,aAAa,CAAS;IACb,cAAc,CAAiB;IACxC,MAAM,CAAsB;IAC5B,IAAI,CAAU;IAEd,YAAoB,QAAkB,EAAE,cAA8B,EAAE,MAA2B;QACjG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,QAAkB,EAAE,cAA8B;QACzE,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,SAAkB,EAAE,cAA8B;QAC7E,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,KAAU;QACd,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAuBD,KAAK,CAAC,GAAG,CACP,QAAoB,EACpB,GAAG,YAA6C;QAEhD,IAAI,MAA4B,CAAC;QACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAI,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAmB,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAI,MAAc,EAAE,GAAG,YAAuC;QAC9E,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAwB,CAAC;QACpE,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEtD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAChE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CACtC,CAAC;QAEF,MAAM,IAAI,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,SAAS,EAAE,CAAC;QAEjD,iBAAiB;QACjB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;QAE3D,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QAE3C,iGAAiG;QACjG,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,aAAa,GAAyB,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CACnF,MAAM,EACN,cAAc,EACd,KAAK,EACL,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1B,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EACzB,IAAI,CAAC,IAAI,CACV,CAAC;QAEF,MAAM,OAAO,GAAG,KAAK,IAAgB,EAAE;YACrC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC7B,MAAM,oBAAoB,GAAyB,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC5G,QAAQ,oBAAoB,CAAC,KAAK,EAAE,CAAC;oBACnC,KAAK,UAAU;wBACb,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;oBACnE,KAAK,UAAU;wBACb,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7D,KAAK,mBAAmB;wBACtB,MAAM,IAAI,sBAAa,CACrB,4BAA4B,EAC5B,mBAAU,CAAC,QAAQ,EACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CACrD,CAAC;oBACJ,KAAK,mBAAmB;wBACtB,MAAM,IAAI,sBAAa,CACrB,iCAAiC,IAAI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,EACvF,mBAAU,CAAC,QAAQ,CACpB,CAAC;oBACJ,KAAK,SAAS;wBACZ,MAAM;gBACV,CAAC;gBACD,oDAAoD;gBACpD,IAAA,aAAK,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,cAAc,CAAC,CAAC;QAC7E,CAAC,CAAC;QACF,MAAM,aAAa,GAAe,OAAO,EAAE,CAAC;QAC5C,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAEtD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAAO,EACP,GAAG,YAA6C;QAEhD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAChE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CACtC,CAAC;QAEF,MAAM,IAAI,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,SAAS,EAAE,CAAC;QAEjD,iBAAiB;QACjB,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAE1D,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QAE3C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,6FAA6F;QAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9F,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;QAErE,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAwB,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3B,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;gBACzB,MAAM,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC1C,OAAO,CAAC,MAAM,IAAA,oBAAY,EACxB,KAAK,IAAI,EAAE;oBACT,GAAG,CAAC,KAAK,EAAE,CAAC;oBACZ,OAAO,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;gBAClC,CAAC,EACD,IAAI,CAAC,WAAW,EAChB,OAAO,CACR,CAAM,CAAC;YACV,CAAC,CAAC;YACF,MAAM,aAAa,GAAG,OAAO,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAI,aAAa,EAAE,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,iGAAiG;QACjG,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,aAAa,GAAyB,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CACnF,EAAE,EACF,cAAc,EACd,KAAK,EACL,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1B,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EACzB,IAAI,CAAC,IAAI,CACV,CAAC;QAEF,MAAM,OAAO,GAAG,KAAK,IAAgB,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,KAAS,CAAC;YAEd,qGAAqG;YACrG,QAAQ,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC5B,KAAK,UAAU;oBACb,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;gBAC5D,KAAK,UAAU;oBACb,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,KAAK,mBAAmB;oBACtB,MAAM,IAAI,sBAAa,CACrB,4BAA4B,EAC5B,mBAAU,CAAC,QAAQ,EACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAC9C,CAAC;gBACJ,KAAK,mBAAmB;oBACtB,MAAM,IAAI,sBAAa,CACrB,iCAAiC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,EAChF,mBAAU,CAAC,QAAQ,CACpB,CAAC;YACN,CAAC;YAED,oCAAoC;YACpC,IAAI,CAAC;gBACH,gCAAgC;gBAChC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,MAAM,WAAW,GAAG,KAAK,IAAsB,EAAE;wBAC/C,IAAI,CAAC;4BACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;wBAC7D,CAAC;wBAAC,OAAO,CAAU,EAAE,CAAC;4BACpB,2DAA2D;4BAC3D,IAAI,CAAC,YAAY,sBAAa,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAU,CAAC,eAAe,EAAE,CAAC;gCACxE,OAAO,KAAK,CAAC;4BACf,CAAC;4BAED,MAAM,CAAC,CAAC;wBACV,CAAC;oBACH,CAAC,CAAC;oBACF,OAAO,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,EAAE,CAAC;wBAC9B,MAAM,IAAA,aAAK,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAED,IAAI,KAAU,CAAC;gBACf,MAAM,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEzE,+EAA+E;gBAC/E,0EAA0E;gBAC1E,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC;oBACH,KAAK,GAAG,MAAM,IAAA,oBAAY,EACxB,KAAK,IAAI,EAAE;wBACT,GAAG,CAAC,KAAK,EAAE,CAAC;wBACZ,OAAO,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;oBAClC,CAAC,EACD,IAAI,CAAC,WAAW,EAChB,aAAa,CAAC,OAAO,CACtB,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,yEAAyE;oBACzE,+EAA+E;oBAC/E,KAAK,GAAG,CAAC,CAAC;oBACV,OAAO,GAAG,KAAK,CAAC;gBAClB,CAAC;wBAAS,CAAC;oBACT,uEAAuE;oBACvE,6DAA6D;oBAC7D,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACvB,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACnG,CAAC;gBAED,IAAI,sBAA6C,CAAC;gBAClD,IAAI,OAAO,EAAE,CAAC;oBACZ,sBAAsB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CACjE,EAAE,EACF,cAAc,EACd,KAAK,EACL,aAAa,CAAC,KAAK,CAAC,OAAO,EAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAC3B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,sBAAsB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAChE,EAAE,EACF,cAAc,EACd,KAAK,EACL,aAAa,CAAC,KAAK,CAAC,OAAO,EAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAC3B,CAAC;gBACJ,CAAC;gBAED,kFAAkF;gBAClF,gFAAgF;gBAChF,8DAA8D;gBAC9D,QAAQ,sBAAsB,CAAC,KAAK,EAAE,CAAC;oBACrC,KAAK,UAAU;wBACb,OAAO,KAAU,CAAC;oBACpB,KAAK,UAAU;wBACb,MAAM,KAAK,CAAC;oBACd,KAAK,mBAAmB;wBACtB,MAAM,IAAI,sBAAa,CAAC,4BAA4B,EAAE,mBAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACpF,KAAK,mBAAmB;wBACtB,MAAM,IAAI,sBAAa,CACrB,iCAAiC,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,EACzF,mBAAU,CAAC,QAAQ,CACpB,CAAC;oBACJ,KAAK,SAAS;wBACZ,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,sBAAa,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,mBAAU,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3G,+CAA+C;oBAC/C,MAAM,GAAG,CAAC;gBACZ,CAAC;qBAAM,IAAI,GAAG,YAAY,sBAAa,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAU,CAAC,KAAK,EAAE,CAAC;oBACzE,2EAA2E;oBAC3E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAChB,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAE,mBAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAClF,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,4BAA4B;gBAC5B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,aAAa,GAAe,OAAO,EAAE,CAAC;QAC5C,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAElD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CACpC,EAAE,EACF,IAAA,iBAAO,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CACjG,CAAC;QAEF,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED;;;;;;;OAOG;IACH,GAAG,CACD,MAAS,EACT,OAAyB,EAAE;QAE3B,8DAA8D;QAC9D,6DAA6D;QAC7D,oCAAoC;QACpC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,OAAO;gBAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,kBAAkB;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAA,iBAAO,EAAC;YACjD,WAAW,EAAE,aAAa,CAAC,KAAK,EAAE;YAClC,GAAG,IAAI;SACR,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,GAAG,CAAoC,MAAS,EAAE,OAAyB,EAAE;QAC3E,8DAA8D;QAC9D,6DAA6D;QAC7D,oCAAoC;QACpC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,OAAO;gBAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,kBAAkB;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAA,iBAAO,EAAC;YACjD,WAAW,EAAE,aAAa,CAAC,KAAK,EAAE;YAClC,GAAG,IAAI;SACR,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAoC,MAAS,EAAE,OAAyB,EAAE;QAC5E,8DAA8D;QAC9D,8DAA8D;QAC9D,oCAAoC;QACpC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,OAAO;gBAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,kBAAkB;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAA,iBAAO,EAAC;YAClD,WAAW,EAAE,aAAa,CAAC,KAAK,EAAE;YAClC,GAAG,IAAI;SACR,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CACR,MAAS,EACT,OAAyB,EAAE;QAE3B,8DAA8D;QAC9D,oEAAoE;QACpE,oCAAoC;QACpC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,OAAO;gBAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,kBAAkB;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAA,iBAAO,EAAC;YACxD,WAAW,EAAE,aAAa,CAAC,KAAK,EAAE;YAClC,GAAG,IAAI;SACR,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,EAAU,EACV,GAAG,iBAAiD;QAEpD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,iBAAiB,CAAC,CAAC;IAC1E,CAAC;CACF;AAteD,0BAseC;AAmID,MAAa,gBAAgB;IAEhB;IACA;IAFX,YACW,aAAyB,EACzB,YAAoB;QADpB,kBAAa,GAAb,aAAa,CAAY;QACzB,iBAAY,GAAZ,YAAY,CAAQ;IAC5B,CAAC;IAEJ;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF;AAjBD,4CAiBC"}
1
+ {"version":3,"file":"resonate.js","sourceRoot":"","sources":["../lib/resonate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resonatehq/sdk",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "TypeScript SDK for Resonate",
5
5
  "author": "Resonate Developers",
6
6
  "license": "Apache-2.0",
@@ -18,7 +18,7 @@
18
18
  "dist"
19
19
  ],
20
20
  "scripts": {
21
- "test": "jest --config jest.config.js",
21
+ "test": "jest --config jest.config.js",
22
22
  "build": "tsc --build tsconfig.build.json",
23
23
  "lint": "eslint .",
24
24
  "lint:fix": "eslint . --fix",
@@ -47,7 +47,7 @@
47
47
  "typedoc": "^0.25.7",
48
48
  "typedoc-material-theme": "^1.0.2",
49
49
  "typescript": "^5.2.2"
50
- },
50
+ },
51
51
  "engines": {
52
52
  "node": ">= 18"
53
53
  }