@resonatehq/sdk 0.9.5 → 0.10.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 (234) 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} +65 -40
  14. package/dist/context.d.ts.map +1 -0
  15. package/dist/{src/context.js → context.js} +131 -153
  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 +258 -0
  24. package/dist/coroutine.js.map +1 -0
  25. package/dist/{src/decorator.d.ts → decorator.d.ts} +8 -8
  26. package/dist/decorator.d.ts.map +1 -0
  27. package/dist/decorator.js +149 -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 +21 -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 +82 -0
  50. package/dist/network/http.d.ts.map +1 -0
  51. package/dist/network/http.js +339 -0
  52. package/dist/network/http.js.map +1 -0
  53. package/dist/network/local.d.ts +179 -0
  54. package/dist/network/local.d.ts.map +1 -0
  55. package/dist/network/local.js +1232 -0
  56. package/dist/network/local.js.map +1 -0
  57. package/dist/network/network.d.ts +16 -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 +1279 -0
  62. package/dist/network/types.d.ts.map +1 -0
  63. package/dist/network/types.js +919 -0
  64. package/dist/network/types.js.map +1 -0
  65. package/dist/{src/options.d.ts → options.d.ts} +10 -4
  66. package/dist/options.d.ts.map +1 -0
  67. package/dist/options.js +32 -0
  68. package/dist/options.js.map +1 -0
  69. package/dist/promises.d.ts +41 -0
  70. package/dist/promises.d.ts.map +1 -0
  71. package/dist/promises.js +113 -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 +488 -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/{src/util.d.ts → util.d.ts} +10 -6
  97. package/dist/util.d.ts.map +1 -0
  98. package/dist/util.js +156 -0
  99. package/dist/util.js.map +1 -0
  100. package/package.json +19 -11
  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 -12
  175. package/dist/src/index.d.ts.map +0 -1
  176. package/dist/src/index.js +0 -55
  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.map +0 -1
  230. package/dist/src/util.js +0 -120
  231. package/dist/src/util.js.map +0 -1
  232. package/dist/tsconfig.build.tsbuildinfo +0 -1
  233. /package/dist/{src/clock.d.ts → clock.d.ts} +0 -0
  234. /package/dist/{src/retries.d.ts → retries.d.ts} +0 -0
@@ -1,46 +1,8 @@
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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.InnerContext = exports.Future = exports.DIE = exports.RFC = exports.RFI = exports.LFC = exports.LFI = void 0;
40
- const exceptions_1 = __importDefault(require("./exceptions"));
41
- const retries_1 = require("./retries");
42
- const util = __importStar(require("./util"));
43
- class LFI {
1
+ import { randomUUID } from "node:crypto";
2
+ import exceptions from "./exceptions.js";
3
+ import { Exponential, Never } from "./retries.js";
4
+ import * as util from "./util.js";
5
+ export class LFI {
44
6
  id;
45
7
  func;
46
8
  args;
@@ -61,8 +23,7 @@ class LFI {
61
23
  return v;
62
24
  }
63
25
  }
64
- exports.LFI = LFI;
65
- class LFC {
26
+ export class LFC {
66
27
  id;
67
28
  func;
68
29
  args;
@@ -83,8 +44,7 @@ class LFC {
83
44
  return v;
84
45
  }
85
46
  }
86
- exports.LFC = LFC;
87
- class RFI {
47
+ export class RFI {
88
48
  id;
89
49
  func;
90
50
  version;
@@ -103,8 +63,7 @@ class RFI {
103
63
  return v;
104
64
  }
105
65
  }
106
- exports.RFI = RFI;
107
- class RFC {
66
+ export class RFC {
108
67
  id;
109
68
  func;
110
69
  version;
@@ -122,8 +81,7 @@ class RFC {
122
81
  return v;
123
82
  }
124
83
  }
125
- exports.RFC = RFC;
126
- class DIE {
84
+ export class DIE {
127
85
  condition;
128
86
  error;
129
87
  constructor(condition, error) {
@@ -135,44 +93,55 @@ class DIE {
135
93
  return;
136
94
  }
137
95
  }
138
- exports.DIE = DIE;
139
- class Future {
96
+ export class Future {
140
97
  id;
141
- value;
142
- state;
98
+ _value;
99
+ _state;
143
100
  mode;
144
101
  constructor(id, state, value, mode = "attached") {
145
102
  this.id = id;
146
- this.value = value;
147
- this.state = state;
103
+ this._value = value;
104
+ this._state = state;
148
105
  this.mode = mode;
149
106
  }
107
+ get state() {
108
+ return this._state;
109
+ }
110
+ get value() {
111
+ return this._value;
112
+ }
150
113
  getValue() {
151
- if (!this.value) {
114
+ if (!this._value) {
152
115
  throw new Error("Future is not ready");
153
116
  }
154
- if (this.value.success) {
155
- return this.value.value;
117
+ if (this._value.kind === "value") {
118
+ return this._value.value;
156
119
  }
157
- throw this.value.error; // Should be unreachble
120
+ throw this._value.error; // Should be unreachable
158
121
  }
159
122
  *[Symbol.iterator]() {
160
- yield this;
161
- util.assertDefined(this.value);
162
- util.assert(this.value.success, "The value must be and ok result at this point.");
163
- return this.getValue();
123
+ try {
124
+ const received = yield this;
125
+ this._value = { kind: "value", value: received };
126
+ this._state = "completed";
127
+ return received;
128
+ }
129
+ catch (e) {
130
+ this._value = { kind: "error", error: e };
131
+ this._state = "completed";
132
+ throw e;
133
+ }
164
134
  }
165
135
  }
166
- exports.Future = Future;
167
- class InnerContext {
136
+ export class InnerContext {
168
137
  id;
169
138
  info;
170
139
  func;
171
140
  retryPolicy;
172
- rootId;
141
+ originId;
142
+ branchId;
173
143
  parentId;
174
144
  clock;
175
- span;
176
145
  registry;
177
146
  dependencies;
178
147
  optsBuilder;
@@ -181,9 +150,10 @@ class InnerContext {
181
150
  rpc = this.rfc.bind(this);
182
151
  beginRun = this.lfi.bind(this);
183
152
  beginRpc = this.rfi.bind(this);
184
- constructor({ id, rId = id, pId = id, func, clock, registry, dependencies, optsBuilder, timeout, version, retryPolicy, span, }) {
153
+ constructor({ id, oId = id, bId = id, pId = id, func, clock, registry, dependencies, optsBuilder, timeout, version, retryPolicy, }) {
185
154
  this.id = id;
186
- this.rootId = rId;
155
+ this.originId = oId;
156
+ this.branchId = bId;
187
157
  this.parentId = pId;
188
158
  this.func = func;
189
159
  this.clock = clock;
@@ -191,17 +161,17 @@ class InnerContext {
191
161
  this.dependencies = dependencies;
192
162
  this.optsBuilder = optsBuilder;
193
163
  this.retryPolicy = retryPolicy;
194
- this.span = span;
195
164
  this.info = {
196
165
  attempt: 1,
197
166
  timeout,
198
167
  version,
199
168
  };
200
169
  }
201
- child({ id, func, timeout, version, retryPolicy, span, }) {
170
+ child({ id, func, timeout, version, retryPolicy, }) {
202
171
  return new InnerContext({
203
172
  id,
204
- rId: this.rootId,
173
+ oId: this.originId,
174
+ bId: this.branchId,
205
175
  pId: this.id,
206
176
  func,
207
177
  clock: this.clock,
@@ -211,7 +181,6 @@ class InnerContext {
211
181
  timeout,
212
182
  version,
213
183
  retryPolicy,
214
- span,
215
184
  });
216
185
  }
217
186
  lfi(funcOrName, ...args) {
@@ -222,13 +191,14 @@ class InnerContext {
222
191
  // yielded back to the users coroutine. However, the type
223
192
  // system indicates the value is void. Casting to LFI "tricks"
224
193
  // the type system to indicate the correct type.
225
- return new DIE(true, exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName, opts.version));
194
+ return new DIE(true, exceptions.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName, opts.version));
226
195
  }
227
- const id = opts.id ?? this.seqid();
196
+ const idChanged = opts.id !== undefined;
197
+ const id = idChanged ? opts.id : this.seqid();
228
198
  this.seq++;
229
199
  const func = registered ? registered.func : funcOrName;
230
200
  const version = registered ? registered.version : 1;
231
- return new LFI(id, func, argu, version, opts.retryPolicy ?? (util.isGeneratorFunction(func) ? new retries_1.Never() : new retries_1.Exponential()), this.localCreateReq(id, { func: func.name, version }, opts));
201
+ return new LFI(id, func, argu, version, opts.retryPolicy ?? (util.isGeneratorFunction(func) ? new Never() : new Exponential()), this.localCreateReq({ id, data: { func: func.name, version }, opts, breaksLineage: idChanged }));
232
202
  }
233
203
  lfc(funcOrName, ...args) {
234
204
  const [argu, opts] = util.splitArgsAndOpts(args, this.options());
@@ -238,13 +208,14 @@ class InnerContext {
238
208
  // yielded back to the users coroutine. However, the type
239
209
  // system indicates the value is void. Casting to LFC "tricks"
240
210
  // the type system to indicate the correct type.
241
- return new DIE(true, exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName, opts.version));
211
+ return new DIE(true, exceptions.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName, opts.version));
242
212
  }
243
- const id = opts.id ?? this.seqid();
213
+ const idChanged = opts.id !== undefined;
214
+ const id = idChanged ? opts.id : this.seqid();
244
215
  this.seq++;
245
216
  const func = registered ? registered.func : funcOrName;
246
217
  const version = registered ? registered.version : 1;
247
- return new LFC(id, func, argu, version, opts.retryPolicy ?? (util.isGeneratorFunction(func) ? new retries_1.Never() : new retries_1.Exponential()), this.localCreateReq(id, { func: func.name, version }, opts));
218
+ return new LFC(id, func, argu, version, opts.retryPolicy ?? (util.isGeneratorFunction(func) ? new Never() : new Exponential()), this.localCreateReq({ id, data: { func: func.name, version }, opts, breaksLineage: idChanged }));
248
219
  }
249
220
  rfi(funcOrName, ...args) {
250
221
  const [argu, opts] = util.splitArgsAndOpts(args, this.options());
@@ -254,9 +225,10 @@ class InnerContext {
254
225
  // yielded back to the users coroutine. However, the type
255
226
  // system indicates the value is void. Casting to RFI "tricks"
256
227
  // the type system to indicate the correct type.
257
- return new DIE(true, exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version));
228
+ return new DIE(true, exceptions.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version));
258
229
  }
259
- const id = opts.id ?? this.seqid();
230
+ const idChanged = opts.id !== undefined;
231
+ const id = idChanged ? opts.id : this.seqid();
260
232
  this.seq++;
261
233
  const func = registered ? registered.name : funcOrName;
262
234
  const version = registered ? registered.version : 1;
@@ -266,7 +238,7 @@ class InnerContext {
266
238
  retry: opts.retryPolicy?.encode(),
267
239
  version: registered ? registered.version : opts.version || 1,
268
240
  };
269
- return new RFI(id, func, version, this.remoteCreateReq(id, data, opts));
241
+ return new RFI(id, func, version, this.remoteCreateReq({ id, data, opts, breaksLineage: idChanged }));
270
242
  }
271
243
  rfc(funcOrName, ...args) {
272
244
  const [argu, opts] = util.splitArgsAndOpts(args, this.options());
@@ -276,9 +248,10 @@ class InnerContext {
276
248
  // yielded back to the users coroutine. However, the type
277
249
  // system indicates the value is void. Casting to RFC "tricks"
278
250
  // the type system to indicate the correct type.
279
- return new DIE(true, exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version));
251
+ return new DIE(true, exceptions.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version));
280
252
  }
281
- const id = opts.id ?? this.seqid();
253
+ const idChanged = opts.id !== undefined;
254
+ const id = idChanged ? opts.id : this.seqid();
282
255
  this.seq++;
283
256
  const func = registered ? registered.name : funcOrName;
284
257
  const version = registered ? registered.version : 1;
@@ -288,7 +261,7 @@ class InnerContext {
288
261
  retry: opts.retryPolicy?.encode(),
289
262
  version: registered ? registered.version : opts.version || 1,
290
263
  };
291
- return new RFC(id, func, version, this.remoteCreateReq(id, data, opts));
264
+ return new RFC(id, func, version, this.remoteCreateReq({ id, data, opts, breaksLineage: idChanged }));
292
265
  }
293
266
  detached(funcOrName, ...args) {
294
267
  const [argu, opts] = util.splitArgsAndOpts(args, this.options());
@@ -298,9 +271,10 @@ class InnerContext {
298
271
  // yielded back to the users coroutine. However, the type
299
272
  // system indicates the value is void. Casting to RFI "tricks"
300
273
  // the type system to indicate the correct type.
301
- return new DIE(true, exceptions_1.default.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version));
274
+ return new DIE(true, exceptions.REGISTRY_FUNCTION_NOT_REGISTERED(funcOrName.name, opts.version));
302
275
  }
303
- const id = opts.id ?? this.seqid();
276
+ const idChanged = opts.id !== undefined;
277
+ const id = idChanged ? opts.id : this.seqid();
304
278
  this.seq++;
305
279
  const func = registered ? registered.name : funcOrName;
306
280
  const version = registered ? registered.version : 1;
@@ -310,12 +284,12 @@ class InnerContext {
310
284
  retry: opts.retryPolicy?.encode(),
311
285
  version: registered ? registered.version : opts.version || 1,
312
286
  };
313
- return new RFI(id, func, version, this.remoteCreateReq(id, data, opts, Number.MAX_SAFE_INTEGER), "detached");
287
+ return new RFI(id, func, version, this.remoteCreateReq({ id, data, opts, maxTimeout: Number.MAX_SAFE_INTEGER, breaksLineage: true }), "detached");
314
288
  }
315
- promise({ id, timeout, data, tags, } = {}) {
316
- id = id ?? this.seqid();
289
+ promise({ timeout, data, tags } = {}) {
290
+ const id = this.seqid();
317
291
  this.seq++;
318
- return new RFI(id, "unknown", 1, this.latentCreateOpts(id, timeout, data, tags));
292
+ return new RFI(id, "unknown", 1, this.latentCreateOpts({ id, timeout, data, tags, breaksLineage: false }));
319
293
  }
320
294
  sleep(msOrOpts) {
321
295
  let until;
@@ -333,11 +307,11 @@ class InnerContext {
333
307
  }
334
308
  const id = this.seqid();
335
309
  this.seq++;
336
- return new RFC(id, "sleep", 1, this.sleepCreateOpts(id, until));
310
+ return new RFC(id, "sleep", 1, this.sleepCreateOpts({ id, time: until }));
337
311
  }
338
312
  panic(condition, msg) {
339
313
  const src = util.getCallerInfo();
340
- return new DIE(condition, exceptions_1.default.PANIC(src, msg));
314
+ return new DIE(condition, exceptions.PANIC(src, msg));
341
315
  }
342
316
  assert(condition, msg) {
343
317
  return this.panic(!condition, msg);
@@ -354,86 +328,90 @@ class InnerContext {
354
328
  math = {
355
329
  random: () => this.lfc((this.getDependency("resonate:math") ?? Math).random),
356
330
  };
357
- localCreateReq(id, data, opts) {
358
- const tags = {
359
- "resonate:scope": "local",
360
- "resonate:root": this.rootId,
361
- "resonate:parent": this.id,
362
- ...opts.tags,
363
- };
331
+ localCreateReq({ id, data, opts, breaksLineage, }) {
364
332
  // timeout cannot be greater than parent timeout
365
- const timeout = Math.min(this.clock.now() + opts.timeout, this.info.timeout);
333
+ const timeoutAt = Math.min(this.clock.now() + opts.timeout, this.info.timeout);
366
334
  return {
367
- kind: "createPromise",
368
- id,
369
- timeout: timeout,
370
- param: { data },
371
- tags,
372
- iKey: id,
373
- strict: false,
335
+ kind: "promise.create",
336
+ head: { corrId: randomUUID(), version: util.VERSION },
337
+ data: {
338
+ id,
339
+ timeoutAt,
340
+ param: { headers: {}, data },
341
+ tags: {
342
+ "resonate:scope": "local",
343
+ "resonate:branch": this.branchId,
344
+ "resonate:parent": this.id,
345
+ "resonate:origin": breaksLineage ? id : this.originId,
346
+ ...opts.tags,
347
+ },
348
+ },
374
349
  };
375
350
  }
376
- remoteCreateReq(id, data, opts, maxTimeout = this.info.timeout) {
377
- const tags = {
378
- "resonate:scope": "global",
379
- "resonate:invoke": opts.target,
380
- "resonate:root": this.rootId,
381
- "resonate:parent": this.id,
382
- ...opts.tags,
383
- };
351
+ remoteCreateReq({ id, data, opts, breaksLineage, maxTimeout = this.info.timeout, }) {
384
352
  // timeout cannot be greater than parent timeout (unless detached)
385
- const timeout = Math.min(this.clock.now() + opts.timeout, maxTimeout);
353
+ const timeoutAt = Math.min(this.clock.now() + opts.timeout, maxTimeout);
386
354
  return {
387
- kind: "createPromise",
388
- id,
389
- timeout,
390
- tags,
391
- param: { data },
392
- iKey: id,
393
- strict: false,
355
+ kind: "promise.create",
356
+ head: { corrId: randomUUID(), version: util.VERSION },
357
+ data: {
358
+ id,
359
+ timeoutAt,
360
+ tags: {
361
+ "resonate:scope": "global",
362
+ "resonate:target": opts.target,
363
+ "resonate:branch": id,
364
+ "resonate:parent": this.id,
365
+ "resonate:origin": breaksLineage ? id : this.originId,
366
+ ...opts.tags,
367
+ },
368
+ param: { headers: {}, data },
369
+ },
394
370
  };
395
371
  }
396
- latentCreateOpts(id, timeout, data, tags) {
397
- const cTags = {
398
- "resonate:scope": "global",
399
- "resonate:root": this.rootId,
400
- "resonate:parent": this.id,
401
- ...tags,
402
- };
372
+ latentCreateOpts({ id, timeout, data, tags, breaksLineage, }) {
403
373
  // timeout cannot be greater than parent timeout
404
- const cTimeout = Math.min(this.clock.now() + (timeout ?? 24 * util.HOUR), this.info.timeout);
374
+ const timeoutAt = Math.min(this.clock.now() + (timeout ?? 24 * util.HOUR), this.info.timeout);
405
375
  return {
406
- kind: "createPromise",
407
- id: id,
408
- timeout: cTimeout,
409
- param: { data },
410
- tags: cTags,
411
- iKey: id,
412
- strict: false,
376
+ kind: "promise.create",
377
+ head: { corrId: randomUUID(), version: util.VERSION },
378
+ data: {
379
+ id,
380
+ timeoutAt,
381
+ param: { data, headers: {} },
382
+ tags: {
383
+ "resonate:scope": "global",
384
+ "resonate:branch": id,
385
+ "resonate:parent": this.id,
386
+ "resonate:origin": breaksLineage ? id : this.originId,
387
+ ...tags,
388
+ },
389
+ },
413
390
  };
414
391
  }
415
- sleepCreateOpts(id, time) {
392
+ sleepCreateOpts({ id, time }) {
416
393
  const tags = {
417
394
  "resonate:scope": "global",
418
- "resonate:root": this.rootId,
395
+ "resonate:branch": id,
419
396
  "resonate:parent": this.id,
420
- "resonate:timeout": "true",
397
+ "resonate:origin": this.originId,
398
+ "resonate:timer": "true",
421
399
  };
422
400
  // timeout cannot be greater than parent timeout
423
- const timeout = Math.min(time, this.info.timeout);
401
+ const timeoutAt = Math.min(time, this.info.timeout);
424
402
  return {
425
- kind: "createPromise",
426
- id: id,
427
- timeout: timeout,
428
- param: {},
429
- tags,
430
- iKey: id,
431
- strict: false,
403
+ kind: "promise.create",
404
+ head: { corrId: randomUUID(), version: util.VERSION },
405
+ data: {
406
+ id,
407
+ timeoutAt,
408
+ param: { headers: {}, data: "" },
409
+ tags,
410
+ },
432
411
  };
433
412
  }
434
413
  seqid() {
435
414
  return `${this.id}.${this.seq}`;
436
415
  }
437
416
  }
438
- exports.InnerContext = InnerContext;
439
417
  //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/core.d.ts ADDED
@@ -0,0 +1,45 @@
1
+ import type { Clock } from "./clock.js";
2
+ import type { Codec } from "./codec.js";
3
+ import { type Status } from "./computation.js";
4
+ import type { Heartbeat } from "./heartbeat.js";
5
+ import type { Logger } from "./logger.js";
6
+ import { type Message, type PromiseRecord, type TaskRecord } from "./network/types.js";
7
+ import type { OptionsBuilder } from "./options.js";
8
+ import type { Registry } from "./registry.js";
9
+ import type { Send } from "./types.js";
10
+ export type PromiseHandler = {
11
+ addEventListener: (event: "created" | "completed", callback: (p: PromiseRecord) => void) => void;
12
+ subscribe: () => Promise<void>;
13
+ };
14
+ export declare class Core {
15
+ private pid;
16
+ private ttl;
17
+ private clock;
18
+ private send;
19
+ private codec;
20
+ private retries;
21
+ private registry;
22
+ private heartbeat;
23
+ private dependencies;
24
+ private optsBuilder;
25
+ private logger;
26
+ constructor({ pid, ttl, clock, send, codec, registry, heartbeat, dependencies, optsBuilder, logger, }: {
27
+ pid: string;
28
+ ttl: number;
29
+ clock: Clock;
30
+ send: Send;
31
+ codec: Codec;
32
+ registry: Registry;
33
+ heartbeat: Heartbeat;
34
+ dependencies: Map<string, any>;
35
+ optsBuilder: OptionsBuilder;
36
+ logger: Logger;
37
+ });
38
+ executeUntilBlocked(task: TaskRecord, rootPromise: PromiseRecord, preload?: PromiseRecord[]): Promise<Status>;
39
+ private createComputation;
40
+ private releaseTask;
41
+ private suspendTask;
42
+ private fulfillTask;
43
+ onMessage(msg: Message): Promise<Status>;
44
+ }
45
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAA0B,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAyB,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,KAAK,IAAI,CAAC;IACjG,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC,CAAC;AAEF,qBAAa,IAAI;IACf,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,MAAM,CAAS;gBAEX,EACV,GAAG,EACH,GAAG,EACH,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,WAAW,EACX,MAAM,GACP,EAAE;QACD,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,IAAI,CAAC;QACX,KAAK,EAAE,KAAK,CAAC;QACb,QAAQ,EAAE,QAAQ,CAAC;QACnB,SAAS,EAAE,SAAS,CAAC;QACrB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,WAAW,EAAE,cAAc,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC;KAChB;IAqBY,mBAAmB,CAC9B,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,aAAa,EAC1B,OAAO,CAAC,EAAE,aAAa,EAAE,GACxB,OAAO,CAAC,MAAM,CAAC;IAgClB,OAAO,CAAC,iBAAiB;YAcX,WAAW;YAQX,WAAW;YA8BX,WAAW;IAsBZ,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAoBtD"}