@resonatehq/sdk 0.10.2 → 0.11.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 (71) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +60 -0
  3. package/dist/async/context.d.ts +270 -0
  4. package/dist/async/context.d.ts.map +1 -0
  5. package/dist/async/context.js +598 -0
  6. package/dist/async/context.js.map +1 -0
  7. package/dist/async/core.d.ts +61 -0
  8. package/dist/async/core.d.ts.map +1 -0
  9. package/dist/async/core.js +239 -0
  10. package/dist/async/core.js.map +1 -0
  11. package/dist/async/index.d.ts +4 -0
  12. package/dist/async/index.d.ts.map +1 -0
  13. package/dist/async/index.js +12 -0
  14. package/dist/async/index.js.map +1 -0
  15. package/dist/async/resonate.d.ts +98 -0
  16. package/dist/async/resonate.d.ts.map +1 -0
  17. package/dist/async/resonate.js +387 -0
  18. package/dist/async/resonate.js.map +1 -0
  19. package/dist/computation.d.ts.map +1 -1
  20. package/dist/computation.js +4 -0
  21. package/dist/computation.js.map +1 -1
  22. package/dist/context.d.ts +43 -1
  23. package/dist/context.d.ts.map +1 -1
  24. package/dist/context.js +34 -4
  25. package/dist/context.js.map +1 -1
  26. package/dist/core.d.ts +1 -1
  27. package/dist/core.d.ts.map +1 -1
  28. package/dist/core.js +8 -2
  29. package/dist/core.js.map +1 -1
  30. package/dist/coroutine.d.ts.map +1 -1
  31. package/dist/coroutine.js +1 -1
  32. package/dist/coroutine.js.map +1 -1
  33. package/dist/heartbeat.d.ts.map +1 -1
  34. package/dist/heartbeat.js +1 -1
  35. package/dist/heartbeat.js.map +1 -1
  36. package/dist/index.d.ts +2 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +2 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/network/http.d.ts +0 -20
  41. package/dist/network/http.d.ts.map +1 -1
  42. package/dist/network/http.js +5 -99
  43. package/dist/network/http.js.map +1 -1
  44. package/dist/network/local.js +1 -1
  45. package/dist/network/local.js.map +1 -1
  46. package/dist/network/nats.d.ts +59 -0
  47. package/dist/network/nats.d.ts.map +1 -0
  48. package/dist/network/nats.js +272 -0
  49. package/dist/network/nats.js.map +1 -0
  50. package/dist/platform.d.ts +4 -0
  51. package/dist/platform.d.ts.map +1 -0
  52. package/dist/platform.js +24 -0
  53. package/dist/platform.js.map +1 -0
  54. package/dist/promises.d.ts.map +1 -1
  55. package/dist/promises.js +1 -1
  56. package/dist/promises.js.map +1 -1
  57. package/dist/resonate.d.ts.map +1 -1
  58. package/dist/resonate.js +20 -9
  59. package/dist/resonate.js.map +1 -1
  60. package/dist/schedules.d.ts.map +1 -1
  61. package/dist/schedules.js +1 -1
  62. package/dist/schedules.js.map +1 -1
  63. package/dist/trace.d.ts +11 -0
  64. package/dist/trace.d.ts.map +1 -1
  65. package/dist/trace.js +22 -0
  66. package/dist/trace.js.map +1 -1
  67. package/dist/util.d.ts +1 -1
  68. package/dist/util.d.ts.map +1 -1
  69. package/dist/util.js +7 -3
  70. package/dist/util.js.map +1 -1
  71. package/package.json +22 -1
@@ -0,0 +1,387 @@
1
+ import { WallClock } from "../clock.js";
2
+ import { Codec } from "../codec.js";
3
+ import { NoopEncryptor } from "../encryptor.js";
4
+ import exceptions, { ResonateTimeoutException } from "../exceptions.js";
5
+ import { AsyncHeartbeat, NoopHeartbeat } from "../heartbeat.js";
6
+ import { ConsoleLogger } from "../logger.js";
7
+ import { HttpNetwork, PollMessageSource } from "../network/http.js";
8
+ import { LocalNetwork } from "../network/local.js";
9
+ import { isConflict, isSuccess, } from "../network/types.js";
10
+ import { OptionsBuilder } from "../options.js";
11
+ import { delay, getEnv, randomUUID } from "../platform.js";
12
+ import { Promises } from "../promises.js";
13
+ import { Registry } from "../registry.js";
14
+ import { Schedules } from "../schedules.js";
15
+ import * as util from "../util.js";
16
+ import { AsyncCore } from "./core.js";
17
+ /**
18
+ * Opt-in entry point for the async/await execution engine. Lives alongside the
19
+ * generator-based `Resonate` and reuses the same network/codec/registry/task
20
+ * plumbing, routing execution through {@link AsyncCore}.
21
+ */
22
+ export class AsyncResonate {
23
+ clock;
24
+ pid;
25
+ ttl;
26
+ idPrefix;
27
+ core;
28
+ codec;
29
+ network;
30
+ send;
31
+ logger;
32
+ registry;
33
+ heartbeat;
34
+ dependencies;
35
+ optsBuilder;
36
+ subscriptions = new Map();
37
+ subscribeEvery;
38
+ intervalId;
39
+ promises;
40
+ schedules;
41
+ constructor({ url = undefined, group = "default", pid = undefined, ttl = 1 * util.MIN, token = undefined, timeout = undefined, verbose = false, logLevel = undefined, logger = undefined, encryptor = undefined, network = undefined, prefix = undefined, } = {}) {
42
+ this.clock = new WallClock();
43
+ this.ttl = ttl;
44
+ this.codec = new Codec(encryptor ?? new NoopEncryptor());
45
+ const resolvedPrefix = prefix ?? getEnv("RESONATE_PREFIX");
46
+ this.idPrefix = resolvedPrefix ? `${resolvedPrefix}:` : "";
47
+ const resolvedLogLevel = logLevel ?? (verbose ? "debug" : "warn");
48
+ this.logger = logger ?? new ConsoleLogger(resolvedLogLevel);
49
+ this.subscribeEvery = util.MIN;
50
+ const resolvedUrl = url ?? (getEnv("RESONATE_URL") || undefined);
51
+ this.pid = pid ?? randomUUID().replace(/-/g, "");
52
+ let heartbeat;
53
+ if (network) {
54
+ this.network = network;
55
+ heartbeat = true;
56
+ }
57
+ else if (resolvedUrl) {
58
+ const adapter = new PollMessageSource({
59
+ url: `${resolvedUrl}/poll/${encodeURIComponent(group)}/${encodeURIComponent(this.pid)}`,
60
+ token,
61
+ logger: this.logger,
62
+ });
63
+ this.network = new HttpNetwork({
64
+ url: resolvedUrl,
65
+ token,
66
+ timeout,
67
+ headers: {},
68
+ adapter,
69
+ logger: this.logger,
70
+ });
71
+ heartbeat = true;
72
+ }
73
+ else {
74
+ this.network = new LocalNetwork({ pid: this.pid, group });
75
+ heartbeat = false;
76
+ }
77
+ this.send = this.network.send;
78
+ if (heartbeat) {
79
+ this.heartbeat = new AsyncHeartbeat(this.pid, ttl / 2, this.send, this.logger);
80
+ }
81
+ else {
82
+ this.heartbeat = new NoopHeartbeat();
83
+ }
84
+ this.registry = new Registry();
85
+ this.dependencies = new Map();
86
+ this.optsBuilder = new OptionsBuilder({ match: this.network.match.bind(this.network), idPrefix: this.idPrefix });
87
+ this.core = new AsyncCore({
88
+ pid: this.pid,
89
+ ttl: this.ttl,
90
+ clock: this.clock,
91
+ send: this.send,
92
+ codec: this.codec,
93
+ registry: this.registry,
94
+ heartbeat: this.heartbeat,
95
+ dependencies: this.dependencies,
96
+ optsBuilder: this.optsBuilder,
97
+ logger: this.logger,
98
+ });
99
+ this.promises = new Promises(this.send);
100
+ this.schedules = new Schedules(this.send);
101
+ this.network.recv(this.onMessage.bind(this));
102
+ this.network.init().catch((err) => {
103
+ this.logger.error({ component: "async-resonate", error: err instanceof Error ? err.message : String(err) }, "Failed to start network");
104
+ });
105
+ this.intervalId = setInterval(async () => {
106
+ for (const [id, sub] of this.subscriptions.entries()) {
107
+ try {
108
+ const res = await this.promiseRegisterListener({
109
+ kind: "promise.register_listener",
110
+ head: { corrId: randomUUID(), version: util.VERSION },
111
+ data: { awaited: id, address: this.network.unicast },
112
+ });
113
+ if (res.state !== "pending") {
114
+ sub.resolve(res);
115
+ this.subscriptions.delete(id);
116
+ }
117
+ }
118
+ catch (err) {
119
+ this.logger.warn({ component: "async-resonate", error: err instanceof Error ? err.message : String(err) }, "subscription poll failed");
120
+ }
121
+ }
122
+ }, this.subscribeEvery);
123
+ }
124
+ register(nameOrFunc, funcOrOptions, maybeOptions = {}) {
125
+ const { version = 1 } = (typeof funcOrOptions === "object" ? funcOrOptions : maybeOptions) ?? {};
126
+ const func = (typeof nameOrFunc === "function" ? nameOrFunc : funcOrOptions);
127
+ const name = typeof nameOrFunc === "string" ? nameOrFunc : func.name;
128
+ this.registry.add(func, name, version);
129
+ // Re-flatten the split: spreading the [args, opts] tuple itself would pass
130
+ // the args array as a single argument to the function.
131
+ return {
132
+ run: (id, ...args) => {
133
+ const [argu, opts] = this.getArgsAndOpts(args, version);
134
+ return this.run(id, func, ...argu, opts);
135
+ },
136
+ rpc: (id, ...args) => {
137
+ const [argu, opts] = this.getArgsAndOpts(args, version);
138
+ return this.rpc(id, func, ...argu, opts);
139
+ },
140
+ options: this.options,
141
+ };
142
+ }
143
+ async run(id, funcOrName, ...argsWithOpts) {
144
+ const [args, opts] = this.getArgsAndOpts(argsWithOpts);
145
+ const registered = this.registry.get(funcOrName, opts.version);
146
+ if (!registered) {
147
+ throw exceptions.REGISTRY_FUNCTION_NOT_REGISTERED(typeof funcOrName === "string" ? funcOrName : funcOrName.name, opts.version);
148
+ }
149
+ id = `${this.idPrefix}${id}`;
150
+ util.assert(registered.version > 0, "function version must be greater than zero");
151
+ const { promise, task } = await this.taskCreate({
152
+ kind: "task.create",
153
+ head: { corrId: randomUUID(), version: util.VERSION },
154
+ data: {
155
+ pid: this.pid,
156
+ ttl: this.ttl,
157
+ action: {
158
+ kind: "promise.create",
159
+ head: { corrId: randomUUID(), version: util.VERSION },
160
+ data: {
161
+ id,
162
+ timeoutAt: Date.now() + opts.timeout,
163
+ param: {
164
+ data: { func: registered.name, args, retry: opts.retryPolicy?.encode(), version: registered.version },
165
+ headers: {},
166
+ },
167
+ tags: {
168
+ ...opts.tags,
169
+ "resonate:origin": id,
170
+ // A genuine top-level root is its own lineage origin AND its own
171
+ // id-generation prefix; the prefix then propagates down unchanged.
172
+ "resonate:prefix": id,
173
+ "resonate:branch": id,
174
+ "resonate:parent": id,
175
+ "resonate:scope": "global",
176
+ "resonate:target": this.network.anycast,
177
+ },
178
+ },
179
+ },
180
+ },
181
+ });
182
+ if (task && task.state === "acquired") {
183
+ this.core
184
+ .executeUntilBlocked(task, promise)
185
+ .catch((err) => this.logger.warn({ component: "async-resonate", error: err instanceof Error ? err.message : String(err) }, "executeUntilBlocked failed"));
186
+ }
187
+ return this.createHandle(promise);
188
+ }
189
+ async rpc(id, funcOrName, ...argsWithOpts) {
190
+ const [args, opts] = this.getArgsAndOpts(argsWithOpts);
191
+ const registered = this.registry.get(funcOrName, opts.version);
192
+ if (typeof funcOrName === "function" && !registered) {
193
+ throw exceptions.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version);
194
+ }
195
+ id = `${this.idPrefix}${id}`;
196
+ const func = registered ? registered.name : funcOrName;
197
+ const version = registered ? registered.version : opts.version || 1;
198
+ const promise = await this.promiseCreate({
199
+ kind: "promise.create",
200
+ head: { corrId: randomUUID(), version: util.VERSION },
201
+ data: {
202
+ id,
203
+ timeoutAt: Date.now() + opts.timeout,
204
+ param: { data: { func, args, retry: opts.retryPolicy?.encode(), version }, headers: {} },
205
+ tags: {
206
+ ...opts.tags,
207
+ "resonate:origin": id,
208
+ // A genuine top-level root is its own lineage origin AND its own
209
+ // id-generation prefix; the prefix then propagates down unchanged.
210
+ "resonate:prefix": id,
211
+ "resonate:branch": id,
212
+ "resonate:parent": id,
213
+ "resonate:scope": "global",
214
+ "resonate:target": opts.target,
215
+ },
216
+ },
217
+ });
218
+ return this.createHandle(promise);
219
+ }
220
+ async schedule(name, cron, funcOrName, ...argsWithOpts) {
221
+ const [args, opts] = this.getArgsAndOpts(argsWithOpts);
222
+ const registered = this.registry.get(funcOrName, opts.version);
223
+ if (typeof funcOrName === "function" && !registered) {
224
+ throw exceptions.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version);
225
+ }
226
+ const { headers, data } = this.codec.encode({
227
+ func: registered ? registered.name : funcOrName,
228
+ args,
229
+ version: registered ? registered.version : opts.version || 1,
230
+ });
231
+ await this.schedules.create(name, cron, `${this.idPrefix}{{.id}}.{{.timestamp}}`, opts.timeout, {
232
+ promiseHeaders: headers,
233
+ promiseData: data,
234
+ promiseTags: { ...opts.tags, "resonate:target": opts.target },
235
+ });
236
+ return {
237
+ delete: () => this.schedules.delete(name),
238
+ };
239
+ }
240
+ /** Returns a handle to an existing durable promise by id. */
241
+ async get(id) {
242
+ id = `${this.idPrefix}${id}`;
243
+ const promise = await this.promiseGet({
244
+ kind: "promise.get",
245
+ head: { corrId: randomUUID(), version: util.VERSION },
246
+ data: { id },
247
+ });
248
+ return this.createHandle(promise);
249
+ }
250
+ options(opts = {}) {
251
+ return this.optsBuilder.build(opts);
252
+ }
253
+ setDependency(name, obj) {
254
+ this.dependencies.set(name, obj);
255
+ }
256
+ async stop() {
257
+ await this.network.stop();
258
+ this.heartbeat.stop();
259
+ clearInterval(this.intervalId);
260
+ }
261
+ getArgsAndOpts(args, version) {
262
+ return util.splitArgsAndOpts(args, this.options({ version }));
263
+ }
264
+ async taskCreate(req) {
265
+ req.data.action.data.param = this.codec.encode(req.data.action.data.param.data);
266
+ const res = await this.send(req);
267
+ if (!isSuccess(res) && !isConflict(res)) {
268
+ throw exceptions.SERVER_ERROR(res.data, true, { code: res.head.status, message: res.data });
269
+ }
270
+ if (isConflict(res)) {
271
+ const promise = await this.promiseRegisterListener({
272
+ kind: "promise.register_listener",
273
+ head: { corrId: randomUUID(), version: util.VERSION },
274
+ data: { awaited: req.data.action.data.id, address: this.network.unicast },
275
+ });
276
+ return { promise, task: undefined };
277
+ }
278
+ const promise = this.codec.decodePromise(res.data.promise);
279
+ return { promise, task: res.data.task };
280
+ }
281
+ async promiseCreate(req) {
282
+ req.data.param = this.codec.encode(req.data.param.data);
283
+ const res = await this.send(req);
284
+ if (!isSuccess(res)) {
285
+ throw exceptions.SERVER_ERROR(res.data, true, { code: res.head.status, message: res.data });
286
+ }
287
+ return this.codec.decodePromise(res.data.promise);
288
+ }
289
+ async promiseRegisterListener(req) {
290
+ const retryDelay = 5 * util.SEC;
291
+ while (true) {
292
+ try {
293
+ const res = await this.send(req);
294
+ if (!isSuccess(res)) {
295
+ await delay(retryDelay);
296
+ continue;
297
+ }
298
+ return this.codec.decodePromise(res.data.promise);
299
+ }
300
+ catch (e) {
301
+ if (e instanceof ResonateTimeoutException) {
302
+ await delay(retryDelay);
303
+ continue;
304
+ }
305
+ throw e;
306
+ }
307
+ }
308
+ }
309
+ async promiseGet(req) {
310
+ const res = await this.send(req);
311
+ if (!isSuccess(res)) {
312
+ throw exceptions.SERVER_ERROR(res.data, true, { code: res.head.status, message: res.data });
313
+ }
314
+ return this.codec.decodePromise(res.data.promise);
315
+ }
316
+ createHandle(promise) {
317
+ const registerListenerReq = {
318
+ kind: "promise.register_listener",
319
+ head: { corrId: randomUUID(), version: util.VERSION },
320
+ data: { awaited: promise.id, address: this.network.unicast },
321
+ };
322
+ return {
323
+ id: promise.id,
324
+ done: () => this.promiseRegisterListener(registerListenerReq).then((res) => res.state !== "pending"),
325
+ result: () => this.promiseRegisterListener(registerListenerReq).then((res) => this.subscribe(promise.id, res)),
326
+ };
327
+ }
328
+ onMessage(msg) {
329
+ if (msg.kind === "execute") {
330
+ this.core
331
+ .onMessage(msg)
332
+ .catch((err) => this.logger.warn({ component: "async-resonate", error: err instanceof Error ? err.message : String(err) }, "onMessage failed"));
333
+ return;
334
+ }
335
+ util.assert(msg.kind === "unblock");
336
+ try {
337
+ const decoded = this.codec.decodePromise(msg.data.promise);
338
+ this.notify(msg.data.promise.id, undefined, decoded);
339
+ }
340
+ catch {
341
+ this.notify(msg.data.promise.id, new Error("Failed to decode promise"));
342
+ }
343
+ }
344
+ async subscribe(id, res) {
345
+ const { promise, resolve, reject } = this.subscriptions.get(id) ?? Promise.withResolvers();
346
+ if (res.state === "pending") {
347
+ this.subscriptions.set(id, { promise, resolve, reject, timeout: res.timeoutAt });
348
+ }
349
+ else {
350
+ resolve(res);
351
+ this.subscriptions.delete(id);
352
+ }
353
+ const p = await promise;
354
+ util.assert(p.state !== "pending", "promise must be completed");
355
+ if (p.state === "resolved") {
356
+ return p.value?.data;
357
+ }
358
+ if (p.state === "rejected") {
359
+ throw p.value?.data;
360
+ }
361
+ if (p.state === "rejected_canceled") {
362
+ throw new Error("Promise canceled");
363
+ }
364
+ if (p.state === "rejected_timedout") {
365
+ throw new Error("Promise timedout");
366
+ }
367
+ }
368
+ notify(id, err, res) {
369
+ let subscription = this.subscriptions.get(id);
370
+ if (!subscription) {
371
+ const { promise, resolve, reject } = Promise.withResolvers();
372
+ subscription = { promise, resolve, reject, timeout: res ? res.timeoutAt : 100000000 };
373
+ this.subscriptions.set(id, subscription);
374
+ }
375
+ else {
376
+ this.subscriptions.delete(id);
377
+ }
378
+ if (res) {
379
+ util.assert(res.state !== "pending", "promise must be completed");
380
+ subscription.resolve(res);
381
+ }
382
+ else {
383
+ subscription.reject(err);
384
+ }
385
+ }
386
+ }
387
+ //# sourceMappingURL=resonate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resonate.js","sourceRoot":"","sources":["../../src/async/resonate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"computation.d.ts","sourceRoot":"","sources":["../src/computation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,KAAK,KAAK,EAAkB,MAAM,YAAY,CAAC;AAExD,OAAO,KAAK,EAAE,OAAO,EAAQ,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEtC,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC;IAC/B,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AASF,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,UAAU,CAAS;gBAGzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAC5C,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,WAAW,EAAE,cAAc,EAC3B,MAAM,EAAE,MAAM;IAaH,mBAAmB,CAAC,WAAW,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;YAW/D,eAAe;YAqDf,gBAAgB;YAwChB,eAAe;CAoB9B"}
1
+ {"version":3,"file":"computation.d.ts","sourceRoot":"","sources":["../src/computation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,KAAK,KAAK,EAAkB,MAAM,YAAY,CAAC;AAExD,OAAO,KAAK,EAAE,OAAO,EAAQ,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAEtC,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC;IAC/B,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AASF,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,UAAU,CAAS;gBAGzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAC5C,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,WAAW,EAAE,cAAc,EAC3B,MAAM,EAAE,MAAM;IAaH,mBAAmB,CAAC,WAAW,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;YAW/D,eAAe;YAyDf,gBAAgB;YAwChB,eAAe;CAoB9B"}
@@ -64,6 +64,10 @@ export class Computation {
64
64
  const ctxConfig = {
65
65
  id: this.id,
66
66
  oId: rootPromise.tags["resonate:origin"] ?? this.id,
67
+ // The id-generation prefix, propagated unchanged across re-roots (a
68
+ // detached child resets origin to its own id but carries prefix forward),
69
+ // so recursive detached ids stay bounded. Falls back to the id like oId.
70
+ prId: rootPromise.tags["resonate:prefix"] ?? this.id,
67
71
  func: registered.func.name,
68
72
  clock: this.clock,
69
73
  registry: this.registry,
@@ -1 +1 @@
1
- {"version":3,"file":"computation.js","sourceRoot":"","sources":["../src/computation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"computation.js","sourceRoot":"","sources":["../src/computation.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -65,6 +65,7 @@ export declare class Future<T> implements Iterable<Future<T>> {
65
65
  export interface Context {
66
66
  readonly id: string;
67
67
  readonly originId: string;
68
+ readonly prefixId: string;
68
69
  readonly parentId: string;
69
70
  readonly branchId: string;
70
71
  readonly info: {
@@ -131,6 +132,7 @@ export declare class InnerContext implements Context {
131
132
  readonly retryPolicy: RetryPolicy;
132
133
  readonly nonRetryableErrors: Array<new (...args: any[]) => Error>;
133
134
  readonly originId: string;
135
+ readonly prefixId: string;
134
136
  readonly branchId: string;
135
137
  readonly parentId: string;
136
138
  readonly clock: Clock;
@@ -154,9 +156,10 @@ export declare class InnerContext implements Context {
154
156
  <F extends Func>(func: F, ...args: ParamsWithOptions<F>): RFI<Return<F>>;
155
157
  <T>(func: string, ...args: any[]): RFI<T>;
156
158
  };
157
- constructor({ id, oId, bId, pId, func, clock, registry, dependencies, optsBuilder, timeout, version, retryPolicy, nonRetryableErrors, }: {
159
+ constructor({ id, oId, prId, bId, pId, func, clock, registry, dependencies, optsBuilder, timeout, version, retryPolicy, nonRetryableErrors, }: {
158
160
  id: string;
159
161
  oId?: string;
162
+ prId?: string;
160
163
  bId?: string;
161
164
  pId?: string;
162
165
  func: string;
@@ -185,6 +188,45 @@ export declare class InnerContext implements Context {
185
188
  rfi<T>(func: string, ...args: any[]): RFI<T>;
186
189
  rfc<F extends Func>(func: F, ...args: ParamsWithOptions<F>): RFC<Return<F>>;
187
190
  rfc<T>(func: string, ...args: any[]): RFC<T>;
191
+ /**
192
+ * Spawns a workflow as a fresh root promise — independent execution lifecycle
193
+ * and independent replay scope (lineage break, new originId).
194
+ *
195
+ * Unlike `ctx.run` / `ctx.rpc`, the spawned workflow is not a child of the
196
+ * current invocation. It survives parent completion and replays in its own
197
+ * isolated scope.
198
+ *
199
+ * Use when:
200
+ * - Cross-service fire-and-forget where the parent does not wait for the result.
201
+ * - Background tasks that should outlive the parent invocation.
202
+ * - Bounded replay scope for long-running or forever-loop workflows: re-rooting
203
+ * per logical unit of work caps the history each replay must walk.
204
+ *
205
+ * @example
206
+ * Forever-loop pattern — recursive tail call from inside the per-iteration function:
207
+ * ```ts
208
+ * // Each invocation plays exactly one game, then spawns the next as a fresh
209
+ * // root and returns. Replay scope is bounded to one game forever.
210
+ * function* playGame(ctx: Context, n: number) {
211
+ * // ...play one game (ctx.run, ctx.sleep, etc.)...
212
+ * yield* ctx.detached(playGame, n + 1); // last yield, then return
213
+ * }
214
+ * ```
215
+ *
216
+ * The split must happen *inside* the per-iteration function. A parent loop
217
+ * that calls `ctx.detached` repeatedly — `for (;;) yield* ctx.detached(work, n)`
218
+ * — still records each call in the parent's history via its sequence counter,
219
+ * reproducing the bug on the parent.
220
+ *
221
+ * Without this split, a forever loop in a single durable invocation
222
+ * accumulates child promises on every iteration. On cold-start, each replay
223
+ * re-walks the full history. Once replay duration exceeds the acquired-task
224
+ * lease, the server reassigns the task mid-execution (error code 1199) and
225
+ * cadence collapses.
226
+ *
227
+ * @returns An {@link RFI} handle. Optionally `yield*` it to await completion;
228
+ * otherwise the spawned workflow runs independently of the caller.
229
+ */
188
230
  detached<F extends Func>(func: F, ...args: ParamsWithOptions<F>): RFI<Return<F>>;
189
231
  detached<T>(func: string, ...args: any[]): RFI<T>;
190
232
  promise<T>({ timeout, data, tags }?: {
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}