liminal 0.17.15 → 0.17.17
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/Actor.ts +22 -33
- package/{workerd/ActorHandle.ts → ActorHandle.ts} +7 -2
- package/{workerd/WorkerdActorNamespace.ts → ActorNamespace.ts} +46 -32
- package/{workerd/WorkerdActorRuntime.ts → ActorRuntime.ts} +71 -44
- package/ActorTransport.ts +2 -2
- package/Audition.ts +1 -1
- package/BrowserActorNamespace.ts +257 -0
- package/CHANGELOG.md +28 -0
- package/Client.ts +127 -76
- package/ClientDirectory.ts +40 -32
- package/ClientHandle.ts +9 -7
- package/Fn.ts +39 -0
- package/Tracing.ts +11 -3
- package/dist/Actor.d.ts +3 -5
- package/dist/Actor.js +5 -9
- package/dist/Actor.js.map +1 -1
- package/dist/{workerd/ActorHandle.d.ts → ActorHandle.d.ts} +6 -3
- package/dist/ActorHandle.js.map +1 -0
- package/dist/{workerd/WorkerdActorNamespace.d.ts → ActorNamespace.d.ts} +12 -10
- package/dist/{workerd/WorkerdActorNamespace.js → ActorNamespace.js} +16 -10
- package/dist/ActorNamespace.js.map +1 -0
- package/dist/{workerd/WorkerdActorRuntime.d.ts → ActorRuntime.d.ts} +10 -9
- package/dist/{workerd/WorkerdActorRuntime.js → ActorRuntime.js} +40 -34
- package/dist/ActorRuntime.js.map +1 -0
- package/dist/ActorTransport.d.ts +2 -2
- package/dist/Audition.js +1 -1
- package/dist/Audition.js.map +1 -1
- package/dist/BrowserActorNamespace.d.ts +39 -0
- package/dist/BrowserActorNamespace.js +134 -0
- package/dist/BrowserActorNamespace.js.map +1 -0
- package/dist/Client.d.ts +7 -4
- package/dist/Client.js +78 -48
- package/dist/Client.js.map +1 -1
- package/dist/ClientDirectory.d.ts +1 -1
- package/dist/ClientDirectory.js +11 -5
- package/dist/ClientDirectory.js.map +1 -1
- package/dist/ClientHandle.d.ts +5 -4
- package/dist/Fn.d.ts +8 -0
- package/dist/Tracing.js +6 -2
- package/dist/Tracing.js.map +1 -1
- package/dist/experimental/L/append.js +1 -1
- package/dist/experimental/L/append.js.map +1 -1
- package/dist/experimental/L/history.js +1 -1
- package/dist/experimental/L/history.js.map +1 -1
- package/dist/index.common.d.ts +12 -0
- package/dist/index.common.js +13 -0
- package/dist/index.common.js.map +1 -0
- package/dist/index.d.ts +4 -11
- package/dist/index.js +4 -11
- package/dist/index.js.map +1 -1
- package/dist/index.non-workerd.d.ts +1 -0
- package/dist/index.non-workerd.js +2 -0
- package/dist/index.non-workerd.js.map +1 -0
- package/dist/package.json +13 -7
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/experimental/L/append.ts +1 -1
- package/experimental/L/history.ts +1 -1
- package/index.common.ts +12 -0
- package/index.non-workerd.ts +1 -0
- package/index.ts +4 -11
- package/package.json +12 -9
- package/_util/schema.ts +0 -7
- package/browser/BrowserActorNamespace.ts +0 -248
- package/browser/index.ts +0 -1
- package/dist/_util/schema.d.ts +0 -4
- package/dist/_util/schema.js +0 -5
- package/dist/_util/schema.js.map +0 -1
- package/dist/browser/BrowserActorNamespace.d.ts +0 -16
- package/dist/browser/BrowserActorNamespace.js +0 -133
- package/dist/browser/BrowserActorNamespace.js.map +0 -1
- package/dist/browser/index.d.ts +0 -1
- package/dist/browser/index.js +0 -2
- package/dist/browser/index.js.map +0 -1
- package/dist/workerd/ActorHandle.js.map +0 -1
- package/dist/workerd/WorkerdActorNamespace.js.map +0 -1
- package/dist/workerd/WorkerdActorRuntime.js.map +0 -1
- package/dist/workerd/index.d.ts +0 -3
- package/dist/workerd/index.js +0 -4
- package/dist/workerd/index.js.map +0 -1
- package/workerd/index.ts +0 -3
- /package/dist/{workerd/ActorHandle.js → ActorHandle.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActorRuntime.js","sourceRoot":"","sources":["../ActorRuntime.ts"],"names":[],"mappings":"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"}
|
package/dist/ActorTransport.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Effect, Schema as S } from "effect";
|
|
|
2
2
|
import type { Protocol, ProtocolDefinition } from "./Protocol.ts";
|
|
3
3
|
export interface ActorTransport<Key, Client, AttachmentFields extends S.Struct.Fields, D extends ProtocolDefinition> {
|
|
4
4
|
readonly key: (client: Client) => Key;
|
|
5
|
-
readonly send: (client: Client, event: Protocol<D>["Event"]["Type"]) => Effect.Effect<void,
|
|
5
|
+
readonly send: (client: Client, event: Protocol<D>["Event"]["Type"]) => Effect.Effect<void, never, Protocol<D>["Event"]["EncodingServices"]>;
|
|
6
6
|
readonly close: (client: Client) => Effect.Effect<void>;
|
|
7
|
-
readonly snapshot: (client: Client, attachments: S.Struct<AttachmentFields>["Type"]) => Effect.Effect<void,
|
|
7
|
+
readonly snapshot: (client: Client, attachments: S.Struct<AttachmentFields>["Type"]) => Effect.Effect<void, never, S.Struct<AttachmentFields>["EncodingServices"]>;
|
|
8
8
|
}
|
package/dist/Audition.js
CHANGED
|
@@ -8,7 +8,7 @@ export const empty = {
|
|
|
8
8
|
return Pipeable.pipeArguments(this, arguments);
|
|
9
9
|
},
|
|
10
10
|
state: Stream.fail(new AuditionError()),
|
|
11
|
-
fn: () => () => new AuditionError()
|
|
11
|
+
fn: () => () => new AuditionError(),
|
|
12
12
|
events: Stream.fail(new AuditionError()),
|
|
13
13
|
};
|
|
14
14
|
export const cycleOn = (predicate) => (audition) => {
|
package/dist/Audition.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Audition.js","sourceRoot":"","sources":["../Audition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE/E,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAA;AAK7D,MAAM,MAAM,GAAG,mBAA4B,CAAA;AAuB3C,MAAM,CAAC,MAAM,KAAK,GAAsC;IACtD,CAAC,MAAM,CAAC,EAAE,MAAM;IAChB,IAAI;QACF,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAChD,CAAC;IACD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;IACvC,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE
|
|
1
|
+
{"version":3,"file":"Audition.js","sourceRoot":"","sources":["../Audition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE/E,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAA;AAK7D,MAAM,MAAM,GAAG,mBAA4B,CAAA;AAuB3C,MAAM,CAAC,MAAM,KAAK,GAAsC;IACtD,CAAC,MAAM,CAAC,EAAE,MAAM;IAChB,IAAI;QACF,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAChD,CAAC;IACD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;IACvC,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE;IACnC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;CACzC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAClB,CAAQ,SAAoC,EAAE,EAAE,CAChD,CACE,QAAwD,EACR,EAAE;IAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAChF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEjD,OAAO;QACL,CAAC,MAAM,CAAC,EAAE,MAAM;QAChB,IAAI;YACF,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAChD,CAAC;QACD,MAAM;QACN,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,KAAK;KACN,CAAA;AACH,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,GAAG,GA4BZ,QAAQ,CAAC,IAAI,CACf,CAAC,EACD,CASE,QAAwD,EACxD,MAAoD,EAMpD,EAAE;IACF,MAAM,EAAE,GAAG,CAAC,CAAC,MAAc,EAAE,GAAG,CAAQ,EAAE,EAAE,CAC1C,MAAM,CAAC,UAAU,CACf,QAAQ,CAAC,EAAE,OAAY;QACrB,OAAO,KAAK,CAAC,CAAC,QAAQ;aACnB,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;aACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC7E,CAAC,EACD,GAAG,CAAC,CACL,CAA+E,CAAA;IAElF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CACjC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAC1F,CAAA;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAC/B,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CACzF,CAAA;IAED,OAAO;QACL,CAAC,MAAM,CAAC,EAAE,MAAM;QAChB,IAAI;YACF,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAChD,CAAC;QACD,MAAM;QACN,EAAE;QACF,KAAK;KACN,CAAA;AACH,CAAC,CACF,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Effect, Schema as S, Scope, Stream, Tracer } from "effect";
|
|
2
|
+
import { type TopFromString } from "liminal-util/schema";
|
|
3
|
+
import type { Actor } from "./Actor.ts";
|
|
4
|
+
import type { ClientHandle } from "./ClientHandle.ts";
|
|
5
|
+
import * as Method from "./Method.ts";
|
|
6
|
+
import type { ProtocolDefinition } from "./Protocol.ts";
|
|
7
|
+
export interface Introduction<Name extends TopFromString, AttachmentFields extends S.Struct.Fields> {
|
|
8
|
+
readonly port: MessagePort;
|
|
9
|
+
readonly name: Name["Type"];
|
|
10
|
+
readonly attachments: S.Struct<AttachmentFields>["Type"];
|
|
11
|
+
}
|
|
12
|
+
export declare const make: <ActorSelf, ActorId extends string, Name extends TopFromString, AttachmentFields extends S.Struct.Fields, ClientSelf, ClientId extends string, D extends ProtocolDefinition, const Handlers extends Method.Handlers<D["external"], any>, E, R, IntroductionE, IntroductionR>(args_0: {
|
|
13
|
+
readonly actor: Actor<ActorSelf, ActorId, Name, AttachmentFields, ClientSelf, ClientId, D>;
|
|
14
|
+
readonly handlers: Handlers;
|
|
15
|
+
readonly hydrate: Effect.Effect<S.Struct<D["state"]>["Type"], E, R>;
|
|
16
|
+
readonly introductions: Stream.Stream<Introduction<Name, AttachmentFields>, IntroductionE, IntroductionR>;
|
|
17
|
+
}) => Effect.Effect<void, IntroductionE | import("effect/unstable/workers/WorkerError").WorkerError, Scope.Scope | Exclude<IntroductionR, Tracer.ParentSpan> | Exclude<Exclude<Exclude<Exclude<[Effect.Effect<void, S.SchemaError, Exclude<Exclude<Exclude<({ readonly [K_1 in keyof D["external"] & string]: S.TaggedStruct<K_1, {
|
|
18
|
+
readonly value: D["external"][K_1]["success"];
|
|
19
|
+
}>; } extends infer T extends Record<string, S.Top> ? { [K in keyof T]: T[K]["EncodingServices"]; } : never)[keyof D["external"] & string], Tracer.ParentSpan>, Scope.Scope>, ActorSelf> | Exclude<Exclude<Exclude<({ readonly [K_3 in keyof D["external"] & string]: S.TaggedStruct<K_3, {
|
|
20
|
+
readonly value: D["external"][K_3]["failure"];
|
|
21
|
+
}>; } extends infer T_1 extends Record<string, S.Top> ? { [K_2 in keyof T_1]: T_1[K_2]["EncodingServices"]; } : never)[keyof D["external"] & string], Tracer.ParentSpan>, Scope.Scope>, ActorSelf> | Exclude<Exclude<Exclude<Handlers[keyof Handlers] extends (v: never) => Effect.Effect<any, any, infer R_1> ? R_1 : never, Tracer.ParentSpan>, Scope.Scope>, ActorSelf>> | Effect.Effect<string, S.SchemaError, S.Struct.EncodingServices<D["state"]>> | Effect.Effect<ClientHandle<ActorSelf, AttachmentFields, D>, S.SchemaError, S.Struct.EncodingServices<AttachmentFields>> | Effect.Effect<S.Struct.Type_<D["state"], S.Struct.TypeOptionalKeys<D["state"]>, S.Struct.TypeMutableKeys<D["state"]>> extends infer T_2 ? { [K_4 in keyof T_2]: T_2[K_4]; } : never, E, Exclude<Exclude<Exclude<R, Scope.Scope>, Tracer.ParentSpan>, ActorSelf>> | Effect.Effect<Name["Encoded"], S.SchemaError, Name["EncodingServices"]> | Effect.Effect<{
|
|
22
|
+
readonly _tag: "Disconnect";
|
|
23
|
+
} | {
|
|
24
|
+
readonly _tag: "Audition.Payload";
|
|
25
|
+
readonly client: string;
|
|
26
|
+
} | {
|
|
27
|
+
readonly _tag: "F.Payload";
|
|
28
|
+
readonly id: number;
|
|
29
|
+
readonly payload: ({ readonly [K_6 in keyof D["external"] & string]: S.TaggedStruct<K_6, {
|
|
30
|
+
readonly value: D["external"][K_6]["payload"];
|
|
31
|
+
}>; } extends infer T_3 extends Record<string, S.Top> ? { [K_5 in keyof T_3]: T_3[K_5]["Type"]; } : never)[keyof D["external"] & string];
|
|
32
|
+
readonly trace?: {
|
|
33
|
+
readonly traceId: string;
|
|
34
|
+
readonly spanId: string;
|
|
35
|
+
readonly sampled: boolean;
|
|
36
|
+
} | undefined;
|
|
37
|
+
}, S.SchemaError, ({ readonly [K_6 in keyof D["external"] & string]: S.TaggedStruct<K_6, {
|
|
38
|
+
readonly value: D["external"][K_6]["payload"];
|
|
39
|
+
}>; } extends infer T_4 extends Record<string, S.Top> ? { [K_7 in keyof T_4]: T_4[K_7]["DecodingServices"]; } : never)[keyof D["external"] & string]>] extends [Effect.Effect<infer _A, infer _E, infer R_2>] ? R_2 : never, Tracer.ParentSpan>, Tracer.ParentSpan>, Scope.Scope>, Tracer.ParentSpan>>;
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { BrowserWorkerRunner } from "@effect/platform-browser";
|
|
2
|
+
import { Effect, Exit, Layer, Option, Ref, Schema as S, Scope, Semaphore, Stream, Tracer } from "effect";
|
|
3
|
+
import { WorkerRunner } from "effect/unstable/workers";
|
|
4
|
+
import * as Boundary from "liminal-util/Boundary";
|
|
5
|
+
import { encodeJsonString, decodeJsonString } from "liminal-util/schema";
|
|
6
|
+
import * as ClientDirectory from "./ClientDirectory.js";
|
|
7
|
+
import * as Method from "./Method.js";
|
|
8
|
+
import * as Tracing from "./Tracing.js";
|
|
9
|
+
export const make = Effect.fnUntraced(function* ({ actor, handlers, hydrate, introductions, }) {
|
|
10
|
+
const { definition: { client: { protocol: P, key: expected }, name: Name, }, } = actor;
|
|
11
|
+
const { Client: ClientM } = P;
|
|
12
|
+
const decodeClient = decodeJsonString(ClientM);
|
|
13
|
+
const encodeAuditionSuccess = encodeJsonString(P.Audition.Success);
|
|
14
|
+
const encodeAuditionFailure = encodeJsonString(P.Audition.Failure);
|
|
15
|
+
const encodeFSuccess = encodeJsonString(P.F.Success);
|
|
16
|
+
const encodeFFailure = encodeJsonString(P.F.Failure);
|
|
17
|
+
const encodeEvent = encodeJsonString(P.Event);
|
|
18
|
+
const entries = {};
|
|
19
|
+
const transport = {
|
|
20
|
+
key: ({ port }) => port,
|
|
21
|
+
send: ({ backing }, event) => {
|
|
22
|
+
const { _tag } = event.event;
|
|
23
|
+
return Effect.gen(function* () {
|
|
24
|
+
const trace = yield* Tracing.currentTrace;
|
|
25
|
+
yield* backing.send(0, yield* encodeEvent({ ...event, ...(trace && { trace }) }).pipe(Effect.catchTags({
|
|
26
|
+
SchemaError: Effect.die,
|
|
27
|
+
})));
|
|
28
|
+
}).pipe(Boundary.span("send", import.meta.url, { attributes: { _tag }, kind: "producer" }));
|
|
29
|
+
},
|
|
30
|
+
close: ({ close }) => close,
|
|
31
|
+
snapshot: () => Effect.void,
|
|
32
|
+
};
|
|
33
|
+
const useEntries = yield* Semaphore.make(1).pipe(Effect.map((v) => v.withPermits(1)));
|
|
34
|
+
const getEntry = Effect.fnUntraced(function* (key) {
|
|
35
|
+
const existing = entries[key];
|
|
36
|
+
if (existing)
|
|
37
|
+
return existing;
|
|
38
|
+
const directory = ClientDirectory.make(actor, { transport });
|
|
39
|
+
const semaphore = yield* Semaphore.make(1);
|
|
40
|
+
const fresh = {
|
|
41
|
+
directory,
|
|
42
|
+
mutex: semaphore.withPermits(1),
|
|
43
|
+
};
|
|
44
|
+
entries[key] = fresh;
|
|
45
|
+
return fresh;
|
|
46
|
+
}, useEntries);
|
|
47
|
+
const outerScope = yield* Scope.Scope;
|
|
48
|
+
yield* introductions.pipe(Stream.runForEach(Effect.fnUntraced(function* ({ name, port, attachments }) {
|
|
49
|
+
const stateRef = yield* Ref.make(Option.none());
|
|
50
|
+
const scope = yield* Scope.fork(outerScope, "sequential");
|
|
51
|
+
const closeScope = Scope.close(scope, Exit.void);
|
|
52
|
+
const backing = yield* BrowserWorkerRunner.make(port).start();
|
|
53
|
+
yield* Scope.addFinalizer(scope, Effect.gen(function* () {
|
|
54
|
+
const state = yield* Ref.get(stateRef);
|
|
55
|
+
if (state._tag === "Some") {
|
|
56
|
+
const { key, entry: { directory }, } = state.value;
|
|
57
|
+
yield* directory.unregister(port);
|
|
58
|
+
if (directory.handles.size === 0) {
|
|
59
|
+
delete entries[key];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}).pipe(useEntries));
|
|
63
|
+
yield* backing
|
|
64
|
+
.run(Effect.fnUntraced(function* (_portId, raw) {
|
|
65
|
+
const state = yield* Ref.get(stateRef);
|
|
66
|
+
const message = yield* decodeClient(raw);
|
|
67
|
+
if (state._tag === "None") {
|
|
68
|
+
if (message._tag !== "Audition.Payload") {
|
|
69
|
+
return yield* Effect.die(undefined);
|
|
70
|
+
}
|
|
71
|
+
const { client: actual } = message;
|
|
72
|
+
if (actual !== expected) {
|
|
73
|
+
yield* backing.send(0, yield* encodeAuditionFailure({
|
|
74
|
+
_tag: "Audition.Failure",
|
|
75
|
+
expected,
|
|
76
|
+
actual,
|
|
77
|
+
}));
|
|
78
|
+
return yield* closeScope;
|
|
79
|
+
}
|
|
80
|
+
const key = yield* S.encodeEffect(Name)(name);
|
|
81
|
+
const entry = yield* getEntry(key);
|
|
82
|
+
const currentClient = yield* entry.directory.register({ port, backing, close: closeScope }, attachments);
|
|
83
|
+
const ActorLive = Layer.succeed(actor, {
|
|
84
|
+
name,
|
|
85
|
+
clients: entry.directory.handles,
|
|
86
|
+
currentClient,
|
|
87
|
+
});
|
|
88
|
+
yield* Ref.set(stateRef, Option.some({ key, entry, currentClient, ActorLive }));
|
|
89
|
+
const initial = yield* hydrate.pipe(entry.mutex, Effect.scoped, Boundary.span("onConnect", import.meta.url), Effect.provide(ActorLive));
|
|
90
|
+
return yield* backing.send(0, yield* encodeAuditionSuccess({ _tag: "Audition.Success", initial }));
|
|
91
|
+
}
|
|
92
|
+
const { entry, ActorLive } = state.value;
|
|
93
|
+
if (message._tag === "Audition.Payload") {
|
|
94
|
+
return yield* Effect.die(undefined);
|
|
95
|
+
}
|
|
96
|
+
if (message._tag === "Disconnect") {
|
|
97
|
+
return yield* closeScope;
|
|
98
|
+
}
|
|
99
|
+
const { id, payload } = message;
|
|
100
|
+
const { _tag, value } = payload;
|
|
101
|
+
const parent = message.trace && Tracer.externalSpan(message.trace);
|
|
102
|
+
const transportSpan = yield* Tracing.parent;
|
|
103
|
+
yield* handlers[_tag](value).pipe(Effect.matchEffect({
|
|
104
|
+
onSuccess: (value) => encodeFSuccess({
|
|
105
|
+
_tag: "F.Success",
|
|
106
|
+
id,
|
|
107
|
+
success: { _tag, value },
|
|
108
|
+
}),
|
|
109
|
+
onFailure: (value) => encodeFFailure({
|
|
110
|
+
_tag: "F.Failure",
|
|
111
|
+
id,
|
|
112
|
+
failure: { _tag, value },
|
|
113
|
+
}),
|
|
114
|
+
}), Effect.andThen((v) => backing.send(0, v)), Boundary.span("handle", import.meta.url, {
|
|
115
|
+
attributes: { _tag },
|
|
116
|
+
kind: "server",
|
|
117
|
+
parent,
|
|
118
|
+
links: parent && transportSpan
|
|
119
|
+
? [
|
|
120
|
+
{
|
|
121
|
+
span: transportSpan,
|
|
122
|
+
attributes: {
|
|
123
|
+
"liminal.link": "transport",
|
|
124
|
+
"liminal.transport": "worker",
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
]
|
|
128
|
+
: undefined,
|
|
129
|
+
}), Effect.scoped, Effect.provide(ActorLive), entry.mutex);
|
|
130
|
+
}, Boundary.span("message", import.meta.url)))
|
|
131
|
+
.pipe(Effect.andThen(closeScope), Effect.catchCause((cause) => Effect.logError(cause).pipe(Effect.andThen(closeScope))), Boundary.span("backing", import.meta.url), Effect.forkScoped, Scope.provide(scope));
|
|
132
|
+
})));
|
|
133
|
+
}, Boundary.span("make", import.meta.url));
|
|
134
|
+
//# sourceMappingURL=BrowserActorNamespace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserActorNamespace.js","sourceRoot":"","sources":["../BrowserActorNamespace.ts"],"names":[],"mappings":"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"}
|
package/dist/Client.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Context, Effect, Layer, RcRef, Scope, Stream, Schema as S } from "effec
|
|
|
2
2
|
import { Socket } from "effect/unstable/socket";
|
|
3
3
|
import { Worker } from "effect/unstable/workers";
|
|
4
4
|
import { type ClientError } from "./errors.ts";
|
|
5
|
-
import type { Fn } from "./Fn.ts";
|
|
5
|
+
import type { Fn, FnNoSelf } from "./Fn.ts";
|
|
6
6
|
import { Protocol, type ProtocolDefinition } from "./Protocol.ts";
|
|
7
7
|
import * as Reducer from "./Reducer.ts";
|
|
8
8
|
export declare const TypeId: "~liminal/Client";
|
|
@@ -16,8 +16,10 @@ export type Service<ClientSelf, D extends ProtocolDefinition> = RcRef.RcRef<{
|
|
|
16
16
|
readonly fnRaw: <K extends keyof D["external"], M extends D["external"][K]>(tag: K, payload: M["payload"]["Type"]) => Effect.Effect<M["success"]["Type"], M["failure"]["Type"], ClientSelf>;
|
|
17
17
|
readonly end: Effect.Effect<void>;
|
|
18
18
|
}, ClientError>;
|
|
19
|
-
export interface Client<Self,
|
|
20
|
-
new (_: never): Context.ServiceClass.Shape<
|
|
19
|
+
export interface Client<Self, Id extends string, D extends ProtocolDefinition> extends Context.Service<Self, Service<Self, D>> {
|
|
20
|
+
new (_: never): Context.ServiceClass.Shape<Id, Service<Self, D>> & {
|
|
21
|
+
readonly State: S.Struct<D["state"]>["Type"];
|
|
22
|
+
};
|
|
21
23
|
readonly [TypeId]: typeof TypeId;
|
|
22
24
|
readonly definition: D;
|
|
23
25
|
readonly protocol: Protocol<D>;
|
|
@@ -27,6 +29,7 @@ export interface Client<Self, ClientId extends string, D extends ProtocolDefinit
|
|
|
27
29
|
readonly invalidate: Effect.Effect<void, never, Self>;
|
|
28
30
|
readonly reducer: <K extends keyof D["events"], R extends Reducer.Reducer<D, K>>(_tag: K, f: R) => R;
|
|
29
31
|
}
|
|
32
|
+
export declare const fn: <ClientSelf, D extends ProtocolDefinition>(service: Service<ClientSelf, D>) => FnNoSelf<D["external"]>;
|
|
30
33
|
export declare const Service: <Self>() => <Id extends string, D extends ProtocolDefinition>(id: Id, definition: D) => Client<Self, Id, D>;
|
|
31
34
|
export interface ClientTransport<D extends ProtocolDefinition, R> {
|
|
32
35
|
readonly listen: (publish: (message: Protocol<D>["Actor"]["Type"]) => Effect.Effect<void, ClientError, R>) => Effect.Effect<void, ClientError | S.SchemaError, Scope.Scope | Protocol<D>["Actor"]["DecodingServices"] | R>;
|
|
@@ -45,4 +48,4 @@ export declare const layerWorker: <Self, Id extends string, D extends ProtocolDe
|
|
|
45
48
|
readonly reducers: Reducers;
|
|
46
49
|
readonly replay?: ReplayConfig | undefined;
|
|
47
50
|
readonly onConnect?: undefined | ((state: S.Struct<D["state"]>["Type"]) => Effect.Effect<void, never, CR>);
|
|
48
|
-
}) => Layer.Layer<Self, never, Worker.WorkerPlatform | Worker.Spawner | T["Actor"]["DecodingServices"] | T["
|
|
51
|
+
}) => Layer.Layer<Self, never, Worker.WorkerPlatform | Worker.Spawner | T["Actor"]["DecodingServices"] | T["Client"]["EncodingServices"] | Reducer.Reducers.Services<Self, Reducers>>;
|
package/dist/Client.js
CHANGED
|
@@ -1,24 +1,27 @@
|
|
|
1
1
|
import { Context, Encoding, Deferred, Effect, Layer, Option, PubSub, RcRef, Record, pipe, Ref, Scope, Stream, Take, Schema as S, Array, Fiber, Exit, Cause, Result, flow, Tracer, identity, Semaphore, } from "effect";
|
|
2
2
|
import { Socket } from "effect/unstable/socket";
|
|
3
3
|
import { Worker } from "effect/unstable/workers";
|
|
4
|
-
import * as
|
|
5
|
-
import { decodeJsonString, encodeJsonString } from "
|
|
4
|
+
import * as Boundary from "liminal-util/Boundary";
|
|
5
|
+
import { decodeJsonString, encodeJsonString } from "liminal-util/schema";
|
|
6
6
|
import { AuditionError, ConnectionError, UnresolvedError } from "./errors.js";
|
|
7
7
|
import { Protocol } from "./Protocol.js";
|
|
8
8
|
import * as Reducer from "./Reducer.js";
|
|
9
9
|
import * as Tracing from "./Tracing.js";
|
|
10
|
-
const span = Spanner.make(import.meta.url);
|
|
11
10
|
export const TypeId = "~liminal/Client";
|
|
11
|
+
export const fn = (service) => ((_tag, ...f) => Effect.fnUntraced(function* (payload) {
|
|
12
|
+
const { fnRaw: fn } = yield* RcRef.get(service);
|
|
13
|
+
return yield* fn(_tag, payload);
|
|
14
|
+
}, Effect.scoped, ...f));
|
|
12
15
|
export const Service = () => (id, definition) => {
|
|
13
16
|
const tag = Context.Service()(id);
|
|
14
17
|
const protocol = Protocol(definition);
|
|
15
|
-
const state = tag.
|
|
16
|
-
const events = tag.
|
|
18
|
+
const state = tag.pipe(Effect.flatMap(RcRef.get), Effect.map(({ state }) => state), Stream.unwrap);
|
|
19
|
+
const events = tag.pipe(Effect.flatMap(RcRef.get), Effect.map(({ events }) => events), Stream.unwrap);
|
|
17
20
|
const fn = ((_tag, ...f) => Effect.fnUntraced(function* (payload) {
|
|
18
|
-
const { fnRaw: fn } = yield* tag.
|
|
21
|
+
const { fnRaw: fn } = yield* tag.pipe(Effect.flatMap(RcRef.get));
|
|
19
22
|
return yield* fn(_tag, payload);
|
|
20
23
|
}, Effect.scoped, ...f));
|
|
21
|
-
const invalidate = tag.
|
|
24
|
+
const invalidate = tag.pipe(Effect.flatMap((rc) => RcRef.get(rc).pipe(Effect.flatMap(({ end }) => end), Effect.andThen(RcRef.invalidate(rc)))), Effect.scoped, Effect.ignore);
|
|
22
25
|
const reducer = (_event, f) => f;
|
|
23
26
|
return Object.assign(tag, {
|
|
24
27
|
[TypeId]: TypeId,
|
|
@@ -92,14 +95,16 @@ const make = ({ build, client, reducers, onConnect, replay, }) => Effect.gen(fun
|
|
|
92
95
|
const state = yield* Deferred.await(stateDeferred);
|
|
93
96
|
yield* Effect.gen(function* () {
|
|
94
97
|
const current = yield* Ref.get(state);
|
|
95
|
-
const reduced = yield* reducer(event)(current).pipe(Effect.provideService(client, rcr)
|
|
98
|
+
const reduced = yield* reducer(event)(current).pipe(Effect.provideService(client, rcr),
|
|
99
|
+
// TODO: rework error-handling
|
|
100
|
+
Effect.catchDefect(() => Effect.succeed(undefined)));
|
|
96
101
|
if (reduced) {
|
|
97
102
|
yield* PubSub.publish(statePubsub, reduced);
|
|
98
103
|
yield* Ref.set(state, reduced);
|
|
99
104
|
}
|
|
100
105
|
}).pipe(reduceTask);
|
|
101
106
|
const parent = message.trace ? Tracer.externalSpan(message.trace) : undefined;
|
|
102
|
-
yield* publishTake([event], true).pipe(span("enqueue-event", {
|
|
107
|
+
yield* publishTake([event], true).pipe(Boundary.span("enqueue-event", import.meta.url, {
|
|
103
108
|
attributes: { _tag },
|
|
104
109
|
kind: "consumer",
|
|
105
110
|
parent,
|
|
@@ -196,21 +201,30 @@ const make = ({ build, client, reducers, onConnect, replay, }) => Effect.gen(fun
|
|
|
196
201
|
...(trace && { trace }),
|
|
197
202
|
});
|
|
198
203
|
return yield* Effect.raceFirst(Deferred.await(deferred), Fiber.await(fiber).pipe(Effect.flatMap((exit) => Exit.match(exit, {
|
|
199
|
-
onSuccess: () => new UnresolvedError()
|
|
204
|
+
onSuccess: () => new UnresolvedError(),
|
|
200
205
|
onFailure: flow(Cause.findError, Result.match({
|
|
201
206
|
onSuccess: Effect.fail,
|
|
202
|
-
onFailure: () => new UnresolvedError()
|
|
207
|
+
onFailure: () => new UnresolvedError(),
|
|
203
208
|
})),
|
|
204
209
|
}))));
|
|
205
|
-
}).pipe(span("fn", {
|
|
210
|
+
}).pipe(Boundary.span("fn", import.meta.url, {
|
|
206
211
|
kind: "client",
|
|
207
212
|
attributes: { _tag },
|
|
208
213
|
}), Effect.provide(encodingServices));
|
|
209
214
|
return { state, events, fnRaw, end };
|
|
210
|
-
}).pipe(span("acquire",
|
|
215
|
+
}).pipe(Boundary.span("acquire", import.meta.url, {
|
|
216
|
+
attributes: { client: client.key },
|
|
217
|
+
}), Effect.annotateLogs("client", client.key)),
|
|
211
218
|
});
|
|
212
219
|
return rcr;
|
|
213
220
|
}).pipe(Layer.effect(client));
|
|
221
|
+
let clientId_;
|
|
222
|
+
const clientId = () => {
|
|
223
|
+
if (!clientId_) {
|
|
224
|
+
clientId_ = crypto.randomUUID();
|
|
225
|
+
}
|
|
226
|
+
return clientId_;
|
|
227
|
+
};
|
|
214
228
|
export const layerSocket = ({ client, reducers, url, protocols, replay, onConnect, }) => {
|
|
215
229
|
const { F, Actor } = client.protocol;
|
|
216
230
|
const encodeFPayload = encodeJsonString(F.Payload);
|
|
@@ -222,7 +236,12 @@ export const layerSocket = ({ client, reducers, url, protocols, replay, onConnec
|
|
|
222
236
|
replay,
|
|
223
237
|
build: Effect.gen(function* () {
|
|
224
238
|
const socket = yield* Socket.makeWebSocket(url ?? "/", {
|
|
225
|
-
protocols: [
|
|
239
|
+
protocols: [
|
|
240
|
+
"liminal",
|
|
241
|
+
clientId(),
|
|
242
|
+
Encoding.encodeBase64Url(client.key),
|
|
243
|
+
...(protocols ? Array.ensure(protocols) : []),
|
|
244
|
+
],
|
|
226
245
|
});
|
|
227
246
|
return {
|
|
228
247
|
listen: Effect.fnUntraced(function* (publish) {
|
|
@@ -236,48 +255,59 @@ export const layerSocket = ({ client, reducers, url, protocols, replay, onConnec
|
|
|
236
255
|
yield* Effect.annotateLogs(Effect.logDebug(`SocketErrored.${reason._tag}`), { cause });
|
|
237
256
|
return yield* new ConnectionError({ cause });
|
|
238
257
|
})));
|
|
239
|
-
}, span("listen")),
|
|
258
|
+
}, Boundary.span("listen", import.meta.url)),
|
|
240
259
|
send: Effect.fnUntraced(function* (v) {
|
|
241
260
|
const write = yield* socket.writer;
|
|
242
261
|
const message = yield* encodeFPayload(v);
|
|
243
|
-
yield* write(message).pipe(Effect.
|
|
244
|
-
|
|
262
|
+
yield* write(message).pipe(Effect.catchTags({
|
|
263
|
+
SocketError: (cause) => new ConnectionError({ cause }),
|
|
264
|
+
}));
|
|
265
|
+
}, Boundary.span("send", import.meta.url), Effect.scoped),
|
|
245
266
|
};
|
|
246
267
|
}),
|
|
247
268
|
});
|
|
248
269
|
};
|
|
249
|
-
export const layerWorker = ({ client, reducers, replay, onConnect, }) =>
|
|
250
|
-
client
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
onSpawn: backing
|
|
271
|
-
.send({
|
|
270
|
+
export const layerWorker = ({ client, reducers, replay, onConnect, }) => {
|
|
271
|
+
const { Actor, Client: ClientM } = client.protocol;
|
|
272
|
+
const encodeClient = encodeJsonString(ClientM);
|
|
273
|
+
const decodeActor = decodeJsonString(Actor);
|
|
274
|
+
return make({
|
|
275
|
+
client,
|
|
276
|
+
reducers,
|
|
277
|
+
onConnect,
|
|
278
|
+
replay,
|
|
279
|
+
build: Effect.gen(function* () {
|
|
280
|
+
const platform = yield* Worker.WorkerPlatform;
|
|
281
|
+
const backing = yield* platform.spawn(0).pipe(Effect.catchTags({
|
|
282
|
+
WorkerError: (cause) => new ConnectionError({ cause }),
|
|
283
|
+
}));
|
|
284
|
+
const send = (message) => encodeClient(message).pipe(Effect.flatMap((encoded) => backing.send(encoded)), Effect.catchTags({
|
|
285
|
+
WorkerError: (cause) => new ConnectionError({ cause }),
|
|
286
|
+
}), Boundary.span("send", import.meta.url));
|
|
287
|
+
return {
|
|
288
|
+
listen: Effect.fnUntraced(function* (publish) {
|
|
289
|
+
const stop = yield* Deferred.make();
|
|
290
|
+
const audition = yield* encodeClient({
|
|
272
291
|
_tag: "Audition.Payload",
|
|
273
292
|
client: client.key,
|
|
293
|
+
});
|
|
294
|
+
yield* backing
|
|
295
|
+
.run(Effect.fnUntraced(function* (raw) {
|
|
296
|
+
const message = yield* decodeActor(raw);
|
|
297
|
+
yield* publish(message);
|
|
298
|
+
if (message._tag === "Disconnect" || message._tag === "Audition.Failure") {
|
|
299
|
+
yield* Deferred.succeed(stop, void 0);
|
|
300
|
+
}
|
|
301
|
+
}), {
|
|
302
|
+
onSpawn: backing.send(audition).pipe(Effect.orDie),
|
|
274
303
|
})
|
|
275
|
-
.pipe(Effect.
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
});
|
|
304
|
+
.pipe(Effect.raceFirst(Deferred.await(stop)), Effect.catchTags({
|
|
305
|
+
WorkerError: (cause) => new ConnectionError({ cause }),
|
|
306
|
+
}));
|
|
307
|
+
}, Boundary.span("listen", import.meta.url)),
|
|
308
|
+
send,
|
|
309
|
+
};
|
|
310
|
+
}),
|
|
311
|
+
});
|
|
312
|
+
};
|
|
283
313
|
//# sourceMappingURL=Client.js.map
|
package/dist/Client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../Client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../Client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Schema as S, Effect, Cause } from "effect";
|
|
2
|
-
import type { TopFromString } from "
|
|
2
|
+
import type { TopFromString } from "liminal-util/schema";
|
|
3
3
|
import type { Actor } from "./Actor.ts";
|
|
4
4
|
import type { ActorTransport } from "./ActorTransport.ts";
|
|
5
5
|
import * as ClientHandle from "./ClientHandle.ts";
|
package/dist/ClientDirectory.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Schema as S, Effect, Cause, Ref } from "effect";
|
|
2
|
-
import * as
|
|
2
|
+
import * as Boundary from "liminal-util/Boundary";
|
|
3
3
|
import { phantom } from "./_util/phantom.js";
|
|
4
4
|
import * as ClientHandle from "./ClientHandle.js";
|
|
5
|
-
const span = Spanner.make(import.meta.url);
|
|
6
5
|
export const make = (_actor, { transport: { key, send, close, snapshot }, }) => {
|
|
7
6
|
const entries = new Map();
|
|
8
7
|
const handles = new Set();
|
|
@@ -14,7 +13,7 @@ export const make = (_actor, { transport: { key, send, close, snapshot }, }) =>
|
|
|
14
13
|
entries.delete(key);
|
|
15
14
|
handles.delete(current.handle);
|
|
16
15
|
}
|
|
17
|
-
}).pipe(span("unregister"));
|
|
16
|
+
}).pipe(Boundary.span("unregister", import.meta.url));
|
|
18
17
|
const register = Effect.fnUntraced(function* (client, attachments) {
|
|
19
18
|
const clientKey = key(client);
|
|
20
19
|
yield* snapshot(client, attachments);
|
|
@@ -38,7 +37,14 @@ export const make = (_actor, { transport: { key, send, close, snapshot }, }) =>
|
|
|
38
37
|
entries.set(clientKey, { client, handle });
|
|
39
38
|
handles.add(handle);
|
|
40
39
|
return handle;
|
|
41
|
-
}, span("register"));
|
|
42
|
-
return {
|
|
40
|
+
}, Boundary.span("register", import.meta.url));
|
|
41
|
+
return {
|
|
42
|
+
...phantom,
|
|
43
|
+
handles,
|
|
44
|
+
register,
|
|
45
|
+
get,
|
|
46
|
+
entry,
|
|
47
|
+
unregister,
|
|
48
|
+
};
|
|
43
49
|
};
|
|
44
50
|
//# sourceMappingURL=ClientDirectory.js.map
|