effect 4.0.0-beta.44 → 4.0.0-beta.45

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
@@ -0,0 +1,166 @@
1
+ /**
2
+ * @since 4.0.0
3
+ */
4
+ import * as Uuid from "uuid";
5
+ import * as Arr from "../../Array.js";
6
+ import * as Context from "../../Context.js";
7
+ import * as Effect from "../../Effect.js";
8
+ import * as Layer from "../../Layer.js";
9
+ import * as PubSub from "../../PubSub.js";
10
+ import * as RcMap from "../../RcMap.js";
11
+ import * as Schema from "../../Schema.js";
12
+ import * as Stream from "../../Stream.js";
13
+ import * as RpcServer from "../rpc/RpcServer.js";
14
+ import * as Transferable from "../workers/Transferable.js";
15
+ import { EntryId, makeRemoteIdUnsafe } from "./EventJournal.js";
16
+ import { ChangesRpc, EventLogProtocolError, EventLogRemoteRpcs, WriteEntries } from "./EventLogMessage.js";
17
+ import * as EventLogServer from "./EventLogServer.js";
18
+ /**
19
+ * @since 4.0.0
20
+ * @category Layers
21
+ */
22
+ export const layerRpcHandlers = /*#__PURE__*/Layer.unwrap(/*#__PURE__*/Effect.gen(function* () {
23
+ const storage = yield* Storage;
24
+ const remoteId = yield* storage.getId;
25
+ return EventLogServer.layerRpcHandlers({
26
+ remoteId,
27
+ getOrCreateSessionAuthBinding: (publicKey, signingPublicKey) => storage.getOrCreateSessionAuthBinding(publicKey, signingPublicKey),
28
+ onWrite: Effect.fnUntraced(function* (data) {
29
+ const request = yield* WriteEntries.decode(data).pipe(Effect.mapError(_ => new EventLogProtocolError({
30
+ requestTag: "WriteEntries",
31
+ publicKey: undefined,
32
+ code: "InternalServerError",
33
+ message: "Decoding failure"
34
+ })));
35
+ if (request.encryptedEntries.length === 0) return;
36
+ const entries = request.encryptedEntries.map(({
37
+ encryptedEntry,
38
+ entryId
39
+ }) => new PersistedEntry({
40
+ entryId,
41
+ iv: request.iv,
42
+ encryptedEntry
43
+ }));
44
+ return yield* storage.write(request.publicKey, request.storeId, entries).pipe(Effect.catchCause(_ => Effect.fail(new EventLogProtocolError({
45
+ requestTag: "WriteEntries",
46
+ publicKey: request.publicKey,
47
+ code: "InternalServerError",
48
+ message: "Persistence failure"
49
+ }))));
50
+ }),
51
+ changes: ({
52
+ publicKey,
53
+ storeId,
54
+ startSequence
55
+ }) => storage.changes(publicKey, storeId, startSequence).pipe(Stream.mapArrayEffect(entries => Effect.map(ChangesRpc.encodeEncrypted(entries), Arr.of)))
56
+ });
57
+ }));
58
+ /**
59
+ * @since 4.0.0
60
+ * @category Layers
61
+ */
62
+ export const layer = /*#__PURE__*/RpcServer.layer(EventLogRemoteRpcs).pipe(/*#__PURE__*/Layer.provide(layerRpcHandlers));
63
+ /**
64
+ * @since 4.0.0
65
+ * @category storage
66
+ */
67
+ export class PersistedEntry extends /*#__PURE__*/Schema.Class("effect/eventlog/EventLogServerEncrypted/PersistedEntry")({
68
+ entryId: EntryId,
69
+ iv: Transferable.Uint8Array,
70
+ encryptedEntry: Transferable.Uint8Array
71
+ }) {
72
+ /**
73
+ * @since 4.0.0
74
+ */
75
+ get entryIdString() {
76
+ return Uuid.stringify(this.entryId);
77
+ }
78
+ }
79
+ /**
80
+ * @since 4.0.0
81
+ * @category storage
82
+ */
83
+ export class Storage extends /*#__PURE__*/Context.Service()("effect/eventlog/EventLogServer/Storage") {}
84
+ /**
85
+ * @since 4.0.0
86
+ * @category storage
87
+ */
88
+ export const makeStorageMemory = /*#__PURE__*/Effect.gen(function* () {
89
+ const knownIds = new Map();
90
+ const journals = new Map();
91
+ const sessionAuthBindings = new Map();
92
+ const remoteId = makeRemoteIdUnsafe();
93
+ const ensureKnownIds = scopeKey => {
94
+ let storeKnownIds = knownIds.get(scopeKey);
95
+ if (storeKnownIds) return storeKnownIds;
96
+ storeKnownIds = new Map();
97
+ knownIds.set(scopeKey, storeKnownIds);
98
+ return storeKnownIds;
99
+ };
100
+ const ensureJournal = scopeKey => {
101
+ let journal = journals.get(scopeKey);
102
+ if (journal) return journal;
103
+ journal = [];
104
+ journals.set(scopeKey, journal);
105
+ return journal;
106
+ };
107
+ const pubsubs = yield* RcMap.make({
108
+ lookup: _scopeKey => Effect.acquireRelease(PubSub.unbounded(), PubSub.shutdown),
109
+ idleTimeToLive: 60000
110
+ });
111
+ return Storage.of({
112
+ getId: Effect.succeed(remoteId),
113
+ getOrCreateSessionAuthBinding: (publicKey, signingPublicKey) => Effect.sync(() => {
114
+ let existing = sessionAuthBindings.get(publicKey);
115
+ if (existing) return existing;
116
+ sessionAuthBindings.set(publicKey, signingPublicKey);
117
+ return signingPublicKey;
118
+ }),
119
+ write: Effect.fnUntraced(function* (publicKey, storeId, entries) {
120
+ const scopeKey = makeEncryptedScopeKey({
121
+ publicKey,
122
+ storeId
123
+ });
124
+ const pubsub = yield* RcMap.get(pubsubs, scopeKey);
125
+ const storeKnownIds = ensureKnownIds(scopeKey);
126
+ const journal = ensureJournal(scopeKey);
127
+ const encryptedEntries = [];
128
+ for (const entry of entries) {
129
+ const idString = entry.entryIdString;
130
+ if (storeKnownIds.has(idString)) continue;
131
+ const encrypted = {
132
+ sequence: journal.length,
133
+ entryId: entry.entryId,
134
+ iv: entry.iv,
135
+ encryptedEntry: entry.encryptedEntry
136
+ };
137
+ encryptedEntries.push(encrypted);
138
+ storeKnownIds.set(idString, encrypted.sequence);
139
+ journal.push(encrypted);
140
+ PubSub.publishUnsafe(pubsub, encrypted);
141
+ }
142
+ return encryptedEntries;
143
+ }, Effect.scoped),
144
+ changes: Effect.fnUntraced(function* (publicKey, storeId, startSequence) {
145
+ const scopeKey = makeEncryptedScopeKey({
146
+ publicKey,
147
+ storeId
148
+ });
149
+ const pubsub = yield* RcMap.get(pubsubs, scopeKey);
150
+ const subscription = yield* PubSub.subscribe(pubsub);
151
+ return Stream.fromArray(ensureJournal(scopeKey).slice(startSequence)).pipe(Stream.concat(Stream.fromSubscription(subscription)));
152
+ }, Stream.unwrap)
153
+ });
154
+ });
155
+ /**
156
+ * @since 4.0.0
157
+ * @category storage
158
+ */
159
+ export const layerStorageMemory = /*#__PURE__*/Layer.effect(Storage)(makeStorageMemory);
160
+ const makeEncryptedScopeKey = ({
161
+ publicKey,
162
+ storeId
163
+ }) => {
164
+ return `${publicKey}/${storeId}`;
165
+ };
166
+ //# sourceMappingURL=EventLogServerEncrypted.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventLogServerEncrypted.js","names":["Uuid","Arr","Context","Effect","Layer","PubSub","RcMap","Schema","Stream","RpcServer","Transferable","EntryId","makeRemoteIdUnsafe","ChangesRpc","EventLogProtocolError","EventLogRemoteRpcs","WriteEntries","EventLogServer","layerRpcHandlers","unwrap","gen","storage","Storage","remoteId","getId","getOrCreateSessionAuthBinding","publicKey","signingPublicKey","onWrite","fnUntraced","data","request","decode","pipe","mapError","_","requestTag","undefined","code","message","encryptedEntries","length","entries","map","encryptedEntry","entryId","PersistedEntry","iv","write","storeId","catchCause","fail","changes","startSequence","mapArrayEffect","encodeEncrypted","of","layer","provide","Class","Uint8Array","entryIdString","stringify","Service","makeStorageMemory","knownIds","Map","journals","sessionAuthBindings","ensureKnownIds","scopeKey","storeKnownIds","get","set","ensureJournal","journal","pubsubs","make","lookup","_scopeKey","acquireRelease","unbounded","shutdown","idleTimeToLive","succeed","sync","existing","makeEncryptedScopeKey","pubsub","entry","idString","has","encrypted","sequence","push","publishUnsafe","scoped","subscription","subscribe","fromArray","slice","concat","fromSubscription","layerStorageMemory","effect"],"sources":["../../../src/unstable/eventlog/EventLogServerEncrypted.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,183 @@
1
+ import * as Context from "../../Context.ts";
2
+ import * as Effect from "../../Effect.ts";
3
+ import * as Layer from "../../Layer.ts";
4
+ import type * as Scope from "../../Scope.ts";
5
+ import * as Stream from "../../Stream.ts";
6
+ import type * as Rpc from "../rpc/Rpc.ts";
7
+ import type * as RpcGroup from "../rpc/RpcGroup.ts";
8
+ import * as RpcServer from "../rpc/RpcServer.ts";
9
+ import type * as Event from "./Event.ts";
10
+ import type * as EventGroup from "./EventGroup.ts";
11
+ import * as EventJournal from "./EventJournal.ts";
12
+ import { Entry, RemoteEntry, type RemoteId } from "./EventJournal.ts";
13
+ import * as EventLog from "./EventLog.ts";
14
+ import { type EventLogAuthentication, EventLogRemoteRpcs, type StoreId } from "./EventLogMessage.ts";
15
+ declare const EventLogServerUnencrypted_base: Context.ServiceClass<EventLogServerUnencrypted, "effect/eventlog/EventLogServerUnencrypted", {
16
+ readonly makeWrite: <Groups extends EventGroup.Any>(schema: EventLog.EventLogSchema<Groups>) => <Tag extends EventGroup.Events<Groups>["tag"], Event extends Event.Any = Event.WithTag<EventGroup.Events<Groups>, Tag>>(options: {
17
+ readonly storeId: StoreId;
18
+ readonly event: Tag;
19
+ readonly payload: Event.Payload<Event>;
20
+ }) => Effect.Effect<Event.Success<Event>, EventLogServerStoreError | Event.Error<Event>>;
21
+ }>;
22
+ /**
23
+ * @since 4.0.0
24
+ * @category EventLogServerUnencrypted
25
+ */
26
+ export declare class EventLogServerUnencrypted extends EventLogServerUnencrypted_base {
27
+ }
28
+ /**
29
+ * @since 4.0.0
30
+ * @category EventLogServerUnencrypted
31
+ */
32
+ export declare const makeWrite: <Groups extends EventGroup.Any>(schema: EventLog.EventLogSchema<Groups>) => Effect.Effect<(<Tag extends EventGroup.Events<Groups>["tag"], Event extends Event.Any = Event.WithTag<EventGroup.Events<Groups>, Tag>>(options: {
33
+ readonly storeId: StoreId;
34
+ readonly event: Tag;
35
+ readonly payload: Event.Payload<Event>;
36
+ }) => Effect.Effect<Event.Success<Event>, EventLogServerStoreError | Event.Error<Event>>), never, EventLogServerUnencrypted>;
37
+ /**
38
+ * @since 4.0.0
39
+ * @category Layers
40
+ */
41
+ export declare const layerRpcHandlers: Layer.Layer<Rpc.ToHandler<RpcGroup.Rpcs<typeof EventLogRemoteRpcs>> | EventLogAuthentication, never, Storage | StoreMapping | EventLogServerAuthorization | EventLog.Registry>;
42
+ declare const EventLogServerStoreError_base: new <A extends Record<string, any> = {}>(args: import("../../Types.ts").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("../../Cause.ts").YieldableError & {
43
+ readonly _tag: "EventLogServerStoreError";
44
+ } & Readonly<A>;
45
+ /**
46
+ * @since 4.0.0
47
+ * @category errors
48
+ */
49
+ export declare class EventLogServerStoreError extends EventLogServerStoreError_base<{
50
+ readonly reason: "NotFound" | "PersistenceFailure";
51
+ readonly publicKey?: string | undefined;
52
+ readonly storeId?: StoreId | undefined;
53
+ readonly message?: string | undefined;
54
+ }> {
55
+ }
56
+ declare const EventLogServerAuthError_base: new <A extends Record<string, any> = {}>(args: import("../../Types.ts").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("../../Cause.ts").YieldableError & {
57
+ readonly _tag: "EventLogServerAuthError";
58
+ } & Readonly<A>;
59
+ /**
60
+ * @since 4.0.0
61
+ * @category errors
62
+ */
63
+ export declare class EventLogServerAuthError extends EventLogServerAuthError_base<{
64
+ readonly reason: "Unauthorized" | "Forbidden";
65
+ readonly publicKey: string;
66
+ readonly storeId?: StoreId | undefined;
67
+ readonly message?: string | undefined;
68
+ }> {
69
+ }
70
+ declare const EventLogServerAuthorization_base: Context.ServiceClass<EventLogServerAuthorization, "effect/eventlog/EventLogServerUnencrypted/EventLogServerAuthorization", {
71
+ readonly authorizeWrite: (options: {
72
+ readonly publicKey: string;
73
+ readonly storeId: StoreId;
74
+ readonly entries: ReadonlyArray<Entry>;
75
+ }) => Effect.Effect<void, EventLogServerAuthError>;
76
+ readonly authorizeRead: (options: {
77
+ readonly publicKey: string;
78
+ readonly storeId: StoreId;
79
+ }) => Effect.Effect<void, EventLogServerAuthError>;
80
+ readonly authorizeIdentity: (options: {
81
+ readonly publicKey: string;
82
+ }) => Effect.Effect<void, EventLogServerAuthError>;
83
+ }>;
84
+ /**
85
+ * @since 4.0.0
86
+ * @category context
87
+ */
88
+ export declare class EventLogServerAuthorization extends EventLogServerAuthorization_base {
89
+ }
90
+ declare const StoreMapping_base: Context.ServiceClass<StoreMapping, "effect/eventlog/EventLogServerUnencrypted/StoreMapping", {
91
+ readonly resolve: (options: {
92
+ readonly publicKey: string;
93
+ readonly storeId: StoreId;
94
+ }) => Effect.Effect<StoreId, EventLogServerStoreError>;
95
+ readonly hasStore: (options: {
96
+ readonly publicKey: string;
97
+ readonly storeId: StoreId;
98
+ }) => Effect.Effect<boolean, EventLogServerStoreError>;
99
+ }>;
100
+ /**
101
+ * @since 4.0.0
102
+ * @category context
103
+ */
104
+ export declare class StoreMapping extends StoreMapping_base {
105
+ }
106
+ /**
107
+ * @since 4.0.0
108
+ * @category store
109
+ */
110
+ export declare const layerStoreMappingStatic: (options: {
111
+ readonly storeId: StoreId;
112
+ }) => Layer.Layer<StoreMapping>;
113
+ declare const Storage_base: Context.ServiceClass<Storage, "effect/eventlog/EventLogServerUnencrypted/Storage", {
114
+ readonly getId: Effect.Effect<RemoteId>;
115
+ readonly getOrCreateSessionAuthBinding: (publicKey: string, signingPublicKey: Uint8Array<ArrayBuffer>) => Effect.Effect<Uint8Array<ArrayBuffer>>;
116
+ readonly entriesAfter: (storeId: StoreId, entry: Entry) => Effect.Effect<Array<Entry>>;
117
+ readonly write: (storeId: StoreId, entries: ReadonlyArray<Entry>) => Effect.Effect<ReadonlyArray<RemoteEntry>>;
118
+ readonly changes: (options: {
119
+ readonly storeId: StoreId;
120
+ readonly startSequence: number;
121
+ readonly compactors: ReadonlyMap<string, RegisteredCompactor>;
122
+ }) => Stream.Stream<RemoteEntry>;
123
+ readonly withTransaction: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
124
+ }>;
125
+ /**
126
+ * @since 4.0.0
127
+ * @category storage
128
+ */
129
+ export declare class Storage extends Storage_base {
130
+ }
131
+ type RegisteredCompactor = {
132
+ readonly events: ReadonlySet<string>;
133
+ readonly effect: (options: {
134
+ readonly entries: ReadonlyArray<Entry>;
135
+ readonly write: (entry: Entry) => Effect.Effect<void>;
136
+ }) => Effect.Effect<void>;
137
+ };
138
+ /**
139
+ * @since 4.0.0
140
+ * @category compaction
141
+ */
142
+ export declare const compactBacklog: (options: {
143
+ readonly remoteEntries: ReadonlyArray<RemoteEntry>;
144
+ readonly compactors: ReadonlyMap<string, RegisteredCompactor>;
145
+ }) => Effect.Effect<readonly EventJournal.RemoteEntry[], never, never>;
146
+ /**
147
+ * @since 4.0.0
148
+ * @category storage
149
+ */
150
+ export declare const makeStorageMemory: Effect.Effect<Storage["Service"], never, Scope.Scope>;
151
+ /**
152
+ * @since 4.0.0
153
+ * @category storage
154
+ */
155
+ export declare const layerStorageMemory: Layer.Layer<Storage>;
156
+ /**
157
+ * @since 4.0.0
158
+ * @category constructors
159
+ */
160
+ export declare const make: Effect.Effect<{
161
+ readonly makeWrite: <Groups extends EventGroup.Any>(schema: EventLog.EventLogSchema<Groups>) => <Tag extends EventGroup.Events<Groups>["tag"], Event extends Event.Any = Event.WithTag<EventGroup.Events<Groups>, Tag>>(options: {
162
+ readonly storeId: StoreId;
163
+ readonly event: Tag;
164
+ readonly payload: Event.Payload<Event>;
165
+ }) => Effect.Effect<Event.Success<Event>, EventLogServerStoreError | Event.Error<Event>>;
166
+ }, never, EventLog.Registry | Storage>;
167
+ /**
168
+ * @since 4.0.0
169
+ * @category layers
170
+ */
171
+ export declare const layerServer: Layer.Layer<EventLogServerUnencrypted | EventLog.Registry, never, Storage>;
172
+ /**
173
+ * @since 4.0.0
174
+ * @category layers
175
+ */
176
+ export declare const layer: <Groups extends EventGroup.Any, E, R>(_schema: EventLog.EventLogSchema<Groups>, layer: Layer.Layer<EventGroup.ToService<Groups>, E, R>) => Layer.Layer<never, E, Exclude<R, EventLogServerUnencrypted | EventLog.Registry> | EventLogServerAuthorization | RpcServer.Protocol | Storage | StoreMapping>;
177
+ /**
178
+ * @since 4.0.0
179
+ * @category layers
180
+ */
181
+ export declare const layerNoRpcServer: <Groups extends EventGroup.Any, E, R>(_schema: EventLog.EventLogSchema<Groups>, layer: Layer.Layer<EventGroup.ToService<Groups>, E, R>) => Layer.Layer<Rpc.ToHandler<RpcGroup.Rpcs<typeof EventLogRemoteRpcs>> | EventLogAuthentication, E, Exclude<R, EventLogServerUnencrypted | EventLog.Registry> | EventLogServerAuthorization | Storage | StoreMapping>;
182
+ export {};
183
+ //# sourceMappingURL=EventLogServerUnencrypted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventLogServerUnencrypted.d.ts","sourceRoot":"","sources":["../../../src/unstable/eventlog/EventLogServerUnencrypted.ts"],"names":[],"mappings":"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"}