@resonatehq/sdk 0.6.2 → 0.7.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 (202) hide show
  1. package/README.md +24 -45
  2. package/dist/dev/network.d.ts +16 -0
  3. package/dist/dev/network.d.ts.map +1 -0
  4. package/dist/dev/network.js +89 -0
  5. package/dist/dev/network.js.map +1 -0
  6. package/dist/dev/server.d.ts +87 -0
  7. package/dist/dev/server.d.ts.map +1 -0
  8. package/dist/dev/server.js +891 -0
  9. package/dist/dev/server.js.map +1 -0
  10. package/dist/sim/example-1.d.ts +2 -0
  11. package/dist/sim/example-1.d.ts.map +1 -0
  12. package/dist/sim/example-1.js +94 -0
  13. package/dist/sim/example-1.js.map +1 -0
  14. package/dist/sim/example-2.d.ts +2 -0
  15. package/dist/sim/example-2.d.ts.map +1 -0
  16. package/dist/sim/example-2.js +95 -0
  17. package/dist/sim/example-2.js.map +1 -0
  18. package/dist/sim/example-3.d.ts +2 -0
  19. package/dist/sim/example-3.d.ts.map +1 -0
  20. package/dist/sim/example-3.js +95 -0
  21. package/dist/sim/example-3.js.map +1 -0
  22. package/dist/sim/main.d.ts +14 -0
  23. package/dist/sim/main.d.ts.map +1 -0
  24. package/dist/sim/main.js +206 -0
  25. package/dist/sim/main.js.map +1 -0
  26. package/dist/sim/src/server.d.ts +15 -0
  27. package/dist/sim/src/server.d.ts.map +1 -0
  28. package/dist/sim/src/server.js +85 -0
  29. package/dist/sim/src/server.js.map +1 -0
  30. package/dist/sim/src/simulator.d.ts +65 -0
  31. package/dist/sim/src/simulator.d.ts.map +1 -0
  32. package/dist/sim/src/simulator.js +235 -0
  33. package/dist/sim/src/simulator.js.map +1 -0
  34. package/dist/sim/src/worker.d.ts +22 -0
  35. package/dist/sim/src/worker.d.ts.map +1 -0
  36. package/dist/sim/src/worker.js +175 -0
  37. package/dist/sim/src/worker.js.map +1 -0
  38. package/dist/src/clock.d.ts +11 -0
  39. package/dist/src/clock.d.ts.map +1 -0
  40. package/dist/src/clock.js +17 -0
  41. package/dist/src/clock.js.map +1 -0
  42. package/dist/src/computation.d.ts +40 -0
  43. package/dist/src/computation.d.ts.map +1 -0
  44. package/dist/src/computation.js +225 -0
  45. package/dist/src/computation.js.map +1 -0
  46. package/dist/src/context.d.ts +120 -0
  47. package/dist/src/context.d.ts.map +1 -0
  48. package/dist/src/context.js +288 -0
  49. package/dist/src/context.js.map +1 -0
  50. package/dist/src/coroutine.d.ts +35 -0
  51. package/dist/src/coroutine.d.ts.map +1 -0
  52. package/dist/src/coroutine.js +251 -0
  53. package/dist/src/coroutine.js.map +1 -0
  54. package/dist/src/decorator.d.ts +14 -0
  55. package/dist/src/decorator.d.ts.map +1 -0
  56. package/dist/src/decorator.js +208 -0
  57. package/dist/src/decorator.js.map +1 -0
  58. package/dist/src/handler.d.ts +40 -0
  59. package/dist/src/handler.d.ts.map +1 -0
  60. package/dist/src/handler.js +198 -0
  61. package/dist/src/handler.js.map +1 -0
  62. package/dist/src/heartbeat.d.ts +22 -0
  63. package/dist/src/heartbeat.d.ts.map +1 -0
  64. package/dist/src/heartbeat.js +87 -0
  65. package/dist/src/heartbeat.js.map +1 -0
  66. package/dist/src/index.d.ts +8 -0
  67. package/dist/src/index.d.ts.map +1 -0
  68. package/dist/src/index.js +25 -0
  69. package/dist/src/index.js.map +1 -0
  70. package/dist/src/network/network.d.ts +216 -0
  71. package/dist/src/network/network.d.ts.map +1 -0
  72. package/dist/{core/logger.js → src/network/network.js} +2 -1
  73. package/dist/src/network/network.js.map +1 -0
  74. package/dist/src/network/remote.d.ts +67 -0
  75. package/dist/src/network/remote.d.ts.map +1 -0
  76. package/dist/src/network/remote.js +514 -0
  77. package/dist/src/network/remote.js.map +1 -0
  78. package/dist/src/nursery.d.ts +19 -0
  79. package/dist/src/nursery.d.ts.map +1 -0
  80. package/dist/src/nursery.js +102 -0
  81. package/dist/src/nursery.js.map +1 -0
  82. package/dist/src/processor/processor.d.ts +11 -0
  83. package/dist/src/processor/processor.d.ts.map +1 -0
  84. package/dist/src/processor/processor.js +24 -0
  85. package/dist/src/processor/processor.js.map +1 -0
  86. package/dist/src/promises.d.ts +23 -0
  87. package/dist/src/promises.d.ts.map +1 -0
  88. package/dist/src/promises.js +157 -0
  89. package/dist/src/promises.js.map +1 -0
  90. package/dist/src/registry.d.ts +15 -0
  91. package/dist/src/registry.d.ts.map +1 -0
  92. package/dist/src/registry.js +26 -0
  93. package/dist/src/registry.js.map +1 -0
  94. package/dist/src/resonate-inner.d.ts +45 -0
  95. package/dist/src/resonate-inner.d.ts.map +1 -0
  96. package/dist/src/resonate-inner.js +157 -0
  97. package/dist/src/resonate-inner.js.map +1 -0
  98. package/dist/src/resonate.d.ts +92 -0
  99. package/dist/src/resonate.d.ts.map +1 -0
  100. package/dist/src/resonate.js +240 -0
  101. package/dist/src/resonate.js.map +1 -0
  102. package/dist/src/schedules.d.ts +9 -0
  103. package/dist/src/schedules.d.ts.map +1 -0
  104. package/dist/src/schedules.js +65 -0
  105. package/dist/src/schedules.js.map +1 -0
  106. package/dist/src/tasks.d.ts +9 -0
  107. package/dist/src/tasks.d.ts.map +1 -0
  108. package/dist/src/tasks.js +61 -0
  109. package/dist/src/tasks.js.map +1 -0
  110. package/dist/src/types.d.ts +86 -0
  111. package/dist/src/types.d.ts.map +1 -0
  112. package/dist/src/types.js +14 -0
  113. package/dist/src/types.js.map +1 -0
  114. package/dist/src/util.d.ts +14 -0
  115. package/dist/src/util.d.ts.map +1 -0
  116. package/dist/src/util.js +69 -0
  117. package/dist/src/util.js.map +1 -0
  118. package/dist/tsconfig.build.tsbuildinfo +1 -0
  119. package/package.json +51 -52
  120. package/dist/core/encoder.d.ts +0 -5
  121. package/dist/core/encoder.d.ts.map +0 -1
  122. package/dist/core/encoder.js +0 -3
  123. package/dist/core/encoder.js.map +0 -1
  124. package/dist/core/encoders/base64.d.ts +0 -6
  125. package/dist/core/encoders/base64.d.ts.map +0 -1
  126. package/dist/core/encoders/base64.js +0 -13
  127. package/dist/core/encoders/base64.js.map +0 -1
  128. package/dist/core/encoders/json.d.ts +0 -6
  129. package/dist/core/encoders/json.d.ts.map +0 -1
  130. package/dist/core/encoders/json.js +0 -77
  131. package/dist/core/encoders/json.js.map +0 -1
  132. package/dist/core/errors.d.ts +0 -24
  133. package/dist/core/errors.d.ts.map +0 -1
  134. package/dist/core/errors.js +0 -42
  135. package/dist/core/errors.js.map +0 -1
  136. package/dist/core/logger.d.ts +0 -10
  137. package/dist/core/logger.d.ts.map +0 -1
  138. package/dist/core/logger.js.map +0 -1
  139. package/dist/core/loggers/logger.d.ts +0 -13
  140. package/dist/core/loggers/logger.d.ts.map +0 -1
  141. package/dist/core/loggers/logger.js +0 -48
  142. package/dist/core/loggers/logger.js.map +0 -1
  143. package/dist/core/options.d.ts +0 -160
  144. package/dist/core/options.d.ts.map +0 -1
  145. package/dist/core/options.js +0 -18
  146. package/dist/core/options.js.map +0 -1
  147. package/dist/core/promises/promises.d.ts +0 -210
  148. package/dist/core/promises/promises.d.ts.map +0 -1
  149. package/dist/core/promises/promises.js +0 -300
  150. package/dist/core/promises/promises.js.map +0 -1
  151. package/dist/core/promises/types.d.ts +0 -26
  152. package/dist/core/promises/types.d.ts.map +0 -1
  153. package/dist/core/promises/types.js +0 -37
  154. package/dist/core/promises/types.js.map +0 -1
  155. package/dist/core/retry.d.ts +0 -37
  156. package/dist/core/retry.d.ts.map +0 -1
  157. package/dist/core/retry.js +0 -141
  158. package/dist/core/retry.js.map +0 -1
  159. package/dist/core/schedules/schedules.d.ts +0 -22
  160. package/dist/core/schedules/schedules.d.ts.map +0 -1
  161. package/dist/core/schedules/schedules.js +0 -29
  162. package/dist/core/schedules/schedules.js.map +0 -1
  163. package/dist/core/schedules/types.d.ts +0 -19
  164. package/dist/core/schedules/types.d.ts.map +0 -1
  165. package/dist/core/schedules/types.js +0 -8
  166. package/dist/core/schedules/types.js.map +0 -1
  167. package/dist/core/storage.d.ts +0 -6
  168. package/dist/core/storage.d.ts.map +0 -1
  169. package/dist/core/storage.js +0 -3
  170. package/dist/core/storage.js.map +0 -1
  171. package/dist/core/storages/memory.d.ts +0 -8
  172. package/dist/core/storages/memory.d.ts.map +0 -1
  173. package/dist/core/storages/memory.js +0 -29
  174. package/dist/core/storages/memory.js.map +0 -1
  175. package/dist/core/storages/withTimeout.d.ts +0 -10
  176. package/dist/core/storages/withTimeout.d.ts.map +0 -1
  177. package/dist/core/storages/withTimeout.js +0 -44
  178. package/dist/core/storages/withTimeout.js.map +0 -1
  179. package/dist/core/store.d.ts +0 -142
  180. package/dist/core/store.d.ts.map +0 -1
  181. package/dist/core/store.js +0 -3
  182. package/dist/core/store.js.map +0 -1
  183. package/dist/core/stores/local.d.ts +0 -57
  184. package/dist/core/stores/local.d.ts.map +0 -1
  185. package/dist/core/stores/local.js +0 -405
  186. package/dist/core/stores/local.js.map +0 -1
  187. package/dist/core/stores/remote.d.ts +0 -51
  188. package/dist/core/stores/remote.d.ts.map +0 -1
  189. package/dist/core/stores/remote.js +0 -431
  190. package/dist/core/stores/remote.js.map +0 -1
  191. package/dist/core/utils.d.ts +0 -85
  192. package/dist/core/utils.d.ts.map +0 -1
  193. package/dist/core/utils.js +0 -121
  194. package/dist/core/utils.js.map +0 -1
  195. package/dist/index.d.ts +0 -19
  196. package/dist/index.d.ts.map +0 -1
  197. package/dist/index.js +0 -57
  198. package/dist/index.js.map +0 -1
  199. package/dist/resonate.d.ts +0 -312
  200. package/dist/resonate.d.ts.map +0 -1
  201. package/dist/resonate.js +0 -718
  202. package/dist/resonate.js.map +0 -1
@@ -1,405 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.LocalLockStore = exports.LocalScheduleStore = exports.LocalPromiseStore = exports.LocalStore = void 0;
27
- const cronParser = __importStar(require("cron-parser"));
28
- const errors_1 = require("../errors");
29
- const logger_1 = require("../loggers/logger");
30
- const types_1 = require("../promises/types");
31
- const memory_1 = require("../storages/memory");
32
- const withTimeout_1 = require("../storages/withTimeout");
33
- class LocalStore {
34
- promises;
35
- schedules;
36
- locks;
37
- logger;
38
- toSchedule = [];
39
- next = undefined;
40
- constructor(opts = {}, promiseStorage = new withTimeout_1.WithTimeout(new memory_1.MemoryStorage()), scheduleStorage = new memory_1.MemoryStorage(), lockStorage = new memory_1.MemoryStorage()) {
41
- this.promises = new LocalPromiseStore(this, promiseStorage);
42
- this.schedules = new LocalScheduleStore(this, scheduleStorage);
43
- this.locks = new LocalLockStore(this, lockStorage);
44
- this.logger = opts.logger ?? new logger_1.Logger();
45
- this.init();
46
- }
47
- // handler the schedule store can call
48
- addSchedule(schedule) {
49
- this.toSchedule = this.toSchedule.filter((s) => s.id != schedule.id).concat(schedule);
50
- this.setSchedule();
51
- }
52
- // handler the schedule store can call
53
- deleteSchedule(id) {
54
- this.toSchedule = this.toSchedule.filter((s) => s.id != id);
55
- this.setSchedule();
56
- }
57
- async init() {
58
- for await (const schedules of this.schedules.search("*")) {
59
- this.toSchedule = this.toSchedule.concat(schedules);
60
- }
61
- this.setSchedule();
62
- }
63
- setSchedule() {
64
- // clear timeout
65
- clearTimeout(this.next);
66
- // sort array in ascending order by nextRunTime
67
- this.toSchedule.sort((a, b) => a.nextRunTime - b.nextRunTime);
68
- if (this.toSchedule.length > 0) {
69
- // set new timeout to schedule promise
70
- // + converts to number
71
- this.next = +setTimeout(() => this.schedulePromise(), this.toSchedule[0].nextRunTime - Date.now());
72
- }
73
- }
74
- schedulePromise() {
75
- this.next = undefined;
76
- const schedule = this.toSchedule.shift();
77
- if (schedule) {
78
- const id = this.generatePromiseId(schedule);
79
- // create promise
80
- try {
81
- this.promises.create(id, id, false, schedule.promiseParam?.headers, schedule.promiseParam?.data, Date.now() + schedule.promiseTimeout, { ...schedule.promiseTags, "resonate:schedule": schedule.id, "resonate:invocation": "true" });
82
- }
83
- catch (error) {
84
- this.logger.warn("error creating scheduled promise", error);
85
- }
86
- // update schedule
87
- try {
88
- this.schedules.update(schedule.id, schedule.nextRunTime);
89
- }
90
- catch (error) {
91
- this.logger.warn("error updating schedule", error);
92
- }
93
- }
94
- }
95
- generatePromiseId(schedule) {
96
- return schedule.promiseId
97
- .replace("{{.id}}", schedule.id)
98
- .replace("{{.timestamp}}", schedule.nextRunTime.toString());
99
- }
100
- }
101
- exports.LocalStore = LocalStore;
102
- class LocalPromiseStore {
103
- store;
104
- storage;
105
- constructor(store, storage) {
106
- this.store = store;
107
- this.storage = storage;
108
- }
109
- async create(id, ikey, strict, headers, data, timeout, tags) {
110
- return this.storage.rmw(id, (promise) => {
111
- if (!promise) {
112
- return {
113
- state: "PENDING",
114
- id: id,
115
- timeout: timeout,
116
- param: {
117
- headers: headers,
118
- data: data,
119
- },
120
- value: {
121
- headers: undefined,
122
- data: undefined,
123
- },
124
- createdOn: Date.now(),
125
- completedOn: undefined,
126
- idempotencyKeyForCreate: ikey,
127
- idempotencyKeyForComplete: undefined,
128
- tags: tags,
129
- };
130
- }
131
- if (strict && !(0, types_1.isPendingPromise)(promise)) {
132
- throw new errors_1.ResonateError("Forbidden request: Durable promise previously created", errors_1.ErrorCodes.STORE_FORBIDDEN);
133
- }
134
- if (promise.idempotencyKeyForCreate === undefined || ikey !== promise.idempotencyKeyForCreate) {
135
- throw new errors_1.ResonateError("Forbidden request: Missing idempotency key for create", errors_1.ErrorCodes.STORE_FORBIDDEN);
136
- }
137
- return promise;
138
- });
139
- }
140
- async resolve(id, ikey, strict, headers, data) {
141
- return this.storage.rmw(id, (promise) => {
142
- if (!promise) {
143
- throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
144
- }
145
- if ((0, types_1.isPendingPromise)(promise)) {
146
- return {
147
- state: "RESOLVED",
148
- id: promise.id,
149
- timeout: promise.timeout,
150
- param: promise.param,
151
- value: {
152
- headers: headers,
153
- data: data,
154
- },
155
- createdOn: promise.createdOn,
156
- completedOn: Date.now(),
157
- idempotencyKeyForCreate: promise.idempotencyKeyForCreate,
158
- idempotencyKeyForComplete: ikey,
159
- tags: promise.tags,
160
- };
161
- }
162
- if (strict && !(0, types_1.isResolvedPromise)(promise)) {
163
- throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
164
- }
165
- if (!(0, types_1.isTimedoutPromise)(promise) &&
166
- (promise.idempotencyKeyForComplete === undefined || ikey !== promise.idempotencyKeyForComplete)) {
167
- throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
168
- }
169
- return promise;
170
- });
171
- }
172
- async reject(id, ikey, strict, headers, data) {
173
- return this.storage.rmw(id, (promise) => {
174
- if (!promise) {
175
- throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
176
- }
177
- if ((0, types_1.isPendingPromise)(promise)) {
178
- return {
179
- state: "REJECTED",
180
- id: promise.id,
181
- timeout: promise.timeout,
182
- param: promise.param,
183
- value: {
184
- headers: headers,
185
- data: data,
186
- },
187
- createdOn: promise.createdOn,
188
- completedOn: Date.now(),
189
- idempotencyKeyForCreate: promise.idempotencyKeyForCreate,
190
- idempotencyKeyForComplete: ikey,
191
- tags: promise.tags,
192
- };
193
- }
194
- if (strict && !(0, types_1.isRejectedPromise)(promise)) {
195
- throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
196
- }
197
- if (!(0, types_1.isTimedoutPromise)(promise) &&
198
- (promise.idempotencyKeyForComplete === undefined || ikey !== promise.idempotencyKeyForComplete)) {
199
- throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
200
- }
201
- return promise;
202
- });
203
- }
204
- async cancel(id, ikey, strict, headers, data) {
205
- return this.storage.rmw(id, (promise) => {
206
- if (!promise) {
207
- throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
208
- }
209
- if ((0, types_1.isPendingPromise)(promise)) {
210
- return {
211
- state: "REJECTED_CANCELED",
212
- id: promise.id,
213
- timeout: promise.timeout,
214
- param: promise.param,
215
- value: {
216
- headers: headers,
217
- data: data,
218
- },
219
- createdOn: promise.createdOn,
220
- completedOn: Date.now(),
221
- idempotencyKeyForCreate: promise.idempotencyKeyForCreate,
222
- idempotencyKeyForComplete: ikey,
223
- tags: promise.tags,
224
- };
225
- }
226
- if (strict && !(0, types_1.isCanceledPromise)(promise)) {
227
- throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
228
- }
229
- if (!(0, types_1.isTimedoutPromise)(promise) &&
230
- (promise.idempotencyKeyForComplete === undefined || ikey !== promise.idempotencyKeyForComplete)) {
231
- throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
232
- }
233
- return promise;
234
- });
235
- }
236
- async get(id) {
237
- const promise = await this.storage.rmw(id, (p) => p);
238
- if (!promise) {
239
- throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
240
- }
241
- return promise;
242
- }
243
- async *search(id, state, tags, limit) {
244
- // filter the promises returned from all storage
245
- const regex = new RegExp(id.replaceAll("*", ".*"));
246
- const states = searchStates(state);
247
- const tagEntries = Object.entries(tags ?? {});
248
- for await (const promises of this.storage.all()) {
249
- yield promises
250
- .filter((p) => states.includes(p.state))
251
- .filter((p) => regex.test(p.id))
252
- .filter((p) => tagEntries.every(([k, v]) => p.tags?.[k] == v));
253
- }
254
- }
255
- }
256
- exports.LocalPromiseStore = LocalPromiseStore;
257
- class LocalScheduleStore {
258
- store;
259
- storage;
260
- constructor(store, storage) {
261
- this.store = store;
262
- this.storage = storage;
263
- }
264
- async create(id, ikey, description, cron, tags, promiseId, promiseTimeout, promiseHeaders, promiseData, promiseTags) {
265
- const schedule = await this.storage.rmw(id, (schedule) => {
266
- if (schedule) {
267
- if (schedule.idempotencyKey === undefined || ikey != schedule.idempotencyKey) {
268
- throw new errors_1.ResonateError("Already exists", errors_1.ErrorCodes.STORE_ALREADY_EXISTS);
269
- }
270
- return schedule;
271
- }
272
- const createdOn = Date.now();
273
- let nextRunTime;
274
- try {
275
- nextRunTime = this.nextRunTime(cron, createdOn);
276
- }
277
- catch (error) {
278
- throw errors_1.ResonateError.fromError(error);
279
- }
280
- return {
281
- id,
282
- description,
283
- cron,
284
- tags,
285
- promiseId,
286
- promiseTimeout,
287
- promiseParam: {
288
- headers: promiseHeaders,
289
- data: promiseData,
290
- },
291
- promiseTags,
292
- lastRunTime: undefined,
293
- nextRunTime: nextRunTime,
294
- idempotencyKey: ikey,
295
- createdOn: createdOn,
296
- };
297
- });
298
- if (this.store) {
299
- this.store.addSchedule(schedule);
300
- }
301
- return schedule;
302
- }
303
- async update(id, lastRunTime) {
304
- const schedule = await this.storage.rmw(id, (schedule) => {
305
- if (!schedule) {
306
- throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
307
- }
308
- // update iff not already updated
309
- if (schedule.nextRunTime === lastRunTime) {
310
- let nextRunTime;
311
- try {
312
- nextRunTime = this.nextRunTime(schedule.cron, lastRunTime);
313
- }
314
- catch (error) {
315
- throw errors_1.ResonateError.fromError(error);
316
- }
317
- schedule.lastRunTime = lastRunTime;
318
- schedule.nextRunTime = nextRunTime;
319
- }
320
- return schedule;
321
- });
322
- if (this.store) {
323
- this.store.addSchedule(schedule);
324
- }
325
- return schedule;
326
- }
327
- async delete(id) {
328
- const result = await this.storage.rmd(id, () => true);
329
- if (!result) {
330
- throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
331
- }
332
- if (this.store) {
333
- this.store.deleteSchedule(id);
334
- }
335
- }
336
- async get(id) {
337
- const schedule = await this.storage.rmw(id, (s) => s);
338
- if (!schedule) {
339
- throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
340
- }
341
- return schedule;
342
- }
343
- async *search(id, tags, limit) {
344
- // filter the schedules returned from storage
345
- const regex = new RegExp(id.replaceAll("*", ".*"));
346
- const tagEntries = Object.entries(tags ?? {});
347
- for await (const schedules of this.storage.all()) {
348
- yield schedules.filter((s) => regex.test(s.id)).filter((s) => tagEntries.every(([k, v]) => s.tags?.[k] == v));
349
- }
350
- }
351
- nextRunTime(cron, lastRunTime) {
352
- return cronParser
353
- .parseExpression(cron, { currentDate: new Date(lastRunTime) })
354
- .next()
355
- .getTime();
356
- }
357
- }
358
- exports.LocalScheduleStore = LocalScheduleStore;
359
- class LocalLockStore {
360
- store;
361
- storage;
362
- constructor(store, storage) {
363
- this.store = store;
364
- this.storage = storage;
365
- }
366
- async tryAcquire(id, eid) {
367
- const lock = await this.storage.rmw(id, (lock) => {
368
- if (!lock || lock.eid === eid) {
369
- return {
370
- id,
371
- eid,
372
- };
373
- }
374
- return lock;
375
- });
376
- if (lock.eid !== eid) {
377
- throw new errors_1.ResonateError("Forbidden request", errors_1.ErrorCodes.STORE_FORBIDDEN);
378
- }
379
- return true;
380
- }
381
- async release(id, eid) {
382
- const result = await this.storage.rmd(id, (lock) => lock.eid === eid);
383
- if (!result) {
384
- throw new errors_1.ResonateError("Not found", errors_1.ErrorCodes.STORE_NOT_FOUND);
385
- }
386
- return true;
387
- }
388
- }
389
- exports.LocalLockStore = LocalLockStore;
390
- // Utils
391
- function searchStates(state) {
392
- if (state?.toLowerCase() == "pending") {
393
- return ["PENDING"];
394
- }
395
- else if (state?.toLowerCase() == "resolved") {
396
- return ["RESOLVED"];
397
- }
398
- else if (state?.toLowerCase() == "rejected") {
399
- return ["REJECTED", "REJECTED_CANCELED", "REJECTED_TIMEDOUT"];
400
- }
401
- else {
402
- return ["PENDING", "RESOLVED", "REJECTED", "REJECTED_CANCELED", "REJECTED_TIMEDOUT"];
403
- }
404
- }
405
- //# sourceMappingURL=local.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../lib/core/stores/local.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- /// <reference types="node" />
2
- import { IEncoder } from "../encoder";
3
- import { ILogger } from "../logger";
4
- import { StoreOptions } from "../options";
5
- import { DurablePromiseRecord } from "../promises/types";
6
- import { Schedule } from "../schedules/types";
7
- import { IStore, IPromiseStore, IScheduleStore, ILockStore } from "../store";
8
- export declare class RemoteStore implements IStore {
9
- readonly url: string;
10
- private readonly headers;
11
- readonly promises: RemotePromiseStore;
12
- readonly schedules: RemoteScheduleStore;
13
- readonly locks: RemoteLockStore;
14
- readonly encoder: IEncoder<string, string>;
15
- readonly heartbeat: number;
16
- readonly logger: ILogger;
17
- readonly pid: string;
18
- readonly retries: number;
19
- constructor(url: string, opts?: Partial<StoreOptions>);
20
- call<T>(path: string, guard: (b: unknown) => b is T, options: RequestInit): Promise<T>;
21
- }
22
- export declare class RemotePromiseStore implements IPromiseStore {
23
- private store;
24
- constructor(store: RemoteStore);
25
- create(id: string, ikey: string | undefined, strict: boolean, headers: Record<string, string> | undefined, data: string | undefined, timeout: number, tags: Record<string, string> | undefined): Promise<DurablePromiseRecord>;
26
- cancel(id: string, ikey: string | undefined, strict: boolean, headers: Record<string, string> | undefined, data: string | undefined): Promise<DurablePromiseRecord>;
27
- resolve(id: string, ikey: string | undefined, strict: boolean, headers: Record<string, string> | undefined, data: string | undefined): Promise<DurablePromiseRecord>;
28
- reject(id: string, ikey: string | undefined, strict: boolean, headers: Record<string, string> | undefined, data: string | undefined): Promise<DurablePromiseRecord>;
29
- get(id: string): Promise<DurablePromiseRecord>;
30
- search(id: string, state: string | undefined, tags: Record<string, string> | undefined, limit: number | undefined): AsyncGenerator<DurablePromiseRecord[], void>;
31
- }
32
- export declare class RemoteScheduleStore implements IScheduleStore {
33
- private store;
34
- constructor(store: RemoteStore);
35
- create(id: string, ikey: string | undefined, description: string | undefined, cron: string, tags: Record<string, string> | undefined, promiseId: string, promiseTimeout: number, promiseHeaders: Record<string, string> | undefined, promiseData: string | undefined, promiseTags: Record<string, string> | undefined): Promise<Schedule>;
36
- get(id: string): Promise<Schedule>;
37
- delete(id: string): Promise<void>;
38
- search(id: string, tags: Record<string, string> | undefined, limit: number | undefined): AsyncGenerator<Schedule[], void>;
39
- }
40
- export declare class RemoteLockStore implements ILockStore {
41
- private store;
42
- private heartbeatInterval;
43
- private locksHeld;
44
- constructor(store: RemoteStore);
45
- tryAcquire(resourceId: string, executionId: string, expiry?: number): Promise<boolean>;
46
- release(resourceId: string, executionId: string): Promise<boolean>;
47
- private startHeartbeat;
48
- private stopHeartbeat;
49
- private heartbeat;
50
- }
51
- //# sourceMappingURL=remote.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../../lib/core/stores/remote.ts"],"names":[],"mappings":"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"}