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.
Files changed (81) hide show
  1. package/Actor.ts +22 -33
  2. package/{workerd/ActorHandle.ts → ActorHandle.ts} +7 -2
  3. package/{workerd/WorkerdActorNamespace.ts → ActorNamespace.ts} +46 -32
  4. package/{workerd/WorkerdActorRuntime.ts → ActorRuntime.ts} +71 -44
  5. package/ActorTransport.ts +2 -2
  6. package/Audition.ts +1 -1
  7. package/BrowserActorNamespace.ts +257 -0
  8. package/CHANGELOG.md +28 -0
  9. package/Client.ts +127 -76
  10. package/ClientDirectory.ts +40 -32
  11. package/ClientHandle.ts +9 -7
  12. package/Fn.ts +39 -0
  13. package/Tracing.ts +11 -3
  14. package/dist/Actor.d.ts +3 -5
  15. package/dist/Actor.js +5 -9
  16. package/dist/Actor.js.map +1 -1
  17. package/dist/{workerd/ActorHandle.d.ts → ActorHandle.d.ts} +6 -3
  18. package/dist/ActorHandle.js.map +1 -0
  19. package/dist/{workerd/WorkerdActorNamespace.d.ts → ActorNamespace.d.ts} +12 -10
  20. package/dist/{workerd/WorkerdActorNamespace.js → ActorNamespace.js} +16 -10
  21. package/dist/ActorNamespace.js.map +1 -0
  22. package/dist/{workerd/WorkerdActorRuntime.d.ts → ActorRuntime.d.ts} +10 -9
  23. package/dist/{workerd/WorkerdActorRuntime.js → ActorRuntime.js} +40 -34
  24. package/dist/ActorRuntime.js.map +1 -0
  25. package/dist/ActorTransport.d.ts +2 -2
  26. package/dist/Audition.js +1 -1
  27. package/dist/Audition.js.map +1 -1
  28. package/dist/BrowserActorNamespace.d.ts +39 -0
  29. package/dist/BrowserActorNamespace.js +134 -0
  30. package/dist/BrowserActorNamespace.js.map +1 -0
  31. package/dist/Client.d.ts +7 -4
  32. package/dist/Client.js +78 -48
  33. package/dist/Client.js.map +1 -1
  34. package/dist/ClientDirectory.d.ts +1 -1
  35. package/dist/ClientDirectory.js +11 -5
  36. package/dist/ClientDirectory.js.map +1 -1
  37. package/dist/ClientHandle.d.ts +5 -4
  38. package/dist/Fn.d.ts +8 -0
  39. package/dist/Tracing.js +6 -2
  40. package/dist/Tracing.js.map +1 -1
  41. package/dist/experimental/L/append.js +1 -1
  42. package/dist/experimental/L/append.js.map +1 -1
  43. package/dist/experimental/L/history.js +1 -1
  44. package/dist/experimental/L/history.js.map +1 -1
  45. package/dist/index.common.d.ts +12 -0
  46. package/dist/index.common.js +13 -0
  47. package/dist/index.common.js.map +1 -0
  48. package/dist/index.d.ts +4 -11
  49. package/dist/index.js +4 -11
  50. package/dist/index.js.map +1 -1
  51. package/dist/index.non-workerd.d.ts +1 -0
  52. package/dist/index.non-workerd.js +2 -0
  53. package/dist/index.non-workerd.js.map +1 -0
  54. package/dist/package.json +13 -7
  55. package/dist/tsconfig.tsbuildinfo +1 -1
  56. package/experimental/L/append.ts +1 -1
  57. package/experimental/L/history.ts +1 -1
  58. package/index.common.ts +12 -0
  59. package/index.non-workerd.ts +1 -0
  60. package/index.ts +4 -11
  61. package/package.json +12 -9
  62. package/_util/schema.ts +0 -7
  63. package/browser/BrowserActorNamespace.ts +0 -248
  64. package/browser/index.ts +0 -1
  65. package/dist/_util/schema.d.ts +0 -4
  66. package/dist/_util/schema.js +0 -5
  67. package/dist/_util/schema.js.map +0 -1
  68. package/dist/browser/BrowserActorNamespace.d.ts +0 -16
  69. package/dist/browser/BrowserActorNamespace.js +0 -133
  70. package/dist/browser/BrowserActorNamespace.js.map +0 -1
  71. package/dist/browser/index.d.ts +0 -1
  72. package/dist/browser/index.js +0 -2
  73. package/dist/browser/index.js.map +0 -1
  74. package/dist/workerd/ActorHandle.js.map +0 -1
  75. package/dist/workerd/WorkerdActorNamespace.js.map +0 -1
  76. package/dist/workerd/WorkerdActorRuntime.js.map +0 -1
  77. package/dist/workerd/index.d.ts +0 -3
  78. package/dist/workerd/index.js +0 -4
  79. package/dist/workerd/index.js.map +0 -1
  80. package/workerd/index.ts +0 -3
  81. /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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"}
@@ -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, S.SchemaError, Protocol<D>["Event"]["EncodingServices"]>;
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, S.SchemaError, S.Struct<AttachmentFields>["EncodingServices"]>;
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().asEffect(),
11
+ fn: () => () => new AuditionError(),
12
12
  events: Stream.fail(new AuditionError()),
13
13
  };
14
14
  export const cycleOn = (predicate) => (audition) => {
@@ -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,CAAC,QAAQ,EAAE;IAC9C,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"}
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, ClientId extends string, D extends ProtocolDefinition> extends Context.Service<Self, Service<Self, D>> {
20
- new (_: never): Context.ServiceClass.Shape<ClientId, Service<Self, D>>;
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["F"]["Payload"]["EncodingServices"] | Reducer.Reducers.Services<Self, Reducers>>;
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 Spanner from "liminal-util/Spanner";
5
- import { decodeJsonString, encodeJsonString } from "./_util/schema.js";
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.asEffect().pipe(Effect.flatMap(RcRef.get), Effect.map(({ state }) => state), Stream.unwrap);
16
- const events = tag.asEffect().pipe(Effect.flatMap(RcRef.get), Effect.map(({ events }) => events), Stream.unwrap);
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.asEffect().pipe(Effect.flatMap(RcRef.get));
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.asEffect().pipe(Effect.flatMap((rc) => RcRef.get(rc).pipe(Effect.flatMap(({ end }) => end), Effect.andThen(RcRef.invalidate(rc)))), Effect.scoped, Effect.ignore);
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().asEffect(),
204
+ onSuccess: () => new UnresolvedError(),
200
205
  onFailure: flow(Cause.findError, Result.match({
201
206
  onSuccess: Effect.fail,
202
- onFailure: () => new UnresolvedError().asEffect(),
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", { attributes: { client: client.key } }), Effect.annotateLogs("client", client.key)),
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: ["liminal", Encoding.encodeBase64Url(client.key), ...(protocols ? Array.ensure(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.catchTag("SocketError", (cause) => new ConnectionError({ cause }).asEffect()));
244
- }, span("send"), Effect.scoped),
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, }) => make({
250
- client,
251
- reducers,
252
- onConnect,
253
- replay,
254
- build: Effect.gen(function* () {
255
- const platform = yield* Worker.WorkerPlatform;
256
- const backing = yield* platform
257
- .spawn(0)
258
- .pipe(Effect.catchTag("WorkerError", (cause) => new ConnectionError({ cause }).asEffect()));
259
- const send = (message) => backing.send(message).pipe(Effect.catchTag("WorkerError", (cause) => new ConnectionError({ cause }).asEffect()), span("send"));
260
- return {
261
- listen: Effect.fnUntraced(function* (publish) {
262
- const stop = yield* Deferred.make();
263
- yield* backing
264
- .run(Effect.fnUntraced(function* (message) {
265
- yield* publish(message);
266
- if (message._tag === "Disconnect" || message._tag === "Audition.Failure") {
267
- yield* Deferred.succeed(stop, void 0);
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.orDie),
276
- })
277
- .pipe(Effect.raceFirst(Deferred.await(stop)), Effect.catchTag("WorkerError", (cause) => new ConnectionError({ cause }).asEffect()));
278
- }, span("listen")),
279
- send,
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
@@ -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 "./_util/schema.ts";
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";
@@ -1,8 +1,7 @@
1
1
  import { Schema as S, Effect, Cause, Ref } from "effect";
2
- import * as Spanner from "liminal-util/Spanner";
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 { ...phantom, handles, register, get, entry, unregister };
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