@resonatehq/sdk 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/core/encoders/json.d.ts.map +1 -1
  2. package/dist/core/encoders/json.js +12 -0
  3. package/dist/core/encoders/json.js.map +1 -1
  4. package/dist/core/errors.d.ts +4 -2
  5. package/dist/core/errors.d.ts.map +1 -1
  6. package/dist/core/errors.js +5 -2
  7. package/dist/core/errors.js.map +1 -1
  8. package/dist/core/options.d.ts +20 -11
  9. package/dist/core/options.d.ts.map +1 -1
  10. package/dist/core/options.js +11 -1
  11. package/dist/core/options.js.map +1 -1
  12. package/dist/core/promises/promises.d.ts +2 -2
  13. package/dist/core/promises/promises.d.ts.map +1 -1
  14. package/dist/core/promises/promises.js +2 -1
  15. package/dist/core/promises/promises.js.map +1 -1
  16. package/dist/core/promises/types.d.ts +10 -83
  17. package/dist/core/promises/types.d.ts.map +1 -1
  18. package/dist/core/promises/types.js +10 -10
  19. package/dist/core/promises/types.js.map +1 -1
  20. package/dist/core/retry.d.ts +36 -26
  21. package/dist/core/retry.d.ts.map +1 -1
  22. package/dist/core/retry.js +130 -14
  23. package/dist/core/retry.js.map +1 -1
  24. package/dist/core/schedules/schedules.d.ts +1 -1
  25. package/dist/core/schedules/schedules.d.ts.map +1 -1
  26. package/dist/core/schedules/schedules.js.map +1 -1
  27. package/dist/core/storages/memory.d.ts.map +1 -1
  28. package/dist/core/storages/memory.js +2 -0
  29. package/dist/core/storages/memory.js.map +1 -1
  30. package/dist/core/storages/withTimeout.d.ts +6 -6
  31. package/dist/core/storages/withTimeout.d.ts.map +1 -1
  32. package/dist/core/storages/withTimeout.js +2 -13
  33. package/dist/core/storages/withTimeout.js.map +1 -1
  34. package/dist/core/store.d.ts +7 -7
  35. package/dist/core/store.d.ts.map +1 -1
  36. package/dist/core/stores/local.d.ts +9 -9
  37. package/dist/core/stores/local.d.ts.map +1 -1
  38. package/dist/core/stores/local.js +2 -2
  39. package/dist/core/stores/local.js.map +1 -1
  40. package/dist/core/stores/remote.d.ts +7 -7
  41. package/dist/core/stores/remote.d.ts.map +1 -1
  42. package/dist/core/stores/remote.js +29 -7
  43. package/dist/core/stores/remote.js.map +1 -1
  44. package/dist/core/utils.d.ts +82 -0
  45. package/dist/core/utils.d.ts.map +1 -1
  46. package/dist/core/utils.js +103 -1
  47. package/dist/core/utils.js.map +1 -1
  48. package/dist/index.d.ts +1 -6
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +4 -11
  51. package/dist/index.js.map +1 -1
  52. package/dist/resonate.d.ts +163 -49
  53. package/dist/resonate.d.ts.map +1 -1
  54. package/dist/resonate.js +626 -146
  55. package/dist/resonate.js.map +1 -1
  56. package/package.json +1 -1
  57. package/dist/async.d.ts +0 -201
  58. package/dist/async.d.ts.map +0 -1
  59. package/dist/async.js +0 -331
  60. package/dist/async.js.map +0 -1
  61. package/dist/core/execution.d.ts +0 -47
  62. package/dist/core/execution.d.ts.map +0 -1
  63. package/dist/core/execution.js +0 -310
  64. package/dist/core/execution.js.map +0 -1
  65. package/dist/core/future.d.ts +0 -56
  66. package/dist/core/future.d.ts.map +0 -1
  67. package/dist/core/future.js +0 -107
  68. package/dist/core/future.js.map +0 -1
  69. package/dist/core/invocation.d.ts +0 -44
  70. package/dist/core/invocation.d.ts.map +0 -1
  71. package/dist/core/invocation.js +0 -103
  72. package/dist/core/invocation.js.map +0 -1
  73. package/dist/core/retries/retry.d.ts +0 -20
  74. package/dist/core/retries/retry.d.ts.map +0 -1
  75. package/dist/core/retries/retry.js +0 -41
  76. package/dist/core/retries/retry.js.map +0 -1
  77. package/dist/generator.d.ts +0 -208
  78. package/dist/generator.d.ts.map +0 -1
  79. package/dist/generator.js +0 -427
  80. package/dist/generator.js.map +0 -1
@@ -1,63 +1,166 @@
1
- import { IEncoder } from "./core/encoder";
2
- import { ResonatePromise } from "./core/future";
3
1
  import { ILogger } from "./core/logger";
4
- import { ResonateOptions, Options, PartialOptions } from "./core/options";
5
- import * as promises from "./core/promises/promises";
6
- import { IRetry } from "./core/retry";
2
+ import { PartialOptions, Options, InvocationOverrides, ResonateOptions } from "./core/options";
3
+ import * as durablePromises from "./core/promises/promises";
7
4
  import * as schedules from "./core/schedules/schedules";
8
5
  import { IStore } from "./core/store";
9
- type Func = (...args: any[]) => any;
10
- export declare abstract class ResonateBase {
11
- private readonly functions;
6
+ type InvocationData = {
7
+ id: string;
8
+ eid: string;
9
+ name: string;
10
+ opts: Options;
11
+ };
12
+ export type Func = (ctx: Context, ...args: any[]) => any;
13
+ export type Params<F> = F extends (ctx: any, ...args: infer P) => any ? P : never;
14
+ export type Return<F> = F extends (...args: any[]) => infer T ? Awaited<T> : never;
15
+ export declare class Resonate {
16
+ #private;
17
+ readonly store: IStore;
18
+ readonly logger: ILogger;
19
+ readonly defaultInvocationOptions: Options;
12
20
  readonly promises: ResonatePromises;
13
21
  readonly schedules: ResonateSchedules;
14
- readonly pid: string;
15
- readonly poll: number;
16
- readonly timeout: number;
17
- readonly tags: Record<string, string>;
18
- readonly encoder: IEncoder<unknown, string | undefined>;
19
- readonly logger: ILogger;
20
- readonly retry: IRetry;
21
- readonly store: IStore;
22
- private interval;
23
22
  constructor({ auth, encoder, heartbeat, // 15s
24
- logger, pid, poll, // 5s
25
- retry, store, tags, timeout, // 10s
23
+ logger, pid, pollFrequency, // 5s
24
+ retryPolicy, store, tags, timeout, // 10s
26
25
  url, }?: Partial<ResonateOptions>);
27
- protected abstract execute(name: string, id: string, func: Func, args: any[], opts: Options, defaults: Options, durablePromise?: promises.DurablePromise<any>): ResonatePromise<any>;
28
- register(name: string, func: Func, opts?: Partial<Options>): (id: string, ...args: any) => ResonatePromise<any>;
26
+ get promisesStore(): import("./core/store").IPromiseStore;
27
+ get locksStore(): import("./core/store").ILockStore;
28
+ registeredFunction(funcName: string, version: number): {
29
+ func: Func;
30
+ opts: Options;
31
+ };
32
+ register(name: string, func: Func, opts?: Partial<Options>): void;
29
33
  registerModule(module: Record<string, Func>, opts?: Partial<Options>): void;
30
34
  /**
31
- * Run a Resonate function. Functions must first be registered with {@link register}.
35
+ * Start the resonate service which continually checks for pending promises
36
+ * every `delay` ms.
32
37
  *
33
- * @template T The return type of the function.
34
- * @param id A unique id for the function invocation.
35
- * @param name The function name.
36
- * @param argsWithOpts The function arguments.
37
- * @returns A promise that resolve to the function return value.
38
+ * @param delay Frequency in ms to check for pending promises.
38
39
  */
39
- run<T>(name: string, id: string, ...argsWithOpts: [...any, PartialOptions?]): ResonatePromise<T>;
40
- schedule(name: string, cron: string, func: Func | string, ...argsWithOpts: [...any, PartialOptions?]): Promise<schedules.Schedule>;
40
+ start(delay?: number): Promise<void>;
41
41
  /**
42
- * Construct options.
42
+ * Stop the resonate service.
43
+ */
44
+ stop(): Promise<void>;
45
+ run<R>(name: string, id: string, ...argsWithOverrides: [...any, InvocationOverrides?]): Promise<R>;
46
+ invokeLocal<R>(name: string, id: string, ...argsWithOverrides: [...any, InvocationOverrides?]): Promise<InvocationHandle<R>>;
47
+ /**
48
+ * Schedule a resonate function.
43
49
  *
44
- * @param opts A partial {@link Options} object.
45
- * @returns PartialOptions.
50
+ * @param name The schedule name.
51
+ * @param cron The schedule cron expression.
52
+ * @param func The function to schedule.
53
+ * @param args The function arguments.
54
+ * @returns The schedule object.
46
55
  */
47
- options(opts?: Partial<Options>): PartialOptions;
56
+ schedule<F extends Func>(name: string, cron: string, func: F, ...args: [...Params<F>, PartialOptions?]): Promise<schedules.Schedule>;
48
57
  /**
49
- * Start the resonate service.
58
+ * Schedule a resonate function that is already registered.
50
59
  *
51
- * @param delay Frequency in ms to check for pending promises.
60
+ * @param name The schedule name.
61
+ * @param cron The schedule cron expression.
62
+ * @param func The registered function name.
63
+ * @param args The function arguments.
64
+ * @returns The schedule object.
52
65
  */
53
- start(delay?: number): void;
66
+ schedule(name: string, cron: string, func: string, ...args: [...any, PartialOptions?]): Promise<schedules.Schedule>;
67
+ withDefaultOpts(givenOpts?: Partial<Options>): Options;
68
+ }
69
+ export declare class Context {
70
+ #private;
71
+ childrenCount: number;
72
+ readonly invocationData: InvocationData;
73
+ parent: Context | undefined;
74
+ root: Context;
75
+ private constructor();
76
+ static createRootContext(resonate: Resonate, invocationData: InvocationData): Context;
77
+ static createChildrenContext(parentCtx: Context, invocationData: InvocationData): Context;
78
+ reset(): void;
79
+ finalize(): Promise<void>;
80
+ abort(cause: any): void;
81
+ get aborted(): boolean;
82
+ get abortCause(): any;
54
83
  /**
55
- * Stop the resonate service.
84
+ * Invoke a remote function.
85
+ *
86
+ * @template R The return type of the remote function.
87
+ * @param func The id of the remote function.
88
+ * @param args The arguments to pass to the remote function.
89
+ * @param opts Optional {@link options}.
90
+ * @returns A promise that resolves to the resolved value of the remote function.
91
+ */
92
+ run<R>(funcId: string, args: any, opts?: PartialOptions): Promise<R>;
93
+ /**
94
+ * Invoke a function.
95
+ *
96
+ * @template F The type of the function.
97
+ * @param func The function to invoke.
98
+ * @param args The function arguments, optionally followed by {@link options}.
99
+ * @returns A promise that resolves to the return value of the function.
56
100
  */
57
- stop(): void;
58
- private defaults;
59
- private _start;
60
- private split;
101
+ run<F extends Func>(func: F, ...argsWithOpts: [...Params<F>, PartialOptions?]): Promise<Return<F>>;
102
+ invokeRemote<R>(funcId: string, ...argsWithOpts: [...any, PartialOptions?]): Promise<InvocationHandle<R>>;
103
+ invokeLocal<F extends Func, R>(func: F, ...argsWithOpts: [...Params<F>, PartialOptions?]): Promise<InvocationHandle<R>>;
104
+ /**
105
+ * Durable version of sleep.
106
+ * Sleep for the specified time (ms).
107
+ *
108
+ * @param ms Amount of time to sleep in milliseconds.
109
+ * @returns A Promise that resolves after the specified time has elapsed.
110
+ */
111
+ sleep(ms: number): Promise<void>;
112
+ /**
113
+ * Creates a Promise that is resolved with an array of results when all of the provided Promises
114
+ * resolve, or rejected when any Promise is rejected.
115
+ *
116
+ * @param values An array of Promises.
117
+ * @param opts Optional {@link options}.
118
+ * @returns A new ResonatePromise.
119
+ */
120
+ all<T extends readonly unknown[] | []>(values: T, opts?: Partial<Options>): Promise<{
121
+ -readonly [P in keyof T]: Awaited<T[P]>;
122
+ }>;
123
+ /**
124
+ * Creates a Promise that is fulfilled by the first given promise to be fulfilled, or rejected
125
+ * with an AggregateError.
126
+ *
127
+ * @param values An array of Promises.
128
+ * @param opts Optional {@link options}.
129
+ * @returns A new ResonatePromise.
130
+ */
131
+ any<T extends readonly unknown[] | []>(values: T, opts?: Partial<Options>): Promise<Awaited<Awaited<T[number]>>>;
132
+ /**
133
+ * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved
134
+ * or rejected.
135
+ *
136
+ * @param values An array of Promises.
137
+ * @param opts Optional {@link options}.
138
+ * @returns A new ResonatePromise.
139
+ */
140
+ race<T extends readonly unknown[] | []>(values: T, opts?: Partial<Options>): Promise<Awaited<T[number]>>;
141
+ /**
142
+ * Creates a Promise that is resolved with an array of results when all of the provided Promises
143
+ * resolve or reject.
144
+ *
145
+ * @param values An array of Promises.
146
+ * @param opts Optional {@link options}.
147
+ * @returns A new Promise.
148
+ */
149
+ allSettled<T extends readonly unknown[] | []>(values: T, opts?: Partial<Options>): Promise<{
150
+ -readonly [P in keyof T]: PromiseSettledResult<Awaited<T[P]>>;
151
+ }>;
152
+ /**
153
+ * Invoke a Resonate function in detached mode. Functions must first be registered with Resonate.
154
+ * a detached invocation will not be implecitly awaited at the end of the current context, instead
155
+ * it will be "supervised" as a top level invocation.
156
+ *
157
+ * @template R The return type of the function.
158
+ * @param id A unique id for the function invocation.
159
+ * @param name The function name.
160
+ * @param argsWithOverrides The function arguments and options overrides.
161
+ * @returns A Res.
162
+ */
163
+ detached<R>(name: string, id: string, ...argsWithOverrides: [...any, InvocationOverrides?]): Promise<InvocationHandle<R>>;
61
164
  }
62
165
  export interface ResonatePromises {
63
166
  /**
@@ -69,7 +172,7 @@ export interface ResonatePromises {
69
172
  * @param opts Additional options.
70
173
  * @returns A durable promise.
71
174
  */
72
- create<T>(id: string, timeout: number, opts?: Partial<promises.CreateOptions>): Promise<promises.DurablePromise<T>>;
175
+ create<T>(id: string, timeout: number, opts?: Partial<durablePromises.CreateOptions>): Promise<durablePromises.DurablePromise<T>>;
73
176
  /**
74
177
  * Resolve a durable promise.
75
178
  *
@@ -79,7 +182,7 @@ export interface ResonatePromises {
79
182
  * @param opts Additional options.
80
183
  * @returns A durable promise.
81
184
  */
82
- resolve<T>(id: string, value: T, opts?: Partial<promises.CompleteOptions>): Promise<promises.DurablePromise<T>>;
185
+ resolve<T>(id: string, value: T, opts?: Partial<durablePromises.CompleteOptions>): Promise<durablePromises.DurablePromise<T>>;
83
186
  /**
84
187
  * Reject a durable promise.
85
188
  *
@@ -89,7 +192,7 @@ export interface ResonatePromises {
89
192
  * @param opts Additional options.
90
193
  * @returns A durable promise.
91
194
  */
92
- reject<T>(id: string, error: any, opts?: Partial<promises.CompleteOptions>): Promise<promises.DurablePromise<T>>;
195
+ reject<T>(id: string, error: any, opts?: Partial<durablePromises.CompleteOptions>): Promise<durablePromises.DurablePromise<T>>;
93
196
  /**
94
197
  * Cancel a durable promise.
95
198
  *
@@ -99,7 +202,7 @@ export interface ResonatePromises {
99
202
  * @param opts Additional options.
100
203
  * @returns A durable promise.
101
204
  */
102
- cancel<T>(id: string, error: any, opts?: Partial<promises.CompleteOptions>): Promise<promises.DurablePromise<T>>;
205
+ cancel<T>(id: string, error: any, opts?: Partial<durablePromises.CompleteOptions>): Promise<durablePromises.DurablePromise<T>>;
103
206
  /**
104
207
  * Get a durable promise.
105
208
  *
@@ -107,17 +210,17 @@ export interface ResonatePromises {
107
210
  * @param id Id of the promise.
108
211
  * @returns A durable promise.
109
212
  */
110
- get<T>(id: string): Promise<promises.DurablePromise<T>>;
213
+ get<T>(id: string): Promise<durablePromises.DurablePromise<T>>;
111
214
  /**
112
215
  * Search durable promises.
113
216
  *
114
217
  * @param id Ids to match, can include wildcards.
115
218
  * @param state State to match.
116
219
  * @param tags Tags to match.
117
- * @param limit Maximum number of promises to return.
118
- * @returns A generator that yields durable promises.
220
+ * @param limit Maximum number of durablePromises to return.
221
+ * @returns A generator that yields durable durablePromises.
119
222
  */
120
- search(id: string, state?: string, tags?: Record<string, string>, limit?: number): AsyncGenerator<promises.DurablePromise<any>[]>;
223
+ search(id: string, state?: string, tags?: Record<string, string>, limit?: number): AsyncGenerator<durablePromises.DurablePromise<any>[]>;
121
224
  }
122
225
  export interface ResonateSchedules {
123
226
  /**
@@ -148,5 +251,16 @@ export interface ResonateSchedules {
148
251
  */
149
252
  search(id: string, tags: Record<string, string> | undefined, limit?: number): AsyncGenerator<schedules.Schedule[], void>;
150
253
  }
254
+ export declare class InvocationHandle<R> {
255
+ readonly resultPromise: Promise<R>;
256
+ readonly invocationId: string;
257
+ constructor(resultPromise: Promise<R>, invocationId: string);
258
+ /**
259
+ * get the current state of the resultPromise.
260
+ *
261
+ */
262
+ state(): Promise<"pending" | "resolved" | "rejected">;
263
+ result(): Promise<R>;
264
+ }
151
265
  export {};
152
266
  //# sourceMappingURL=resonate.d.ts.map
@@ -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":"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"}