@resonatehq/sdk 0.9.6 → 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.
- package/README.md +84 -12
- package/dist/clock.d.ts.map +1 -0
- package/dist/clock.js +12 -0
- package/dist/clock.js.map +1 -0
- package/dist/codec.d.ts +11 -0
- package/dist/codec.d.ts.map +1 -0
- package/dist/codec.js +115 -0
- package/dist/codec.js.map +1 -0
- package/dist/computation.d.ts +40 -0
- package/dist/computation.d.ts.map +1 -0
- package/dist/computation.js +152 -0
- package/dist/computation.js.map +1 -0
- package/dist/{src/context.d.ts → context.d.ts} +65 -40
- package/dist/context.d.ts.map +1 -0
- package/dist/{src/context.js → context.js} +131 -153
- package/dist/context.js.map +1 -0
- package/dist/core.d.ts +45 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +140 -0
- package/dist/core.js.map +1 -0
- package/dist/coroutine.d.ts +37 -0
- package/dist/coroutine.d.ts.map +1 -0
- package/dist/coroutine.js +258 -0
- package/dist/coroutine.js.map +1 -0
- package/dist/{src/decorator.d.ts → decorator.d.ts} +8 -8
- package/dist/decorator.d.ts.map +1 -0
- package/dist/decorator.js +149 -0
- package/dist/decorator.js.map +1 -0
- package/dist/encryptor.d.ts +10 -0
- package/dist/encryptor.d.ts.map +1 -0
- package/dist/encryptor.js +9 -0
- package/dist/encryptor.js.map +1 -0
- package/dist/{src/exceptions.d.ts → exceptions.d.ts} +4 -1
- package/dist/exceptions.d.ts.map +1 -0
- package/dist/{src/exceptions.js → exceptions.js} +11 -11
- package/dist/exceptions.js.map +1 -0
- package/dist/{src/heartbeat.d.ts → heartbeat.d.ts} +5 -3
- package/dist/heartbeat.d.ts.map +1 -0
- package/dist/heartbeat.js +50 -0
- package/dist/heartbeat.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +33 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +54 -0
- package/dist/logger.js.map +1 -0
- package/dist/network/http.d.ts +82 -0
- package/dist/network/http.d.ts.map +1 -0
- package/dist/network/http.js +339 -0
- package/dist/network/http.js.map +1 -0
- package/dist/network/local.d.ts +179 -0
- package/dist/network/local.d.ts.map +1 -0
- package/dist/network/local.js +1232 -0
- package/dist/network/local.js.map +1 -0
- package/dist/network/network.d.ts +16 -0
- package/dist/network/network.d.ts.map +1 -0
- package/dist/network/network.js +2 -0
- package/dist/network/network.js.map +1 -0
- package/dist/network/types.d.ts +1279 -0
- package/dist/network/types.d.ts.map +1 -0
- package/dist/network/types.js +919 -0
- package/dist/network/types.js.map +1 -0
- package/dist/{src/options.d.ts → options.d.ts} +10 -4
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +32 -0
- package/dist/options.js.map +1 -0
- package/dist/promises.d.ts +41 -0
- package/dist/promises.d.ts.map +1 -0
- package/dist/promises.js +113 -0
- package/dist/promises.js.map +1 -0
- package/dist/{src/registry.d.ts → registry.d.ts} +1 -1
- package/dist/registry.d.ts.map +1 -0
- package/dist/{src/registry.js → registry.js} +6 -13
- package/dist/registry.js.map +1 -0
- package/dist/resonate.d.ts +168 -0
- package/dist/resonate.d.ts.map +1 -0
- package/dist/resonate.js +488 -0
- package/dist/resonate.js.map +1 -0
- package/dist/retries.d.ts.map +1 -0
- package/dist/{src/retries.js → retries.js} +4 -11
- package/dist/retries.js.map +1 -0
- package/dist/schedules.d.ts +22 -0
- package/dist/schedules.d.ts.map +1 -0
- package/dist/schedules.js +65 -0
- package/dist/schedules.js.map +1 -0
- package/dist/trace.d.ts +79 -0
- package/dist/trace.d.ts.map +1 -0
- package/dist/trace.js +224 -0
- package/dist/trace.js.map +1 -0
- package/dist/types.d.ts +21 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/{src/util.d.ts → util.d.ts} +10 -6
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +156 -0
- package/dist/util.js.map +1 -0
- package/package.json +18 -10
- package/dist/dev/network.d.ts +0 -34
- package/dist/dev/network.d.ts.map +0 -1
- package/dist/dev/network.js +0 -115
- package/dist/dev/network.js.map +0 -1
- package/dist/dev/server.d.ts +0 -89
- package/dist/dev/server.d.ts.map +0 -1
- package/dist/dev/server.js +0 -890
- package/dist/dev/server.js.map +0 -1
- package/dist/sim/example-1.d.ts +0 -2
- package/dist/sim/example-1.d.ts.map +0 -1
- package/dist/sim/example-1.js +0 -95
- package/dist/sim/example-1.js.map +0 -1
- package/dist/sim/example-2.d.ts +0 -2
- package/dist/sim/example-2.d.ts.map +0 -1
- package/dist/sim/example-2.js +0 -97
- package/dist/sim/example-2.js.map +0 -1
- package/dist/sim/example-3.d.ts +0 -2
- package/dist/sim/example-3.d.ts.map +0 -1
- package/dist/sim/example-3.js +0 -97
- package/dist/sim/example-3.js.map +0 -1
- package/dist/sim/main.d.ts +0 -14
- package/dist/sim/main.d.ts.map +0 -1
- package/dist/sim/main.js +0 -207
- package/dist/sim/main.js.map +0 -1
- package/dist/sim/src/server.d.ts +0 -15
- package/dist/sim/src/server.d.ts.map +0 -1
- package/dist/sim/src/server.js +0 -85
- package/dist/sim/src/server.js.map +0 -1
- package/dist/sim/src/simulator.d.ts +0 -65
- package/dist/sim/src/simulator.d.ts.map +0 -1
- package/dist/sim/src/simulator.js +0 -236
- package/dist/sim/src/simulator.js.map +0 -1
- package/dist/sim/src/worker.d.ts +0 -23
- package/dist/sim/src/worker.d.ts.map +0 -1
- package/dist/sim/src/worker.js +0 -217
- package/dist/sim/src/worker.js.map +0 -1
- package/dist/src/clock.d.ts.map +0 -1
- package/dist/src/clock.js +0 -17
- package/dist/src/clock.js.map +0 -1
- package/dist/src/computation.d.ts +0 -49
- package/dist/src/computation.d.ts.map +0 -1
- package/dist/src/computation.js +0 -314
- package/dist/src/computation.js.map +0 -1
- package/dist/src/context.d.ts.map +0 -1
- package/dist/src/context.js.map +0 -1
- package/dist/src/core.d.ts +0 -12
- package/dist/src/core.d.ts.map +0 -1
- package/dist/src/core.js +0 -28
- package/dist/src/core.js.map +0 -1
- package/dist/src/coroutine.d.ts +0 -42
- package/dist/src/coroutine.d.ts.map +0 -1
- package/dist/src/coroutine.js +0 -364
- package/dist/src/coroutine.js.map +0 -1
- package/dist/src/decorator.d.ts.map +0 -1
- package/dist/src/decorator.js +0 -220
- package/dist/src/decorator.js.map +0 -1
- package/dist/src/encoder.d.ts +0 -12
- package/dist/src/encoder.d.ts.map +0 -1
- package/dist/src/encoder.js +0 -101
- package/dist/src/encoder.js.map +0 -1
- package/dist/src/encryptor.d.ts +0 -10
- package/dist/src/encryptor.d.ts.map +0 -1
- package/dist/src/encryptor.js +0 -13
- package/dist/src/encryptor.js.map +0 -1
- package/dist/src/exceptions.d.ts.map +0 -1
- package/dist/src/exceptions.js.map +0 -1
- package/dist/src/handler.d.ts +0 -49
- package/dist/src/handler.d.ts.map +0 -1
- package/dist/src/handler.js +0 -316
- package/dist/src/handler.js.map +0 -1
- package/dist/src/heartbeat.d.ts.map +0 -1
- package/dist/src/heartbeat.js +0 -87
- package/dist/src/heartbeat.js.map +0 -1
- package/dist/src/index.d.ts +0 -15
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -61
- package/dist/src/index.js.map +0 -1
- package/dist/src/network/network.d.ts +0 -254
- package/dist/src/network/network.d.ts.map +0 -1
- package/dist/src/network/network.js +0 -4
- package/dist/src/network/network.js.map +0 -1
- package/dist/src/network/remote.d.ts +0 -85
- package/dist/src/network/remote.d.ts.map +0 -1
- package/dist/src/network/remote.js +0 -523
- package/dist/src/network/remote.js.map +0 -1
- package/dist/src/nursery.d.ts +0 -19
- package/dist/src/nursery.d.ts.map +0 -1
- package/dist/src/nursery.js +0 -102
- package/dist/src/nursery.js.map +0 -1
- package/dist/src/options.d.ts.map +0 -1
- package/dist/src/options.js +0 -70
- package/dist/src/options.js.map +0 -1
- package/dist/src/processor/processor.d.ts +0 -12
- package/dist/src/processor/processor.d.ts.map +0 -1
- package/dist/src/processor/processor.js +0 -43
- package/dist/src/processor/processor.js.map +0 -1
- package/dist/src/promises.d.ts +0 -54
- package/dist/src/promises.d.ts.map +0 -1
- package/dist/src/promises.js +0 -169
- package/dist/src/promises.js.map +0 -1
- package/dist/src/registry.d.ts.map +0 -1
- package/dist/src/registry.js.map +0 -1
- package/dist/src/resonate-inner.d.ts +0 -60
- package/dist/src/resonate-inner.d.ts.map +0 -1
- package/dist/src/resonate-inner.js +0 -97
- package/dist/src/resonate-inner.js.map +0 -1
- package/dist/src/resonate.d.ts +0 -341
- package/dist/src/resonate.d.ts.map +0 -1
- package/dist/src/resonate.js +0 -591
- package/dist/src/resonate.js.map +0 -1
- package/dist/src/retries.d.ts.map +0 -1
- package/dist/src/retries.js.map +0 -1
- package/dist/src/schedules.d.ts +0 -19
- package/dist/src/schedules.d.ts.map +0 -1
- package/dist/src/schedules.js +0 -85
- package/dist/src/schedules.js.map +0 -1
- package/dist/src/tasks.d.ts +0 -9
- package/dist/src/tasks.d.ts.map +0 -1
- package/dist/src/tasks.js +0 -61
- package/dist/src/tasks.js.map +0 -1
- package/dist/src/tracer.d.ts +0 -23
- package/dist/src/tracer.d.ts.map +0 -1
- package/dist/src/tracer.js +0 -25
- package/dist/src/tracer.js.map +0 -1
- package/dist/src/types.d.ts +0 -28
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -11
- package/dist/src/types.js.map +0 -1
- package/dist/src/util.d.ts.map +0 -1
- package/dist/src/util.js +0 -120
- package/dist/src/util.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- /package/dist/{src/clock.d.ts → clock.d.ts} +0 -0
- /package/dist/{src/retries.d.ts → retries.d.ts} +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { DIE, Future, LFC, LFI, RFC, RFI } from "./context.js";
|
|
2
|
+
import * as util from "./util.js";
|
|
3
|
+
export class Decorator {
|
|
4
|
+
generator;
|
|
5
|
+
// Tracks the id of a pending "call" (LFC/RFC) that needs auto-await.
|
|
6
|
+
// Because `yield*` on LFC/RFC iterators produces two yields, the decorator
|
|
7
|
+
// intercepts the promise response and auto-emits an `internal.await` before
|
|
8
|
+
// feeding the resolved value back to the generator.
|
|
9
|
+
// null = not mid-call, non-null = waiting for the promise for this call id.
|
|
10
|
+
pendingCall = null;
|
|
11
|
+
nextState = "internal.nothing";
|
|
12
|
+
constructor(generator) {
|
|
13
|
+
this.generator = generator;
|
|
14
|
+
}
|
|
15
|
+
next(value) {
|
|
16
|
+
util.assert(value.type === this.nextState, `Generator called with type "${value.type}" expected "${this.nextState}"`);
|
|
17
|
+
// Auto-await for calls (LFC/RFC): intercept the promise response and
|
|
18
|
+
// emit an `internal.await` so the coroutine resolves the value before
|
|
19
|
+
// feeding it back to the generator.
|
|
20
|
+
if (value.type === "internal.promise" && this.pendingCall !== null) {
|
|
21
|
+
const callId = this.pendingCall;
|
|
22
|
+
this.pendingCall = null;
|
|
23
|
+
this.nextState = "internal.literal";
|
|
24
|
+
return { type: "internal.await", id: callId, promise: value };
|
|
25
|
+
}
|
|
26
|
+
const result = this.safeGeneratorNext(this.toExternal(value));
|
|
27
|
+
if (result.done) {
|
|
28
|
+
this.nextState = "over";
|
|
29
|
+
return {
|
|
30
|
+
type: "internal.return",
|
|
31
|
+
value: this.toLiteral(result.value),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return this.toInternal(result.value);
|
|
35
|
+
}
|
|
36
|
+
// From internal type to external type
|
|
37
|
+
// Having to return a Result<> is an artifact of not being able to check
|
|
38
|
+
// the instance of "Result" at runtime
|
|
39
|
+
toExternal(value) {
|
|
40
|
+
switch (value.type) {
|
|
41
|
+
case "internal.nothing":
|
|
42
|
+
return { kind: "value", value: undefined };
|
|
43
|
+
case "internal.promise":
|
|
44
|
+
if (value.state === "pending") {
|
|
45
|
+
return { kind: "value", value: new Future(value.id, "pending", undefined, value.mode) };
|
|
46
|
+
}
|
|
47
|
+
return { kind: "value", value: new Future(value.id, "completed", value.value.value) };
|
|
48
|
+
case "internal.literal":
|
|
49
|
+
return value.value;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// From external type to internal type
|
|
53
|
+
toInternal(event) {
|
|
54
|
+
if (event instanceof LFI || event instanceof LFC) {
|
|
55
|
+
if (event instanceof LFC)
|
|
56
|
+
this.pendingCall = event.id;
|
|
57
|
+
this.nextState = "internal.promise";
|
|
58
|
+
return {
|
|
59
|
+
type: "internal.async.l",
|
|
60
|
+
id: event.id,
|
|
61
|
+
func: event.func,
|
|
62
|
+
args: event.args ?? [],
|
|
63
|
+
version: event.version,
|
|
64
|
+
retryPolicy: event.retryPolicy,
|
|
65
|
+
createReq: event.createReq,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
if (event instanceof RFI || event instanceof RFC) {
|
|
69
|
+
if (event instanceof RFC)
|
|
70
|
+
this.pendingCall = event.id;
|
|
71
|
+
this.nextState = "internal.promise";
|
|
72
|
+
return {
|
|
73
|
+
type: "internal.async.r",
|
|
74
|
+
id: event.id,
|
|
75
|
+
mode: event.mode,
|
|
76
|
+
func: event.func,
|
|
77
|
+
version: event.version,
|
|
78
|
+
createReq: event.createReq,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
if (event instanceof DIE) {
|
|
82
|
+
this.nextState = "internal.nothing";
|
|
83
|
+
return {
|
|
84
|
+
type: "internal.die",
|
|
85
|
+
condition: event.condition,
|
|
86
|
+
error: event.error,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
if (event instanceof Future) {
|
|
90
|
+
this.nextState = "internal.literal";
|
|
91
|
+
if (event.state === "completed") {
|
|
92
|
+
util.assertDefined(event.value);
|
|
93
|
+
return {
|
|
94
|
+
type: "internal.await",
|
|
95
|
+
id: event.id,
|
|
96
|
+
promise: {
|
|
97
|
+
type: "internal.promise",
|
|
98
|
+
state: "completed",
|
|
99
|
+
id: event.id,
|
|
100
|
+
value: { type: "internal.literal", value: event.value },
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
type: "internal.await",
|
|
106
|
+
id: event.id,
|
|
107
|
+
promise: {
|
|
108
|
+
type: "internal.promise",
|
|
109
|
+
state: "pending",
|
|
110
|
+
// biome-ignore lint/complexity/useLiteralKeys: We need to access this private member, it is only private to the user
|
|
111
|
+
mode: event["mode"],
|
|
112
|
+
id: event.id,
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
throw new Error("Unexpected input to extToInt");
|
|
117
|
+
}
|
|
118
|
+
toLiteral(result) {
|
|
119
|
+
return {
|
|
120
|
+
type: "internal.literal",
|
|
121
|
+
value: result,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
safeGeneratorNext(value) {
|
|
125
|
+
try {
|
|
126
|
+
let itResult;
|
|
127
|
+
if (value.kind === "error") {
|
|
128
|
+
itResult = this.generator.throw(value.error);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
itResult = this.generator.next(value.value);
|
|
132
|
+
}
|
|
133
|
+
if (!itResult.done) {
|
|
134
|
+
return itResult;
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
done: true,
|
|
138
|
+
value: { kind: "value", value: itResult.value },
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
catch (e) {
|
|
142
|
+
return {
|
|
143
|
+
done: true,
|
|
144
|
+
value: { kind: "error", error: e },
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../src/decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Value } from "./network/types.js";
|
|
2
|
+
export interface Encryptor {
|
|
3
|
+
encrypt(plaintext: Value): Value;
|
|
4
|
+
decrypt(ciphertext: Value): Value;
|
|
5
|
+
}
|
|
6
|
+
export declare class NoopEncryptor implements Encryptor {
|
|
7
|
+
encrypt(plaintext: Value): Value;
|
|
8
|
+
decrypt(ciphertext: Value): Value;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=encryptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encryptor.d.ts","sourceRoot":"","sources":["../src/encryptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;CACnC;AAED,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK;IAIhC,OAAO,CAAC,UAAU,EAAE,KAAK,GAAG,KAAK;CAGlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encryptor.js","sourceRoot":"","sources":["../src/encryptor.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,aAAa;IACxB,OAAO,CAAC,SAAgB;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,UAAiB;QACvB,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -16,7 +16,10 @@ export declare class ResonateError extends Error {
|
|
|
16
16
|
retriable?: boolean;
|
|
17
17
|
serverError?: ResonateServerError;
|
|
18
18
|
});
|
|
19
|
-
log(
|
|
19
|
+
log(logger: import("./logger.js").Logger): void;
|
|
20
|
+
}
|
|
21
|
+
export declare class ResonateTimeoutException extends Error {
|
|
22
|
+
constructor(cause: string);
|
|
20
23
|
}
|
|
21
24
|
declare const _default: {
|
|
22
25
|
REGISTRY_VERSION_INVALID: (v: number) => ResonateError;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;CACjB,CAAC;AAEF,qBAAa,aAAc,SAAQ,KAAK;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,mBAAmB,CAAC;gBAGhC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,EACE,IAAY,EACZ,KAAK,EACL,SAAiB,EACjB,WAAW,GACZ,GAAE;QACD,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,GAAG,CAAC;QACZ,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,mBAAmB,CAAC;KAC9B;IAaR,GAAG,CAAC,MAAM,EAAE,OAAO,aAAa,EAAE,MAAM;CAWzC;AAED,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,KAAK,EAAE,MAAM;CAI1B;;kCAG+B,MAAM;;8CAMM,MAAM,KAAK,MAAM,MAAM,MAAM;0CAIjC,MAAM,KAAK,MAAM;uCAMpB,MAAM;mCAGV,MAAM;oCAKL,MAAM,KAAK,GAAG;oCAMd,MAAM,KAAK,GAAG;oCAMd,MAAM,KAAK,GAAG;oCAMd,MAAM,KAAK,GAAG;iBAMjC,MAAM,OAAO,MAAM,GAAG,SAAS;sBAO1B,GAAG,MAAM,OAAO,MAAM,mBAAmB;;AAxD7D,wBA2DE"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResonateError = void 0;
|
|
4
|
-
class ResonateError extends Error {
|
|
1
|
+
export class ResonateError extends Error {
|
|
5
2
|
code;
|
|
6
3
|
type;
|
|
7
4
|
next;
|
|
@@ -18,15 +15,18 @@ class ResonateError extends Error {
|
|
|
18
15
|
this.retriable = retriable;
|
|
19
16
|
this.serverError = serverError;
|
|
20
17
|
}
|
|
21
|
-
log(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
console.error(this);
|
|
25
|
-
}
|
|
18
|
+
log(logger) {
|
|
19
|
+
logger.error({ component: "error", code: this.code, type: this.type, next: this.next, href: this.href }, `${this.type}. ${this.message}. ${this.next}. (See ${this.href} for more information)`);
|
|
20
|
+
logger.debug({ component: "error", code: this.code, error: this.stack ?? this.message }, `${this.type} full error details`);
|
|
26
21
|
}
|
|
27
22
|
}
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
export class ResonateTimeoutException extends Error {
|
|
24
|
+
constructor(cause) {
|
|
25
|
+
super(`platform failure: ${cause}`);
|
|
26
|
+
this.name = "ResonateTimeoutException";
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export default {
|
|
30
30
|
REGISTRY_VERSION_INVALID: (v) => {
|
|
31
31
|
return new ResonateError("00", "Registry", `Function version must be greater than zero (${v} provided)`);
|
|
32
32
|
},
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,IAAI,CAAS;IACb,IAAI,CAAS;IACb,IAAI,CAAS;IACb,IAAI,CAAS;IACb,SAAS,CAAU;IACnB,WAAW,CAAuB;IAElC,YACE,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,EACE,IAAI,GAAG,KAAK,EACZ,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,WAAW,MAMT,EAAE;QAEN,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAEvB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,sBAAsB,IAAI,EAAE,CAAC,CAAC,gCAAgC;QAC1E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,MAAoC;QACtC,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAC1F,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,wBAAwB,CACvF,CAAC;QAEF,MAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAC1E,GAAG,IAAI,CAAC,IAAI,qBAAqB,CAClC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YAAY,KAAa;QACvB,KAAK,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,eAAe;IACb,wBAAwB,EAAE,CAAC,CAAS,EAAE,EAAE;QACtC,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,+CAA+C,CAAC,YAAY,CAAC,CAAC;IAC3G,CAAC;IACD,sBAAsB,EAAE,GAAG,EAAE;QAC3B,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,2BAA2B,CAAC,CAAC;IAC1E,CAAC;IACD,oCAAoC,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,CAAU,EAAE,EAAE;QACzE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,cAAc,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;IAC7G,CAAC;IACD,gCAAgC,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QACzD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,IAAI,OAAO,oBAAoB,EAAE;YACxF,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;IACL,CAAC;IACD,6BAA6B,EAAE,CAAC,CAAS,EAAE,EAAE;QAC3C,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;IAC5F,CAAC;IACD,yBAAyB,EAAE,CAAC,CAAS,EAAE,EAAE;QACvC,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,CAAC,qBAAqB,EAAE;YACpF,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;IACL,CAAC;IACD,0BAA0B,EAAE,CAAC,CAAS,EAAE,CAAM,EAAE,EAAE;QAChD,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,6BAA6B,CAAC,qBAAqB,EAAE;YAC9F,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;IACL,CAAC;IACD,0BAA0B,EAAE,CAAC,CAAS,EAAE,CAAM,EAAE,EAAE;QAChD,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,6BAA6B,CAAC,qBAAqB,EAAE;YAC9F,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;IACL,CAAC;IACD,0BAA0B,EAAE,CAAC,CAAS,EAAE,CAAM,EAAE,EAAE;QAChD,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,+BAA+B,CAAC,qBAAqB,EAAE;YAChG,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;IACL,CAAC;IACD,0BAA0B,EAAE,CAAC,CAAS,EAAE,CAAM,EAAE,EAAE;QAChD,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,+BAA+B,CAAC,qBAAqB,EAAE;YAChG,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;IACL,CAAC;IACD,KAAK,EAAE,CAAC,GAAW,EAAE,GAAuB,EAAE,EAAE;QAC9C,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjD,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE;YACtD,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;IACL,CAAC;IACD,YAAY,EAAE,CAAC,CAAM,EAAE,CAAW,EAAE,CAAuB,EAAE,EAAE;QAC7D,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;CACF,CAAC"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Logger } from "./logger.js";
|
|
2
|
+
import type { Send } from "./types.js";
|
|
2
3
|
export interface Heartbeat {
|
|
3
4
|
start(): void;
|
|
4
5
|
stop(): void;
|
|
5
6
|
}
|
|
6
7
|
export declare class AsyncHeartbeat implements Heartbeat {
|
|
7
|
-
private network;
|
|
8
8
|
private intervalId;
|
|
9
|
+
private send;
|
|
9
10
|
private pid;
|
|
10
11
|
private counter;
|
|
11
12
|
private delay;
|
|
12
|
-
|
|
13
|
+
private logger;
|
|
14
|
+
constructor(pid: string, delay: number, send: Send, logger: Logger);
|
|
13
15
|
start(): void;
|
|
14
16
|
private heartbeat;
|
|
15
17
|
stop(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,WAAW,SAAS;IACxB,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;CACd;AAED,qBAAa,cAAe,YAAW,SAAS;IAC9C,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;gBAEX,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;IAOlE,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,SAAS;IAkBjB,IAAI,IAAI,IAAI;IAIZ,OAAO,CAAC,oBAAoB;CAM7B;AAED,qBAAa,aAAc,YAAW,SAAS;IAC7C,KAAK,IAAI,IAAI;IACb,IAAI,IAAI,IAAI;CACb"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { VERSION } from "./util.js";
|
|
3
|
+
export class AsyncHeartbeat {
|
|
4
|
+
intervalId;
|
|
5
|
+
send;
|
|
6
|
+
pid;
|
|
7
|
+
counter = 0;
|
|
8
|
+
delay;
|
|
9
|
+
logger;
|
|
10
|
+
constructor(pid, delay, send, logger) {
|
|
11
|
+
this.pid = pid;
|
|
12
|
+
this.delay = delay;
|
|
13
|
+
this.send = send;
|
|
14
|
+
this.logger = logger;
|
|
15
|
+
}
|
|
16
|
+
start() {
|
|
17
|
+
this.counter++;
|
|
18
|
+
if (!this.intervalId) {
|
|
19
|
+
this.heartbeat();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
heartbeat() {
|
|
23
|
+
this.intervalId = setInterval(() => {
|
|
24
|
+
this.send({
|
|
25
|
+
kind: "task.heartbeat",
|
|
26
|
+
head: { corrId: randomUUID(), version: VERSION },
|
|
27
|
+
data: {
|
|
28
|
+
pid: this.pid,
|
|
29
|
+
tasks: [],
|
|
30
|
+
},
|
|
31
|
+
}).catch((err) => {
|
|
32
|
+
this.logger.warn({ component: "heartbeat", pid: this.pid, error: err instanceof Error ? err.message : String(err) }, "Failed to send heartbeat");
|
|
33
|
+
});
|
|
34
|
+
}, this.delay);
|
|
35
|
+
}
|
|
36
|
+
stop() {
|
|
37
|
+
this.clearIntervalIfMatch(this.counter);
|
|
38
|
+
}
|
|
39
|
+
clearIntervalIfMatch(counter) {
|
|
40
|
+
if (this.counter === counter) {
|
|
41
|
+
clearInterval(this.intervalId);
|
|
42
|
+
this.intervalId = undefined;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export class NoopHeartbeat {
|
|
47
|
+
start() { }
|
|
48
|
+
stop() { }
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=heartbeat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,MAAM,OAAO,cAAc;IACjB,UAAU,CAA6C;IACvD,IAAI,CAAO;IACX,GAAG,CAAS;IACZ,OAAO,GAAG,CAAC,CAAC;IACZ,KAAK,CAAS;IACd,MAAM,CAAS;IAEvB,YAAY,GAAW,EAAE,KAAa,EAAE,IAAU,EAAE,MAAc;QAChE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;gBAChD,IAAI,EAAE;oBACJ,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,KAAK,EAAE,EAAE;iBACV;aACF,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAClG,0BAA0B,CAC3B,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEO,oBAAoB,CAAC,OAAe;QAC1C,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC7B,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACxB,KAAK,KAAU,CAAC;IAChB,IAAI,KAAU,CAAC;CAChB"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { WallClock } from "./clock.js";
|
|
2
|
+
export { Codec } from "./codec.js";
|
|
3
|
+
export { Status } from "./computation.js";
|
|
4
|
+
export { Context } from "./context.js";
|
|
5
|
+
export { Core } from "./core.js";
|
|
6
|
+
export { type Encryptor, NoopEncryptor } from "./encryptor.js";
|
|
7
|
+
export { ResonateTimeoutException } from "./exceptions.js";
|
|
8
|
+
export { AsyncHeartbeat, NoopHeartbeat } from "./heartbeat.js";
|
|
9
|
+
export { ConsoleLogger, type Logger, type LogLevel } from "./logger.js";
|
|
10
|
+
export { type HttpAdapter, HttpNetwork, PollMessageSource, PushMessageSource } from "./network/http.js";
|
|
11
|
+
export { LocalNetwork } from "./network/local.js";
|
|
12
|
+
export type { Network, Recv, Send } from "./network/network.js";
|
|
13
|
+
export * from "./network/types.js";
|
|
14
|
+
export { Message } from "./network/types.js";
|
|
15
|
+
export { OptionsBuilder } from "./options.js";
|
|
16
|
+
export { Registry } from "./registry.js";
|
|
17
|
+
export { Resonate, ResonateFunc, ResonateHandle } from "./resonate.js";
|
|
18
|
+
export { awaitThenResumeOrSuspend, blockIsSole, dedupIsSole, type Event, exclusiveLifecycle, isWellFormed, rootSpawn, rpcHasCallee, runHasCallee, spawnIsFirst, type Trace, TraceCollector, terminalIsLast, uniqueSpawn, uniqueTerminal, } from "./trace.js";
|
|
19
|
+
export type { Effects } from "./types.js";
|
|
20
|
+
export { Func } from "./types.js";
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAChE,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,WAAW,EACX,KAAK,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,KAAK,KAAK,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { WallClock } from "./clock.js";
|
|
2
|
+
export { Codec } from "./codec.js";
|
|
3
|
+
export { Core } from "./core.js";
|
|
4
|
+
export { NoopEncryptor } from "./encryptor.js";
|
|
5
|
+
export { ResonateTimeoutException } from "./exceptions.js";
|
|
6
|
+
export { AsyncHeartbeat, NoopHeartbeat } from "./heartbeat.js";
|
|
7
|
+
export { ConsoleLogger } from "./logger.js";
|
|
8
|
+
export { HttpNetwork, PollMessageSource, PushMessageSource } from "./network/http.js";
|
|
9
|
+
export { LocalNetwork } from "./network/local.js";
|
|
10
|
+
export * from "./network/types.js";
|
|
11
|
+
export { OptionsBuilder } from "./options.js";
|
|
12
|
+
export { Registry } from "./registry.js";
|
|
13
|
+
export { Resonate } from "./resonate.js";
|
|
14
|
+
export { awaitThenResumeOrSuspend, blockIsSole, dedupIsSole, exclusiveLifecycle, isWellFormed, rootSpawn, rpcHasCallee, runHasCallee, spawnIsFirst, TraceCollector, terminalIsLast, uniqueSpawn, uniqueTerminal, } from "./trace.js";
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAkB,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAA8B,MAAM,aAAa,CAAC;AACxE,OAAO,EAAoB,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAgC,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,WAAW,EAEX,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,EAEZ,cAAc,EACd,cAAc,EACd,WAAW,EACX,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured logging interface for the Resonate SDK.
|
|
3
|
+
*
|
|
4
|
+
* Users can inject any logger that satisfies this interface (e.g., pino, winston)
|
|
5
|
+
* via the Resonate constructor. The default implementation is {@link ConsoleLogger}.
|
|
6
|
+
*/
|
|
7
|
+
export interface Logger {
|
|
8
|
+
debug(fields: Record<string, any>, msg: string): void;
|
|
9
|
+
info(fields: Record<string, any>, msg: string): void;
|
|
10
|
+
warn(fields: Record<string, any>, msg: string): void;
|
|
11
|
+
error(fields: Record<string, any>, msg: string): void;
|
|
12
|
+
}
|
|
13
|
+
export type LogLevel = "debug" | "info" | "warn" | "error";
|
|
14
|
+
/**
|
|
15
|
+
* Default structured logger that writes JSON lines to stdout/stderr.
|
|
16
|
+
*
|
|
17
|
+
* - debug and info go to `console.log` (stdout)
|
|
18
|
+
* - warn goes to `console.warn` (stderr)
|
|
19
|
+
* - error goes to `console.error` (stderr)
|
|
20
|
+
*
|
|
21
|
+
* Messages at levels below the configured `level` are suppressed.
|
|
22
|
+
*/
|
|
23
|
+
export declare class ConsoleLogger implements Logger {
|
|
24
|
+
private level;
|
|
25
|
+
constructor(level?: LogLevel);
|
|
26
|
+
debug(fields: Record<string, any>, msg: string): void;
|
|
27
|
+
info(fields: Record<string, any>, msg: string): void;
|
|
28
|
+
warn(fields: Record<string, any>, msg: string): void;
|
|
29
|
+
error(fields: Record<string, any>, msg: string): void;
|
|
30
|
+
private shouldLog;
|
|
31
|
+
private emit;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACvD;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAS3D;;;;;;;;GAQG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,OAAO,CAAC,KAAK,CAAW;gBAEZ,KAAK,GAAE,QAAiB;IAIpC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAKrD,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAKpD,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAKpD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAKrD,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,IAAI;CASb"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
const LOG_LEVEL_ORDER = {
|
|
2
|
+
debug: 0,
|
|
3
|
+
info: 1,
|
|
4
|
+
warn: 2,
|
|
5
|
+
error: 3,
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Default structured logger that writes JSON lines to stdout/stderr.
|
|
9
|
+
*
|
|
10
|
+
* - debug and info go to `console.log` (stdout)
|
|
11
|
+
* - warn goes to `console.warn` (stderr)
|
|
12
|
+
* - error goes to `console.error` (stderr)
|
|
13
|
+
*
|
|
14
|
+
* Messages at levels below the configured `level` are suppressed.
|
|
15
|
+
*/
|
|
16
|
+
export class ConsoleLogger {
|
|
17
|
+
level;
|
|
18
|
+
constructor(level = "warn") {
|
|
19
|
+
this.level = level;
|
|
20
|
+
}
|
|
21
|
+
debug(fields, msg) {
|
|
22
|
+
if (!this.shouldLog("debug"))
|
|
23
|
+
return;
|
|
24
|
+
this.emit("debug", fields, msg, console.log);
|
|
25
|
+
}
|
|
26
|
+
info(fields, msg) {
|
|
27
|
+
if (!this.shouldLog("info"))
|
|
28
|
+
return;
|
|
29
|
+
this.emit("info", fields, msg, console.log);
|
|
30
|
+
}
|
|
31
|
+
warn(fields, msg) {
|
|
32
|
+
if (!this.shouldLog("warn"))
|
|
33
|
+
return;
|
|
34
|
+
this.emit("warn", fields, msg, console.warn);
|
|
35
|
+
}
|
|
36
|
+
error(fields, msg) {
|
|
37
|
+
if (!this.shouldLog("error"))
|
|
38
|
+
return;
|
|
39
|
+
this.emit("error", fields, msg, console.error);
|
|
40
|
+
}
|
|
41
|
+
shouldLog(level) {
|
|
42
|
+
return LOG_LEVEL_ORDER[level] >= LOG_LEVEL_ORDER[this.level];
|
|
43
|
+
}
|
|
44
|
+
emit(level, fields, msg, writer) {
|
|
45
|
+
const entry = {
|
|
46
|
+
timestamp: new Date().toISOString(),
|
|
47
|
+
level,
|
|
48
|
+
msg,
|
|
49
|
+
...fields,
|
|
50
|
+
};
|
|
51
|
+
writer(JSON.stringify(entry));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAeA,MAAM,eAAe,GAA6B;IAChD,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IAChB,KAAK,CAAW;IAExB,YAAY,QAAkB,MAAM;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAA2B,EAAE,GAAW;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,MAA2B,EAAE,GAAW;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,OAAO;QACpC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,MAA2B,EAAE,GAAW;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,OAAO;QACpC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAA2B,EAAE,GAAW;QAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAEO,IAAI,CAAC,KAAa,EAAE,MAA2B,EAAE,GAAW,EAAE,MAAgC;QACpG,MAAM,KAAK,GAAG;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK;YACL,GAAG;YACH,GAAG,MAAM;SACV,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { Logger } from "../logger.js";
|
|
2
|
+
import type { Network } from "./network.js";
|
|
3
|
+
import { type Message, type Request, type Response } from "./types.js";
|
|
4
|
+
export interface HttpAdapter {
|
|
5
|
+
readonly unicast: string;
|
|
6
|
+
readonly anycast: string;
|
|
7
|
+
init(): Promise<void>;
|
|
8
|
+
stop(): Promise<void>;
|
|
9
|
+
onReceive(callback: (msg: Message) => void): void;
|
|
10
|
+
}
|
|
11
|
+
export interface HttpNetworkConfig {
|
|
12
|
+
url?: string;
|
|
13
|
+
timeout?: number;
|
|
14
|
+
headers?: {
|
|
15
|
+
[key: string]: string;
|
|
16
|
+
};
|
|
17
|
+
token?: string;
|
|
18
|
+
logger?: Logger;
|
|
19
|
+
adapter?: HttpAdapter;
|
|
20
|
+
}
|
|
21
|
+
export declare class HttpNetwork implements Network {
|
|
22
|
+
private url;
|
|
23
|
+
private timeout;
|
|
24
|
+
private headers;
|
|
25
|
+
private token?;
|
|
26
|
+
private adapter?;
|
|
27
|
+
private logger?;
|
|
28
|
+
constructor({ url, timeout, headers, token, logger, adapter, }: HttpNetworkConfig);
|
|
29
|
+
get unicast(): string;
|
|
30
|
+
get anycast(): string;
|
|
31
|
+
init(): Promise<void>;
|
|
32
|
+
stop(): Promise<void>;
|
|
33
|
+
recv(callback: (msg: Message) => void): void;
|
|
34
|
+
private static readonly PROTOCOL_STATUSES;
|
|
35
|
+
send: <K extends Request["kind"]>(req: Extract<Request, {
|
|
36
|
+
kind: K;
|
|
37
|
+
}>) => Promise<Extract<Response, {
|
|
38
|
+
kind: K;
|
|
39
|
+
}>>;
|
|
40
|
+
}
|
|
41
|
+
export declare class PollMessageSource implements HttpAdapter {
|
|
42
|
+
readonly unicast: string;
|
|
43
|
+
readonly anycast: string;
|
|
44
|
+
private pollUrl;
|
|
45
|
+
private headers;
|
|
46
|
+
private eventSource;
|
|
47
|
+
private callbacks;
|
|
48
|
+
private logger?;
|
|
49
|
+
private reconnectAttempt;
|
|
50
|
+
private static readonly INITIAL_BACKOFF_MS;
|
|
51
|
+
private static readonly MAX_BACKOFF_MS;
|
|
52
|
+
constructor({ url, token, logger, }: {
|
|
53
|
+
url: string;
|
|
54
|
+
token?: string;
|
|
55
|
+
logger?: Logger;
|
|
56
|
+
});
|
|
57
|
+
private connect;
|
|
58
|
+
private deliver;
|
|
59
|
+
init(): Promise<void>;
|
|
60
|
+
stop(): Promise<void>;
|
|
61
|
+
onReceive(callback: (msg: Message) => void): void;
|
|
62
|
+
}
|
|
63
|
+
export declare class PushMessageSource implements HttpAdapter {
|
|
64
|
+
unicast: string;
|
|
65
|
+
anycast: string;
|
|
66
|
+
private host;
|
|
67
|
+
private port;
|
|
68
|
+
private server;
|
|
69
|
+
private callbacks;
|
|
70
|
+
private logger?;
|
|
71
|
+
constructor({ host, port, logger, }?: {
|
|
72
|
+
host?: string;
|
|
73
|
+
port?: number;
|
|
74
|
+
logger?: Logger;
|
|
75
|
+
});
|
|
76
|
+
init(): Promise<void>;
|
|
77
|
+
stop(): Promise<void>;
|
|
78
|
+
private handleRequest;
|
|
79
|
+
private deliver;
|
|
80
|
+
onReceive(callback: (msg: Message) => void): void;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/network/http.ts"],"names":[],"mappings":"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"}
|