@opendatalabs/personal-server-ts-lite 0.0.1-canary.01ca694 → 0.0.1-canary.052d47e
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/browser-runtime.d.ts +26 -1
- package/dist/browser-runtime.d.ts.map +1 -1
- package/dist/browser-runtime.js +130 -26
- package/dist/browser-runtime.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +40 -8
- package/dist/client.js.map +1 -1
- package/dist/derivatives.d.ts +51 -0
- package/dist/derivatives.d.ts.map +1 -0
- package/dist/derivatives.js +85 -0
- package/dist/derivatives.js.map +1 -0
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/persistence.d.ts +69 -0
- package/dist/persistence.d.ts.map +1 -0
- package/dist/persistence.js +58 -0
- package/dist/persistence.js.map +1 -0
- package/dist/relay-tls.d.ts +42 -0
- package/dist/relay-tls.d.ts.map +1 -1
- package/dist/relay-tls.js +176 -86
- package/dist/relay-tls.js.map +1 -1
- package/dist/relay.d.ts +83 -4
- package/dist/relay.d.ts.map +1 -1
- package/dist/relay.js +299 -21
- package/dist/relay.js.map +1 -1
- package/dist/runtime.d.ts +97 -4
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +208 -44
- package/dist/runtime.js.map +1 -1
- package/dist/state.d.ts +11 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +77 -7
- package/dist/state.js.map +1 -1
- package/dist/storage.d.ts +6 -2
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +182 -39
- package/dist/storage.js.map +1 -1
- package/dist/sync.d.ts +23 -0
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +56 -6
- package/dist/sync.js.map +1 -1
- package/package.json +4 -4
package/dist/storage.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { buildDataBlocksAsync } from "@opendatalabs/personal-server-ts-core/storage/blocks";
|
|
2
|
+
import { DataBlockStorageError, encodeDataBlockCursor, selectScopeBlocksByIds, validateDataBlockCursor, } from "@opendatalabs/personal-server-ts-core/storage/blocks";
|
|
2
3
|
import { createStorageReadMethods, sortEntries } from "./storage-utils.js";
|
|
3
4
|
import { previewEnvelopeValue, previewJsonEnvelopePrefix, } from "@opendatalabs/personal-server-ts-core/storage/preview";
|
|
4
5
|
const DEFAULT_INDEXED_DB_NAME = "personal-server-lite-storage";
|
|
@@ -7,6 +8,10 @@ const DEFAULT_INDEXED_DB_KEY = "data-storage-v1";
|
|
|
7
8
|
const TEXT_PAGE_MEDIA_TYPE = "text/plain; charset=utf-8";
|
|
8
9
|
const textEncoder = new TextEncoder();
|
|
9
10
|
const textDecoder = new TextDecoder();
|
|
11
|
+
function schemaIdFromEnvelope(envelope) {
|
|
12
|
+
const schemaId = envelope.schemaId;
|
|
13
|
+
return typeof schemaId === "string" ? schemaId : undefined;
|
|
14
|
+
}
|
|
10
15
|
function initialState() {
|
|
11
16
|
return {
|
|
12
17
|
version: 1,
|
|
@@ -88,6 +93,12 @@ function deleteMapPrefix(map, pathPrefix) {
|
|
|
88
93
|
}
|
|
89
94
|
}
|
|
90
95
|
}
|
|
96
|
+
function describeStorageError(error) {
|
|
97
|
+
if (error instanceof Error) {
|
|
98
|
+
return { errorClass: error.name, message: error.message };
|
|
99
|
+
}
|
|
100
|
+
return { errorClass: typeof error, message: String(error) };
|
|
101
|
+
}
|
|
91
102
|
async function getOrCreateOpfsDirectory(root, parts) {
|
|
92
103
|
let dir = root;
|
|
93
104
|
for (const part of parts) {
|
|
@@ -294,12 +305,8 @@ export async function createPersistentPsLiteStorage(adapter, persistence = creat
|
|
|
294
305
|
envelopes: fileStore.kind === "indexeddb"
|
|
295
306
|
? Array.from(fallbackEnvelopes.values())
|
|
296
307
|
: [],
|
|
297
|
-
blockManifests:
|
|
298
|
-
|
|
299
|
-
: [],
|
|
300
|
-
blockPayloads: fileStore.kind === "indexeddb"
|
|
301
|
-
? Array.from(fallbackBlockPayloads.entries()).map(([path, block]) => ({ path, block }))
|
|
302
|
-
: [],
|
|
308
|
+
blockManifests: Array.from(fallbackBlockManifests.entries()).map(([path, manifest]) => ({ path, manifest })),
|
|
309
|
+
blockPayloads: Array.from(fallbackBlockPayloads.entries()).map(([path, block]) => ({ path, block })),
|
|
303
310
|
};
|
|
304
311
|
const write = persistQueue.then(() => persistence.write(snapshot));
|
|
305
312
|
persistQueue = write.catch(() => undefined);
|
|
@@ -315,9 +322,12 @@ export async function createPersistentPsLiteStorage(adapter, persistence = creat
|
|
|
315
322
|
findByFileId(fileId) {
|
|
316
323
|
return state.entries.find((entry) => entry.fileId === fileId);
|
|
317
324
|
},
|
|
325
|
+
findByDataPointId(dataPointId) {
|
|
326
|
+
return state.entries.find((entry) => entry.dataPointId === dataPointId);
|
|
327
|
+
},
|
|
318
328
|
findUnsynced(options) {
|
|
319
329
|
const entries = state.entries
|
|
320
|
-
.filter((entry) => entry.
|
|
330
|
+
.filter((entry) => entry.dataPointId === null)
|
|
321
331
|
.sort((a, b) => a.createdAt.localeCompare(b.createdAt));
|
|
322
332
|
return options?.limit === undefined
|
|
323
333
|
? entries
|
|
@@ -347,13 +357,44 @@ export async function createPersistentPsLiteStorage(adapter, persistence = creat
|
|
|
347
357
|
},
|
|
348
358
|
async readScopeBlocks(scope, collectedAt, options) {
|
|
349
359
|
const manifestPath = blockManifestPath(scope, collectedAt);
|
|
350
|
-
|
|
360
|
+
let manifest = (await fileStore.readBlockManifest?.(manifestPath)) ??
|
|
351
361
|
(fileStore === fallbackStore
|
|
352
362
|
? null
|
|
353
363
|
: await fallbackStore.readBlockManifest?.(manifestPath)) ??
|
|
354
364
|
null;
|
|
365
|
+
let inMemoryBlocks = null;
|
|
355
366
|
if (!manifest) {
|
|
356
|
-
|
|
367
|
+
const envelope = await storagePort.readEnvelope(scope, collectedAt);
|
|
368
|
+
const built = await buildDataBlocksAsync({
|
|
369
|
+
scope,
|
|
370
|
+
collectedAt,
|
|
371
|
+
schemaId: schemaIdFromEnvelope(envelope),
|
|
372
|
+
content: envelope,
|
|
373
|
+
});
|
|
374
|
+
manifest = built.manifest;
|
|
375
|
+
inMemoryBlocks = built.blocks;
|
|
376
|
+
try {
|
|
377
|
+
await storagePort.writeBlockManifest?.(scope, collectedAt, built.manifest, built.blocks);
|
|
378
|
+
}
|
|
379
|
+
catch (error) {
|
|
380
|
+
console.warn({
|
|
381
|
+
scope,
|
|
382
|
+
collectedAt,
|
|
383
|
+
...describeStorageError(error),
|
|
384
|
+
}, "Block sidecar cache write failed; serving read from local envelope");
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
if (options.blockIds?.length) {
|
|
388
|
+
const selection = await selectScopeBlocksByIds(manifest, options.blockIds, { maxBytes: options.maxBytes }, async (blockId) => inMemoryBlocks?.find((candidate) => candidate.id === blockId) ??
|
|
389
|
+
(await readBlockPayloadFromStores(fileStore, fallbackStore, blockPayloadPath(scope, collectedAt, blockId))));
|
|
390
|
+
return {
|
|
391
|
+
scope: manifest.scope,
|
|
392
|
+
collectedAt: manifest.collectedAt,
|
|
393
|
+
...(manifest.schemaId ? { schemaId: manifest.schemaId } : {}),
|
|
394
|
+
contentKind: manifest.contentKind,
|
|
395
|
+
blocks: selection.blocks,
|
|
396
|
+
warnings: [...manifest.warnings, ...selection.warnings],
|
|
397
|
+
};
|
|
357
398
|
}
|
|
358
399
|
const cursorResult = options.cursor
|
|
359
400
|
? validateDataBlockCursor(options.cursor, { scope, collectedAt })
|
|
@@ -384,9 +425,23 @@ export async function createPersistentPsLiteStorage(adapter, persistence = creat
|
|
|
384
425
|
bytes + ref.sizeBytes > maxBytes) {
|
|
385
426
|
break;
|
|
386
427
|
}
|
|
387
|
-
const block =
|
|
428
|
+
const block = inMemoryBlocks?.find((candidate) => candidate.id === ref.id) ??
|
|
429
|
+
(await readBlockPayloadFromStores(fileStore, fallbackStore, blockPayloadPath(scope, collectedAt, ref.id)));
|
|
388
430
|
if (!block) {
|
|
389
|
-
|
|
431
|
+
const envelope = await storagePort.readEnvelope(scope, collectedAt);
|
|
432
|
+
const rebuilt = await buildDataBlocksAsync({
|
|
433
|
+
scope,
|
|
434
|
+
collectedAt,
|
|
435
|
+
schemaId: schemaIdFromEnvelope(envelope),
|
|
436
|
+
content: envelope,
|
|
437
|
+
});
|
|
438
|
+
manifest = rebuilt.manifest;
|
|
439
|
+
inMemoryBlocks = rebuilt.blocks;
|
|
440
|
+
nextIndex = startIndex;
|
|
441
|
+
nextOffset = undefined;
|
|
442
|
+
bytes = 0;
|
|
443
|
+
blocks.length = 0;
|
|
444
|
+
continue;
|
|
390
445
|
}
|
|
391
446
|
const page = pageBlock(block, offset, maxBytes - bytes);
|
|
392
447
|
blocks.push(page.block);
|
|
@@ -418,33 +473,77 @@ export async function createPersistentPsLiteStorage(adapter, persistence = creat
|
|
|
418
473
|
warnings: manifest.warnings,
|
|
419
474
|
};
|
|
420
475
|
},
|
|
421
|
-
async
|
|
476
|
+
async readBlockManifest(scope, collectedAt) {
|
|
422
477
|
const manifestPath = blockManifestPath(scope, collectedAt);
|
|
423
|
-
|
|
478
|
+
return ((await fileStore.readBlockManifest?.(manifestPath)) ??
|
|
424
479
|
(fileStore === fallbackStore
|
|
425
480
|
? null
|
|
426
481
|
: await fallbackStore.readBlockManifest?.(manifestPath)) ??
|
|
427
|
-
null;
|
|
428
|
-
|
|
482
|
+
null);
|
|
483
|
+
},
|
|
484
|
+
async hasScopeBlocks(scope, collectedAt) {
|
|
485
|
+
return Boolean(await storagePort.readBlockManifest?.(scope, collectedAt));
|
|
486
|
+
},
|
|
487
|
+
async canReadScopeBlocks(scope, collectedAt) {
|
|
488
|
+
if (await storagePort.hasScopeBlocks?.(scope, collectedAt)) {
|
|
489
|
+
return true;
|
|
490
|
+
}
|
|
491
|
+
const path = envelopePath(scope, collectedAt);
|
|
492
|
+
const preview = (await readPreviewFromFileStore(fileStore, path, 1)) ??
|
|
493
|
+
(fileStore === fallbackStore
|
|
494
|
+
? null
|
|
495
|
+
: await readPreviewFromFileStore(fallbackStore, path, 1));
|
|
496
|
+
if (preview)
|
|
497
|
+
return true;
|
|
498
|
+
const envelope = (await fileStore.readEnvelope(path)) ??
|
|
499
|
+
(fileStore === fallbackStore
|
|
500
|
+
? null
|
|
501
|
+
: await fallbackStore.readEnvelope(path));
|
|
502
|
+
return Boolean(envelope);
|
|
429
503
|
},
|
|
430
504
|
async writeBlockManifest(scope, collectedAt, manifest, blocks) {
|
|
431
|
-
|
|
432
|
-
|
|
505
|
+
const writeTree = async (store) => {
|
|
506
|
+
if (!store.writeBlockManifest || !store.writeBlockPayload) {
|
|
507
|
+
throw new Error("Block sidecar storage is not available");
|
|
508
|
+
}
|
|
509
|
+
await store.deleteBlockTree?.(blockTreePath(scope, collectedAt));
|
|
510
|
+
for (const block of blocks) {
|
|
511
|
+
await store.writeBlockPayload(blockPayloadPath(scope, collectedAt, block.id), block);
|
|
512
|
+
}
|
|
513
|
+
await store.writeBlockManifest(blockManifestPath(scope, collectedAt), manifest);
|
|
514
|
+
};
|
|
515
|
+
let wrotePrimary = false;
|
|
516
|
+
try {
|
|
517
|
+
await writeTree(fileStore);
|
|
518
|
+
wrotePrimary = true;
|
|
433
519
|
}
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
520
|
+
catch (error) {
|
|
521
|
+
if (fileStore === fallbackStore) {
|
|
522
|
+
throw error;
|
|
523
|
+
}
|
|
524
|
+
console.warn({
|
|
525
|
+
scope,
|
|
526
|
+
collectedAt,
|
|
527
|
+
fileStoreKind: fileStore.kind,
|
|
528
|
+
fallbackStoreKind: fallbackStore.kind,
|
|
529
|
+
...describeStorageError(error),
|
|
530
|
+
}, "Primary block sidecar write failed; using IndexedDB fallback");
|
|
531
|
+
await writeTree(fallbackStore);
|
|
437
532
|
}
|
|
438
|
-
|
|
439
|
-
if (fileStore.kind !== "indexeddb") {
|
|
533
|
+
if (wrotePrimary && fileStore.kind !== "indexeddb") {
|
|
440
534
|
await fallbackStore.deleteBlockTree?.(blockTreePath(scope, collectedAt));
|
|
441
535
|
}
|
|
442
536
|
await persist();
|
|
443
537
|
},
|
|
444
538
|
async insertEntry(entry) {
|
|
539
|
+
const version = entry.version ??
|
|
540
|
+
state.entries.reduce((max, e) => e.scope === entry.scope && e.version > max ? e.version : max, 0) + 1;
|
|
445
541
|
const indexed = {
|
|
446
542
|
...entry,
|
|
447
543
|
schemaId: entry.schemaId ?? null,
|
|
544
|
+
version,
|
|
545
|
+
dataPointId: entry.dataPointId ?? null,
|
|
546
|
+
afterTombstoneVersion: entry.afterTombstoneVersion ?? null,
|
|
448
547
|
id: state.nextId,
|
|
449
548
|
createdAt: new Date().toISOString(),
|
|
450
549
|
};
|
|
@@ -475,6 +574,41 @@ export async function createPersistentPsLiteStorage(adapter, persistence = creat
|
|
|
475
574
|
}
|
|
476
575
|
return updated;
|
|
477
576
|
},
|
|
577
|
+
findLatestVersionByScope(scope) {
|
|
578
|
+
return state.entries.reduce((max, e) => (e.scope === scope && e.version > max ? e.version : max), 0);
|
|
579
|
+
},
|
|
580
|
+
async updateDataPointId(path, dataPointId) {
|
|
581
|
+
let updated = false;
|
|
582
|
+
state = {
|
|
583
|
+
...state,
|
|
584
|
+
entries: state.entries.map((entry) => {
|
|
585
|
+
if (entry.path !== path)
|
|
586
|
+
return entry;
|
|
587
|
+
updated = true;
|
|
588
|
+
return { ...entry, dataPointId };
|
|
589
|
+
}),
|
|
590
|
+
};
|
|
591
|
+
if (updated) {
|
|
592
|
+
await persist();
|
|
593
|
+
}
|
|
594
|
+
return updated;
|
|
595
|
+
},
|
|
596
|
+
async updateEntryVersion(path, version) {
|
|
597
|
+
let updated = false;
|
|
598
|
+
state = {
|
|
599
|
+
...state,
|
|
600
|
+
entries: state.entries.map((entry) => {
|
|
601
|
+
if (entry.path !== path)
|
|
602
|
+
return entry;
|
|
603
|
+
updated = true;
|
|
604
|
+
return { ...entry, version };
|
|
605
|
+
}),
|
|
606
|
+
};
|
|
607
|
+
if (updated) {
|
|
608
|
+
await persist();
|
|
609
|
+
}
|
|
610
|
+
return updated;
|
|
611
|
+
},
|
|
478
612
|
async deleteScope(scope) {
|
|
479
613
|
let deleted = 0;
|
|
480
614
|
const deletedPaths = [];
|
|
@@ -503,28 +637,37 @@ export async function createPersistentPsLiteStorage(adapter, persistence = creat
|
|
|
503
637
|
await persist();
|
|
504
638
|
return deleted;
|
|
505
639
|
},
|
|
640
|
+
async deleteVersion(scope, collectedAt) {
|
|
641
|
+
const entry = state.entries.find((e) => e.scope === scope && e.collectedAt === collectedAt);
|
|
642
|
+
if (!entry)
|
|
643
|
+
return false;
|
|
644
|
+
return removeEntry(entry);
|
|
645
|
+
},
|
|
506
646
|
async deleteByFileId(fileId) {
|
|
507
647
|
const entry = state.entries.find((e) => e.fileId === fileId);
|
|
508
648
|
if (!entry)
|
|
509
649
|
return false;
|
|
510
|
-
|
|
511
|
-
// Delete the blob FIRST (both stores tolerate a missing blob); only drop the index row once
|
|
512
|
-
// the blob is gone. If blob deletion throws for a real reason, the row is preserved so the
|
|
513
|
-
// next sync retry re-attempts instead of orphaning the local blob.
|
|
514
|
-
await Promise.all([
|
|
515
|
-
fileStore.deleteEnvelope(blobPath),
|
|
516
|
-
fallbackStore.deleteEnvelope(blobPath),
|
|
517
|
-
fileStore.deleteBlockTree?.(blockTreePath(entry.scope, entry.collectedAt)) ?? Promise.resolve(),
|
|
518
|
-
fallbackStore.deleteBlockTree?.(blockTreePath(entry.scope, entry.collectedAt)) ?? Promise.resolve(),
|
|
519
|
-
]);
|
|
520
|
-
state = {
|
|
521
|
-
...state,
|
|
522
|
-
entries: state.entries.filter((e) => e !== entry),
|
|
523
|
-
};
|
|
524
|
-
await persist();
|
|
525
|
-
return true;
|
|
650
|
+
return removeEntry(entry);
|
|
526
651
|
},
|
|
527
652
|
};
|
|
653
|
+
async function removeEntry(entry) {
|
|
654
|
+
const blobPath = envelopePath(entry.scope, entry.collectedAt);
|
|
655
|
+
// Delete the blob FIRST (both stores tolerate a missing blob); only drop the index row once
|
|
656
|
+
// the blob is gone. If blob deletion throws for a real reason, the row is preserved so the
|
|
657
|
+
// next sync retry re-attempts instead of orphaning the local blob.
|
|
658
|
+
await Promise.all([
|
|
659
|
+
fileStore.deleteEnvelope(blobPath),
|
|
660
|
+
fallbackStore.deleteEnvelope(blobPath),
|
|
661
|
+
fileStore.deleteBlockTree?.(blockTreePath(entry.scope, entry.collectedAt)) ?? Promise.resolve(),
|
|
662
|
+
fallbackStore.deleteBlockTree?.(blockTreePath(entry.scope, entry.collectedAt)) ?? Promise.resolve(),
|
|
663
|
+
]);
|
|
664
|
+
state = {
|
|
665
|
+
...state,
|
|
666
|
+
entries: state.entries.filter((e) => e !== entry),
|
|
667
|
+
};
|
|
668
|
+
await persist();
|
|
669
|
+
return true;
|
|
670
|
+
}
|
|
528
671
|
if (fileStore.readEnvelopePreview) {
|
|
529
672
|
storagePort.readEnvelopePreview = async (scope, collectedAt, { maxBytes }) => {
|
|
530
673
|
const path = envelopePath(scope, collectedAt);
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/sync.d.ts
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import type { ServerConfig } from "@opendatalabs/personal-server-ts-core/schemas";
|
|
2
2
|
import type { DataStoragePort } from "@opendatalabs/personal-server-ts-core/ports";
|
|
3
|
+
import type { Logger } from "@opendatalabs/personal-server-ts-core/logger";
|
|
3
4
|
import { type SyncManager } from "@opendatalabs/personal-server-ts-core/sync/manager";
|
|
5
|
+
import { type ScopeDeletionTracker } from "@opendatalabs/personal-server-ts-core/sync";
|
|
6
|
+
import type { DataPointFeedPort, PendingBlobDeletionStore } from "@opendatalabs/personal-server-ts-core/ports";
|
|
4
7
|
import type { ServerAccount } from "@opendatalabs/personal-server-ts-core/keys";
|
|
5
8
|
import { type GatewayClient } from "@opendatalabs/vana-sdk/browser";
|
|
9
|
+
import type { DownloadWorkerDeps } from "@opendatalabs/personal-server-ts-core/sync";
|
|
10
|
+
import type { LineageGatewayPort } from "@opendatalabs/personal-server-ts-core/lineage";
|
|
6
11
|
import type { PsLiteStateStore } from "./state.js";
|
|
7
12
|
import type { DiagnosticsRecorder } from "./diagnostics.js";
|
|
8
13
|
interface SyncCursor {
|
|
@@ -17,12 +22,30 @@ export interface PsLiteSyncOptions {
|
|
|
17
22
|
ownerSignature: `0x${string}`;
|
|
18
23
|
serverAccount: ServerAccount;
|
|
19
24
|
gateway?: GatewayClient;
|
|
25
|
+
/**
|
|
26
|
+
* Deletion-aware gateway feed. Defaults to a REST feed on the configured
|
|
27
|
+
* gateway URL; inject alongside a mock `gateway` in tests.
|
|
28
|
+
*/
|
|
29
|
+
dataPointFeed?: DataPointFeedPort;
|
|
30
|
+
/**
|
|
31
|
+
* Read-side tombstone memory shared with the runtime's data API. Built
|
|
32
|
+
* here by default so the sync workers and the reads see the same state.
|
|
33
|
+
*/
|
|
34
|
+
scopeDeletions?: ScopeDeletionTracker;
|
|
20
35
|
diagnostics?: DiagnosticsRecorder;
|
|
36
|
+
logger?: Logger;
|
|
37
|
+
/** Registers derivatives (envelopes carrying `$lineage`) with their lineage. */
|
|
38
|
+
lineageGateway?: Pick<LineageGatewayPort, "registerDataPoint">;
|
|
39
|
+
/** Post-index download hook (derivative recompute on refresh). */
|
|
40
|
+
onDataPointIndexed?: DownloadWorkerDeps["onDataPointIndexed"];
|
|
21
41
|
}
|
|
22
42
|
export declare function createPsLiteSyncCursor(stateStore: PsLiteStateStore): SyncCursor;
|
|
43
|
+
export declare function createPsLitePendingBlobDeletionStore(stateStore: PsLiteStateStore): PendingBlobDeletionStore;
|
|
23
44
|
export declare function createPsLiteSyncManager(options: PsLiteSyncOptions): Promise<{
|
|
24
45
|
syncManager: SyncManager;
|
|
25
46
|
serverOwner: `0x${string}`;
|
|
47
|
+
dataPointFeed: DataPointFeedPort;
|
|
48
|
+
scopeDeletions: ScopeDeletionTracker;
|
|
26
49
|
}>;
|
|
27
50
|
export {};
|
|
28
51
|
//# sourceMappingURL=sync.d.ts.map
|
package/dist/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,oDAAoD,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAC3E,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAML,KAAK,oBAAoB,EAC1B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,iBAAiB,EAEjB,wBAAwB,EACzB,MAAM,6CAA6C,CAAC;AAMrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAe5D,UAAU,UAAU;IAClB,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/B,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC;IACzB,YAAY,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,cAAc,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IAC/D,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;CAC/D;AAoBD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,gBAAgB,GAC3B,UAAU,CAaZ;AAED,wBAAgB,oCAAoC,CAClD,UAAU,EAAE,gBAAgB,GAC3B,wBAAwB,CAgB1B;AAwED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;IACT,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,iBAAiB,CAAC;IACjC,cAAc,EAAE,oBAAoB,CAAC;CACtC,CAAC,CAoGD"}
|
package/dist/sync.js
CHANGED
|
@@ -1,16 +1,27 @@
|
|
|
1
1
|
import { createSyncManager, } from "@opendatalabs/personal-server-ts-core/sync/manager";
|
|
2
|
-
import {
|
|
2
|
+
import { createGatewayDataPointFeed, createGatewayDeleteDataPort, createPendingBlobDeletionStore, createScopeDeletionTracker, normalizePendingBlobDeletions, } from "@opendatalabs/personal-server-ts-core/sync";
|
|
3
|
+
import { createVanaSyncStorageAdapter, resolveVanaStorageEndpoint, } from "@opendatalabs/personal-server-ts-core/storage/adapters";
|
|
3
4
|
import { createServerSigner } from "@opendatalabs/personal-server-ts-core/signing";
|
|
4
5
|
import { createGatewayClient, deriveMasterKey, } from "@opendatalabs/vana-sdk/browser";
|
|
5
6
|
import { resolvePsLiteOwner } from "./owner-binding.js";
|
|
6
7
|
const SYNC_CURSOR_KEY = "sync-cursor-v1";
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
const PENDING_BLOB_DELETIONS_KEY = "pending-blob-deletions-v1";
|
|
9
|
+
function createBrowserLogger(logger) {
|
|
10
|
+
const fallback = {
|
|
9
11
|
info: console.info.bind(console),
|
|
10
12
|
error: console.error.bind(console),
|
|
11
13
|
warn: console.warn.bind(console),
|
|
12
14
|
debug: console.debug.bind(console),
|
|
13
15
|
};
|
|
16
|
+
if (!logger) {
|
|
17
|
+
return fallback;
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
debug: logger.debug?.bind(logger) ?? fallback.debug,
|
|
21
|
+
info: logger.info?.bind(logger) ?? fallback.info,
|
|
22
|
+
warn: logger.warn?.bind(logger) ?? fallback.warn,
|
|
23
|
+
error: logger.error?.bind(logger) ?? fallback.error,
|
|
24
|
+
};
|
|
14
25
|
}
|
|
15
26
|
export function createPsLiteSyncCursor(stateStore) {
|
|
16
27
|
return {
|
|
@@ -25,6 +36,19 @@ export function createPsLiteSyncCursor(stateStore) {
|
|
|
25
36
|
},
|
|
26
37
|
};
|
|
27
38
|
}
|
|
39
|
+
export function createPsLitePendingBlobDeletionStore(stateStore) {
|
|
40
|
+
return createPendingBlobDeletionStore({
|
|
41
|
+
async read() {
|
|
42
|
+
const state = await stateStore.get(PENDING_BLOB_DELETIONS_KEY);
|
|
43
|
+
if (!state)
|
|
44
|
+
return null;
|
|
45
|
+
return normalizePendingBlobDeletions(state.keys ?? state.scopes);
|
|
46
|
+
},
|
|
47
|
+
async write(keys) {
|
|
48
|
+
await stateStore.set(PENDING_BLOB_DELETIONS_KEY, { keys });
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
}
|
|
28
52
|
function buildDownloadDiagnosticsHook(recorder) {
|
|
29
53
|
return {
|
|
30
54
|
onDownloadStart(fileId) {
|
|
@@ -109,7 +133,25 @@ export async function createPsLiteSyncManager(options) {
|
|
|
109
133
|
contracts: options.config.gateway.contracts,
|
|
110
134
|
});
|
|
111
135
|
const cursor = createPsLiteSyncCursor(options.stateStore);
|
|
112
|
-
const logger = createBrowserLogger();
|
|
136
|
+
const logger = createBrowserLogger(options.logger);
|
|
137
|
+
const dataPointFeed = options.dataPointFeed ??
|
|
138
|
+
createGatewayDataPointFeed({ gatewayUrl: options.config.gateway.url });
|
|
139
|
+
const scopeDeletions = options.scopeDeletions ??
|
|
140
|
+
createScopeDeletionTracker({ feed: dataPointFeed, serverOwner, logger });
|
|
141
|
+
// Durable deletion: same AddData signer as uploads, same Web3Signed
|
|
142
|
+
// account as the storage provider.
|
|
143
|
+
const deleteData = createGatewayDeleteDataPort({
|
|
144
|
+
gatewayUrl: options.config.gateway.url,
|
|
145
|
+
dataPointFeed,
|
|
146
|
+
serverOwner,
|
|
147
|
+
signer,
|
|
148
|
+
storage: {
|
|
149
|
+
endpoint: resolveVanaStorageEndpoint(options.config),
|
|
150
|
+
chainId: options.config.gateway.chainId,
|
|
151
|
+
signMessage: (message) => options.serverAccount.signMessage(message),
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
const pendingBlobDeletions = createPsLitePendingBlobDeletionStore(options.stateStore);
|
|
113
155
|
const downloadDiagnostics = options.diagnostics
|
|
114
156
|
? buildDownloadDiagnosticsHook(options.diagnostics)
|
|
115
157
|
: undefined;
|
|
@@ -121,6 +163,9 @@ export async function createPsLiteSyncManager(options) {
|
|
|
121
163
|
masterKey,
|
|
122
164
|
serverOwner,
|
|
123
165
|
logger: logger,
|
|
166
|
+
lineageGateway: options.lineageGateway,
|
|
167
|
+
dataPointFeed,
|
|
168
|
+
scopeDeletions,
|
|
124
169
|
}, {
|
|
125
170
|
storage: options.storage,
|
|
126
171
|
storageAdapter,
|
|
@@ -130,7 +175,12 @@ export async function createPsLiteSyncManager(options) {
|
|
|
130
175
|
serverOwner,
|
|
131
176
|
logger: logger,
|
|
132
177
|
diagnostics: downloadDiagnostics,
|
|
178
|
+
dataPointFeed,
|
|
179
|
+
scopeDeletions,
|
|
180
|
+
onDataPointIndexed: options.onDataPointIndexed,
|
|
133
181
|
}, {
|
|
182
|
+
deleteData,
|
|
183
|
+
pendingBlobDeletions,
|
|
134
184
|
async canSync() {
|
|
135
185
|
try {
|
|
136
186
|
const serverInfo = await gateway.getServer(options.serverAccount.address);
|
|
@@ -143,7 +193,7 @@ export async function createPsLiteSyncManager(options) {
|
|
|
143
193
|
};
|
|
144
194
|
}
|
|
145
195
|
catch (err) {
|
|
146
|
-
logger.warn("Could not verify server registration for sync"
|
|
196
|
+
logger.warn({ error: err instanceof Error ? err.message : String(err) }, "Could not verify server registration for sync");
|
|
147
197
|
return {
|
|
148
198
|
ok: false,
|
|
149
199
|
reason: "registration_check_failed",
|
|
@@ -153,6 +203,6 @@ export async function createPsLiteSyncManager(options) {
|
|
|
153
203
|
},
|
|
154
204
|
});
|
|
155
205
|
syncManager.start();
|
|
156
|
-
return { syncManager, serverOwner };
|
|
206
|
+
return { syncManager, serverOwner, dataPointFeed, scopeDeletions };
|
|
157
207
|
}
|
|
158
208
|
//# sourceMappingURL=sync.js.map
|
package/dist/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
|