liminal 0.17.6 → 0.17.8

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/dist/Client.js CHANGED
@@ -2,6 +2,7 @@ import { Context, Encoding, Deferred, Effect, Layer, Option, PubSub, RcRef, Reco
2
2
  import { Socket } from "effect/unstable/socket";
3
3
  import { Worker } from "effect/unstable/workers";
4
4
  import * as Diagnostic from "./_util/Diagnostic.js";
5
+ import { decodeJsonString, encodeJsonString } from "./_util/schema.js";
5
6
  import { AuditionError, ConnectionError, UnresolvedError } from "./errors.js";
6
7
  import {} from "./F.js";
7
8
  import { Protocol } from "./Protocol.js";
@@ -69,9 +70,9 @@ const make = (client, build, replay) => Effect.gen(function* () {
69
70
  return;
70
71
  }
71
72
  case "Audition.Failure": {
72
- const { client, routed } = message;
73
- yield* debug("Audition.Failed", { client, routed });
74
- return yield* new AuditionError({ value: { client, routed } });
73
+ const { expected, actual } = message;
74
+ yield* debug("Audition.Failed", { expected, actual });
75
+ return yield* new AuditionError({ value: { expected, actual } });
75
76
  }
76
77
  case "Event": {
77
78
  const { event } = message;
@@ -174,32 +175,36 @@ const make = (client, build, replay) => Effect.gen(function* () {
174
175
  });
175
176
  return rcr;
176
177
  }).pipe(Layer.effect(client));
177
- export const layerSocket = ({ client, url, protocols, replay, }) => make(client, Effect.gen(function* () {
178
- const { protocol } = client;
179
- const socket = yield* Socket.makeWebSocket(url ?? "/", {
180
- protocols: ["liminal", Encoding.encodeBase64Url(client.key), ...(protocols ? Array.ensure(protocols) : [])],
181
- });
182
- return {
183
- listen: Effect.fnUntraced(function* (publish) {
184
- yield* socket
185
- .runRaw((raw) => pipe(raw instanceof Uint8Array ? new TextDecoder().decode(raw) : raw, protocol.decodeActor, Effect.andThen(publish)))
186
- .pipe(Effect.catchIf(Socket.isSocketError, Effect.fnUntraced(function* (cause) {
187
- const { reason } = cause;
188
- if (reason._tag === "SocketCloseError" && reason.code === 1000) {
189
- yield* debug("Socket.Disconnected");
190
- return yield* publish({ _tag: "Disconnect" });
191
- }
192
- yield* debug(`SocketErrored.${reason._tag}`, { cause });
193
- return yield* new ConnectionError({ cause });
194
- })));
195
- }, span("listen")),
196
- send: Effect.fnUntraced(function* (v) {
197
- const write = yield* socket.writer;
198
- const message = yield* protocol.encodeFPayload(v);
199
- yield* write(message).pipe(Effect.catchTag("SocketError", (cause) => new ConnectionError({ cause }).asEffect()));
200
- }, span("send"), Effect.scoped),
201
- };
202
- }), replay);
178
+ export const layerSocket = ({ client, url, protocols, replay, }) => {
179
+ const { F, Actor } = client.protocol;
180
+ const encodeFPayload = encodeJsonString(F.Payload);
181
+ const decodeActor = decodeJsonString(Actor);
182
+ return make(client, Effect.gen(function* () {
183
+ const socket = yield* Socket.makeWebSocket(url ?? "/", {
184
+ protocols: ["liminal", Encoding.encodeBase64Url(client.key), ...(protocols ? Array.ensure(protocols) : [])],
185
+ });
186
+ return {
187
+ listen: Effect.fnUntraced(function* (publish) {
188
+ yield* socket
189
+ .runRaw((raw) => pipe(raw instanceof Uint8Array ? new TextDecoder().decode(raw) : raw, decodeActor, Effect.andThen(publish)))
190
+ .pipe(Effect.catchIf(Socket.isSocketError, Effect.fnUntraced(function* (cause) {
191
+ const { reason } = cause;
192
+ if (reason._tag === "SocketCloseError" && reason.code === 1000) {
193
+ yield* debug("Socket.Disconnected");
194
+ return yield* publish({ _tag: "Disconnect" });
195
+ }
196
+ yield* debug(`SocketErrored.${reason._tag}`, { cause });
197
+ return yield* new ConnectionError({ cause });
198
+ })));
199
+ }, span("listen")),
200
+ send: Effect.fnUntraced(function* (v) {
201
+ const write = yield* socket.writer;
202
+ const message = yield* encodeFPayload(v);
203
+ yield* write(message).pipe(Effect.catchTag("SocketError", (cause) => new ConnectionError({ cause }).asEffect()));
204
+ }, span("send"), Effect.scoped),
205
+ };
206
+ }), replay);
207
+ };
203
208
  export const layerWorker = ({ client, replay, }) => make(client, Effect.gen(function* () {
204
209
  const platform = yield* Worker.WorkerPlatform;
205
210
  const backing = yield* platform
@@ -209,12 +214,21 @@ export const layerWorker = ({ client, replay, }) => make(client, Effect.gen(func
209
214
  return {
210
215
  listen: Effect.fnUntraced(function* (publish) {
211
216
  const stop = yield* Deferred.make();
212
- yield* Effect.raceFirst(backing.run(Effect.fnUntraced(function* (message) {
217
+ yield* backing
218
+ .run(Effect.fnUntraced(function* (message) {
213
219
  yield* publish(message);
214
220
  if (message._tag === "Disconnect" || message._tag === "Audition.Failure") {
215
221
  yield* Deferred.succeed(stop, void 0);
216
222
  }
217
- }), { onSpawn: backing.send(client.key).pipe(Effect.orDie) }), Deferred.await(stop)).pipe(Effect.catchTag("WorkerError", (cause) => new ConnectionError({ cause }).asEffect()));
223
+ }), {
224
+ onSpawn: backing
225
+ .send({
226
+ _tag: "Audition.Payload",
227
+ client: client.key,
228
+ })
229
+ .pipe(Effect.orDie),
230
+ })
231
+ .pipe(Effect.raceFirst(Deferred.await(stop)), Effect.catchTag("WorkerError", (cause) => new ConnectionError({ cause }).asEffect()));
218
232
  }, span("listen")),
219
233
  send,
220
234
  };
@@ -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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"}
@@ -0,0 +1,21 @@
1
+ import { Schema as S, Effect, Cause } from "effect";
2
+ import type { TopFromString } from "./_util/schema.ts";
3
+ import type { Actor } from "./Actor.ts";
4
+ import type { ActorTransport } from "./ActorTransport.ts";
5
+ import type { ProtocolDefinition, Disconnect, Protocol } from "./Protocol.ts";
6
+ import * as ClientHandle from "./ClientHandle.ts";
7
+ export interface ClientDirectory<Raw, ActorSelf, AttachmentFields extends S.Struct.Fields, D extends ProtocolDefinition> {
8
+ readonly "": {
9
+ readonly Handle: ClientHandle.ClientHandle<ActorSelf, AttachmentFields, D>;
10
+ };
11
+ readonly handles: ReadonlySet<this[""]["Handle"]>;
12
+ readonly register: (raw: Raw, attachments: S.Struct<AttachmentFields>["Type"]) => Effect.Effect<this[""]["Handle"], S.SchemaError, S.Struct<AttachmentFields>["EncodingServices"]>;
13
+ readonly get: (raw: Raw) => Effect.Effect<this[""]["Handle"], Cause.NoSuchElementError>;
14
+ readonly unregister: (raw: Raw) => Effect.Effect<void>;
15
+ }
16
+ export interface HandleEncoders<T, AttachmentFields extends S.Struct.Fields, D extends ProtocolDefinition> {
17
+ attachments: (value: S.Struct<AttachmentFields>["Type"]) => Effect.Effect<T, S.SchemaError, S.Struct<AttachmentFields>["EncodingServices"]>;
18
+ event: (value: Protocol<D>["Event"]["Type"]) => Effect.Effect<T, S.SchemaError, Protocol<D>["Event"]["EncodingServices"]>;
19
+ disconnect: Effect.Effect<T, S.SchemaError, (typeof Disconnect)["EncodingServices"]>;
20
+ }
21
+ export declare const make: <Raw, ActorSelf, ActorId extends string, Name extends TopFromString, AttachmentFields extends S.Struct.Fields, ClientSelf, ClientId extends string, D extends ProtocolDefinition>(_actor: Actor<ActorSelf, ActorId, Name, AttachmentFields, ClientSelf, ClientId, D>, { send, close, snapshot }: ActorTransport<Raw, AttachmentFields, D>) => ClientDirectory<Raw, ActorSelf, AttachmentFields, D>;
@@ -0,0 +1,41 @@
1
+ import { Schema as S, Effect, Cause, Ref } from "effect";
2
+ import * as Diagnostic from "./_util/Diagnostic.js";
3
+ import { phantom } from "./_util/phantom.js";
4
+ import * as ClientHandle from "./ClientHandle.js";
5
+ const { span } = Diagnostic.module("ClientDirectory");
6
+ export const make = (_actor, { send, close, snapshot }) => {
7
+ const raws = new Map();
8
+ const handles = new Set();
9
+ const get = (raw) => Effect.fromNullishOr(raws.get(raw));
10
+ const register = Effect.fnUntraced(function* (raw, attachments) {
11
+ yield* snapshot(raw, attachments);
12
+ const attachmentsRef = yield* Ref.make(attachments);
13
+ const handle = ClientHandle.make({
14
+ attachments: Ref.get(attachmentsRef),
15
+ save: Effect.fnUntraced(function* (attachments) {
16
+ yield* Ref.set(attachmentsRef, attachments);
17
+ yield* snapshot(raw, attachments);
18
+ }),
19
+ send: (_tag, payload) => send(raw, {
20
+ _tag: "Event",
21
+ event: { _tag, ...payload },
22
+ }),
23
+ disconnect: close(raw).pipe(Effect.andThen(() => Effect.sync(() => {
24
+ raws.delete(raw);
25
+ handles.delete(handle);
26
+ }))),
27
+ });
28
+ raws.set(raw, handle);
29
+ handles.add(handle);
30
+ return handle;
31
+ }, span("register"));
32
+ const unregister = (raw) => Effect.sync(() => {
33
+ const handle = raws.get(raw);
34
+ if (handle) {
35
+ raws.delete(raw);
36
+ handles.delete(handle);
37
+ }
38
+ }).pipe(span("unregister"));
39
+ return { ...phantom, handles, register, get, unregister };
40
+ };
41
+ //# sourceMappingURL=ClientDirectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientDirectory.js","sourceRoot":"","sources":["../ClientDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAOxD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAkCrD,MAAM,CAAC,MAAM,IAAI,GAAG,CAUlB,MAAkF,EAClF,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAA4C,EACb,EAAE;IAGxD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAEjC,MAAM,GAAG,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAE7D,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,GAAQ,EAAE,WAA+C;QACrG,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QACjC,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACnD,MAAM,MAAM,GAAW,YAAY,CAAC,IAAI,CAAC;YACvC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;YACpC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,WAAW;gBAC5C,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;gBAC3C,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;YACnC,CAAC,CAAC;YACF,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACtB,IAAI,CAAC,GAAG,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAW;aACrC,CAAC;YACJ,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CACzB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAChB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACxB,CAAC,CAAC,CACH,CACF;SACF,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACnB,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;IAEpB,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE,CAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAChB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACxB,CAAC;IACH,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IAE7B,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAA;AAC3D,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Schema as S, Types, Effect, SchemaAST } from "effect";
1
+ import { Schema as S, Types } from "effect";
2
2
  import type * as Method from "./Method.ts";
3
3
  export interface ProtocolDefinition<Methods extends Record<string, Method.Any> = Record<string, Method.Any>, Events extends Record<string, S.Struct.Fields> = Record<string, S.Struct.Fields>> {
4
4
  readonly methods: Methods;
@@ -15,10 +15,13 @@ export declare namespace ProtocolDefinition {
15
15
  }
16
16
  export interface Protocol<D extends ProtocolDefinition> {
17
17
  readonly Audition: {
18
+ readonly Payload: S.TaggedStruct<"Audition.Payload", {
19
+ client: S.String;
20
+ }>;
18
21
  readonly Success: S.TaggedStruct<"Audition.Success", {}>;
19
22
  readonly Failure: S.TaggedStruct<"Audition.Failure", {
20
- client: S.String;
21
- routed: S.String;
23
+ expected: S.String;
24
+ actual: S.String;
22
25
  }>;
23
26
  };
24
27
  readonly Event: S.TaggedStruct<"Event", {
@@ -53,6 +56,7 @@ export interface Protocol<D extends ProtocolDefinition> {
53
56
  }>;
54
57
  };
55
58
  readonly Disconnect: S.TaggedStruct<"Disconnect", {}>;
59
+ readonly Client: S.Union<[this["Audition"]["Payload"], this["F"]["Payload"], this["Disconnect"]]>;
56
60
  readonly Actor: S.Union<[
57
61
  this["Audition"]["Success"],
58
62
  this["Audition"]["Failure"],
@@ -61,8 +65,6 @@ export interface Protocol<D extends ProtocolDefinition> {
61
65
  this["Event"],
62
66
  this["Disconnect"]
63
67
  ]>;
64
- readonly encodeFPayload: (input: this["F"]["Payload"]["Type"], options?: SchemaAST.ParseOptions) => Effect.Effect<string, S.SchemaError, this["F"]["Payload"]["EncodingServices"]>;
65
- readonly decodeEvent: (input: unknown, options?: SchemaAST.ParseOptions) => Effect.Effect<this["Event"]["Type"], S.SchemaError, this["Event"]["DecodingServices"]>;
66
- readonly decodeActor: (input: unknown, options?: SchemaAST.ParseOptions) => Effect.Effect<this["Actor"]["Type"], S.SchemaError, this["Actor"]["DecodingServices"]>;
67
68
  }
69
+ export declare const Disconnect: S.TaggedStruct<"Disconnect", {}>;
68
70
  export declare const Protocol: <D extends ProtocolDefinition>({ events, methods }: D) => Protocol<D>;
package/dist/Protocol.js CHANGED
@@ -1,13 +1,13 @@
1
- import { flow, Schema as S, Record, Types, Effect, SchemaAST } from "effect";
2
- const parseJson = flow(S.toCodecJson, S.fromJsonString);
3
- const decode = flow(parseJson, S.decodeUnknownEffect);
4
- const encode = flow(parseJson, S.encodeEffect);
5
- const Disconnect = S.TaggedStruct("Disconnect", {});
1
+ import { Schema as S, Record, Types } from "effect";
2
+ export const Disconnect = S.TaggedStruct("Disconnect", {});
6
3
  const Audition = {
4
+ Payload: S.TaggedStruct("Audition.Payload", {
5
+ client: S.String,
6
+ }),
7
7
  Success: S.TaggedStruct("Audition.Success", {}),
8
8
  Failure: S.TaggedStruct("Audition.Failure", {
9
- client: S.String,
10
- routed: S.String,
9
+ expected: S.String,
10
+ actual: S.String,
11
11
  }),
12
12
  };
13
13
  export const Protocol = ({ events, methods }) => {
@@ -28,19 +28,8 @@ export const Protocol = ({ events, methods }) => {
28
28
  const Event = S.TaggedStruct("Event", {
29
29
  event: S.TaggedUnion(events),
30
30
  });
31
+ const Client = S.Union([Audition.Payload, F.Payload, Disconnect]);
31
32
  const Actor = S.Union([Audition.Success, Audition.Failure, F.Success, F.Failure, Event, Disconnect]);
32
- const encodeFPayload = encode(F.Payload);
33
- const decodeEvent = decode(Event);
34
- const decodeActor = decode(Actor);
35
- return {
36
- Audition,
37
- Event,
38
- F,
39
- Actor,
40
- Disconnect,
41
- encodeFPayload,
42
- decodeEvent,
43
- decodeActor,
44
- };
33
+ return { Audition, Event, F, Client, Actor, Disconnect };
45
34
  };
46
35
  //# sourceMappingURL=Protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Protocol.js","sourceRoot":"","sources":["../Protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AA0B5E,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,CAAA;AACvD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAA;AACrD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,CAAA;AAoF9C,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;AAEnD,MAAM,QAAQ,GAAG;IACf,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE;QAC1C,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC;CACH,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAA+B,EAAE,MAAM,EAAE,OAAO,EAAK,EAAe,EAAE;IAG5F,MAAM,CAAC,GAAW;QAChB,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;YACnC,EAAE,EAAE,CAAC,CAAC,GAAG;YACT,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;SACjF,CAAU;QACX,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;YACnC,EAAE,EAAE,CAAC,CAAC,GAAG;YACT,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;SACjF,CAAU;QACX,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;YACnC,EAAE,EAAE,CAAC,CAAC,GAAG;YACT,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;SACjF,CAAU;KACZ,CAAA;IAED,MAAM,KAAK,GAAe,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE;QAChD,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;KAC7B,CAAU,CAAA;IAEX,MAAM,KAAK,GAAe,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;IAEhH,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAEjC,OAAO;QACL,QAAQ;QACR,KAAK;QACL,CAAC;QACD,KAAK;QACL,UAAU;QACV,cAAc;QACd,WAAW;QACX,WAAW;KACZ,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Protocol.js","sourceRoot":"","sources":["../Protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAgGnD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;AAE1D,MAAM,QAAQ,GAAG;IACf,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE;QAC1C,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE;QAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC;CACH,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CAA+B,EAAE,MAAM,EAAE,OAAO,EAAK,EAAe,EAAE;IAG5F,MAAM,CAAC,GAAW;QAChB,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;YACnC,EAAE,EAAE,CAAC,CAAC,GAAG;YACT,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;SACjF,CAAU;QACX,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;YACnC,EAAE,EAAE,CAAC,CAAC,GAAG;YACT,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;SACjF,CAAU;QACX,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;YACnC,EAAE,EAAE,CAAC,CAAC,GAAG;YACT,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;SACjF,CAAU;KACZ,CAAA;IAED,MAAM,KAAK,GAAe,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE;QAChD,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;KAC7B,CAAU,CAAA;IAEX,MAAM,MAAM,GAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;IAE9E,MAAM,KAAK,GAAe,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;IAEhH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;AAC1D,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Schema as S } from "effect";
2
+ export type TopFromString = S.Codec<any, string, any, any>;
3
+ export declare const encodeJsonString: <T, E, RD, RE>(schema: S.Codec<T, E, RD, RE>) => (input: T, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<string, S.SchemaError, RE>;
4
+ export declare const decodeJsonString: <T, E, RD, RE>(schema: S.Codec<T, E, RD, RE>) => (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<T, S.SchemaError, RD>;
@@ -0,0 +1,5 @@
1
+ import { Schema as S, flow } from "effect";
2
+ const toJsonStringCodec = flow(S.toCodecJson, S.fromJsonString);
3
+ export const encodeJsonString = flow(toJsonStringCodec, S.encodeEffect);
4
+ export const decodeJsonString = flow(toJsonStringCodec, S.decodeUnknownEffect);
5
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../_util/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAI1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,CAAA;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAA;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAA"}
package/dist/errors.d.ts CHANGED
@@ -2,8 +2,8 @@ import { Schema as S } from "effect";
2
2
  import type { ProtocolDefinition } from "./Protocol.ts";
3
3
  declare const AuditionError_base: S.Class<AuditionError, S.TaggedStruct<"AuditionError", {
4
4
  readonly value: S.optional<S.Struct<{
5
- readonly client: S.String;
6
- readonly routed: S.String;
5
+ readonly expected: S.String;
6
+ readonly actual: S.String;
7
7
  }>>;
8
8
  }>, import("effect/Cause").YieldableError>;
9
9
  export declare class AuditionError extends AuditionError_base {
package/dist/errors.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { Schema as S } from "effect";
2
2
  export class AuditionError extends S.TaggedErrorClass()("AuditionError", {
3
3
  value: S.Struct({
4
- client: S.String,
5
- routed: S.String,
4
+ expected: S.String,
5
+ actual: S.String,
6
6
  }).pipe(S.optional),
7
7
  }) {
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAIpC,MAAM,OAAO,aAAc,SAAQ,CAAC,CAAC,gBAAgB,EAAiB,CAAC,eAAe,EAAE;IACtF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;CACpB,CAAC;CAAG;AAEL,MAAM,OAAO,eAAgB,SAAQ,CAAC,CAAC,gBAAgB,EAAmB,CAAC,iBAAiB,EAAE;IAC5F,KAAK,EAAE,CAAC,CAAC,OAAO;CACjB,CAAC;CAAG;AAIL,MAAM,OAAO,eAAgB,SAAQ,CAAC,CAAC,gBAAgB,EAAmB,CAAC,iBAAiB,EAAE,EAAE,CAAC;CAAG"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAIpC,MAAM,OAAO,aAAc,SAAQ,CAAC,CAAC,gBAAgB,EAAiB,CAAC,eAAe,EAAE;IACtF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;CACpB,CAAC;CAAG;AAEL,MAAM,OAAO,eAAgB,SAAQ,CAAC,CAAC,gBAAgB,EAAmB,CAAC,iBAAiB,EAAE;IAC5F,KAAK,EAAE,CAAC,CAAC,OAAO;CACjB,CAAC;CAAG;AAIL,MAAM,OAAO,eAAgB,SAAQ,CAAC,CAAC,gBAAgB,EAAmB,CAAC,iBAAiB,EAAE,EAAE,CAAC;CAAG"}
package/dist/index.d.ts CHANGED
@@ -2,8 +2,10 @@ export * as Accumulator from "./Accumulator.ts";
2
2
  export * as Actor from "./Actor.ts";
3
3
  export * as Audition from "./Audition.ts";
4
4
  export * as Client from "./Client.ts";
5
+ export * as ClientDirectory from "./ClientDirectory.ts";
5
6
  export * as ClientHandle from "./ClientHandle.ts";
6
7
  export * as Method from "./Method.ts";
7
8
  export * as Protocol from "./Protocol.ts";
9
+ export * from "./ActorTransport.ts";
8
10
  export * from "./F.ts";
9
11
  export * from "./errors.ts";
package/dist/index.js CHANGED
@@ -2,9 +2,11 @@ export * as Accumulator from "./Accumulator.js";
2
2
  export * as Actor from "./Actor.js";
3
3
  export * as Audition from "./Audition.js";
4
4
  export * as Client from "./Client.js";
5
+ export * as ClientDirectory from "./ClientDirectory.js";
5
6
  export * as ClientHandle from "./ClientHandle.js";
6
7
  export * as Method from "./Method.js";
7
8
  export * as Protocol from "./Protocol.js";
9
+ export * from "./ActorTransport.js";
8
10
  export * from "./F.js";
9
11
  export * from "./errors.js";
10
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA"}