@peerbit/shared-log-proxy 0.0.0-e209d2e

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.
@@ -0,0 +1,384 @@
1
+ import { deserialize, serialize } from "@dao-xyz/borsh";
2
+ import { bindService } from "@dao-xyz/borsh-rpc";
3
+ import { createMessagePortTransport, } from "@peerbit/canonical-host";
4
+ import { SharedLog, } from "@peerbit/shared-log";
5
+ import { OpenSharedLogRequest, SharedLogBytes, SharedLogCoverageRequest, SharedLogEntriesBatch, SharedLogEntriesIteratorService, SharedLogEvent, SharedLogReplicateBool, SharedLogReplicateFactor, SharedLogReplicateFixed, SharedLogReplicateFixedList, SharedLogReplicateRequest, SharedLogReplicateValue, SharedLogReplicationBatch, SharedLogReplicationCountRequest, SharedLogReplicationIndexResult, SharedLogReplicationIterateRequest, SharedLogReplicationIteratorService, SharedLogReplicationRange, SharedLogService, SharedLogUnreplicateRequest, SharedLogWaitForReplicatorRequest, SharedLogWaitForReplicatorsRequest, } from "./protocol.js";
6
+ const ensureCustomEvent = () => {
7
+ if (typeof globalThis.CustomEvent === "function") {
8
+ return;
9
+ }
10
+ class CustomEventPolyfill extends Event {
11
+ detail;
12
+ constructor(type, params) {
13
+ super(type, params);
14
+ this.detail = params?.detail;
15
+ }
16
+ }
17
+ globalThis.CustomEvent = CustomEventPolyfill;
18
+ };
19
+ const toHex = (bytes) => {
20
+ let out = "";
21
+ for (const b of bytes)
22
+ out += b.toString(16).padStart(2, "0");
23
+ return out;
24
+ };
25
+ const openLogs = new Map();
26
+ export const getSharedLogModuleStats = () => {
27
+ return {
28
+ total: openLogs.size,
29
+ entries: [...openLogs.entries()].map(([key, value]) => ({
30
+ key,
31
+ refs: value.refs,
32
+ })),
33
+ };
34
+ };
35
+ const acquireSharedLog = async (properties) => {
36
+ const key = toHex(properties.id);
37
+ const existing = openLogs.get(key);
38
+ if (existing) {
39
+ existing.refs += 1;
40
+ return {
41
+ program: existing.program,
42
+ release: async () => releaseSharedLog(key),
43
+ };
44
+ }
45
+ const peer = await properties.ctx.peer();
46
+ const program = await peer.open(new SharedLog({ id: properties.id }), {
47
+ existing: "reuse",
48
+ args: { replicate: { factor: 1 } },
49
+ });
50
+ openLogs.set(key, { program, refs: 1 });
51
+ return { program, release: async () => releaseSharedLog(key) };
52
+ };
53
+ const releaseSharedLog = async (key) => {
54
+ const existing = openLogs.get(key);
55
+ if (!existing)
56
+ return;
57
+ existing.refs -= 1;
58
+ if (existing.refs > 0)
59
+ return;
60
+ openLogs.delete(key);
61
+ await existing.program.close();
62
+ };
63
+ const toFixedReplicationOptions = (range) => {
64
+ const factor = range.factorMode ?? (range.factor != null ? range.factor : undefined);
65
+ if (factor == null) {
66
+ throw new Error("Replication range missing factor");
67
+ }
68
+ const options = {
69
+ factor: factor,
70
+ };
71
+ if (range.id)
72
+ options.id = range.id;
73
+ if (range.offset != null)
74
+ options.offset = range.offset;
75
+ if (range.normalized != null)
76
+ options.normalized = range.normalized;
77
+ if (range.strict != null)
78
+ options.strict = range.strict;
79
+ return options;
80
+ };
81
+ const toReplicationOptions = (value) => {
82
+ if (!value)
83
+ return undefined;
84
+ if (value instanceof SharedLogReplicateBool) {
85
+ return value.value;
86
+ }
87
+ if (value instanceof SharedLogReplicateFactor) {
88
+ return value.factor;
89
+ }
90
+ if (value instanceof SharedLogReplicateFixed) {
91
+ return toFixedReplicationOptions(value.range);
92
+ }
93
+ if (value instanceof SharedLogReplicateFixedList) {
94
+ return value.ranges.map((range) => toFixedReplicationOptions(range));
95
+ }
96
+ throw new Error("Unsupported replication value");
97
+ };
98
+ export const createSharedLogService = (log, options) => {
99
+ ensureCustomEvent();
100
+ let closed = false;
101
+ const unsubscribe = [];
102
+ const waitControllers = new Map();
103
+ let service;
104
+ service = new SharedLogService({
105
+ logGet: async (hash) => {
106
+ const entry = await log.log.get(hash);
107
+ return entry
108
+ ? new SharedLogBytes({ value: serialize(entry) })
109
+ : undefined;
110
+ },
111
+ logHas: async (hash) => {
112
+ return log.log.has(hash);
113
+ },
114
+ logToArray: async () => {
115
+ const entries = await log.log.toArray();
116
+ return entries.map((entry) => new SharedLogBytes({ value: serialize(entry) }));
117
+ },
118
+ logGetHeads: async () => {
119
+ let iterator;
120
+ let done = false;
121
+ const closeIterator = async () => {
122
+ if (done)
123
+ return;
124
+ done = true;
125
+ if (iterator) {
126
+ await iterator.close();
127
+ }
128
+ };
129
+ const updates = new SharedLogEntriesIteratorService({
130
+ next: async (amount) => {
131
+ if (!iterator) {
132
+ throw new Error("Shared log iterator not ready");
133
+ }
134
+ const items = await iterator.next(amount);
135
+ return new SharedLogEntriesBatch({
136
+ entries: (items ?? []).map((entry) => new SharedLogBytes({ value: serialize(entry) })),
137
+ done: iterator.done() ?? false,
138
+ });
139
+ },
140
+ pending: async () => undefined,
141
+ done: async () => {
142
+ if (!iterator)
143
+ return false;
144
+ return iterator.done() ?? false;
145
+ },
146
+ close: async () => {
147
+ await closeIterator();
148
+ },
149
+ });
150
+ iterator = log.log.getHeads(true);
151
+ return updates;
152
+ },
153
+ logLength: async () => {
154
+ return BigInt(log.log.length);
155
+ },
156
+ logBlockHas: async (hash) => {
157
+ return log.log.blocks.has(hash);
158
+ },
159
+ replicationIterate: async (request) => {
160
+ const query = request.query.length
161
+ ? request.query
162
+ : undefined;
163
+ const sort = request.sort.length ? request.sort : undefined;
164
+ let iterator;
165
+ let done = false;
166
+ const closeIterator = async () => {
167
+ if (done)
168
+ return;
169
+ done = true;
170
+ if (iterator) {
171
+ await iterator.close();
172
+ }
173
+ };
174
+ const updates = new SharedLogReplicationIteratorService({
175
+ next: async (amount) => {
176
+ if (!iterator) {
177
+ throw new Error("Replication iterator not ready");
178
+ }
179
+ const items = await iterator.next(amount);
180
+ const results = (items ?? []).map((item) => new SharedLogReplicationIndexResult({
181
+ id: item.id,
182
+ value: new SharedLogBytes({
183
+ value: serialize(item.value),
184
+ }),
185
+ }));
186
+ return new SharedLogReplicationBatch({
187
+ results,
188
+ done: iterator.done() ?? false,
189
+ });
190
+ },
191
+ pending: async () => {
192
+ if (!iterator)
193
+ return undefined;
194
+ const pending = await iterator.pending();
195
+ return pending != null ? BigInt(pending) : undefined;
196
+ },
197
+ done: async () => {
198
+ if (!iterator)
199
+ return false;
200
+ return iterator.done() ?? false;
201
+ },
202
+ close: async () => {
203
+ await closeIterator();
204
+ },
205
+ });
206
+ iterator = log.replicationIndex.iterate(query || sort ? { query, sort } : undefined);
207
+ return updates;
208
+ },
209
+ replicationCount: async (request) => {
210
+ const query = request.query.length ? request.query : undefined;
211
+ const count = await log.replicationIndex.count(query ? { query } : undefined);
212
+ return BigInt(count);
213
+ },
214
+ getReplicators: async () => {
215
+ const replicators = await log.getReplicators();
216
+ return [...replicators];
217
+ },
218
+ waitForReplicator: async (request) => {
219
+ const requestId = request.requestId;
220
+ const controller = requestId ? new AbortController() : undefined;
221
+ if (requestId && controller) {
222
+ waitControllers.set(requestId, controller);
223
+ }
224
+ try {
225
+ await log.waitForReplicator(request.publicKey, {
226
+ eager: request.eager,
227
+ timeout: request.timeoutMs,
228
+ roleAge: request.roleAgeMs,
229
+ signal: controller?.signal,
230
+ });
231
+ }
232
+ finally {
233
+ if (requestId)
234
+ waitControllers.delete(requestId);
235
+ }
236
+ },
237
+ waitForReplicators: async (request) => {
238
+ const requestId = request?.requestId;
239
+ const controller = requestId ? new AbortController() : undefined;
240
+ if (requestId && controller) {
241
+ waitControllers.set(requestId, controller);
242
+ }
243
+ try {
244
+ await log.waitForReplicators({
245
+ timeout: request?.timeoutMs,
246
+ roleAge: request?.roleAgeMs,
247
+ coverageThreshold: request?.coverageThreshold,
248
+ waitForNewPeers: request?.waitForNewPeers,
249
+ signal: controller?.signal,
250
+ });
251
+ }
252
+ finally {
253
+ if (requestId)
254
+ waitControllers.delete(requestId);
255
+ }
256
+ },
257
+ cancelWait: async (requestId) => {
258
+ const controller = waitControllers.get(requestId);
259
+ if (!controller)
260
+ return;
261
+ waitControllers.delete(requestId);
262
+ try {
263
+ controller.abort(new Error("AbortError"));
264
+ }
265
+ catch {
266
+ controller.abort();
267
+ }
268
+ },
269
+ replicate: async (request) => {
270
+ const range = toReplicationOptions(request?.value);
271
+ const hasOptions = request?.reset != null ||
272
+ request?.checkDuplicates != null ||
273
+ request?.rebalance != null ||
274
+ request?.mergeSegments != null;
275
+ const options = hasOptions
276
+ ? {
277
+ reset: request?.reset,
278
+ checkDuplicates: request?.checkDuplicates,
279
+ rebalance: request?.rebalance,
280
+ mergeSegments: request?.mergeSegments,
281
+ }
282
+ : undefined;
283
+ if (range === undefined) {
284
+ await log.replicate(undefined, options);
285
+ return;
286
+ }
287
+ await log.replicate(range, options);
288
+ },
289
+ unreplicate: async (request) => {
290
+ if (!request || request.ids.length === 0) {
291
+ await log.unreplicate();
292
+ return;
293
+ }
294
+ await log.unreplicate(request.ids.map((id) => ({ id })));
295
+ },
296
+ calculateCoverage: async (request) => {
297
+ return log.calculateCoverage({
298
+ start: request?.start,
299
+ end: request?.end,
300
+ roleAge: request?.roleAgeMs,
301
+ });
302
+ },
303
+ getMyReplicationSegments: async () => {
304
+ const ranges = await log.getMyReplicationSegments();
305
+ return ranges.map((range) => new SharedLogBytes({ value: serialize(range) }));
306
+ },
307
+ getAllReplicationSegments: async () => {
308
+ const ranges = await log.getAllReplicationSegments();
309
+ return ranges.map((range) => new SharedLogBytes({ value: serialize(range) }));
310
+ },
311
+ resolution: async () => {
312
+ return log.domain.resolution;
313
+ },
314
+ publicKey: async () => {
315
+ return log.node.identity.publicKey;
316
+ },
317
+ close: async () => {
318
+ if (closed)
319
+ return;
320
+ closed = true;
321
+ for (const controller of waitControllers.values()) {
322
+ try {
323
+ controller.abort(new Error("SharedLogService closed"));
324
+ }
325
+ catch {
326
+ controller.abort();
327
+ }
328
+ }
329
+ waitControllers.clear();
330
+ for (const off of unsubscribe) {
331
+ off();
332
+ }
333
+ await options?.onClose?.();
334
+ },
335
+ });
336
+ const forwardEvent = (type, key) => {
337
+ if (!key)
338
+ return;
339
+ service.events.dispatchEvent(new CustomEvent(type, {
340
+ detail: new SharedLogEvent({ publicKey: key }),
341
+ }));
342
+ };
343
+ const attach = (type) => {
344
+ const handler = (event) => {
345
+ const detail = event?.detail;
346
+ const key = detail?.publicKey ?? detail;
347
+ forwardEvent(type, key);
348
+ };
349
+ log.events.addEventListener(type, handler);
350
+ unsubscribe.push(() => log.events.removeEventListener(type, handler));
351
+ };
352
+ attach("join");
353
+ attach("leave");
354
+ attach("replicator:join");
355
+ attach("replicator:leave");
356
+ attach("replicator:mature");
357
+ attach("replication:change");
358
+ return service;
359
+ };
360
+ export const sharedLogModule = {
361
+ name: "@peerbit/shared-log",
362
+ open: async (ctx, port, payload) => {
363
+ ensureCustomEvent();
364
+ const request = deserialize(payload, OpenSharedLogRequest);
365
+ const acquired = await acquireSharedLog({ ctx, id: request.id });
366
+ let unbind;
367
+ const transport = createMessagePortTransport(port);
368
+ const service = createSharedLogService(acquired.program, {
369
+ onClose: async () => {
370
+ unbind?.();
371
+ await acquired.release();
372
+ },
373
+ });
374
+ unbind = bindService(SharedLogService, transport, service);
375
+ port.onClose?.(() => {
376
+ void service.close();
377
+ });
378
+ },
379
+ };
380
+ export const installSharedLogModule = (host) => {
381
+ host.registerModule(sharedLogModule);
382
+ return sharedLogModule;
383
+ };
384
+ //# sourceMappingURL=host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../src/host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./protocol.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./protocol.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,223 @@
1
+ import { PublicSignKey } from "@peerbit/crypto";
2
+ import { IdKey, Query, Sort } from "@peerbit/indexer-interface";
3
+ export declare class SharedLogBytes {
4
+ value: Uint8Array;
5
+ constructor(properties?: {
6
+ value?: Uint8Array;
7
+ });
8
+ }
9
+ export declare class SharedLogEvent {
10
+ publicKey: PublicSignKey;
11
+ constructor(properties: {
12
+ publicKey: PublicSignKey;
13
+ });
14
+ }
15
+ export declare class OpenSharedLogRequest {
16
+ id: Uint8Array;
17
+ constructor(properties?: {
18
+ id?: Uint8Array;
19
+ });
20
+ }
21
+ export declare class SharedLogReplicationRange {
22
+ id?: Uint8Array;
23
+ factor?: number;
24
+ factorMode?: "all" | "right";
25
+ offset?: number;
26
+ normalized?: boolean;
27
+ strict?: boolean;
28
+ constructor(properties?: {
29
+ id?: Uint8Array;
30
+ factor?: number;
31
+ factorMode?: "all" | "right";
32
+ offset?: number;
33
+ normalized?: boolean;
34
+ strict?: boolean;
35
+ });
36
+ }
37
+ export declare abstract class SharedLogReplicateValue {
38
+ }
39
+ export declare class SharedLogReplicateBool extends SharedLogReplicateValue {
40
+ value: boolean;
41
+ constructor(value: boolean);
42
+ }
43
+ export declare class SharedLogReplicateFactor extends SharedLogReplicateValue {
44
+ factor: number;
45
+ constructor(factor: number);
46
+ }
47
+ export declare class SharedLogReplicateFixed extends SharedLogReplicateValue {
48
+ range: SharedLogReplicationRange;
49
+ constructor(range: SharedLogReplicationRange);
50
+ }
51
+ export declare class SharedLogReplicateFixedList extends SharedLogReplicateValue {
52
+ ranges: SharedLogReplicationRange[];
53
+ constructor(ranges: SharedLogReplicationRange[]);
54
+ }
55
+ export declare class SharedLogReplicateRequest {
56
+ value?: SharedLogReplicateValue;
57
+ reset?: boolean;
58
+ checkDuplicates?: boolean;
59
+ rebalance?: boolean;
60
+ mergeSegments?: boolean;
61
+ constructor(properties?: {
62
+ value?: SharedLogReplicateValue;
63
+ reset?: boolean;
64
+ checkDuplicates?: boolean;
65
+ rebalance?: boolean;
66
+ mergeSegments?: boolean;
67
+ });
68
+ }
69
+ export declare class SharedLogUnreplicateRequest {
70
+ ids: Uint8Array[];
71
+ constructor(properties?: {
72
+ ids?: Uint8Array[];
73
+ });
74
+ }
75
+ export declare class SharedLogReplicationIterateRequest {
76
+ query: Query[];
77
+ sort: Sort[];
78
+ constructor(properties?: {
79
+ query?: Query[];
80
+ sort?: Sort[];
81
+ });
82
+ }
83
+ export declare class SharedLogReplicationCountRequest {
84
+ query: Query[];
85
+ constructor(properties?: {
86
+ query?: Query[];
87
+ });
88
+ }
89
+ export declare class SharedLogReplicationIndexResult {
90
+ id: IdKey;
91
+ value: SharedLogBytes;
92
+ constructor(properties: {
93
+ id: IdKey;
94
+ value: SharedLogBytes;
95
+ });
96
+ }
97
+ export declare class SharedLogEntriesBatch {
98
+ entries: SharedLogBytes[];
99
+ done: boolean;
100
+ constructor(properties: {
101
+ entries?: SharedLogBytes[];
102
+ done?: boolean;
103
+ });
104
+ }
105
+ export declare class SharedLogReplicationBatch {
106
+ results: SharedLogReplicationIndexResult[];
107
+ done: boolean;
108
+ constructor(properties: {
109
+ results?: SharedLogReplicationIndexResult[];
110
+ done?: boolean;
111
+ });
112
+ }
113
+ export declare class SharedLogWaitForReplicatorRequest {
114
+ publicKey: PublicSignKey;
115
+ eager?: boolean;
116
+ timeoutMs?: number;
117
+ roleAgeMs?: number;
118
+ requestId?: string;
119
+ constructor(properties: {
120
+ publicKey: PublicSignKey;
121
+ eager?: boolean;
122
+ timeoutMs?: number;
123
+ roleAgeMs?: number;
124
+ requestId?: string;
125
+ });
126
+ }
127
+ export declare class SharedLogWaitForReplicatorsRequest {
128
+ timeoutMs?: number;
129
+ roleAgeMs?: number;
130
+ coverageThreshold?: number;
131
+ waitForNewPeers?: boolean;
132
+ requestId?: string;
133
+ constructor(properties?: {
134
+ timeoutMs?: number;
135
+ roleAgeMs?: number;
136
+ coverageThreshold?: number;
137
+ waitForNewPeers?: boolean;
138
+ requestId?: string;
139
+ });
140
+ }
141
+ export declare class SharedLogCoverageRequest {
142
+ start?: number;
143
+ end?: number;
144
+ roleAgeMs?: number;
145
+ constructor(properties?: {
146
+ start?: number;
147
+ end?: number;
148
+ roleAgeMs?: number;
149
+ });
150
+ }
151
+ export declare class SharedLogEntriesIteratorService {
152
+ private _impl;
153
+ constructor(impl?: {
154
+ next: (amount: number) => Promise<SharedLogEntriesBatch>;
155
+ pending: () => Promise<bigint | undefined>;
156
+ done: () => Promise<boolean>;
157
+ close: () => Promise<void>;
158
+ });
159
+ next(amount: number): Promise<SharedLogEntriesBatch>;
160
+ pending(): Promise<bigint | undefined>;
161
+ done(): Promise<boolean>;
162
+ close(): Promise<void>;
163
+ }
164
+ export declare class SharedLogReplicationIteratorService {
165
+ private _impl;
166
+ constructor(impl?: {
167
+ next: (amount: number) => Promise<SharedLogReplicationBatch>;
168
+ pending: () => Promise<bigint | undefined>;
169
+ done: () => Promise<boolean>;
170
+ close: () => Promise<void>;
171
+ });
172
+ next(amount: number): Promise<SharedLogReplicationBatch>;
173
+ pending(): Promise<bigint | undefined>;
174
+ done(): Promise<boolean>;
175
+ close(): Promise<void>;
176
+ }
177
+ export declare class SharedLogService {
178
+ private _impl;
179
+ events: EventTarget;
180
+ constructor(impl?: {
181
+ logGet: (hash: string) => Promise<SharedLogBytes | undefined>;
182
+ logHas: (hash: string) => Promise<boolean>;
183
+ logToArray: () => Promise<SharedLogBytes[]>;
184
+ logGetHeads: () => Promise<SharedLogEntriesIteratorService>;
185
+ logLength: () => Promise<bigint>;
186
+ logBlockHas?: (hash: string) => Promise<boolean>;
187
+ replicationIterate: (request: SharedLogReplicationIterateRequest) => Promise<SharedLogReplicationIteratorService>;
188
+ replicationCount: (request: SharedLogReplicationCountRequest) => Promise<bigint>;
189
+ getReplicators: () => Promise<string[]>;
190
+ waitForReplicator: (request: SharedLogWaitForReplicatorRequest) => Promise<void>;
191
+ waitForReplicators: (request?: SharedLogWaitForReplicatorsRequest) => Promise<void>;
192
+ cancelWait?: (requestId: string) => Promise<void>;
193
+ replicate: (request?: SharedLogReplicateRequest) => Promise<void>;
194
+ unreplicate: (request?: SharedLogUnreplicateRequest) => Promise<void>;
195
+ calculateCoverage: (request?: SharedLogCoverageRequest) => Promise<number>;
196
+ getMyReplicationSegments: () => Promise<SharedLogBytes[]>;
197
+ getAllReplicationSegments: () => Promise<SharedLogBytes[]>;
198
+ resolution: () => Promise<string>;
199
+ publicKey: () => Promise<PublicSignKey>;
200
+ close: () => Promise<void>;
201
+ });
202
+ logGet(hash: string): Promise<SharedLogBytes | undefined>;
203
+ logHas(hash: string): Promise<boolean>;
204
+ logToArray(): Promise<SharedLogBytes[]>;
205
+ logGetHeads(): Promise<SharedLogEntriesIteratorService>;
206
+ logLength(): Promise<bigint>;
207
+ logBlockHas(hash: string): Promise<boolean>;
208
+ replicationIterate(request: SharedLogReplicationIterateRequest): Promise<SharedLogReplicationIteratorService>;
209
+ replicationCount(request: SharedLogReplicationCountRequest): Promise<bigint>;
210
+ getReplicators(): Promise<string[]>;
211
+ waitForReplicator(request: SharedLogWaitForReplicatorRequest): Promise<void>;
212
+ waitForReplicators(request?: SharedLogWaitForReplicatorsRequest): Promise<void>;
213
+ cancelWait(requestId: string): Promise<void>;
214
+ replicate(request?: SharedLogReplicateRequest): Promise<void>;
215
+ unreplicate(request?: SharedLogUnreplicateRequest): Promise<void>;
216
+ calculateCoverage(request?: SharedLogCoverageRequest): Promise<number>;
217
+ getMyReplicationSegments(): Promise<SharedLogBytes[]>;
218
+ getAllReplicationSegments(): Promise<SharedLogBytes[]>;
219
+ resolution(): Promise<string>;
220
+ publicKey(): Promise<PublicSignKey>;
221
+ close(): Promise<void>;
222
+ }
223
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/protocol.ts"],"names":[],"mappings":"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"}