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.
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +16 -0
- package/dist/Equal.js.map +1 -1
- package/dist/Hash.js +1 -1
- package/dist/Hash.js.map +1 -1
- package/dist/Semaphore.d.ts +1 -1
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +1 -3
- package/dist/Semaphore.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +24 -21
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +0 -6
- package/dist/unstable/eventlog/Event.d.ts.map +1 -1
- package/dist/unstable/eventlog/Event.js +0 -5
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +0 -2
- package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventGroup.js +0 -2
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +22 -5
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +126 -67
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +88 -34
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +215 -141
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +9 -7
- package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +13 -15
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +228 -0
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogMessage.js +214 -0
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -0
- package/dist/unstable/eventlog/EventLogRemote.d.ts +109 -194
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +165 -320
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +25 -47
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +127 -198
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +60 -0
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +166 -0
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +183 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +461 -0
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +117 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.js +284 -0
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogJournal.d.ts → SqlEventJournal.d.ts} +2 -2
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogJournal.js → SqlEventJournal.js} +20 -14
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogServer.d.ts → SqlEventLogServerEncrypted.d.ts} +5 -5
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/{SqlEventLogServer.js → SqlEventLogServerEncrypted.js} +65 -24
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +25 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +354 -0
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -0
- package/dist/unstable/eventlog/index.d.ts +22 -2
- package/dist/unstable/eventlog/index.d.ts.map +1 -1
- package/dist/unstable/eventlog/index.js +22 -2
- package/dist/unstable/eventlog/index.js.map +1 -1
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts +2 -0
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts.map +1 -0
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js +89 -0
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -0
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -2
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +2 -2
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -2
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +3 -3
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +25 -4
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +26 -0
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +3 -13
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +47 -23
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +2 -2
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +3 -2
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts +6 -0
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +44 -0
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +2 -2
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +2 -4
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +1 -12
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +1 -1
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/package.json +1 -1
- package/src/Equal.ts +17 -0
- package/src/Hash.ts +2 -2
- package/src/Semaphore.ts +2 -4
- package/src/unstable/ai/McpServer.ts +24 -22
- package/src/unstable/eventlog/Event.ts +0 -8
- package/src/unstable/eventlog/EventGroup.ts +0 -4
- package/src/unstable/eventlog/EventJournal.ts +144 -76
- package/src/unstable/eventlog/EventLog.ts +342 -221
- package/src/unstable/eventlog/EventLogEncryption.ts +16 -30
- package/src/unstable/eventlog/EventLogMessage.ts +277 -0
- package/src/unstable/eventlog/EventLogRemote.ts +261 -408
- package/src/unstable/eventlog/EventLogServer.ts +182 -274
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +206 -0
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +749 -0
- package/src/unstable/eventlog/EventLogSessionAuth.ts +437 -0
- package/src/unstable/eventlog/{SqlEventLogJournal.ts → SqlEventJournal.ts} +26 -18
- package/src/unstable/eventlog/{SqlEventLogServer.ts → SqlEventLogServerEncrypted.ts} +102 -40
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +500 -0
- package/src/unstable/eventlog/index.ts +27 -2
- package/src/unstable/eventlog/internal/identityRootSecretDerivation.ts +153 -0
- package/src/unstable/reactivity/AtomHttpApi.ts +23 -8
- package/src/unstable/reactivity/AtomRpc.ts +16 -5
- package/src/unstable/rpc/Rpc.ts +42 -4
- package/src/unstable/rpc/RpcClient.ts +59 -24
- package/src/unstable/rpc/RpcGroup.ts +1 -1
- package/src/unstable/rpc/RpcMiddleware.ts +2 -2
- package/src/unstable/rpc/RpcServer.ts +5 -3
- package/src/unstable/rpc/Utils.ts +59 -0
- package/src/unstable/schema/Model.ts +4 -6
- package/src/unstable/schema/VariantSchema.ts +4 -17
- package/src/unstable/workers/Transferable.ts +9 -11
- package/dist/unstable/eventlog/SqlEventLogJournal.d.ts.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogJournal.js.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogServer.d.ts.map +0 -1
- package/dist/unstable/eventlog/SqlEventLogServer.js.map +0 -1
|
@@ -1,366 +1,211 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as Cache from "../../Cache.js";
|
|
4
5
|
import * as Context from "../../Context.js";
|
|
5
6
|
import * as Data from "../../Data.js";
|
|
6
|
-
import * as Deferred from "../../Deferred.js";
|
|
7
7
|
import * as Effect from "../../Effect.js";
|
|
8
|
-
import * as Exit from "../../Exit.js";
|
|
9
8
|
import * as Layer from "../../Layer.js";
|
|
9
|
+
import * as Predicate from "../../Predicate.js";
|
|
10
10
|
import * as Queue from "../../Queue.js";
|
|
11
|
-
import * as
|
|
12
|
-
import * as
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
11
|
+
import * as Redacted from "../../Redacted.js";
|
|
12
|
+
import * as RpcClient from "../rpc/RpcClient.js";
|
|
13
|
+
import { Registry } from "./EventLog.js";
|
|
14
|
+
import { EventLogEncryption, layerSubtle } from "./EventLogEncryption.js";
|
|
15
|
+
import { Authenticate, ChangesRpc, ChunkedMessage, EventLogRemoteRpcs, WriteEntries, WriteEntriesUnencrypted } from "./EventLogMessage.js";
|
|
16
|
+
import { encodeSessionAuthPayload, signSessionAuthPayloadBytes } from "./EventLogSessionAuth.js";
|
|
17
|
+
import { makeGetIdentityRootSecretMaterial } from "./internal/identityRootSecretDerivation.js";
|
|
18
18
|
/**
|
|
19
19
|
* @since 4.0.0
|
|
20
20
|
* @category models
|
|
21
21
|
*/
|
|
22
22
|
export class EventLogRemote extends /*#__PURE__*/Context.Service()("effect/eventlog/EventLogRemote") {}
|
|
23
|
-
/**
|
|
24
|
-
* @since 4.0.0
|
|
25
|
-
* @category protocol
|
|
26
|
-
*/
|
|
27
|
-
export class Hello extends /*#__PURE__*/Schema.Class("effect/eventlog/EventLogRemote/Hello")({
|
|
28
|
-
_tag: /*#__PURE__*/Schema.tag("Hello"),
|
|
29
|
-
remoteId: RemoteId
|
|
30
|
-
}) {}
|
|
31
|
-
/**
|
|
32
|
-
* @since 4.0.0
|
|
33
|
-
* @category protocol
|
|
34
|
-
*/
|
|
35
|
-
export class ChunkedMessage extends /*#__PURE__*/Schema.Class("effect/eventlog/EventLogRemote/ChunkedMessage")({
|
|
36
|
-
_tag: /*#__PURE__*/Schema.tag("ChunkedMessage"),
|
|
37
|
-
id: Schema.Number,
|
|
38
|
-
part: /*#__PURE__*/Schema.Tuple([Schema.Number, Schema.Number]),
|
|
39
|
-
data: Schema.Uint8Array
|
|
40
|
-
}) {
|
|
41
|
-
/**
|
|
42
|
-
* @since 4.0.0
|
|
43
|
-
*/
|
|
44
|
-
static split(id, data) {
|
|
45
|
-
const parts = Math.ceil(data.byteLength / constChunkSize);
|
|
46
|
-
const result = new Array(parts);
|
|
47
|
-
for (let i = 0; i < parts; i++) {
|
|
48
|
-
const start = i * constChunkSize;
|
|
49
|
-
const end = Math.min((i + 1) * constChunkSize, data.byteLength);
|
|
50
|
-
result[i] = new ChunkedMessage({
|
|
51
|
-
_tag: "ChunkedMessage",
|
|
52
|
-
id,
|
|
53
|
-
part: [i, parts],
|
|
54
|
-
data: data.subarray(start, end)
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
return result;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* @since 4.0.0
|
|
61
|
-
*/
|
|
62
|
-
static join(map, part) {
|
|
63
|
-
const [index, total] = part.part;
|
|
64
|
-
let entry = map.get(part.id);
|
|
65
|
-
if (!entry) {
|
|
66
|
-
entry = {
|
|
67
|
-
parts: new Array(total),
|
|
68
|
-
count: 0,
|
|
69
|
-
bytes: 0
|
|
70
|
-
};
|
|
71
|
-
map.set(part.id, entry);
|
|
72
|
-
}
|
|
73
|
-
entry.parts[index] = part.data;
|
|
74
|
-
entry.count++;
|
|
75
|
-
entry.bytes += part.data.byteLength;
|
|
76
|
-
if (entry.count !== total) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
const data = new Uint8Array(entry.bytes);
|
|
80
|
-
let offset = 0;
|
|
81
|
-
for (const part of entry.parts) {
|
|
82
|
-
data.set(part, offset);
|
|
83
|
-
offset += part.byteLength;
|
|
84
|
-
}
|
|
85
|
-
map.delete(part.id);
|
|
86
|
-
return data;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* @since 4.0.0
|
|
91
|
-
* @category protocol
|
|
92
|
-
*/
|
|
93
|
-
export class WriteEntries extends /*#__PURE__*/Schema.Class("effect/eventlog/EventLogRemote/WriteEntries")({
|
|
94
|
-
_tag: /*#__PURE__*/Schema.tag("WriteEntries"),
|
|
95
|
-
publicKey: Schema.String,
|
|
96
|
-
id: Schema.Number,
|
|
97
|
-
iv: Schema.Uint8Array,
|
|
98
|
-
encryptedEntries: /*#__PURE__*/Schema.Array(EncryptedEntry)
|
|
99
|
-
}) {}
|
|
100
|
-
/**
|
|
101
|
-
* @since 4.0.0
|
|
102
|
-
* @category protocol
|
|
103
|
-
*/
|
|
104
|
-
export class Ack extends /*#__PURE__*/Schema.Class("effect/eventlog/EventLogRemote/Ack")({
|
|
105
|
-
_tag: /*#__PURE__*/Schema.tag("Ack"),
|
|
106
|
-
id: Schema.Number,
|
|
107
|
-
sequenceNumbers: /*#__PURE__*/Schema.Array(Schema.Number)
|
|
108
|
-
}) {}
|
|
109
|
-
/**
|
|
110
|
-
* @since 4.0.0
|
|
111
|
-
* @category protocol
|
|
112
|
-
*/
|
|
113
|
-
export class RequestChanges extends /*#__PURE__*/Schema.Class("effect/eventlog/EventLogRemote/RequestChanges")({
|
|
114
|
-
_tag: /*#__PURE__*/Schema.tag("RequestChanges"),
|
|
115
|
-
publicKey: Schema.String,
|
|
116
|
-
startSequence: Schema.Number
|
|
117
|
-
}) {}
|
|
118
|
-
/**
|
|
119
|
-
* @since 4.0.0
|
|
120
|
-
* @category protocol
|
|
121
|
-
*/
|
|
122
|
-
export class Changes extends /*#__PURE__*/Schema.Class("effect/eventlog/EventLogRemote/Changes")({
|
|
123
|
-
_tag: /*#__PURE__*/Schema.tag("Changes"),
|
|
124
|
-
publicKey: Schema.String,
|
|
125
|
-
entries: /*#__PURE__*/Schema.Array(EncryptedRemoteEntry)
|
|
126
|
-
}) {}
|
|
127
|
-
/**
|
|
128
|
-
* @since 4.0.0
|
|
129
|
-
* @category protocol
|
|
130
|
-
*/
|
|
131
|
-
export class StopChanges extends /*#__PURE__*/Schema.Class("effect/eventlog/EventLogRemote/StopChanges")({
|
|
132
|
-
_tag: /*#__PURE__*/Schema.tag("StopChanges"),
|
|
133
|
-
publicKey: Schema.String
|
|
134
|
-
}) {}
|
|
135
|
-
/**
|
|
136
|
-
* @since 4.0.0
|
|
137
|
-
* @category protocol
|
|
138
|
-
*/
|
|
139
|
-
export class Ping extends /*#__PURE__*/Schema.Class("effect/eventlog/EventLogRemote/Ping")({
|
|
140
|
-
_tag: /*#__PURE__*/Schema.tag("Ping"),
|
|
141
|
-
id: Schema.Number
|
|
142
|
-
}) {}
|
|
143
|
-
/**
|
|
144
|
-
* @since 4.0.0
|
|
145
|
-
* @category protocol
|
|
146
|
-
*/
|
|
147
|
-
export class Pong extends /*#__PURE__*/Schema.Class("effect/eventlog/EventLogRemote/Pong")({
|
|
148
|
-
_tag: /*#__PURE__*/Schema.tag("Pong"),
|
|
149
|
-
id: Schema.Number
|
|
150
|
-
}) {}
|
|
151
|
-
/**
|
|
152
|
-
* @since 4.0.0
|
|
153
|
-
* @category protocol
|
|
154
|
-
*/
|
|
155
|
-
export const ProtocolRequest = /*#__PURE__*/Schema.Union([WriteEntries, RequestChanges, StopChanges, ChunkedMessage, Ping]);
|
|
156
|
-
/**
|
|
157
|
-
* @since 4.0.0
|
|
158
|
-
* @category protocol
|
|
159
|
-
*/
|
|
160
|
-
export const ProtocolRequestMsgpack = /*#__PURE__*/Msgpack.schema(ProtocolRequest);
|
|
161
|
-
/**
|
|
162
|
-
* @since 4.0.0
|
|
163
|
-
* @category protocol
|
|
164
|
-
*/
|
|
165
|
-
export const decodeRequest = /*#__PURE__*/Schema.decodeUnknownEffect(ProtocolRequestMsgpack);
|
|
166
|
-
/**
|
|
167
|
-
* @since 4.0.0
|
|
168
|
-
* @category protocol
|
|
169
|
-
*/
|
|
170
|
-
export const encodeRequest = /*#__PURE__*/Schema.encodeUnknownEffect(ProtocolRequestMsgpack);
|
|
171
|
-
/**
|
|
172
|
-
* @since 4.0.0
|
|
173
|
-
* @category protocol
|
|
174
|
-
*/
|
|
175
|
-
export const ProtocolResponse = /*#__PURE__*/Schema.Union([Hello, Ack, Changes, ChunkedMessage, Pong]);
|
|
176
|
-
/**
|
|
177
|
-
* @since 4.0.0
|
|
178
|
-
* @category protocol
|
|
179
|
-
*/
|
|
180
|
-
export const ProtocolResponseMsgpack = /*#__PURE__*/Msgpack.schema(ProtocolResponse);
|
|
181
|
-
/**
|
|
182
|
-
* @since 4.0.0
|
|
183
|
-
* @category protocol
|
|
184
|
-
*/
|
|
185
|
-
export const decodeResponse = /*#__PURE__*/Schema.decodeUnknownEffect(ProtocolResponseMsgpack);
|
|
186
|
-
/**
|
|
187
|
-
* @since 4.0.0
|
|
188
|
-
* @category protocol
|
|
189
|
-
*/
|
|
190
|
-
export const encodeResponse = /*#__PURE__*/Schema.encodeUnknownEffect(ProtocolResponseMsgpack);
|
|
191
|
-
/**
|
|
192
|
-
* @since 4.0.0
|
|
193
|
-
* @category change
|
|
194
|
-
*/
|
|
195
|
-
export class RemoteAdditions extends /*#__PURE__*/Schema.Class("effect/eventlog/EventLogRemote/RemoteAdditions")({
|
|
196
|
-
_tag: /*#__PURE__*/Schema.tag("RemoteAdditions"),
|
|
197
|
-
entries: /*#__PURE__*/Schema.Array(RemoteEntry)
|
|
198
|
-
}) {}
|
|
199
|
-
const constChunkSize = 512_000;
|
|
200
23
|
/**
|
|
201
24
|
* @since 4.0.0
|
|
202
25
|
* @category errors
|
|
203
26
|
*/
|
|
204
27
|
export class EventLogRemoteError extends /*#__PURE__*/Data.TaggedError("EventLogRemoteError") {}
|
|
28
|
+
const getIdentityRootSecretMaterial = /*#__PURE__*/makeGetIdentityRootSecretMaterial(globalThis.crypto);
|
|
29
|
+
const makeAuthenticate = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
30
|
+
const rootSecretMaterial = yield* getIdentityRootSecretMaterial(options.identity);
|
|
31
|
+
const payload = yield* encodeSessionAuthPayload({
|
|
32
|
+
remoteId: options.hello.remoteId,
|
|
33
|
+
challenge: options.hello.challenge,
|
|
34
|
+
publicKey: options.identity.publicKey,
|
|
35
|
+
signingPublicKey: rootSecretMaterial.signingPublicKey
|
|
36
|
+
});
|
|
37
|
+
const signature = yield* signSessionAuthPayloadBytes({
|
|
38
|
+
payload,
|
|
39
|
+
signingPrivateKey: Redacted.value(rootSecretMaterial.signingPrivateKey)
|
|
40
|
+
});
|
|
41
|
+
return new Authenticate({
|
|
42
|
+
publicKey: options.identity.publicKey,
|
|
43
|
+
signingPublicKey: rootSecretMaterial.signingPublicKey,
|
|
44
|
+
signature,
|
|
45
|
+
algorithm: "Ed25519"
|
|
46
|
+
});
|
|
47
|
+
});
|
|
205
48
|
/**
|
|
206
49
|
* @since 4.0.0
|
|
207
|
-
* @category
|
|
50
|
+
* @category RpcClient
|
|
208
51
|
*/
|
|
209
|
-
export
|
|
52
|
+
export class EventLogRemoteClient extends /*#__PURE__*/Context.Service()("effect/unstable/eventlog/EventLogRemote/EventLogRemoteClient") {
|
|
53
|
+
static layer = /*#__PURE__*/Layer.effect(EventLogRemoteClient, /*#__PURE__*/RpcClient.make(EventLogRemoteRpcs, {
|
|
54
|
+
disableTracing: true
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
210
57
|
/**
|
|
211
58
|
* @since 4.0.0
|
|
212
59
|
* @category constructors
|
|
213
60
|
*/
|
|
214
|
-
export const
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
const
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
61
|
+
export const makeWith = /*#__PURE__*/Effect.fnUntraced(function* ({
|
|
62
|
+
encodeWrite,
|
|
63
|
+
decodeChanges
|
|
64
|
+
}) {
|
|
65
|
+
const client = yield* EventLogRemoteClient;
|
|
66
|
+
const registry = yield* Registry;
|
|
67
|
+
let hello = yield* client["EventLog.Hello"]().pipe(Effect.mapError(cause => new EventLogRemoteError({
|
|
68
|
+
method: "hello",
|
|
69
|
+
cause
|
|
70
|
+
})));
|
|
71
|
+
const identities = new Map();
|
|
72
|
+
const ensureIdentity = identity => {
|
|
73
|
+
let entry = identities.get(identity.publicKey);
|
|
74
|
+
if (!entry) {
|
|
75
|
+
entry = identity;
|
|
76
|
+
identities.set(identity.publicKey, entry);
|
|
226
77
|
}
|
|
78
|
+
return entry;
|
|
79
|
+
};
|
|
80
|
+
const authCache = yield* Cache.make({
|
|
81
|
+
lookup: Effect.fnUntraced(function* (publicKey) {
|
|
82
|
+
const identity = identities.get(publicKey);
|
|
83
|
+
hello ??= yield* client["EventLog.Hello"]().pipe(Effect.mapError(cause => new EventLogRemoteError({
|
|
84
|
+
method: "hello",
|
|
85
|
+
cause
|
|
86
|
+
})));
|
|
87
|
+
const authenticate = yield* makeAuthenticate({
|
|
88
|
+
identity,
|
|
89
|
+
hello
|
|
90
|
+
});
|
|
91
|
+
yield* client["EventLog.Authenticate"](authenticate);
|
|
92
|
+
}, Effect.mapError(cause => new EventLogRemoteError({
|
|
93
|
+
method: "authenticate",
|
|
94
|
+
cause
|
|
95
|
+
}))),
|
|
96
|
+
capacity: Number.MAX_SAFE_INTEGER
|
|
227
97
|
});
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
98
|
+
const ensureAuthenticated = identity => {
|
|
99
|
+
ensureIdentity(identity);
|
|
100
|
+
return Cache.get(authCache, identity.publicKey);
|
|
101
|
+
};
|
|
102
|
+
const retryForbidden = (effect, options) => Effect.retry(effect, {
|
|
103
|
+
while(e) {
|
|
104
|
+
hello = null;
|
|
105
|
+
const isForbidden = Predicate.isTagged(e, "EventLogProtocolError") && e.code === "Forbidden";
|
|
106
|
+
return Cache.invalidate(authCache, options.identity.publicKey).pipe(Effect.as(isForbidden));
|
|
107
|
+
},
|
|
108
|
+
times: 5
|
|
235
109
|
});
|
|
236
|
-
|
|
237
|
-
const
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
110
|
+
let chunkedIdCounter = 0;
|
|
111
|
+
const remote = EventLogRemote.of({
|
|
112
|
+
id: hello.remoteId,
|
|
113
|
+
write: Effect.fnUntraced(function* (options) {
|
|
114
|
+
yield* ensureAuthenticated(options.identity);
|
|
115
|
+
const encoded = yield* encodeWrite(options);
|
|
116
|
+
if (encoded.byteLength <= ChunkedMessage.chunkSize) {
|
|
117
|
+
return yield* client["EventLog.WriteSingle"]({
|
|
118
|
+
data: encoded
|
|
119
|
+
});
|
|
245
120
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
{
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
const
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
entry
|
|
273
|
-
});
|
|
274
|
-
});
|
|
275
|
-
const queue = yield* RcMap.get(subscriptions, publicKey);
|
|
276
|
-
yield* Queue.offerAll(queue, remoteEntries);
|
|
277
|
-
yield* Deferred.done(deferred, Exit.void);
|
|
278
|
-
}).pipe(Effect.scoped);
|
|
279
|
-
}
|
|
280
|
-
case "Pong":
|
|
281
|
-
{
|
|
282
|
-
latestPong = res.id;
|
|
283
|
-
if (res.id === latestPing) {
|
|
284
|
-
return Effect.void;
|
|
285
|
-
}
|
|
286
|
-
return Deferred.fail(badPing, new Error("Pong id mismatch")).pipe(Effect.asVoid);
|
|
287
|
-
}
|
|
288
|
-
case "Changes":
|
|
289
|
-
{
|
|
290
|
-
return Effect.gen(function* () {
|
|
291
|
-
const queue = yield* RcMap.get(subscriptions, res.publicKey);
|
|
292
|
-
const identity = identities.get(res.publicKey);
|
|
293
|
-
if (!identity) {
|
|
294
|
-
return;
|
|
121
|
+
for (const part of ChunkedMessage.split(chunkedIdCounter++, encoded)) {
|
|
122
|
+
yield* client["EventLog.WriteChunked"](part);
|
|
123
|
+
}
|
|
124
|
+
}, retryForbidden, Effect.mapError(cause => new EventLogRemoteError({
|
|
125
|
+
method: "write",
|
|
126
|
+
cause
|
|
127
|
+
}))),
|
|
128
|
+
changes: Effect.fnUntraced(function* (options) {
|
|
129
|
+
const outgoing = yield* Queue.make();
|
|
130
|
+
yield* Effect.gen(function* () {
|
|
131
|
+
yield* ensureAuthenticated(options.identity);
|
|
132
|
+
const chunkedState = ChunkedMessage.initialJoinState();
|
|
133
|
+
const incoming = yield* client["EventLog.Changes"]({
|
|
134
|
+
publicKey: options.identity.publicKey,
|
|
135
|
+
storeId: options.storeId,
|
|
136
|
+
startSequence: options.startSequence
|
|
137
|
+
}, {
|
|
138
|
+
asQueue: true
|
|
139
|
+
});
|
|
140
|
+
while (true) {
|
|
141
|
+
const parts = yield* Queue.takeAll(incoming);
|
|
142
|
+
for (let i = 0; i < parts.length; i++) {
|
|
143
|
+
const part = parts[i];
|
|
144
|
+
if (part._tag === "Single") {
|
|
145
|
+
yield* Queue.offerAll(outgoing, yield* decodeChanges(options.identity, part.data));
|
|
146
|
+
continue;
|
|
295
147
|
}
|
|
296
|
-
const
|
|
297
|
-
|
|
298
|
-
|
|
148
|
+
const data = ChunkedMessage.join(chunkedState, part);
|
|
149
|
+
if (!data) continue;
|
|
150
|
+
yield* Queue.offerAll(outgoing, yield* decodeChanges(options.identity, data));
|
|
151
|
+
}
|
|
299
152
|
}
|
|
300
|
-
|
|
301
|
-
{
|
|
302
|
-
|
|
303
|
-
if (!data) return Effect.void;
|
|
304
|
-
return Effect.scoped(Effect.flatMap(decodeResponse(data), handleMessage));
|
|
153
|
+
}).pipe(effect => retryForbidden(effect, options), Effect.mapError(cause => {
|
|
154
|
+
if (cause._tag === "EventLogRemoteError") {
|
|
155
|
+
return cause;
|
|
305
156
|
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
method: "fromSocket"
|
|
313
|
-
}), Effect.forkScoped, Effect.interruptible);
|
|
314
|
-
const id = yield* Deferred.await(remoteId);
|
|
315
|
-
return {
|
|
316
|
-
id,
|
|
317
|
-
write: (identity, entries) => Effect.gen(function* () {
|
|
318
|
-
const encrypted = yield* encryption.encrypt(identity, entries);
|
|
319
|
-
const deferred = yield* Deferred.make();
|
|
320
|
-
const id = pendingCounter++;
|
|
321
|
-
pending.set(id, {
|
|
322
|
-
entries,
|
|
323
|
-
deferred,
|
|
324
|
-
publicKey: identity.publicKey
|
|
325
|
-
});
|
|
326
|
-
yield* Effect.orDie(writeRequest(new WriteEntries({
|
|
327
|
-
publicKey: identity.publicKey,
|
|
328
|
-
id,
|
|
329
|
-
iv: encrypted.iv,
|
|
330
|
-
encryptedEntries: encrypted.encryptedEntries.map((encryptedEntry, i) => ({
|
|
331
|
-
entryId: entries[i].id,
|
|
332
|
-
encryptedEntry
|
|
333
|
-
}))
|
|
334
|
-
})));
|
|
335
|
-
yield* Deferred.await(deferred);
|
|
157
|
+
return new EventLogRemoteError({
|
|
158
|
+
method: "changes",
|
|
159
|
+
cause
|
|
160
|
+
});
|
|
161
|
+
}), Effect.catchCause(cause => Queue.failCause(outgoing, cause)), Effect.forkScoped);
|
|
162
|
+
return outgoing;
|
|
336
163
|
}),
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
164
|
+
whenAuthenticated: effect => IdentityService.use(identity => Effect.flatMap(ensureAuthenticated(identity), () => effect))
|
|
165
|
+
});
|
|
166
|
+
yield* registry.registerRemote(remote);
|
|
167
|
+
return remote;
|
|
168
|
+
});
|
|
169
|
+
class IdentityService extends /*#__PURE__*/Context.Service()("effect/eventlog/EventLog/Identity") {}
|
|
170
|
+
/**
|
|
171
|
+
* @since 4.0.0
|
|
172
|
+
* @category constructors
|
|
173
|
+
*/
|
|
174
|
+
export const makeEncrypted = /*#__PURE__*/Effect.gen(function* () {
|
|
175
|
+
const encryption = yield* EventLogEncryption;
|
|
176
|
+
return yield* makeWith({
|
|
177
|
+
encodeWrite: options => encryption.encrypt(options.identity, options.entries).pipe(Effect.flatMap(msg => new WriteEntries({
|
|
178
|
+
publicKey: options.identity.publicKey,
|
|
179
|
+
storeId: options.storeId,
|
|
180
|
+
iv: msg.iv,
|
|
181
|
+
encryptedEntries: msg.encryptedEntries.map((entry, i) => ({
|
|
182
|
+
entryId: options.entries[i].id,
|
|
183
|
+
encryptedEntry: entry
|
|
184
|
+
}))
|
|
185
|
+
}).encoded)),
|
|
186
|
+
decodeChanges: (identity, data) => ChangesRpc.decodeEncrypted(data).pipe(Effect.flatMap(entries => encryption.decrypt(identity, entries)))
|
|
187
|
+
});
|
|
347
188
|
});
|
|
348
189
|
/**
|
|
349
190
|
* @since 4.0.0
|
|
350
191
|
* @category constructors
|
|
351
192
|
*/
|
|
352
|
-
export const
|
|
353
|
-
|
|
354
|
-
|
|
193
|
+
export const makeUnencrypted = /*#__PURE__*/makeWith({
|
|
194
|
+
encodeWrite: options => new WriteEntriesUnencrypted({
|
|
195
|
+
publicKey: options.identity.publicKey,
|
|
196
|
+
storeId: options.storeId,
|
|
197
|
+
entries: options.entries
|
|
198
|
+
}).encoded,
|
|
199
|
+
decodeChanges: (_identity, data) => ChangesRpc.decodeUnencrypted(data)
|
|
355
200
|
});
|
|
356
201
|
/**
|
|
357
202
|
* @since 4.0.0
|
|
358
|
-
* @category
|
|
203
|
+
* @category Layers
|
|
359
204
|
*/
|
|
360
|
-
export const
|
|
205
|
+
export const layerEncrypted = /*#__PURE__*/Layer.effect(EventLogRemote, makeEncrypted).pipe(/*#__PURE__*/Layer.provide(EventLogRemoteClient.layer), /*#__PURE__*/Layer.provide(layerSubtle));
|
|
361
206
|
/**
|
|
362
207
|
* @since 4.0.0
|
|
363
|
-
* @category
|
|
208
|
+
* @category Layers
|
|
364
209
|
*/
|
|
365
|
-
export const
|
|
210
|
+
export const layerUnencrypted = /*#__PURE__*/Layer.effect(EventLogRemote, makeUnencrypted).pipe(/*#__PURE__*/Layer.provide(EventLogRemoteClient.layer));
|
|
366
211
|
//# sourceMappingURL=EventLogRemote.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventLogRemote.js","names":["Context","Data","Deferred","Effect","Exit","Layer","Queue","RcMap","Schedule","Schema","Msgpack","Socket","EntryId","RemoteEntry","RemoteId","EncryptedEntry","EncryptedRemoteEntry","EventLogEncryption","layerSubtle","EventLogRemote","Service","Hello","Class","_tag","tag","remoteId","ChunkedMessage","id","Number","part","Tuple","data","Uint8Array","split","parts","Math","ceil","byteLength","constChunkSize","result","Array","i","start","end","min","subarray","join","map","index","total","entry","get","count","bytes","set","offset","delete","WriteEntries","publicKey","String","iv","encryptedEntries","Ack","sequenceNumbers","RequestChanges","startSequence","Changes","entries","StopChanges","Ping","Pong","ProtocolRequest","Union","ProtocolRequestMsgpack","schema","decodeRequest","decodeUnknownEffect","encodeRequest","encodeUnknownEffect","ProtocolResponse","ProtocolResponseMsgpack","decodeResponse","encodeResponse","RemoteAdditions","EventLogRemoteError","TaggedError","RemoteEntryChange","fromSocket","options","gen","socket","encryption","writeRaw","writer","writeRequest","request","pendingCounter","pending","Map","chunks","subscriptions","make","lookup","acquireRelease","queue","shutdown","pipe","andThen","ignore","identities","badPing","latestPing","latestPong","disablePing","suspend","fail","Error","delay","forever","interruptible","forkScoped","handleMessage","res","succeed","asVoid","deferred","remoteEntries","sequenceNumber","remoteSequence","offerAll","done","void","scoped","identity","decrypt","flatMap","run","raceFirst","await","tapCause","logDebug","retry","schedule","exponential","either","spaced","annotateLogs","service","method","write","encrypted","encrypt","orDie","encryptedEntry","entryId","changes","fromWebSocket","url","makeWebSocket","provideService","layerWebSocket","effectDiscard","layerWebSocketBrowser","provide","layerWebSocketConstructorGlobal"],"sources":["../../../src/unstable/eventlog/EventLogRemote.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"EventLogRemote.js","names":["Cache","Context","Data","Effect","Layer","Predicate","Queue","Redacted","RpcClient","Registry","EventLogEncryption","layerSubtle","Authenticate","ChangesRpc","ChunkedMessage","EventLogRemoteRpcs","WriteEntries","WriteEntriesUnencrypted","encodeSessionAuthPayload","signSessionAuthPayloadBytes","makeGetIdentityRootSecretMaterial","EventLogRemote","Service","EventLogRemoteError","TaggedError","getIdentityRootSecretMaterial","globalThis","crypto","makeAuthenticate","fnUntraced","options","rootSecretMaterial","identity","payload","remoteId","hello","challenge","publicKey","signingPublicKey","signature","signingPrivateKey","value","algorithm","EventLogRemoteClient","layer","effect","make","disableTracing","makeWith","encodeWrite","decodeChanges","client","registry","pipe","mapError","cause","method","identities","Map","ensureIdentity","entry","get","set","authCache","lookup","authenticate","capacity","Number","MAX_SAFE_INTEGER","ensureAuthenticated","retryForbidden","retry","while","e","isForbidden","isTagged","code","invalidate","as","times","chunkedIdCounter","remote","of","id","write","encoded","byteLength","chunkSize","data","part","split","changes","outgoing","gen","chunkedState","initialJoinState","incoming","storeId","startSequence","asQueue","parts","takeAll","i","length","_tag","offerAll","join","catchCause","failCause","forkScoped","whenAuthenticated","IdentityService","use","flatMap","registerRemote","makeEncrypted","encryption","encrypt","entries","msg","iv","encryptedEntries","map","entryId","encryptedEntry","decodeEncrypted","decrypt","makeUnencrypted","_identity","decodeUnencrypted","layerEncrypted","provide","layerUnencrypted"],"sources":["../../../src/unstable/eventlog/EventLogRemote.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,OAAO,MAAM,kBAAkB;AAC3C,OAAO,KAAKC,IAAI,MAAM,eAAe;AACrC,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,SAAS,MAAM,oBAAoB;AAC/C,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,QAAQ,MAAM,mBAAmB;AAG7C,OAAO,KAAKC,SAAS,MAAM,qBAAqB;AAIhD,SAAwBC,QAAQ,QAAQ,eAAe;AACvD,SAASC,kBAAkB,EAAEC,WAAW,QAAQ,yBAAyB;AACzE,SACEC,YAAY,EACZC,UAAU,EACVC,cAAc,EAEdC,kBAAkB,EAGlBC,YAAY,EACZC,uBAAuB,QAClB,sBAAsB;AAC7B,SAASC,wBAAwB,EAAEC,2BAA2B,QAAQ,0BAA0B;AAChG,SAASC,iCAAiC,QAAQ,4CAA4C;AAE9F;;;;AAIA,OAAM,MAAOC,cAAe,sBAAQpB,OAAO,CAACqB,OAAO,EAe/C,CAAC,gCAAgC,CAAC;AAEtC;;;;AAIA,OAAM,MAAOC,mBAAoB,sBAAQrB,IAAI,CAACsB,WAAW,CAAC,qBAAqB,CAG7E;AAEF,MAAMC,6BAA6B,gBAAGL,iCAAiC,CAACM,UAAU,CAACC,MAAM,CAAC;AAE1F,MAAMC,gBAAgB,gBAAGzB,MAAM,CAAC0B,UAAU,CAAC,WAAUC,OAGpD;EACC,MAAMC,kBAAkB,GAAG,OAAON,6BAA6B,CAACK,OAAO,CAACE,QAAQ,CAAC;EACjF,MAAMC,OAAO,GAAG,OAAOf,wBAAwB,CAAC;IAC9CgB,QAAQ,EAAEJ,OAAO,CAACK,KAAK,CAACD,QAAQ;IAChCE,SAAS,EAAEN,OAAO,CAACK,KAAK,CAACC,SAAS;IAClCC,SAAS,EAAEP,OAAO,CAACE,QAAQ,CAACK,SAAS;IACrCC,gBAAgB,EAAEP,kBAAkB,CAACO;GACtC,CAAC;EACF,MAAMC,SAAS,GAAG,OAAOpB,2BAA2B,CAAC;IACnDc,OAAO;IACPO,iBAAiB,EAAEjC,QAAQ,CAACkC,KAAK,CAACV,kBAAkB,CAACS,iBAAiB;GACvE,CAAC;EAEF,OAAO,IAAI5B,YAAY,CAAC;IACtByB,SAAS,EAAEP,OAAO,CAACE,QAAQ,CAACK,SAAS;IACrCC,gBAAgB,EAAEP,kBAAkB,CAACO,gBAAgB;IACrDC,SAAS;IACTG,SAAS,EAAE;GACZ,CAAC;AACJ,CAAC,CAAC;AAEF;;;;AAIA,OAAM,MAAOC,oBAAqB,sBAAQ1C,OAAO,CAACqB,OAAO,EAGtD,CACD,8DAA8D,CAC/D;EACC,OAAgBsB,KAAK,gBAAGxC,KAAK,CAACyC,MAAM,CAClCF,oBAAoB,eACpBnC,SAAS,CAACsC,IAAI,CAAC/B,kBAAkB,EAAE;IACjCgC,cAAc,EAAE;GACjB,CAAC,CACH;;AAGH;;;;AAIA,OAAO,MAAMC,QAAQ,gBAAG7C,MAAM,CAAC0B,UAAU,CAAC,WAAU;EAAEoB,WAAW;EAAEC;AAAa,CAU/E;EACC,MAAMC,MAAM,GAAG,OAAOR,oBAAoB;EAC1C,MAAMS,QAAQ,GAAG,OAAO3C,QAAQ;EAEhC,IAAI0B,KAAK,GAAyB,OAAOgB,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAACE,IAAI,CACtElD,MAAM,CAACmD,QAAQ,CAAEC,KAAK,IAAK,IAAIhC,mBAAmB,CAAC;IAAEiC,MAAM,EAAE,OAAO;IAAED;EAAK,CAAE,CAAC,CAAC,CAChF;EAED,MAAME,UAAU,GAAG,IAAIC,GAAG,EAA+B;EACzD,MAAMC,cAAc,GAAI3B,QAA6B,IAAI;IACvD,IAAI4B,KAAK,GAAGH,UAAU,CAACI,GAAG,CAAC7B,QAAQ,CAACK,SAAS,CAAC;IAC9C,IAAI,CAACuB,KAAK,EAAE;MACVA,KAAK,GAAG5B,QAAQ;MAChByB,UAAU,CAACK,GAAG,CAAC9B,QAAQ,CAACK,SAAS,EAAEuB,KAAK,CAAC;IAC3C;IACA,OAAOA,KAAK;EACd,CAAC;EAED,MAAMG,SAAS,GAAG,OAAO/D,KAAK,CAAC8C,IAAI,CAAC;IAClCkB,MAAM,EAAE7D,MAAM,CAAC0B,UAAU,CAAC,WAAUQ,SAAiB;MACnD,MAAML,QAAQ,GAAGyB,UAAU,CAACI,GAAG,CAACxB,SAAS,CAAE;MAC3CF,KAAK,KAAK,OAAOgB,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAACE,IAAI,CAC9ClD,MAAM,CAACmD,QAAQ,CAAEC,KAAK,IAAK,IAAIhC,mBAAmB,CAAC;QAAEiC,MAAM,EAAE,OAAO;QAAED;MAAK,CAAE,CAAC,CAAC,CAChF;MACD,MAAMU,YAAY,GAAG,OAAOrC,gBAAgB,CAAC;QAC3CI,QAAQ;QACRG;OACD,CAAC;MACF,OAAOgB,MAAM,CAAC,uBAAuB,CAAC,CAACc,YAAY,CAAC;IACtD,CAAC,EAAE9D,MAAM,CAACmD,QAAQ,CAAEC,KAAK,IAAK,IAAIhC,mBAAmB,CAAC;MAAEiC,MAAM,EAAE,cAAc;MAAED;IAAK,CAAE,CAAC,CAAC,CAAC;IAC1FW,QAAQ,EAAEC,MAAM,CAACC;GAClB,CAAC;EAEF,MAAMC,mBAAmB,GAAIrC,QAA6B,IAAI;IAC5D2B,cAAc,CAAC3B,QAAQ,CAAC;IACxB,OAAOhC,KAAK,CAAC6D,GAAG,CAACE,SAAS,EAAE/B,QAAQ,CAACK,SAAS,CAAC;EACjD,CAAC;EAED,MAAMiC,cAAc,GAAGA,CACrBzB,MAA8B,EAC9Bf,OAEC,KAED3B,MAAM,CAACoE,KAAK,CAAC1B,MAAM,EAAE;IACnB2B,KAAKA,CAACC,CAAC;MACLtC,KAAK,GAAG,IAAI;MACZ,MAAMuC,WAAW,GAAGrE,SAAS,CAACsE,QAAQ,CAACF,CAAC,EAAE,uBAAuB,CAAC,IAC/DA,CAAkC,CAACG,IAAI,KAAK,WAAW;MAC1D,OAAO5E,KAAK,CAAC6E,UAAU,CAACd,SAAS,EAAEjC,OAAO,CAACE,QAAQ,CAACK,SAAS,CAAC,CAACgB,IAAI,CACjElD,MAAM,CAAC2E,EAAE,CAACJ,WAAW,CAAC,CACvB;IACH,CAAC;IACDK,KAAK,EAAE;GACR,CAAC;EAEJ,IAAIC,gBAAgB,GAAG,CAAC;EAExB,MAAMC,MAAM,GAAG5D,cAAc,CAAC6D,EAAE,CAAC;IAC/BC,EAAE,EAAEhD,KAAK,CAACD,QAAQ;IAClBkD,KAAK,EAAEjF,MAAM,CAAC0B,UAAU,CACtB,WAAUC,OAAO;MACf,OAAOuC,mBAAmB,CAACvC,OAAO,CAACE,QAAQ,CAAC;MAC5C,MAAMqD,OAAO,GAAG,OAAOpC,WAAW,CAACnB,OAAO,CAAC;MAC3C,IAAIuD,OAAO,CAACC,UAAU,IAAIxE,cAAc,CAACyE,SAAS,EAAE;QAClD,OAAO,OAAOpC,MAAM,CAAC,sBAAsB,CAAC,CAAC;UAAEqC,IAAI,EAAEH;QAAO,CAAE,CAAC;MACjE;MACA,KAAK,MAAMI,IAAI,IAAI3E,cAAc,CAAC4E,KAAK,CAACV,gBAAgB,EAAE,EAAEK,OAAO,CAAC,EAAE;QACpE,OAAOlC,MAAM,CAAC,uBAAuB,CAAC,CAACsC,IAAI,CAAC;MAC9C;IACF,CAAC,EACDnB,cAAc,EACdnE,MAAM,CAACmD,QAAQ,CAAEC,KAAK,IAAK,IAAIhC,mBAAmB,CAAC;MAAEiC,MAAM,EAAE,OAAO;MAAED;IAAK,CAAE,CAAC,CAAC,CAChF;IACDoC,OAAO,EAAExF,MAAM,CAAC0B,UAAU,CAAC,WAAUC,OAAO;MAC1C,MAAM8D,QAAQ,GAAG,OAAOtF,KAAK,CAACwC,IAAI,EAAoC;MAEtE,OAAO3C,MAAM,CAAC0F,GAAG,CAAC,aAAS;QACzB,OAAOxB,mBAAmB,CAACvC,OAAO,CAACE,QAAQ,CAAC;QAE5C,MAAM8D,YAAY,GAAGhF,cAAc,CAACiF,gBAAgB,EAAE;QACtD,MAAMC,QAAQ,GAAG,OAAO7C,MAAM,CAAC,kBAAkB,CAAC,CAAC;UACjDd,SAAS,EAAEP,OAAO,CAACE,QAAQ,CAACK,SAAS;UACrC4D,OAAO,EAAEnE,OAAO,CAACmE,OAAO;UACxBC,aAAa,EAAEpE,OAAO,CAACoE;SACxB,EAAE;UAAEC,OAAO,EAAE;QAAI,CAAE,CAAC;QAErB,OAAO,IAAI,EAAE;UACX,MAAMC,KAAK,GAAG,OAAO9F,KAAK,CAAC+F,OAAO,CAACL,QAAQ,CAAC;UAC5C,KAAK,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,KAAK,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;YACrC,MAAMb,IAAI,GAAGW,KAAK,CAACE,CAAC,CAAC;YACrB,IAAIb,IAAI,CAACe,IAAI,KAAK,QAAQ,EAAE;cAC1B,OAAOlG,KAAK,CAACmG,QAAQ,CAACb,QAAQ,EAAE,OAAO1C,aAAa,CAACpB,OAAO,CAACE,QAAQ,EAAEyD,IAAI,CAACD,IAAI,CAAC,CAAC;cAClF;YACF;YACA,MAAMA,IAAI,GAAG1E,cAAc,CAAC4F,IAAI,CAACZ,YAAY,EAAEL,IAAI,CAAC;YACpD,IAAI,CAACD,IAAI,EAAE;YACX,OAAOlF,KAAK,CAACmG,QAAQ,CAACb,QAAQ,EAAE,OAAO1C,aAAa,CAACpB,OAAO,CAACE,QAAQ,EAAEwD,IAAI,CAAC,CAAC;UAC/E;QACF;MACF,CAAC,CAAC,CAACnC,IAAI,CACJR,MAAM,IAAKyB,cAAc,CAACzB,MAAM,EAAEf,OAAO,CAAC,EAC3C3B,MAAM,CAACmD,QAAQ,CAAEC,KAAK,IAAI;QACxB,IAAIA,KAAK,CAACiD,IAAI,KAAK,qBAAqB,EAAE;UACxC,OAAOjD,KAAK;QACd;QACA,OAAO,IAAIhC,mBAAmB,CAAC;UAC7BiC,MAAM,EAAE,SAAS;UACjBD;SACD,CAAC;MACJ,CAAC,CAAC,EACFpD,MAAM,CAACwG,UAAU,CAAEpD,KAAK,IAAKjD,KAAK,CAACsG,SAAS,CAAChB,QAAQ,EAAErC,KAAK,CAAC,CAAC,EAC9DpD,MAAM,CAAC0G,UAAU,CAClB;MAED,OAAOjB,QAAQ;IACjB,CAAC,CAAC;IACFkB,iBAAiB,EAAGjE,MAAM,IACxBkE,eAAe,CAACC,GAAG,CAAEhF,QAAQ,IAAK7B,MAAM,CAAC8G,OAAO,CAAC5C,mBAAmB,CAACrC,QAAQ,CAAC,EAAE,MAAMa,MAAM,CAAC;GAChG,CAAC;EAEF,OAAOO,QAAQ,CAAC8D,cAAc,CAACjC,MAAM,CAAC;EAEtC,OAAOA,MAAM;AACf,CAAC,CAAC;AAEF,MAAM8B,eAAgB,sBAAQ9G,OAAO,CAACqB,OAAO,EAAiC,CAC5E,mCAA6D,CAC9D;AAED;;;;AAIA,OAAO,MAAM6F,aAAa,gBAAGhH,MAAM,CAAC0F,GAAG,CAAC,aAAS;EAK/C,MAAMuB,UAAU,GAAG,OAAO1G,kBAAkB;EAE5C,OAAO,OAAOsC,QAAQ,CAAC;IACrBC,WAAW,EAAGnB,OAAO,IACnBsF,UAAU,CAACC,OAAO,CAACvF,OAAO,CAACE,QAAQ,EAAEF,OAAO,CAACwF,OAAO,CAAC,CAACjE,IAAI,CACxDlD,MAAM,CAAC8G,OAAO,CAAEM,GAAG,IACjB,IAAIvG,YAAY,CAAC;MACfqB,SAAS,EAAEP,OAAO,CAACE,QAAQ,CAACK,SAAS;MACrC4D,OAAO,EAAEnE,OAAO,CAACmE,OAAO;MACxBuB,EAAE,EAAED,GAAG,CAACC,EAAE;MACVC,gBAAgB,EAAEF,GAAG,CAACE,gBAAgB,CAACC,GAAG,CAAC,CAAC9D,KAAK,EAAE0C,CAAC,MAAM;QACxDqB,OAAO,EAAE7F,OAAO,CAACwF,OAAO,CAAChB,CAAC,CAAC,CAACnB,EAAE;QAC9ByC,cAAc,EAAEhE;OACjB,CAAC;KACH,CAAC,CAACyB,OAAO,CACX,CACF;IACHnC,aAAa,EAAEA,CAAClB,QAAQ,EAAEwD,IAAI,KAC5B3E,UAAU,CAACgH,eAAe,CAACrC,IAAI,CAAC,CAACnC,IAAI,CACnClD,MAAM,CAAC8G,OAAO,CAAEK,OAAO,IAAKF,UAAU,CAACU,OAAO,CAAC9F,QAAQ,EAAEsF,OAAO,CAAC,CAAC;GAEvE,CAAC;AACJ,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMS,eAAe,gBAIxB/E,QAAQ,CAAC;EACXC,WAAW,EAAGnB,OAAO,IACnB,IAAIb,uBAAuB,CAAC;IAC1BoB,SAAS,EAAEP,OAAO,CAACE,QAAQ,CAACK,SAAS;IACrC4D,OAAO,EAAEnE,OAAO,CAACmE,OAAO;IACxBqB,OAAO,EAAExF,OAAO,CAACwF;GAClB,CAAC,CAACjC,OAAO;EACZnC,aAAa,EAAEA,CAAC8E,SAAS,EAAExC,IAAI,KAAK3E,UAAU,CAACoH,iBAAiB,CAACzC,IAAI;CACtE,CAAC;AAEF;;;;AAIA,OAAO,MAAM0C,cAAc,gBAIvB9H,KAAK,CAACyC,MAAM,CAACxB,cAAc,EAAE8F,aAAa,CAAC,CAAC9D,IAAI,cAClDjD,KAAK,CAAC+H,OAAO,CAACxF,oBAAoB,CAACC,KAAK,CAAC,eACzCxC,KAAK,CAAC+H,OAAO,CAACxH,WAAW,CAAC,CAC3B;AAED;;;;AAIA,OAAO,MAAMyH,gBAAgB,gBAIzBhI,KAAK,CAACyC,MAAM,CAACxB,cAAc,EAAE0G,eAAe,CAAC,CAAC1E,IAAI,cACpDjD,KAAK,CAAC+H,OAAO,CAACxF,oBAAoB,CAACC,KAAK,CAAC,CAC1C","ignoreList":[]}
|