effect 4.0.0-beta.44 → 4.0.0-beta.46

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 (151) hide show
  1. package/dist/Equal.d.ts.map +1 -1
  2. package/dist/Equal.js +16 -0
  3. package/dist/Equal.js.map +1 -1
  4. package/dist/Hash.js +1 -1
  5. package/dist/Hash.js.map +1 -1
  6. package/dist/Semaphore.d.ts +1 -1
  7. package/dist/Semaphore.d.ts.map +1 -1
  8. package/dist/Semaphore.js +1 -3
  9. package/dist/Semaphore.js.map +1 -1
  10. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  11. package/dist/unstable/ai/McpServer.js +24 -21
  12. package/dist/unstable/ai/McpServer.js.map +1 -1
  13. package/dist/unstable/eventlog/Event.d.ts +0 -6
  14. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  15. package/dist/unstable/eventlog/Event.js +0 -5
  16. package/dist/unstable/eventlog/Event.js.map +1 -1
  17. package/dist/unstable/eventlog/EventGroup.d.ts +0 -2
  18. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  19. package/dist/unstable/eventlog/EventGroup.js +0 -2
  20. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  21. package/dist/unstable/eventlog/EventJournal.d.ts +22 -5
  22. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  23. package/dist/unstable/eventlog/EventJournal.js +126 -67
  24. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  25. package/dist/unstable/eventlog/EventLog.d.ts +88 -34
  26. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  27. package/dist/unstable/eventlog/EventLog.js +215 -141
  28. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  29. package/dist/unstable/eventlog/EventLogEncryption.d.ts +9 -7
  30. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  31. package/dist/unstable/eventlog/EventLogEncryption.js +13 -15
  32. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  33. package/dist/unstable/eventlog/EventLogMessage.d.ts +228 -0
  34. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -0
  35. package/dist/unstable/eventlog/EventLogMessage.js +214 -0
  36. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -0
  37. package/dist/unstable/eventlog/EventLogRemote.d.ts +109 -194
  38. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  39. package/dist/unstable/eventlog/EventLogRemote.js +165 -320
  40. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  41. package/dist/unstable/eventlog/EventLogServer.d.ts +25 -47
  42. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  43. package/dist/unstable/eventlog/EventLogServer.js +127 -198
  44. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  45. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +60 -0
  46. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -0
  47. package/dist/unstable/eventlog/EventLogServerEncrypted.js +166 -0
  48. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -0
  49. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +183 -0
  50. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -0
  51. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +461 -0
  52. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -0
  53. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +117 -0
  54. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -0
  55. package/dist/unstable/eventlog/EventLogSessionAuth.js +284 -0
  56. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -0
  57. package/dist/unstable/eventlog/{SqlEventLogJournal.d.ts → SqlEventJournal.d.ts} +2 -2
  58. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -0
  59. package/dist/unstable/eventlog/{SqlEventLogJournal.js → SqlEventJournal.js} +20 -14
  60. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -0
  61. package/dist/unstable/eventlog/{SqlEventLogServer.d.ts → SqlEventLogServerEncrypted.d.ts} +5 -5
  62. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -0
  63. package/dist/unstable/eventlog/{SqlEventLogServer.js → SqlEventLogServerEncrypted.js} +65 -24
  64. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -0
  65. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +25 -0
  66. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -0
  67. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +354 -0
  68. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -0
  69. package/dist/unstable/eventlog/index.d.ts +22 -2
  70. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  71. package/dist/unstable/eventlog/index.js +22 -2
  72. package/dist/unstable/eventlog/index.js.map +1 -1
  73. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts +2 -0
  74. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts.map +1 -0
  75. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js +89 -0
  76. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -0
  77. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -2
  78. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  79. package/dist/unstable/reactivity/AtomHttpApi.js +2 -2
  80. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  81. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -2
  82. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  83. package/dist/unstable/reactivity/AtomRpc.js +3 -3
  84. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  85. package/dist/unstable/rpc/Rpc.d.ts +25 -4
  86. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  87. package/dist/unstable/rpc/Rpc.js +26 -0
  88. package/dist/unstable/rpc/Rpc.js.map +1 -1
  89. package/dist/unstable/rpc/RpcClient.d.ts +3 -13
  90. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  91. package/dist/unstable/rpc/RpcClient.js +47 -23
  92. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  93. package/dist/unstable/rpc/RpcGroup.d.ts +1 -1
  94. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  95. package/dist/unstable/rpc/RpcMiddleware.d.ts +2 -2
  96. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  97. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  98. package/dist/unstable/rpc/RpcServer.js +3 -2
  99. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  100. package/dist/unstable/rpc/Utils.d.ts +6 -0
  101. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  102. package/dist/unstable/rpc/Utils.js +44 -0
  103. package/dist/unstable/rpc/Utils.js.map +1 -1
  104. package/dist/unstable/schema/Model.d.ts +2 -2
  105. package/dist/unstable/schema/Model.d.ts.map +1 -1
  106. package/dist/unstable/schema/Model.js +2 -4
  107. package/dist/unstable/schema/Model.js.map +1 -1
  108. package/dist/unstable/schema/VariantSchema.d.ts +1 -1
  109. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  110. package/dist/unstable/schema/VariantSchema.js +1 -12
  111. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  112. package/dist/unstable/workers/Transferable.d.ts +1 -1
  113. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  114. package/dist/unstable/workers/Transferable.js +1 -1
  115. package/dist/unstable/workers/Transferable.js.map +1 -1
  116. package/package.json +1 -1
  117. package/src/Equal.ts +17 -0
  118. package/src/Hash.ts +2 -2
  119. package/src/Semaphore.ts +2 -4
  120. package/src/unstable/ai/McpServer.ts +24 -22
  121. package/src/unstable/eventlog/Event.ts +0 -8
  122. package/src/unstable/eventlog/EventGroup.ts +0 -4
  123. package/src/unstable/eventlog/EventJournal.ts +144 -76
  124. package/src/unstable/eventlog/EventLog.ts +342 -221
  125. package/src/unstable/eventlog/EventLogEncryption.ts +16 -30
  126. package/src/unstable/eventlog/EventLogMessage.ts +277 -0
  127. package/src/unstable/eventlog/EventLogRemote.ts +261 -408
  128. package/src/unstable/eventlog/EventLogServer.ts +182 -274
  129. package/src/unstable/eventlog/EventLogServerEncrypted.ts +206 -0
  130. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +749 -0
  131. package/src/unstable/eventlog/EventLogSessionAuth.ts +437 -0
  132. package/src/unstable/eventlog/{SqlEventLogJournal.ts → SqlEventJournal.ts} +26 -18
  133. package/src/unstable/eventlog/{SqlEventLogServer.ts → SqlEventLogServerEncrypted.ts} +102 -40
  134. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +500 -0
  135. package/src/unstable/eventlog/index.ts +27 -2
  136. package/src/unstable/eventlog/internal/identityRootSecretDerivation.ts +153 -0
  137. package/src/unstable/reactivity/AtomHttpApi.ts +23 -8
  138. package/src/unstable/reactivity/AtomRpc.ts +16 -5
  139. package/src/unstable/rpc/Rpc.ts +42 -4
  140. package/src/unstable/rpc/RpcClient.ts +59 -24
  141. package/src/unstable/rpc/RpcGroup.ts +1 -1
  142. package/src/unstable/rpc/RpcMiddleware.ts +2 -2
  143. package/src/unstable/rpc/RpcServer.ts +5 -3
  144. package/src/unstable/rpc/Utils.ts +59 -0
  145. package/src/unstable/schema/Model.ts +4 -6
  146. package/src/unstable/schema/VariantSchema.ts +4 -17
  147. package/src/unstable/workers/Transferable.ts +9 -11
  148. package/dist/unstable/eventlog/SqlEventLogJournal.d.ts.map +0 -1
  149. package/dist/unstable/eventlog/SqlEventLogJournal.js.map +0 -1
  150. package/dist/unstable/eventlog/SqlEventLogServer.d.ts.map +0 -1
  151. package/dist/unstable/eventlog/SqlEventLogServer.js.map +0 -1
@@ -1,62 +1,40 @@
1
- import type * as Cause from "../../Cause.ts";
2
1
  import * as Context from "../../Context.ts";
3
2
  import * as Effect from "../../Effect.ts";
4
3
  import * as Layer from "../../Layer.ts";
5
- import * as Queue from "../../Queue.ts";
6
- import * as Schema from "../../Schema.ts";
7
- import type * as Scope from "../../Scope.ts";
8
- import type * as HttpServerError from "../http/HttpServerError.ts";
9
- import * as HttpServerRequest from "../http/HttpServerRequest.ts";
10
- import * as HttpServerResponse from "../http/HttpServerResponse.ts";
11
- import type * as Socket from "../socket/Socket.ts";
12
- import { type RemoteId } from "./EventJournal.ts";
13
- import type { EncryptedRemoteEntry } from "./EventLogEncryption.ts";
4
+ import * as Stream from "../../Stream.ts";
5
+ import type * as Rpc from "../rpc/Rpc.ts";
6
+ import type * as RpcGroup from "../rpc/RpcGroup.ts";
7
+ import type { RemoteId } from "./EventJournal.ts";
8
+ import { EventLogAuthentication, EventLogProtocolError, EventLogRemoteRpcs, type StoreId } from "./EventLogMessage.ts";
14
9
  /**
15
10
  * @since 4.0.0
16
- * @category constructors
11
+ * @category Layers
17
12
  */
18
- export declare const makeHandler: Effect.Effect<(socket: Socket.Socket) => Effect.Effect<void, Socket.SocketError>, never, Storage>;
13
+ export declare const layerAuthMiddleware: Layer.Layer<EventLogAuthentication>;
19
14
  /**
20
15
  * @since 4.0.0
21
- * @category websockets
16
+ * @category Layers
22
17
  */
23
- export declare const makeHandlerHttp: Effect.Effect<Effect.Effect<HttpServerResponse.HttpServerResponse, HttpServerError.HttpServerError | Socket.SocketError, HttpServerRequest.HttpServerRequest | Scope.Scope>, never, Storage>;
24
- declare const PersistedEntry_base: Schema.Class<PersistedEntry, Schema.Struct<{
25
- readonly entryId: Schema.brand<Schema.Uint8Array, "effect/eventlog/EventJournal/EntryId">;
26
- readonly iv: Schema.Uint8Array;
27
- readonly encryptedEntry: Schema.Uint8Array;
28
- }>, {}>;
18
+ export declare const layerRpcHandlers: (options: {
19
+ readonly remoteId: RemoteId;
20
+ readonly getOrCreateSessionAuthBinding: (publicKey: string, signingPublicKey: Uint8Array<ArrayBuffer>) => Effect.Effect<Uint8Array<ArrayBuffer>>;
21
+ readonly onWrite: (data: Uint8Array<ArrayBuffer>) => Effect.Effect<void, EventLogProtocolError>;
22
+ readonly changes: (options: {
23
+ readonly publicKey: string;
24
+ readonly storeId: StoreId;
25
+ readonly startSequence: number;
26
+ }) => Stream.Stream<Uint8Array<ArrayBuffer>, unknown>;
27
+ }) => Layer.Layer<Rpc.ToHandler<RpcGroup.Rpcs<typeof EventLogRemoteRpcs>> | EventLogAuthentication>;
28
+ declare const ChunkedMessageState_base: Context.Reference<Map<number, {
29
+ readonly parts: Array<Uint8Array>;
30
+ count: number;
31
+ bytes: number;
32
+ }>>;
29
33
  /**
30
34
  * @since 4.0.0
31
- * @category storage
35
+ * @category ChunkedMessage state
32
36
  */
33
- export declare class PersistedEntry extends PersistedEntry_base {
34
- /**
35
- * @since 4.0.0
36
- */
37
- get entryIdString(): string;
37
+ export declare class ChunkedMessageState extends ChunkedMessageState_base {
38
38
  }
39
- declare const Storage_base: Context.ServiceClass<Storage, "effect/eventlog/EventLogServer/Storage", {
40
- readonly getId: Effect.Effect<RemoteId>;
41
- readonly write: (publicKey: string, entries: ReadonlyArray<PersistedEntry>) => Effect.Effect<ReadonlyArray<EncryptedRemoteEntry>>;
42
- readonly entries: (publicKey: string, startSequence: number) => Effect.Effect<ReadonlyArray<EncryptedRemoteEntry>>;
43
- readonly changes: (publicKey: string, startSequence: number) => Effect.Effect<Queue.Dequeue<EncryptedRemoteEntry, Cause.Done>, never, Scope.Scope>;
44
- }>;
45
- /**
46
- * @since 4.0.0
47
- * @category storage
48
- */
49
- export declare class Storage extends Storage_base {
50
- }
51
- /**
52
- * @since 4.0.0
53
- * @category storage
54
- */
55
- export declare const makeStorageMemory: Effect.Effect<Storage["Service"], never, Scope.Scope>;
56
- /**
57
- * @since 4.0.0
58
- * @category storage
59
- */
60
- export declare const layerStorageMemory: Layer.Layer<Storage>;
61
39
  export {};
62
40
  //# sourceMappingURL=EventLogServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventLogServer.d.ts","sourceRoot":"","sources":["../../../src/unstable/eventlog/EventLogServer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAEzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,KAAK,eAAe,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,kBAAkB,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAA+B,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAenE;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,CACrC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,EAClE,KAAK,EACL,OAAO,CAqHP,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,CACzC,MAAM,CAAC,MAAM,CACX,kBAAkB,CAAC,kBAAkB,EACrC,eAAe,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,EACpD,iBAAiB,CAAC,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAClD,EACD,KAAK,EACL,OAAO,CAaP,CAAA;;;;;;AAEF;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAMlC;IACA;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;CACF;;oBAOiB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvB,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;sBACrC,CAChB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,KAClB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;sBACrC,CAChB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,KAClB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;;AAjBzF;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,YAciB;CAAG;AAEjD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAoElF,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAA4C,CAAA"}
1
+ {"version":3,"file":"EventLogServer.d.ts","sourceRoot":"","sources":["../../../src/unstable/eventlog/EventLogServer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAGzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAGvC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAEL,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAGlB,KAAK,OAAO,EACb,MAAM,sBAAsB,CAAA;AAG7B;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAC3C,sBAAsB,CAYtB,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,6BAA6B,EAAE,CACtC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,UAAU,CAAC,WAAW,CAAC,KACtC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAChB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,KAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAA;IAC/C,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;QAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;KAC/B,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;CACtD,KAAG,KAAK,CAAC,KAAK,CACb,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC,GAAG,sBAAsB,CAmH/E,CAAA;;oBAQiB,KAAK,CAAC,UAAU,CAAC;WAC1B,MAAM;WACN,MAAM;;AARjB;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,wBAQvC;CAAG"}
@@ -1,217 +1,146 @@
1
- /**
2
- * @since 4.0.0
3
- */
4
- import * as Uuid from "uuid";
1
+ import * as Arr from "../../Array.js";
2
+ import * as Cache from "../../Cache.js";
5
3
  import * as Context from "../../Context.js";
4
+ import * as Data from "../../Data.js";
6
5
  import * as Effect from "../../Effect.js";
7
- import * as FiberMap from "../../FiberMap.js";
6
+ import * as Equal from "../../Equal.js";
7
+ import * as Hash from "../../Hash.js";
8
8
  import * as Layer from "../../Layer.js";
9
- import * as PubSub from "../../PubSub.js";
10
- import * as Queue from "../../Queue.js";
11
- import * as RcMap from "../../RcMap.js";
12
- import * as Schema from "../../Schema.js";
13
- import * as HttpServerRequest from "../http/HttpServerRequest.js";
14
- import * as HttpServerResponse from "../http/HttpServerResponse.js";
15
- import { EntryId, makeRemoteIdUnsafe } from "./EventJournal.js";
16
- import { Ack, Changes, ChunkedMessage, decodeRequest, encodeResponse, Hello, Pong } from "./EventLogRemote.js";
17
- const constChunkSize = 512_000;
9
+ import * as Option from "../../Option.js";
10
+ import * as Redacted from "../../Redacted.js";
11
+ import * as Stream from "../../Stream.js";
12
+ import * as EventLog from "./EventLog.js";
13
+ import { ChunkedMessage, EventLogAuthentication, EventLogProtocolError, EventLogRemoteRpcs, HelloResponse, SingleMessage } from "./EventLogMessage.js";
14
+ import * as EventLogSessionAuth from "./EventLogSessionAuth.js";
18
15
  /**
19
16
  * @since 4.0.0
20
- * @category constructors
17
+ * @category Layers
21
18
  */
22
- export const makeHandler = /*#__PURE__*/Effect.gen(function* () {
23
- const storage = yield* Storage;
24
- const remoteId = yield* storage.getId;
25
- let chunkId = 0;
26
- return Effect.fnUntraced(function* (socket) {
27
- const subscriptions = yield* FiberMap.make();
28
- const writeRaw = yield* socket.writer;
29
- const chunks = new Map();
30
- let latestSequence = -1;
31
- const write = Effect.fnUntraced(function* (response) {
32
- const data = yield* encodeResponse(response);
33
- if (response._tag !== "Changes" || data.byteLength <= constChunkSize) {
34
- return yield* writeRaw(data);
35
- }
36
- const id = chunkId++;
37
- for (const part of ChunkedMessage.split(id, data)) {
38
- yield* writeRaw(yield* encodeResponse(part));
39
- }
40
- });
41
- yield* Effect.forkChild(Effect.orDie(write(new Hello({
42
- remoteId
43
- }))));
44
- const handleRequest = request => {
45
- switch (request._tag) {
46
- case "Ping":
47
- {
48
- return Effect.orDie(write(new Pong({
49
- id: request.id
50
- })));
51
- }
52
- case "WriteEntries":
53
- {
54
- if (request.encryptedEntries.length === 0) {
55
- return Effect.orDie(write(new Ack({
56
- id: request.id,
57
- sequenceNumbers: []
58
- })));
59
- }
60
- return Effect.gen(function* () {
61
- const entries = request.encryptedEntries.map(({
62
- encryptedEntry,
63
- entryId
64
- }) => new PersistedEntry({
65
- entryId,
66
- iv: request.iv,
67
- encryptedEntry
68
- }));
69
- const encrypted = yield* storage.write(request.publicKey, entries);
70
- latestSequence = encrypted[encrypted.length - 1].sequence;
71
- return yield* Effect.orDie(write(new Ack({
72
- id: request.id,
73
- sequenceNumbers: encrypted.map(entry => entry.sequence)
74
- })));
75
- });
76
- }
77
- case "RequestChanges":
78
- {
79
- return Effect.gen(function* () {
80
- const changes = yield* storage.changes(request.publicKey, request.startSequence);
81
- return yield* Queue.takeAll(changes).pipe(Effect.flatMap(entries => {
82
- const latestEntries = [];
83
- for (const entry of entries) {
84
- if (entry.sequence <= latestSequence) continue;
85
- latestEntries.push(entry);
86
- latestSequence = entry.sequence;
87
- }
88
- if (latestEntries.length === 0) return Effect.void;
89
- return Effect.orDie(write(new Changes({
90
- publicKey: request.publicKey,
91
- entries: latestEntries
92
- })));
93
- }), Effect.forever);
94
- }).pipe(Effect.scoped, FiberMap.run(subscriptions, request.publicKey));
95
- }
96
- case "StopChanges":
97
- {
98
- return FiberMap.remove(subscriptions, request.publicKey);
99
- }
100
- case "ChunkedMessage":
101
- {
102
- const data = ChunkedMessage.join(chunks, request);
103
- if (!data) return Effect.void;
104
- return Effect.flatMap(Effect.orDie(decodeRequest(data)), handleRequest);
105
- }
106
- }
107
- };
108
- yield* socket.run(data => Effect.flatMap(Effect.orDie(decodeRequest(data)), handleRequest)).pipe(Effect.catchCause(cause => Effect.logDebug(cause)));
109
- }, Effect.scoped, Effect.annotateLogs({
110
- module: "EventLogServer"
19
+ export const layerAuthMiddleware = /*#__PURE__*/Layer.succeed(EventLogAuthentication, (effect, {
20
+ client,
21
+ rpc
22
+ }) => {
23
+ const identity = Context.getOrUndefined(client.annotations, EventLog.Identity);
24
+ if (identity) return Effect.provideService(effect, EventLog.Identity, identity);
25
+ return Effect.fail(new EventLogProtocolError({
26
+ requestTag: rpc._tag,
27
+ publicKey: undefined,
28
+ code: "Forbidden",
29
+ message: "Unauthenticated request"
111
30
  }));
112
31
  });
113
32
  /**
114
33
  * @since 4.0.0
115
- * @category websockets
34
+ * @category Layers
116
35
  */
117
- export const makeHandlerHttp = /*#__PURE__*/Effect.gen(function* () {
118
- const handler = yield* makeHandler;
119
- // @effect-diagnostics-next-line returnEffectInGen:off
120
- return Effect.gen(function* () {
121
- const request = yield* HttpServerRequest.HttpServerRequest;
122
- const socket = yield* request.upgrade;
123
- yield* handler(socket);
124
- return HttpServerResponse.empty();
125
- }).pipe(Effect.annotateLogs({
126
- module: "EventLogServer"
127
- }));
128
- });
129
- /**
130
- * @since 4.0.0
131
- * @category storage
132
- */
133
- export class PersistedEntry extends /*#__PURE__*/Schema.Class("effect/eventlog/EventLogServer/PersistedEntry")({
134
- entryId: EntryId,
135
- iv: Schema.Uint8Array,
136
- encryptedEntry: Schema.Uint8Array
137
- }) {
138
- /**
139
- * @since 4.0.0
140
- */
141
- get entryIdString() {
142
- return Uuid.stringify(this.entryId);
143
- }
144
- }
145
- /**
146
- * @since 4.0.0
147
- * @category storage
148
- */
149
- export class Storage extends /*#__PURE__*/Context.Service()("effect/eventlog/EventLogServer/Storage") {}
150
- /**
151
- * @since 4.0.0
152
- * @category storage
153
- */
154
- export const makeStorageMemory = /*#__PURE__*/Effect.gen(function* () {
155
- const knownIds = new Map();
156
- const journals = new Map();
157
- const remoteId = makeRemoteIdUnsafe();
158
- const ensureJournal = publicKey => {
159
- let journal = journals.get(publicKey);
160
- if (journal) return journal;
161
- journal = [];
162
- journals.set(publicKey, journal);
163
- return journal;
164
- };
165
- const pubsubs = yield* RcMap.make({
166
- lookup: _publicKey => Effect.acquireRelease(PubSub.unbounded(), PubSub.shutdown),
167
- idleTimeToLive: 60000
36
+ export const layerRpcHandlers = options => EventLogRemoteRpcs.toLayer(Effect.gen(function* () {
37
+ const clientChallenges = yield* Cache.make({
38
+ lookup: _clientId => Effect.orDie(EventLogSessionAuth.makeSessionAuthChallenge),
39
+ capacity: Number.MAX_SAFE_INTEGER,
40
+ timeToLive: EventLogSessionAuth.SessionAuthChallengeTimeToLiveMillis
168
41
  });
169
- return Storage.of({
170
- getId: Effect.succeed(remoteId),
171
- write: (publicKey, entries) => Effect.gen(function* () {
172
- const active = yield* RcMap.keys(pubsubs);
173
- let pubsub;
174
- for (const key of active) {
175
- if (key === publicKey) {
176
- pubsub = yield* RcMap.get(pubsubs, publicKey);
177
- break;
178
- }
42
+ let chunkedIdCounter = 0;
43
+ const persistedSigningPublicKeys = yield* Cache.make({
44
+ lookup: key => options.getOrCreateSessionAuthBinding(key.publicKey, key.signingPublicKey).pipe(Effect.catchCause(_ => Effect.fail(new EventLogProtocolError({
45
+ requestTag: "Authenticate",
46
+ publicKey: key.publicKey,
47
+ code: "Forbidden",
48
+ message: "Session auth binding lookup failed"
49
+ })))),
50
+ capacity: 4096
51
+ });
52
+ return EventLogRemoteRpcs.of({
53
+ "EventLog.Hello": Effect.fnUntraced(function* (_, {
54
+ client
55
+ }) {
56
+ const challenge = yield* Cache.get(clientChallenges, client.id);
57
+ return new HelloResponse({
58
+ remoteId: options.remoteId,
59
+ challenge
60
+ });
61
+ }),
62
+ "EventLog.Authenticate": Effect.fnUntraced(function* (request, {
63
+ client
64
+ }) {
65
+ const challenge = Option.getOrNull(yield* Cache.getOption(clientChallenges, client.id));
66
+ if (!challenge) {
67
+ return new EventLogProtocolError({
68
+ requestTag: "Authenticate",
69
+ publicKey: request.publicKey,
70
+ code: "Forbidden",
71
+ message: "Session auth challenge has expired"
72
+ });
73
+ }
74
+ yield* Cache.invalidate(clientChallenges, client.id);
75
+ const signingPublicKey = yield* Cache.get(persistedSigningPublicKeys, new SessionAuthCacheKey({
76
+ publicKey: request.publicKey,
77
+ signingPublicKey: request.signingPublicKey
78
+ }));
79
+ const verified = yield* EventLogSessionAuth.verifySessionAuthenticateRequest({
80
+ remoteId: options.remoteId,
81
+ challenge,
82
+ publicKey: request.publicKey,
83
+ signingPublicKey,
84
+ signature: request.signature,
85
+ algorithm: request.algorithm
86
+ }).pipe(Effect.catch(() => Effect.succeed(false)));
87
+ if (!verified) {
88
+ return yield* new EventLogProtocolError({
89
+ requestTag: "Authenticate",
90
+ publicKey: request.publicKey,
91
+ code: "Forbidden",
92
+ message: "Session auth signature verification failed"
93
+ });
179
94
  }
180
- const journal = ensureJournal(publicKey);
181
- const encryptedEntries = [];
182
- for (const entry of entries) {
183
- const idString = entry.entryIdString;
184
- if (knownIds.has(idString)) continue;
185
- const encrypted = {
186
- sequence: journal.length,
187
- entryId: entry.entryId,
188
- iv: entry.iv,
189
- encryptedEntry: entry.encryptedEntry
190
- };
191
- encryptedEntries.push(encrypted);
192
- knownIds.set(idString, encrypted.sequence);
193
- journal.push(encrypted);
194
- if (pubsub) {
195
- yield* PubSub.publish(pubsub, encrypted);
196
- }
95
+ client.annotate(EventLog.Identity, {
96
+ publicKey: request.publicKey,
97
+ privateKey: constEmptyPrivateKey
98
+ }).annotate(ChunkedMessageState, new Map());
99
+ }),
100
+ "EventLog.WriteSingle": Effect.fnUntraced(function* (request) {
101
+ yield* options.onWrite(request.data);
102
+ }),
103
+ "EventLog.WriteChunked": Effect.fnUntraced(function* (request, {
104
+ client
105
+ }) {
106
+ const state = Context.get(client.annotations, ChunkedMessageState);
107
+ const data = ChunkedMessage.join(state, request);
108
+ if (!data) return;
109
+ yield* options.onWrite(data);
110
+ }),
111
+ "EventLog.Changes": request => options.changes({
112
+ publicKey: request.publicKey,
113
+ storeId: request.storeId,
114
+ startSequence: request.startSequence
115
+ }).pipe(Stream.mapArray(Arr.flatMap(data => {
116
+ if (data.byteLength <= ChunkedMessage.chunkSize) {
117
+ return [new SingleMessage({
118
+ data
119
+ })];
197
120
  }
198
- return encryptedEntries;
199
- }).pipe(Effect.scoped),
200
- entries: (publicKey, startSequence) => Effect.sync(() => ensureJournal(publicKey).slice(startSequence)),
201
- changes: (publicKey, startSequence) => Effect.gen(function* () {
202
- const queue = yield* Queue.make();
203
- const pubsub = yield* RcMap.get(pubsubs, publicKey);
204
- const subscription = yield* PubSub.subscribe(pubsub);
205
- yield* Queue.offerAll(queue, ensureJournal(publicKey).slice(startSequence));
206
- yield* PubSub.takeAll(subscription).pipe(Effect.flatMap(chunk => Queue.offerAll(queue, chunk)), Effect.forever, Effect.forkScoped);
207
- yield* Effect.addFinalizer(() => Queue.shutdown(queue));
208
- return Queue.asDequeue(queue);
209
- })
121
+ return ChunkedMessage.split(chunkedIdCounter++, data);
122
+ })), Stream.catchCause(_ => Stream.fail(new EventLogProtocolError({
123
+ requestTag: "Changes",
124
+ publicKey: request.publicKey,
125
+ code: "InternalServerError",
126
+ message: "Decoding failure"
127
+ }))))
210
128
  });
211
- });
129
+ })).pipe(Layer.merge(layerAuthMiddleware));
212
130
  /**
213
131
  * @since 4.0.0
214
- * @category storage
132
+ * @category ChunkedMessage state
215
133
  */
216
- export const layerStorageMemory = /*#__PURE__*/Layer.effect(Storage)(makeStorageMemory);
134
+ export class ChunkedMessageState extends /*#__PURE__*/Context.Reference("effect/eventlog/EventLogServer/ChunkedMessageState", {
135
+ defaultValue: () => new Map()
136
+ }) {}
137
+ class SessionAuthCacheKey extends Data.Class {
138
+ [Equal.symbol](that) {
139
+ return this.publicKey === that.publicKey;
140
+ }
141
+ [Hash.symbol]() {
142
+ return Hash.string(this.publicKey);
143
+ }
144
+ }
145
+ const constEmptyPrivateKey = /*#__PURE__*/Redacted.make(/*#__PURE__*/new Uint8Array(32));
217
146
  //# sourceMappingURL=EventLogServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventLogServer.js","names":["Uuid","Context","Effect","FiberMap","Layer","PubSub","Queue","RcMap","Schema","HttpServerRequest","HttpServerResponse","EntryId","makeRemoteIdUnsafe","Ack","Changes","ChunkedMessage","decodeRequest","encodeResponse","Hello","Pong","constChunkSize","makeHandler","gen","storage","Storage","remoteId","getId","chunkId","fnUntraced","socket","subscriptions","make","writeRaw","writer","chunks","Map","latestSequence","write","response","data","_tag","byteLength","id","part","split","forkChild","orDie","handleRequest","request","encryptedEntries","length","sequenceNumbers","entries","map","encryptedEntry","entryId","PersistedEntry","iv","encrypted","publicKey","sequence","entry","changes","startSequence","takeAll","pipe","flatMap","latestEntries","push","void","forever","scoped","run","remove","join","catchCause","cause","logDebug","annotateLogs","module","makeHandlerHttp","handler","upgrade","empty","Class","Uint8Array","entryIdString","stringify","Service","makeStorageMemory","knownIds","journals","ensureJournal","journal","get","set","pubsubs","lookup","_publicKey","acquireRelease","unbounded","shutdown","idleTimeToLive","of","succeed","active","keys","pubsub","key","idString","has","publish","sync","slice","queue","subscription","subscribe","offerAll","chunk","forkScoped","addFinalizer","asDequeue","layerStorageMemory","effect"],"sources":["../../../src/unstable/eventlog/EventLogServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"EventLogServer.js","names":["Arr","Cache","Context","Data","Effect","Equal","Hash","Layer","Option","Redacted","Stream","EventLog","ChunkedMessage","EventLogAuthentication","EventLogProtocolError","EventLogRemoteRpcs","HelloResponse","SingleMessage","EventLogSessionAuth","layerAuthMiddleware","succeed","effect","client","rpc","identity","getOrUndefined","annotations","Identity","provideService","fail","requestTag","_tag","publicKey","undefined","code","message","layerRpcHandlers","options","toLayer","gen","clientChallenges","make","lookup","_clientId","orDie","makeSessionAuthChallenge","capacity","Number","MAX_SAFE_INTEGER","timeToLive","SessionAuthChallengeTimeToLiveMillis","chunkedIdCounter","persistedSigningPublicKeys","key","getOrCreateSessionAuthBinding","signingPublicKey","pipe","catchCause","_","of","fnUntraced","challenge","get","id","remoteId","request","getOrNull","getOption","invalidate","SessionAuthCacheKey","verified","verifySessionAuthenticateRequest","signature","algorithm","catch","annotate","privateKey","constEmptyPrivateKey","ChunkedMessageState","Map","onWrite","data","state","join","changes","storeId","startSequence","mapArray","flatMap","byteLength","chunkSize","split","merge","Reference","defaultValue","Class","symbol","that","string","Uint8Array"],"sources":["../../../src/unstable/eventlog/EventLogServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ import * as Context from "../../Context.ts";
2
+ import * as Effect from "../../Effect.ts";
3
+ import * as Layer from "../../Layer.ts";
4
+ import * as Schema from "../../Schema.ts";
5
+ import type * as Scope from "../../Scope.ts";
6
+ import * as Stream from "../../Stream.ts";
7
+ import * as RpcServer from "../rpc/RpcServer.ts";
8
+ import * as Transferable from "../workers/Transferable.ts";
9
+ import { type RemoteId } from "./EventJournal.ts";
10
+ import type { EncryptedRemoteEntry } from "./EventLogEncryption.ts";
11
+ import { type StoreId } from "./EventLogMessage.ts";
12
+ /**
13
+ * @since 4.0.0
14
+ * @category Layers
15
+ */
16
+ export declare const layerRpcHandlers: Layer.Layer<import("./EventLogMessage.ts").EventLogAuthentication | import("../rpc/Rpc.ts").Handler<"EventLog.Hello"> | import("../rpc/Rpc.ts").Handler<"EventLog.Authenticate"> | import("../rpc/Rpc.ts").Handler<"EventLog.WriteChunked"> | import("../rpc/Rpc.ts").Handler<"EventLog.WriteSingle"> | import("../rpc/Rpc.ts").Handler<"EventLog.Changes">, never, Storage>;
17
+ /**
18
+ * @since 4.0.0
19
+ * @category Layers
20
+ */
21
+ export declare const layer: Layer.Layer<never, never, RpcServer.Protocol | Storage>;
22
+ declare const PersistedEntry_base: Schema.Class<PersistedEntry, Schema.Struct<{
23
+ readonly entryId: Schema.brand<Schema.instanceOf<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>, "effect/eventlog/EventJournal/EntryId">;
24
+ readonly iv: Transferable.Transferable<Schema.instanceOf<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>>;
25
+ readonly encryptedEntry: Transferable.Transferable<Schema.instanceOf<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>>;
26
+ }>, {}>;
27
+ /**
28
+ * @since 4.0.0
29
+ * @category storage
30
+ */
31
+ export declare class PersistedEntry extends PersistedEntry_base {
32
+ /**
33
+ * @since 4.0.0
34
+ */
35
+ get entryIdString(): string;
36
+ }
37
+ declare const Storage_base: Context.ServiceClass<Storage, "effect/eventlog/EventLogServer/Storage", {
38
+ readonly getId: Effect.Effect<RemoteId>;
39
+ readonly getOrCreateSessionAuthBinding: (publicKey: string, signingPublicKey: Uint8Array<ArrayBuffer>) => Effect.Effect<Uint8Array<ArrayBuffer>>;
40
+ readonly write: (publicKey: string, storeId: StoreId, entries: ReadonlyArray<PersistedEntry>) => Effect.Effect<ReadonlyArray<EncryptedRemoteEntry>>;
41
+ readonly changes: (publicKey: string, storeId: StoreId, startSequence: number) => Stream.Stream<EncryptedRemoteEntry>;
42
+ }>;
43
+ /**
44
+ * @since 4.0.0
45
+ * @category storage
46
+ */
47
+ export declare class Storage extends Storage_base {
48
+ }
49
+ /**
50
+ * @since 4.0.0
51
+ * @category storage
52
+ */
53
+ export declare const makeStorageMemory: Effect.Effect<Storage["Service"], never, Scope.Scope>;
54
+ /**
55
+ * @since 4.0.0
56
+ * @category storage
57
+ */
58
+ export declare const layerStorageMemory: Layer.Layer<Storage>;
59
+ export {};
60
+ //# sourceMappingURL=EventLogServerEncrypted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventLogServerEncrypted.d.ts","sourceRoot":"","sources":["../../../src/unstable/eventlog/EventLogServerEncrypted.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAGvC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAA+B,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EAAyD,KAAK,OAAO,EAAgB,MAAM,sBAAsB,CAAA;AAGxH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,8WA6C1B,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,GAAG,OAAO,CAEzE,CAAA;;;;;;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAMlC;IACA;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;CACF;;oBAOiB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;4CACC,CACtC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,UAAU,CAAC,WAAW,CAAC,KACtC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;oBAC3B,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;sBACrC,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,KAClB,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC;;AAnB1C;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,YAgBiB;CAAG;AAEjD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAoElF,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAA4C,CAAA"}