liminal 0.17.14 → 0.17.16
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 -34
- package/ActorHandle.ts +34 -0
- package/ActorNamespace.ts +188 -0
- package/ActorRuntime.ts +449 -0
- package/ActorTransport.ts +8 -6
- package/Audition.ts +87 -40
- package/BrowserActorNamespace.ts +257 -0
- package/CHANGELOG.md +17 -0
- package/Client.ts +374 -197
- package/ClientDirectory.ts +71 -49
- package/ClientHandle.ts +9 -7
- package/ClientHandleEncoders.ts +15 -0
- package/Fn.ts +94 -0
- package/Method.ts +11 -21
- package/Protocol.ts +44 -36
- package/Reducer.ts +22 -0
- package/Tracing.ts +45 -0
- package/dist/Actor.d.ts +3 -5
- package/dist/Actor.js +5 -9
- package/dist/Actor.js.map +1 -1
- package/dist/ActorHandle.d.ts +12 -0
- package/dist/ActorHandle.js +4 -0
- package/dist/ActorHandle.js.map +1 -0
- package/dist/ActorNamespace.d.ts +25 -0
- package/dist/ActorNamespace.js +60 -0
- package/dist/ActorNamespace.js.map +1 -0
- package/dist/ActorRuntime.d.ts +20 -0
- package/dist/ActorRuntime.js +210 -0
- package/dist/ActorRuntime.js.map +1 -0
- package/dist/ActorTransport.d.ts +5 -4
- package/dist/Audition.d.ts +16 -9
- package/dist/Audition.js +25 -9
- 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 +26 -16
- package/dist/Client.js +186 -109
- package/dist/Client.js.map +1 -1
- package/dist/ClientDirectory.d.ts +15 -7
- package/dist/ClientDirectory.js +32 -23
- package/dist/ClientDirectory.js.map +1 -1
- package/dist/ClientHandle.d.ts +5 -4
- package/dist/ClientHandleEncoders.d.ts +7 -0
- package/dist/ClientHandleEncoders.js +2 -0
- package/dist/ClientHandleEncoders.js.map +1 -0
- package/dist/Fn.d.ts +24 -0
- package/dist/Fn.js +2 -0
- package/dist/Fn.js.map +1 -0
- package/dist/Method.d.ts +9 -14
- package/dist/Method.js +0 -1
- package/dist/Method.js.map +1 -1
- package/dist/Protocol.d.ts +19 -22
- package/dist/Protocol.js +20 -15
- package/dist/Protocol.js.map +1 -1
- package/dist/Reducer.d.ts +11 -0
- package/dist/Reducer.js +2 -0
- package/dist/Reducer.js.map +1 -0
- package/dist/Tracing.d.ts +37 -0
- package/dist/Tracing.js +33 -0
- package/dist/Tracing.js.map +1 -0
- package/dist/errors.d.ts +0 -4
- package/dist/errors.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/experimental/TaggedTemplateFunction.js +1 -1
- package/dist/experimental/TaggedTemplateFunction.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 +20 -19
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/errors.ts +0 -6
- package/experimental/L/append.ts +1 -1
- package/experimental/L/history.ts +1 -1
- package/experimental/TaggedTemplateFunction.ts +1 -1
- package/index.common.ts +12 -0
- package/index.non-workerd.ts +1 -0
- package/index.ts +4 -11
- package/package.json +11 -23
- package/tsconfig.json +1 -1
- package/vitest.config.ts +7 -0
- package/Accumulator.ts +0 -103
- package/F.ts +0 -10
- package/_diagnostic.ts +0 -3
- package/_util/Mutex.ts +0 -13
- package/_util/schema.ts +0 -7
- package/browser/BrowserActorNamespace.ts +0 -213
- package/browser/index.ts +0 -1
- package/dist/Accumulator.d.ts +0 -22
- package/dist/Accumulator.js +0 -37
- package/dist/Accumulator.js.map +0 -1
- package/dist/F.d.ts +0 -4
- package/dist/F.js +0 -2
- package/dist/F.js.map +0 -1
- package/dist/_diagnostic.d.ts +0 -4
- package/dist/_diagnostic.js +0 -3
- package/dist/_diagnostic.js.map +0 -1
- package/dist/_util/Mutex.d.ts +0 -7
- package/dist/_util/Mutex.js +0 -9
- package/dist/_util/Mutex.js.map +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 -112
- 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/WorkerdActorNamespace.d.ts +0 -25
- package/dist/workerd/WorkerdActorNamespace.js +0 -146
- package/dist/workerd/WorkerdActorNamespace.js.map +0 -1
- package/dist/workerd/index.d.ts +0 -1
- package/dist/workerd/index.js +0 -2
- package/dist/workerd/index.js.map +0 -1
- package/workerd/WorkerdActorNamespace.ts +0 -362
- package/workerd/index.ts +0 -1
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { BrowserWorkerRunner } from "@effect/platform-browser";
|
|
2
|
-
import { Cause, Effect, Exit, Layer, Option, Ref, Schema as S, Scope, Semaphore, Stream } from "effect";
|
|
3
|
-
import { WorkerRunner } from "effect/unstable/workers";
|
|
4
|
-
import { logCause } from "liminal-util/logCause";
|
|
5
|
-
import { diagnostic } from "../_diagnostic.js";
|
|
6
|
-
import * as ClientDirectory from "../ClientDirectory.js";
|
|
7
|
-
import * as Method from "../Method.js";
|
|
8
|
-
const { debug, span } = diagnostic("browser.BrowserActorNamespace");
|
|
9
|
-
export const make = Effect.fnUntraced(function* ({ actor, handlers, onConnect, introductions, }) {
|
|
10
|
-
const { definition: { client: { protocol: { Client: ClientM, Actor }, key: expected, }, name: Name, }, } = actor;
|
|
11
|
-
const validateClientMessage = S.decodeUnknownEffect(S.toType(ClientM));
|
|
12
|
-
const encodeName = S.encodeEffect(Name);
|
|
13
|
-
const entries = {};
|
|
14
|
-
const runners = new Map();
|
|
15
|
-
const transport = {
|
|
16
|
-
send: (port, event) => runners.get(port)?.send(0, event) ?? Effect.void,
|
|
17
|
-
close: () => Effect.void,
|
|
18
|
-
snapshot: () => Effect.void,
|
|
19
|
-
};
|
|
20
|
-
const useEntries = yield* Semaphore.make(1).pipe(Effect.map((v) => v.withPermits(1)));
|
|
21
|
-
const getEntry = Effect.fnUntraced(function* (key) {
|
|
22
|
-
const existing = entries[key];
|
|
23
|
-
if (existing)
|
|
24
|
-
return existing;
|
|
25
|
-
const directory = ClientDirectory.make(actor, transport);
|
|
26
|
-
const semaphore = yield* Semaphore.make(1);
|
|
27
|
-
const fresh = {
|
|
28
|
-
directory,
|
|
29
|
-
mutex: semaphore.withPermits(1),
|
|
30
|
-
};
|
|
31
|
-
entries[key] = fresh;
|
|
32
|
-
return fresh;
|
|
33
|
-
}, useEntries);
|
|
34
|
-
const outerScope = yield* Scope.Scope;
|
|
35
|
-
yield* introductions.pipe(Stream.runForEach(Effect.fnUntraced(function* ({ name, port, attachments }) {
|
|
36
|
-
yield* debug("IntroductionReceived", { name });
|
|
37
|
-
const stateRef = yield* Ref.make(Option.none());
|
|
38
|
-
const scope = yield* Scope.fork(outerScope, "sequential");
|
|
39
|
-
const closeScope = Scope.close(scope, Exit.void);
|
|
40
|
-
const backing = yield* BrowserWorkerRunner.make(port).start();
|
|
41
|
-
runners.set(port, backing);
|
|
42
|
-
yield* Scope.addFinalizer(scope, Effect.gen(function* () {
|
|
43
|
-
runners.delete(port);
|
|
44
|
-
const state = yield* Ref.get(stateRef);
|
|
45
|
-
if (Option.isSome(state)) {
|
|
46
|
-
const { key, entry: { directory }, } = state.value;
|
|
47
|
-
yield* directory.unregister(port);
|
|
48
|
-
if (directory.handles.size === 0) {
|
|
49
|
-
delete entries[key];
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}).pipe(useEntries));
|
|
53
|
-
yield* backing
|
|
54
|
-
.run(Effect.fnUntraced(function* (_portId, raw) {
|
|
55
|
-
const state = yield* Ref.get(stateRef);
|
|
56
|
-
yield* Effect.gen(function* () {
|
|
57
|
-
const message = yield* validateClientMessage(raw);
|
|
58
|
-
yield* debug("MessageReceived", { message });
|
|
59
|
-
if (Option.isNone(state)) {
|
|
60
|
-
if (message._tag !== "Audition.Payload") {
|
|
61
|
-
return yield* Effect.die(undefined);
|
|
62
|
-
}
|
|
63
|
-
const { client: actual } = message;
|
|
64
|
-
if (actual !== expected) {
|
|
65
|
-
yield* backing.send(0, {
|
|
66
|
-
_tag: "Audition.Failure",
|
|
67
|
-
expected,
|
|
68
|
-
actual,
|
|
69
|
-
});
|
|
70
|
-
return yield* closeScope;
|
|
71
|
-
}
|
|
72
|
-
const key = yield* encodeName(name);
|
|
73
|
-
const entry = yield* getEntry(key);
|
|
74
|
-
const currentClient = Object.assign(yield* entry.directory.register(port, attachments), {
|
|
75
|
-
disconnect: closeScope,
|
|
76
|
-
});
|
|
77
|
-
const ActorLive = Layer.succeed(actor, {
|
|
78
|
-
name,
|
|
79
|
-
clients: entry.directory.handles,
|
|
80
|
-
currentClient,
|
|
81
|
-
});
|
|
82
|
-
yield* Ref.set(stateRef, Option.some({ key, entry, currentClient, ActorLive }));
|
|
83
|
-
yield* backing.send(0, { _tag: "Audition.Success" });
|
|
84
|
-
return yield* onConnect.pipe(entry.mutex, Effect.scoped, span("onConnect"), Effect.provide(ActorLive));
|
|
85
|
-
}
|
|
86
|
-
const { entry, ActorLive } = state.value;
|
|
87
|
-
if (message._tag === "Audition.Payload") {
|
|
88
|
-
return yield* Effect.die(undefined);
|
|
89
|
-
}
|
|
90
|
-
if (message._tag === "Disconnect") {
|
|
91
|
-
return yield* closeScope;
|
|
92
|
-
}
|
|
93
|
-
const { id, payload } = message;
|
|
94
|
-
const { _tag, value } = payload;
|
|
95
|
-
yield* handlers[_tag](value).pipe(Effect.match({
|
|
96
|
-
onSuccess: (value) => ({
|
|
97
|
-
_tag: "F.Success",
|
|
98
|
-
id,
|
|
99
|
-
success: { _tag, value },
|
|
100
|
-
}),
|
|
101
|
-
onFailure: (value) => ({
|
|
102
|
-
_tag: "F.Failure",
|
|
103
|
-
id,
|
|
104
|
-
failure: { _tag, value },
|
|
105
|
-
}),
|
|
106
|
-
}), Effect.andThen((v) => backing.send(0, v)), span("handler", { attributes: { _tag } }), Effect.scoped, Effect.provide(ActorLive), entry.mutex);
|
|
107
|
-
});
|
|
108
|
-
}, span("message")))
|
|
109
|
-
.pipe(Effect.andThen(closeScope), Effect.catchCause((cause) => Cause.hasInterruptsOnly(cause) ? Effect.void : logCause(cause).pipe(Effect.andThen(closeScope))), Effect.forkScoped, Scope.provide(scope));
|
|
110
|
-
})), Effect.tapCause(logCause));
|
|
111
|
-
}, span("make"));
|
|
112
|
-
//# sourceMappingURL=BrowserActorNamespace.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserActorNamespace.js","sourceRoot":"","sources":["../../browser/BrowserActorNamespace.ts"],"names":[],"mappings":"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"}
|
package/dist/browser/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as BrowserActorNamespace from "./BrowserActorNamespace.ts";
|
package/dist/browser/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { DurableObject } from "cloudflare:workers";
|
|
2
|
-
import { Layer, Effect, Scope, Schema as S, Context, Duration, Encoding, Cause } from "effect";
|
|
3
|
-
import { NativeRequest } from "effect-workerd";
|
|
4
|
-
import { HttpServerResponse, HttpClient } from "effect/unstable/http";
|
|
5
|
-
import type { Actor } from "../Actor.ts";
|
|
6
|
-
import type { ProtocolDefinition } from "../Protocol.ts";
|
|
7
|
-
import { type TopFromString } from "../_util/schema.ts";
|
|
8
|
-
import * as Method from "../Method.ts";
|
|
9
|
-
export interface ActorNamespaceDefinition<ActorSelf, ActorId extends string, Name extends TopFromString, AttachmentFields extends S.Struct.Fields, ClientSelf, ClientId extends string, D extends ProtocolDefinition, PreludeROut, PreludeE, RunROut, RunE> {
|
|
10
|
-
readonly ""?: this["actor"]["definition"]["client"]["protocol"];
|
|
11
|
-
readonly actor: Actor<ActorSelf, ActorId, Name, AttachmentFields, ClientSelf, ClientId, D>;
|
|
12
|
-
readonly prelude: Layer.Layer<PreludeROut | NonNullable<this[""]>["F"]["Payload"]["DecodingServices"] | NonNullable<this[""]>["F"]["Success"]["EncodingServices"] | NonNullable<this[""]>["F"]["Failure"]["EncodingServices"] | NonNullable<this[""]>["Event"]["EncodingServices"] | S.Struct<AttachmentFields>["DecodingServices"] | S.Struct<AttachmentFields>["EncodingServices"] | Name["EncodingServices"] | Name["DecodingServices"], PreludeE>;
|
|
13
|
-
readonly layer: Layer.Layer<RunROut, RunE, ActorSelf | HttpClient.HttpClient | PreludeROut>;
|
|
14
|
-
readonly handlers: Method.Handlers<D["methods"], ActorSelf | HttpClient.HttpClient | PreludeROut | RunROut | Scope.Scope>;
|
|
15
|
-
readonly onConnect: Effect.Effect<void, never, ActorSelf | HttpClient.HttpClient | PreludeROut | RunROut | Scope.Scope>;
|
|
16
|
-
readonly hibernation?: Duration.Input | undefined;
|
|
17
|
-
}
|
|
18
|
-
export interface ActorNamespace<NamespaceSelf, NamespaceId extends string, ActorSelf, ActorId extends string, Name extends TopFromString, AttachmentFields extends S.Struct.Fields, ClientSelf, ClientId extends string, D extends ProtocolDefinition, PreludeROut, PreludeE, RunROut, RunE> {
|
|
19
|
-
new (state: DurableObjectState<{}>, env: Cloudflare.Env): DurableObject;
|
|
20
|
-
readonly service: Context.ServiceClass<NamespaceSelf, NamespaceId, DurableObjectNamespace>;
|
|
21
|
-
readonly definition: ActorNamespaceDefinition<ActorSelf, ActorId, Name, AttachmentFields, ClientSelf, ClientId, D, PreludeROut, PreludeE, RunROut, RunE>;
|
|
22
|
-
readonly upgrade: (name: Name["Type"], attachments: S.Struct<AttachmentFields>["Type"]) => Effect.Effect<HttpServerResponse.HttpServerResponse, S.SchemaError | Encoding.EncodingError | Cause.NoSuchElementError, NamespaceSelf | NativeRequest.NativeRequest | Name["EncodingServices"] | S.Struct<AttachmentFields>["EncodingServices"]>;
|
|
23
|
-
readonly layer: (binding: string) => Layer.Layer<NamespaceSelf, S.SchemaError, never>;
|
|
24
|
-
}
|
|
25
|
-
export declare const Service: <NamespaceSelf>() => <NamespaceId extends string, ActorSelf, ActorId extends string, Name extends TopFromString, AttachmentFields extends S.Struct.Fields, ClientSelf, ClientId extends string, D extends ProtocolDefinition, PreludeROut, PreludeE, RunROut, RunE>(id: NamespaceId, definition: ActorNamespaceDefinition<ActorSelf, ActorId, Name, AttachmentFields, ClientSelf, ClientId, D, PreludeROut, PreludeE, RunROut, RunE>) => ActorNamespace<NamespaceSelf, NamespaceId, ActorSelf, ActorId, Name, AttachmentFields, ClientSelf, ClientId, D, PreludeROut, PreludeE, RunROut, RunE>;
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { DurableObject } from "cloudflare:workers";
|
|
2
|
-
import { Layer, Effect, Scope, Schema as S, Context, ManagedRuntime, ConfigProvider, Duration, flow, String, Array, Encoding, Option, Cause, } from "effect";
|
|
3
|
-
import { Binding, DoState, NativeRequest } from "effect-workerd";
|
|
4
|
-
import { SecWebSocketProtocol, close } from "effect-workerd/socket_util";
|
|
5
|
-
import { HttpServerResponse, HttpClient, FetchHttpClient } from "effect/unstable/http";
|
|
6
|
-
import { boundLayer } from "liminal-util/boundLayer";
|
|
7
|
-
import { logCause } from "liminal-util/logCause";
|
|
8
|
-
import { diagnostic } from "../_diagnostic.js";
|
|
9
|
-
import * as Mutex from "../_util/Mutex.js";
|
|
10
|
-
import { encodeJsonString, decodeJsonString } from "../_util/schema.js";
|
|
11
|
-
import * as ClientDirectory from "../ClientDirectory.js";
|
|
12
|
-
import * as Method from "../Method.js";
|
|
13
|
-
const { debug, span } = diagnostic("workerd.WorkerdActorNamespace");
|
|
14
|
-
export const Service = () => (id, definition) => {
|
|
15
|
-
const { hibernation, actor, prelude, handlers, layer, onConnect } = definition;
|
|
16
|
-
const { definition: { name: Name, client: { key: clientId, protocol: P }, attachments: AttachmentFields, }, } = actor;
|
|
17
|
-
const encodeName = S.encodeEffect(Name);
|
|
18
|
-
const Attachments = S.Struct(AttachmentFields);
|
|
19
|
-
const encodeAttachments = S.encodeEffect(S.toCodecJson(Attachments));
|
|
20
|
-
const decodeAttachments = S.decodeUnknownEffect(S.toCodecJson(Attachments));
|
|
21
|
-
const encodeAttachmentsString = encodeJsonString(Attachments);
|
|
22
|
-
const decodeAttachmentsString = decodeJsonString(Attachments);
|
|
23
|
-
const encodeAuditionSuccess = encodeJsonString(P.Audition.Success);
|
|
24
|
-
const encodeAuditionFailure = encodeJsonString(P.Audition.Failure);
|
|
25
|
-
const decodeClientM = decodeJsonString(P.Client);
|
|
26
|
-
const encodeFSuccess = encodeJsonString(P.F.Success);
|
|
27
|
-
const encodeFFailure = encodeJsonString(P.F.Failure);
|
|
28
|
-
const encodeEvent = encodeJsonString(P.Event);
|
|
29
|
-
const transport = {
|
|
30
|
-
send: (socket, event) => encodeEvent(event).pipe(Effect.andThen((v) => Effect.sync(() => socket.send(v)))),
|
|
31
|
-
close: (socket) => Effect.sync(() => socket.close(1000)),
|
|
32
|
-
snapshot: (socket, attachments) => encodeAttachments(attachments).pipe(Effect.andThen((v) => Effect.sync(() => socket.serializeAttachment(v)))),
|
|
33
|
-
};
|
|
34
|
-
class NameDecoded extends Context.Service()("liminal/WorkerdActorNamespace/NameDecoded") {
|
|
35
|
-
}
|
|
36
|
-
return class extends DurableObject {
|
|
37
|
-
static definition = definition;
|
|
38
|
-
static service = Context.Service()(id);
|
|
39
|
-
static layer = Binding.layer(this.service, ["idFromName", "idFromString", "newUniqueId", "get"]);
|
|
40
|
-
runtime;
|
|
41
|
-
directory = ClientDirectory.make(actor, transport);
|
|
42
|
-
constructor(state, env) {
|
|
43
|
-
super(state, env);
|
|
44
|
-
if (hibernation) {
|
|
45
|
-
Option.andThen(Duration.fromInput(hibernation), flow(Duration.toMillis, state.setHibernatableWebSocketEventTimeout));
|
|
46
|
-
}
|
|
47
|
-
const Live = Layer.mergeAll(FetchHttpClient.layer, Layer.succeed(DoState.DoState, state), Mutex.layer, Layer.effect(NameDecoded, S.decodeUnknownEffect(Name)(state.id.name)).pipe(Layer.provideMerge(prelude.pipe(Layer.provideMerge(ConfigProvider.layer(ConfigProvider.fromUnknown(env))))))).pipe(boundLayer("actor"));
|
|
48
|
-
const hydrateAttachments = Effect.gen({ self: this }, function* () {
|
|
49
|
-
for (const socket of state.getWebSockets()) {
|
|
50
|
-
const attachments = yield* decodeAttachments(socket.deserializeAttachment());
|
|
51
|
-
yield* this.directory.register(socket, attachments);
|
|
52
|
-
}
|
|
53
|
-
}).pipe(span("hydrateAttachments"), Effect.tapCause(logCause));
|
|
54
|
-
this.runtime = hydrateAttachments.pipe(Layer.effectDiscard, Layer.provideMerge(Live), ManagedRuntime.make);
|
|
55
|
-
}
|
|
56
|
-
fetch(request) {
|
|
57
|
-
return Effect.gen({ self: this }, function* () {
|
|
58
|
-
const url = new URL(request.url);
|
|
59
|
-
const attachments = yield* decodeAttachmentsString(url.searchParams.get("__liminal_attachments"));
|
|
60
|
-
const { 0: webSocket, 1: server } = new WebSocketPair();
|
|
61
|
-
const state = yield* DoState.DoState;
|
|
62
|
-
state.acceptWebSocket(server);
|
|
63
|
-
server.send(yield* encodeAuditionSuccess({ _tag: "Audition.Success" }));
|
|
64
|
-
const currentClient = yield* this.directory.register(server, attachments);
|
|
65
|
-
const name = yield* NameDecoded;
|
|
66
|
-
const ActorLive = Layer.succeed(actor, {
|
|
67
|
-
name,
|
|
68
|
-
clients: this.directory.handles,
|
|
69
|
-
currentClient,
|
|
70
|
-
});
|
|
71
|
-
yield* onConnect.pipe(Effect.scoped, span("onConnect"), Effect.scoped, Effect.provide(Layer.provideMerge(layer, ActorLive)));
|
|
72
|
-
yield* debug("ClientRegistered");
|
|
73
|
-
return new Response(null, {
|
|
74
|
-
status: 101,
|
|
75
|
-
webSocket,
|
|
76
|
-
headers: { [SecWebSocketProtocol]: "liminal" },
|
|
77
|
-
});
|
|
78
|
-
}).pipe(Effect.tapCause(logCause), span("fetch"), this.runtime.runPromise);
|
|
79
|
-
}
|
|
80
|
-
webSocketMessage(socket, raw) {
|
|
81
|
-
Effect.gen({ self: this }, function* () {
|
|
82
|
-
const currentClient = yield* this.directory.get(socket);
|
|
83
|
-
const name = yield* NameDecoded;
|
|
84
|
-
const ActorLive = Layer.succeed(actor, {
|
|
85
|
-
name,
|
|
86
|
-
clients: this.directory.handles,
|
|
87
|
-
currentClient,
|
|
88
|
-
});
|
|
89
|
-
const message = yield* decodeClientM(raw instanceof ArrayBuffer ? new TextDecoder().decode(raw) : raw);
|
|
90
|
-
yield* debug("MessageReceived", { message });
|
|
91
|
-
if (message._tag === "Audition.Payload") {
|
|
92
|
-
return yield* Effect.die(undefined);
|
|
93
|
-
}
|
|
94
|
-
if (message._tag === "Disconnect") {
|
|
95
|
-
return yield* currentClient.disconnect;
|
|
96
|
-
}
|
|
97
|
-
const { id, payload } = message;
|
|
98
|
-
const { _tag, value } = payload;
|
|
99
|
-
yield* handlers[_tag](value).pipe(Effect.matchEffect({
|
|
100
|
-
onSuccess: (value) => encodeFSuccess({
|
|
101
|
-
_tag: "F.Success",
|
|
102
|
-
id,
|
|
103
|
-
success: { _tag, value },
|
|
104
|
-
}),
|
|
105
|
-
onFailure: (value) => encodeFFailure({
|
|
106
|
-
_tag: "F.Failure",
|
|
107
|
-
id,
|
|
108
|
-
failure: { _tag, value },
|
|
109
|
-
}),
|
|
110
|
-
}), span("handler", { attributes: { _tag } }), Effect.andThen((v) => Effect.sync(() => socket.send(v))), Effect.scoped, Effect.provide(Layer.provideMerge(layer, ActorLive)));
|
|
111
|
-
}).pipe(Effect.scoped, Mutex.task, Effect.tapCause(logCause), span("webSocketMessage"), this.runtime.runFork);
|
|
112
|
-
}
|
|
113
|
-
webSocketClose(socket, _code, _reason, _wasClean) {
|
|
114
|
-
this.directory
|
|
115
|
-
.unregister(socket)
|
|
116
|
-
.pipe(Effect.tap(debug("SocketClosed")), Effect.tapCause(logCause), this.runtime.runFork);
|
|
117
|
-
}
|
|
118
|
-
webSocketError(socket, cause) {
|
|
119
|
-
Effect.gen({ self: this }, function* () {
|
|
120
|
-
yield* debug("SocketErrored", { cause });
|
|
121
|
-
yield* this.directory.unregister(socket);
|
|
122
|
-
}).pipe(Effect.tapCause(logCause), span("SocketErrored", { attributes: { cause } }), this.runtime.runFork);
|
|
123
|
-
}
|
|
124
|
-
static upgrade = (name, attachments) => Effect.gen({ self: this }, function* () {
|
|
125
|
-
yield* debug("UpgradeInitiated", { attachments });
|
|
126
|
-
const namespace = yield* this.service;
|
|
127
|
-
const nameEncoded = yield* encodeName(name);
|
|
128
|
-
const stub = namespace.getByName(nameEncoded);
|
|
129
|
-
const request = yield* NativeRequest.NativeRequest;
|
|
130
|
-
const protocols = yield* Effect.fromNullishOr(request.headers.get(SecWebSocketProtocol)).pipe(Effect.map(flow(String.split(","), Array.map(String.trim))));
|
|
131
|
-
const liminalTokenI = yield* Array.findFirstIndex(protocols, (v) => v === "liminal");
|
|
132
|
-
const requestClientId = yield* Effect.fromNullishOr(protocols[liminalTokenI + 1]).pipe(Effect.flatMap((v) => Encoding.decodeBase64UrlString(v).asEffect()));
|
|
133
|
-
if (requestClientId !== clientId) {
|
|
134
|
-
return close(yield* encodeAuditionFailure({
|
|
135
|
-
_tag: "Audition.Failure",
|
|
136
|
-
expected: clientId,
|
|
137
|
-
actual: requestClientId,
|
|
138
|
-
}));
|
|
139
|
-
}
|
|
140
|
-
const url = new URL(request.url);
|
|
141
|
-
url.searchParams.set("__liminal_attachments", yield* encodeAttachmentsString(attachments));
|
|
142
|
-
return yield* Effect.promise(() => stub.fetch(new Request(url, request))).pipe(Effect.map(HttpServerResponse.raw));
|
|
143
|
-
}).pipe(span("upgrade"));
|
|
144
|
-
};
|
|
145
|
-
};
|
|
146
|
-
//# sourceMappingURL=WorkerdActorNamespace.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerdActorNamespace.js","sourceRoot":"","sources":["../../workerd/WorkerdActorNamespace.ts"],"names":[],"mappings":"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"}
|
package/dist/workerd/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as WorkerdActorNamespace from "./WorkerdActorNamespace.ts";
|
package/dist/workerd/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../workerd/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA"}
|