@resonatehq/sdk 0.9.6 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +84 -12
  2. package/dist/clock.d.ts.map +1 -0
  3. package/dist/clock.js +12 -0
  4. package/dist/clock.js.map +1 -0
  5. package/dist/codec.d.ts +11 -0
  6. package/dist/codec.d.ts.map +1 -0
  7. package/dist/codec.js +115 -0
  8. package/dist/codec.js.map +1 -0
  9. package/dist/computation.d.ts +40 -0
  10. package/dist/computation.d.ts.map +1 -0
  11. package/dist/computation.js +152 -0
  12. package/dist/computation.js.map +1 -0
  13. package/dist/{src/context.d.ts → context.d.ts} +70 -40
  14. package/dist/context.d.ts.map +1 -0
  15. package/dist/{src/context.js → context.js} +140 -155
  16. package/dist/context.js.map +1 -0
  17. package/dist/core.d.ts +45 -0
  18. package/dist/core.d.ts.map +1 -0
  19. package/dist/core.js +140 -0
  20. package/dist/core.js.map +1 -0
  21. package/dist/coroutine.d.ts +37 -0
  22. package/dist/coroutine.d.ts.map +1 -0
  23. package/dist/coroutine.js +259 -0
  24. package/dist/coroutine.js.map +1 -0
  25. package/dist/{src/decorator.d.ts → decorator.d.ts} +9 -8
  26. package/dist/decorator.d.ts.map +1 -0
  27. package/dist/decorator.js +150 -0
  28. package/dist/decorator.js.map +1 -0
  29. package/dist/encryptor.d.ts +10 -0
  30. package/dist/encryptor.d.ts.map +1 -0
  31. package/dist/encryptor.js +9 -0
  32. package/dist/encryptor.js.map +1 -0
  33. package/dist/{src/exceptions.d.ts → exceptions.d.ts} +4 -1
  34. package/dist/exceptions.d.ts.map +1 -0
  35. package/dist/{src/exceptions.js → exceptions.js} +11 -11
  36. package/dist/exceptions.js.map +1 -0
  37. package/dist/{src/heartbeat.d.ts → heartbeat.d.ts} +5 -3
  38. package/dist/heartbeat.d.ts.map +1 -0
  39. package/dist/heartbeat.js +50 -0
  40. package/dist/heartbeat.js.map +1 -0
  41. package/dist/index.d.ts +19 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +15 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/logger.d.ts +33 -0
  46. package/dist/logger.d.ts.map +1 -0
  47. package/dist/logger.js +54 -0
  48. package/dist/logger.js.map +1 -0
  49. package/dist/network/http.d.ts +86 -0
  50. package/dist/network/http.d.ts.map +1 -0
  51. package/dist/network/http.js +350 -0
  52. package/dist/network/http.js.map +1 -0
  53. package/dist/network/local.d.ts +188 -0
  54. package/dist/network/local.d.ts.map +1 -0
  55. package/dist/network/local.js +1349 -0
  56. package/dist/network/local.js.map +1 -0
  57. package/dist/network/network.d.ts +17 -0
  58. package/dist/network/network.d.ts.map +1 -0
  59. package/dist/network/network.js +2 -0
  60. package/dist/network/network.js.map +1 -0
  61. package/dist/network/types.d.ts +1280 -0
  62. package/dist/network/types.d.ts.map +1 -0
  63. package/dist/network/types.js +920 -0
  64. package/dist/network/types.js.map +1 -0
  65. package/dist/{src/options.d.ts → options.d.ts} +15 -6
  66. package/dist/options.d.ts.map +1 -0
  67. package/dist/options.js +34 -0
  68. package/dist/options.js.map +1 -0
  69. package/dist/promises.d.ts +54 -0
  70. package/dist/promises.d.ts.map +1 -0
  71. package/dist/promises.js +122 -0
  72. package/dist/promises.js.map +1 -0
  73. package/dist/{src/registry.d.ts → registry.d.ts} +1 -1
  74. package/dist/registry.d.ts.map +1 -0
  75. package/dist/{src/registry.js → registry.js} +6 -13
  76. package/dist/registry.js.map +1 -0
  77. package/dist/resonate.d.ts +168 -0
  78. package/dist/resonate.d.ts.map +1 -0
  79. package/dist/resonate.js +475 -0
  80. package/dist/resonate.js.map +1 -0
  81. package/dist/retries.d.ts.map +1 -0
  82. package/dist/{src/retries.js → retries.js} +4 -11
  83. package/dist/retries.js.map +1 -0
  84. package/dist/schedules.d.ts +22 -0
  85. package/dist/schedules.d.ts.map +1 -0
  86. package/dist/schedules.js +65 -0
  87. package/dist/schedules.js.map +1 -0
  88. package/dist/trace.d.ts +79 -0
  89. package/dist/trace.d.ts.map +1 -0
  90. package/dist/trace.js +224 -0
  91. package/dist/trace.js.map +1 -0
  92. package/dist/types.d.ts +21 -0
  93. package/dist/types.d.ts.map +1 -0
  94. package/dist/types.js +2 -0
  95. package/dist/types.js.map +1 -0
  96. package/dist/util.d.ts +28 -0
  97. package/dist/util.d.ts.map +1 -0
  98. package/dist/util.js +196 -0
  99. package/dist/util.js.map +1 -0
  100. package/package.json +18 -10
  101. package/dist/dev/network.d.ts +0 -34
  102. package/dist/dev/network.d.ts.map +0 -1
  103. package/dist/dev/network.js +0 -115
  104. package/dist/dev/network.js.map +0 -1
  105. package/dist/dev/server.d.ts +0 -89
  106. package/dist/dev/server.d.ts.map +0 -1
  107. package/dist/dev/server.js +0 -890
  108. package/dist/dev/server.js.map +0 -1
  109. package/dist/sim/example-1.d.ts +0 -2
  110. package/dist/sim/example-1.d.ts.map +0 -1
  111. package/dist/sim/example-1.js +0 -95
  112. package/dist/sim/example-1.js.map +0 -1
  113. package/dist/sim/example-2.d.ts +0 -2
  114. package/dist/sim/example-2.d.ts.map +0 -1
  115. package/dist/sim/example-2.js +0 -97
  116. package/dist/sim/example-2.js.map +0 -1
  117. package/dist/sim/example-3.d.ts +0 -2
  118. package/dist/sim/example-3.d.ts.map +0 -1
  119. package/dist/sim/example-3.js +0 -97
  120. package/dist/sim/example-3.js.map +0 -1
  121. package/dist/sim/main.d.ts +0 -14
  122. package/dist/sim/main.d.ts.map +0 -1
  123. package/dist/sim/main.js +0 -207
  124. package/dist/sim/main.js.map +0 -1
  125. package/dist/sim/src/server.d.ts +0 -15
  126. package/dist/sim/src/server.d.ts.map +0 -1
  127. package/dist/sim/src/server.js +0 -85
  128. package/dist/sim/src/server.js.map +0 -1
  129. package/dist/sim/src/simulator.d.ts +0 -65
  130. package/dist/sim/src/simulator.d.ts.map +0 -1
  131. package/dist/sim/src/simulator.js +0 -236
  132. package/dist/sim/src/simulator.js.map +0 -1
  133. package/dist/sim/src/worker.d.ts +0 -23
  134. package/dist/sim/src/worker.d.ts.map +0 -1
  135. package/dist/sim/src/worker.js +0 -217
  136. package/dist/sim/src/worker.js.map +0 -1
  137. package/dist/src/clock.d.ts.map +0 -1
  138. package/dist/src/clock.js +0 -17
  139. package/dist/src/clock.js.map +0 -1
  140. package/dist/src/computation.d.ts +0 -49
  141. package/dist/src/computation.d.ts.map +0 -1
  142. package/dist/src/computation.js +0 -314
  143. package/dist/src/computation.js.map +0 -1
  144. package/dist/src/context.d.ts.map +0 -1
  145. package/dist/src/context.js.map +0 -1
  146. package/dist/src/core.d.ts +0 -12
  147. package/dist/src/core.d.ts.map +0 -1
  148. package/dist/src/core.js +0 -28
  149. package/dist/src/core.js.map +0 -1
  150. package/dist/src/coroutine.d.ts +0 -42
  151. package/dist/src/coroutine.d.ts.map +0 -1
  152. package/dist/src/coroutine.js +0 -364
  153. package/dist/src/coroutine.js.map +0 -1
  154. package/dist/src/decorator.d.ts.map +0 -1
  155. package/dist/src/decorator.js +0 -220
  156. package/dist/src/decorator.js.map +0 -1
  157. package/dist/src/encoder.d.ts +0 -12
  158. package/dist/src/encoder.d.ts.map +0 -1
  159. package/dist/src/encoder.js +0 -101
  160. package/dist/src/encoder.js.map +0 -1
  161. package/dist/src/encryptor.d.ts +0 -10
  162. package/dist/src/encryptor.d.ts.map +0 -1
  163. package/dist/src/encryptor.js +0 -13
  164. package/dist/src/encryptor.js.map +0 -1
  165. package/dist/src/exceptions.d.ts.map +0 -1
  166. package/dist/src/exceptions.js.map +0 -1
  167. package/dist/src/handler.d.ts +0 -49
  168. package/dist/src/handler.d.ts.map +0 -1
  169. package/dist/src/handler.js +0 -316
  170. package/dist/src/handler.js.map +0 -1
  171. package/dist/src/heartbeat.d.ts.map +0 -1
  172. package/dist/src/heartbeat.js +0 -87
  173. package/dist/src/heartbeat.js.map +0 -1
  174. package/dist/src/index.d.ts +0 -15
  175. package/dist/src/index.d.ts.map +0 -1
  176. package/dist/src/index.js +0 -61
  177. package/dist/src/index.js.map +0 -1
  178. package/dist/src/network/network.d.ts +0 -254
  179. package/dist/src/network/network.d.ts.map +0 -1
  180. package/dist/src/network/network.js +0 -4
  181. package/dist/src/network/network.js.map +0 -1
  182. package/dist/src/network/remote.d.ts +0 -85
  183. package/dist/src/network/remote.d.ts.map +0 -1
  184. package/dist/src/network/remote.js +0 -523
  185. package/dist/src/network/remote.js.map +0 -1
  186. package/dist/src/nursery.d.ts +0 -19
  187. package/dist/src/nursery.d.ts.map +0 -1
  188. package/dist/src/nursery.js +0 -102
  189. package/dist/src/nursery.js.map +0 -1
  190. package/dist/src/options.d.ts.map +0 -1
  191. package/dist/src/options.js +0 -70
  192. package/dist/src/options.js.map +0 -1
  193. package/dist/src/processor/processor.d.ts +0 -12
  194. package/dist/src/processor/processor.d.ts.map +0 -1
  195. package/dist/src/processor/processor.js +0 -43
  196. package/dist/src/processor/processor.js.map +0 -1
  197. package/dist/src/promises.d.ts +0 -54
  198. package/dist/src/promises.d.ts.map +0 -1
  199. package/dist/src/promises.js +0 -169
  200. package/dist/src/promises.js.map +0 -1
  201. package/dist/src/registry.d.ts.map +0 -1
  202. package/dist/src/registry.js.map +0 -1
  203. package/dist/src/resonate-inner.d.ts +0 -60
  204. package/dist/src/resonate-inner.d.ts.map +0 -1
  205. package/dist/src/resonate-inner.js +0 -97
  206. package/dist/src/resonate-inner.js.map +0 -1
  207. package/dist/src/resonate.d.ts +0 -341
  208. package/dist/src/resonate.d.ts.map +0 -1
  209. package/dist/src/resonate.js +0 -591
  210. package/dist/src/resonate.js.map +0 -1
  211. package/dist/src/retries.d.ts.map +0 -1
  212. package/dist/src/retries.js.map +0 -1
  213. package/dist/src/schedules.d.ts +0 -19
  214. package/dist/src/schedules.d.ts.map +0 -1
  215. package/dist/src/schedules.js +0 -85
  216. package/dist/src/schedules.js.map +0 -1
  217. package/dist/src/tasks.d.ts +0 -9
  218. package/dist/src/tasks.d.ts.map +0 -1
  219. package/dist/src/tasks.js +0 -61
  220. package/dist/src/tasks.js.map +0 -1
  221. package/dist/src/tracer.d.ts +0 -23
  222. package/dist/src/tracer.d.ts.map +0 -1
  223. package/dist/src/tracer.js +0 -25
  224. package/dist/src/tracer.js.map +0 -1
  225. package/dist/src/types.d.ts +0 -28
  226. package/dist/src/types.d.ts.map +0 -1
  227. package/dist/src/types.js +0 -11
  228. package/dist/src/types.js.map +0 -1
  229. package/dist/src/util.d.ts +0 -20
  230. package/dist/src/util.d.ts.map +0 -1
  231. package/dist/src/util.js +0 -120
  232. package/dist/src/util.js.map +0 -1
  233. package/dist/tsconfig.build.tsbuildinfo +0 -1
  234. /package/dist/{src/clock.d.ts → clock.d.ts} +0 -0
  235. /package/dist/{src/retries.d.ts → retries.d.ts} +0 -0
@@ -1,19 +1,19 @@
1
- import type { Clock } from "./clock";
2
- import { type ResonateError } from "./exceptions";
3
- import type { CreatePromiseReq } from "./network/network";
4
- import type { Options, OptionsBuilder } from "./options";
5
- import type { Registry } from "./registry";
6
- import { type RetryPolicy } from "./retries";
7
- import type { Span } from "./tracer";
8
- import type { Func, ParamsWithOptions, Result, Return } from "./types";
1
+ import type { Clock } from "./clock.js";
2
+ import { type ResonateError } from "./exceptions.js";
3
+ import type { PromiseCreateReq } from "./network/types.js";
4
+ import type { Options, OptionsBuilder } from "./options.js";
5
+ import type { Registry } from "./registry.js";
6
+ import { type RetryPolicy } from "./retries.js";
7
+ import type { Func, ParamsWithOptions, Result, Return } from "./types.js";
9
8
  export declare class LFI<T> implements Iterable<LFI<T>> {
10
9
  id: string;
11
10
  func: Func;
12
11
  args: any[];
13
12
  version: number;
14
13
  retryPolicy: RetryPolicy;
15
- createReq: CreatePromiseReq<any>;
16
- constructor(id: string, func: Func, args: any[], version: number, retryPolicy: RetryPolicy, createReq: CreatePromiseReq<any>);
14
+ nonRetryableErrors: Array<new (...args: any[]) => Error>;
15
+ createReq: PromiseCreateReq;
16
+ constructor(id: string, func: Func, args: any[], version: number, retryPolicy: RetryPolicy, createReq: PromiseCreateReq, nonRetryableErrors?: Array<new (...args: any[]) => Error>);
17
17
  [Symbol.iterator](): Generator<LFI<T>, Future<T>, any>;
18
18
  }
19
19
  export declare class LFC<T> implements Iterable<LFC<T>> {
@@ -22,26 +22,27 @@ export declare class LFC<T> implements Iterable<LFC<T>> {
22
22
  args: any[];
23
23
  version: number;
24
24
  retryPolicy: RetryPolicy;
25
- createReq: CreatePromiseReq;
26
- constructor(id: string, func: Func, args: any[], version: number, retryPolicy: RetryPolicy, createReq: CreatePromiseReq);
25
+ nonRetryableErrors: Array<new (...args: any[]) => Error>;
26
+ createReq: PromiseCreateReq;
27
+ constructor(id: string, func: Func, args: any[], version: number, retryPolicy: RetryPolicy, createReq: PromiseCreateReq, nonRetryableErrors?: Array<new (...args: any[]) => Error>);
27
28
  [Symbol.iterator](): Generator<LFC<T>, T, any>;
28
29
  }
29
30
  export declare class RFI<T> implements Iterable<RFI<T>> {
30
31
  id: string;
31
32
  func: string;
32
33
  version: number;
33
- createReq: CreatePromiseReq;
34
+ createReq: PromiseCreateReq;
34
35
  mode: "attached" | "detached";
35
- constructor(id: string, func: string, version: number, createReq: CreatePromiseReq, mode?: "attached" | "detached");
36
+ constructor(id: string, func: string, version: number, createReq: PromiseCreateReq, mode?: "attached" | "detached");
36
37
  [Symbol.iterator](): Generator<RFI<T>, Future<T>, any>;
37
38
  }
38
39
  export declare class RFC<T> implements Iterable<RFC<T>> {
39
40
  id: string;
40
41
  func: string;
41
42
  version: number;
42
- createReq: CreatePromiseReq;
43
+ createReq: PromiseCreateReq;
43
44
  mode: "attached";
44
- constructor(id: string, func: string, version: number, createReq: CreatePromiseReq);
45
+ constructor(id: string, func: string, version: number, createReq: PromiseCreateReq);
45
46
  [Symbol.iterator](): Generator<RFC<T>, T, any>;
46
47
  }
47
48
  export declare class DIE implements Iterable<DIE> {
@@ -52,17 +53,20 @@ export declare class DIE implements Iterable<DIE> {
52
53
  }
53
54
  export declare class Future<T> implements Iterable<Future<T>> {
54
55
  id: string;
55
- private readonly value?;
56
- readonly state: "pending" | "completed";
56
+ private _value?;
57
+ private _state;
57
58
  private mode;
58
- constructor(id: string, state: "pending" | "completed", value?: Result<T>, mode?: "attached" | "detached");
59
+ constructor(id: string, state: "pending" | "completed", value?: Result<T, any>, mode?: "attached" | "detached");
60
+ get state(): "pending" | "completed";
61
+ get value(): Result<T, any> | undefined;
59
62
  getValue(): T;
60
- [Symbol.iterator](): Generator<Future<T>, T, undefined>;
63
+ [Symbol.iterator](): Generator<Future<T>, T, any>;
61
64
  }
62
65
  export interface Context {
63
66
  readonly id: string;
67
+ readonly originId: string;
64
68
  readonly parentId: string;
65
- readonly rootId: string;
69
+ readonly branchId: string;
66
70
  readonly info: {
67
71
  readonly attempt: number;
68
72
  readonly timeout: number;
@@ -96,16 +100,17 @@ export interface Context {
96
100
  until?: Date;
97
101
  }): RFC<void>;
98
102
  promise<T>(): RFI<T>;
99
- promise<T>({ id, timeout, data, tags, }: {
100
- id?: string;
103
+ promise<T>({ timeout, data, tags }: {
101
104
  timeout?: number;
102
105
  data?: any;
103
- tags?: Record<string, string>;
106
+ tags?: {
107
+ [key: string]: string;
108
+ };
104
109
  }): RFI<T>;
105
110
  panic(condition: boolean, msg?: string): DIE;
106
111
  assert(condition: boolean, msg?: string): DIE;
107
112
  getDependency<T = any>(key: string): T | undefined;
108
- options(opts?: Partial<Options>): Options;
113
+ options(opts?: Partial<Omit<Options, "id">>): Options;
109
114
  date: ResonateDate;
110
115
  math: ResonateMath;
111
116
  }
@@ -124,10 +129,11 @@ export declare class InnerContext implements Context {
124
129
  };
125
130
  readonly func: string;
126
131
  readonly retryPolicy: RetryPolicy;
127
- readonly rootId: string;
132
+ readonly nonRetryableErrors: Array<new (...args: any[]) => Error>;
133
+ readonly originId: string;
134
+ readonly branchId: string;
128
135
  readonly parentId: string;
129
136
  readonly clock: Clock;
130
- readonly span: Span;
131
137
  private registry;
132
138
  private dependencies;
133
139
  private optsBuilder;
@@ -148,9 +154,10 @@ export declare class InnerContext implements Context {
148
154
  <F extends Func>(func: F, ...args: ParamsWithOptions<F>): RFI<Return<F>>;
149
155
  <T>(func: string, ...args: any[]): RFI<T>;
150
156
  };
151
- constructor({ id, rId, pId, func, clock, registry, dependencies, optsBuilder, timeout, version, retryPolicy, span, }: {
157
+ constructor({ id, oId, bId, pId, func, clock, registry, dependencies, optsBuilder, timeout, version, retryPolicy, nonRetryableErrors, }: {
152
158
  id: string;
153
- rId?: string;
159
+ oId?: string;
160
+ bId?: string;
154
161
  pId?: string;
155
162
  func: string;
156
163
  clock: Clock;
@@ -160,15 +167,15 @@ export declare class InnerContext implements Context {
160
167
  timeout: number;
161
168
  version: number;
162
169
  retryPolicy: RetryPolicy;
163
- span: Span;
170
+ nonRetryableErrors?: Array<new (...args: any[]) => Error>;
164
171
  });
165
- child({ id, func, timeout, version, retryPolicy, span, }: {
172
+ child({ id, func, timeout, version, retryPolicy, nonRetryableErrors, }: {
166
173
  id: string;
167
174
  func: string;
168
175
  timeout: number;
169
176
  version: number;
170
177
  retryPolicy: RetryPolicy;
171
- span: Span;
178
+ nonRetryableErrors?: Array<new (...args: any[]) => Error>;
172
179
  }): InnerContext;
173
180
  lfi<F extends Func>(func: F, ...args: ParamsWithOptions<F>): LFI<Return<F>>;
174
181
  lfi<T>(func: string, ...args: any[]): LFI<T>;
@@ -180,11 +187,12 @@ export declare class InnerContext implements Context {
180
187
  rfc<T>(func: string, ...args: any[]): RFC<T>;
181
188
  detached<F extends Func>(func: F, ...args: ParamsWithOptions<F>): RFI<Return<F>>;
182
189
  detached<T>(func: string, ...args: any[]): RFI<T>;
183
- promise<T>({ id, timeout, data, tags, }?: {
184
- id?: string;
190
+ promise<T>({ timeout, data, tags }?: {
185
191
  timeout?: number;
186
192
  data?: any;
187
- tags?: Record<string, string>;
193
+ tags?: {
194
+ [key: string]: string;
195
+ };
188
196
  }): RFI<T>;
189
197
  sleep(msOrOpts: number | {
190
198
  for?: number;
@@ -193,17 +201,39 @@ export declare class InnerContext implements Context {
193
201
  panic(condition: boolean, msg?: string): DIE;
194
202
  assert(condition: boolean, msg?: string): DIE;
195
203
  getDependency<T = any>(name: string): T | undefined;
196
- options(opts?: Partial<Pick<Options, "id" | "tags" | "target" | "timeout" | "version" | "retryPolicy">>): Options;
204
+ options(opts?: Partial<Pick<Options, "tags" | "target" | "timeout" | "version" | "retryPolicy" | "nonRetryableErrors">>): Options;
197
205
  readonly date: {
198
206
  now: () => LFC<number>;
199
207
  };
200
208
  readonly math: {
201
209
  random: () => LFC<number>;
202
210
  };
203
- localCreateReq(id: string, data: any, opts: Options): CreatePromiseReq;
204
- remoteCreateReq(id: string, data: any, opts: Options, maxTimeout?: number): CreatePromiseReq;
205
- latentCreateOpts(id: string, timeout?: number, data?: any, tags?: Record<string, string>): CreatePromiseReq;
206
- sleepCreateOpts(id: string, time: number): CreatePromiseReq;
211
+ localCreateReq({ id, data, opts, breaksLineage, }: {
212
+ id: string;
213
+ data: any;
214
+ opts: Options;
215
+ breaksLineage: boolean;
216
+ }): PromiseCreateReq;
217
+ remoteCreateReq({ id, data, opts, breaksLineage, maxTimeout, }: {
218
+ id: string;
219
+ data: any;
220
+ opts: Options;
221
+ breaksLineage: boolean;
222
+ maxTimeout?: number;
223
+ }): PromiseCreateReq;
224
+ latentCreateOpts({ id, timeout, data, tags, breaksLineage, }: {
225
+ id: string;
226
+ timeout?: number;
227
+ data: any;
228
+ tags?: {
229
+ [key: string]: string;
230
+ };
231
+ breaksLineage: boolean;
232
+ }): PromiseCreateReq;
233
+ sleepCreateOpts({ id, time }: {
234
+ id: string;
235
+ time: number;
236
+ }): PromiseCreateReq;
207
237
  seqid(): string;
208
238
  }
209
239
  //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}