@opendatalabs/personal-server-ts-core 0.2.0 → 1.1.0
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/api/index.d.ts +160 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +774 -0
- package/dist/api/index.js.map +1 -0
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +2 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/request.d.ts +28 -0
- package/dist/auth/request.d.ts.map +1 -0
- package/dist/auth/request.js +106 -0
- package/dist/auth/request.js.map +1 -0
- package/dist/client.d.ts +233 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +243 -0
- package/dist/client.js.map +1 -0
- package/dist/config/defaults.d.ts +5 -5
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +3 -5
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.d.ts +0 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +0 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +1 -9
- package/dist/config/paths.js.map +1 -1
- package/dist/contracts/access-logs.d.ts +8 -0
- package/dist/contracts/access-logs.d.ts.map +1 -0
- package/dist/contracts/access-logs.js +7 -0
- package/dist/contracts/access-logs.js.map +1 -0
- package/dist/contracts/auth-device.d.ts +70 -0
- package/dist/contracts/auth-device.d.ts.map +1 -0
- package/dist/contracts/auth-device.js +163 -0
- package/dist/contracts/auth-device.js.map +1 -0
- package/dist/contracts/binary.d.ts +54 -0
- package/dist/contracts/binary.d.ts.map +1 -0
- package/dist/contracts/binary.js +92 -0
- package/dist/contracts/binary.js.map +1 -0
- package/dist/contracts/config.d.ts +5 -0
- package/dist/contracts/config.d.ts.map +1 -0
- package/dist/contracts/config.js +30 -0
- package/dist/contracts/config.js.map +1 -0
- package/dist/contracts/data.d.ts +115 -0
- package/dist/contracts/data.d.ts.map +1 -0
- package/dist/contracts/data.js +237 -0
- package/dist/contracts/data.js.map +1 -0
- package/dist/contracts/grants.d.ts +45 -0
- package/dist/contracts/grants.d.ts.map +1 -0
- package/dist/contracts/grants.js +177 -0
- package/dist/contracts/grants.js.map +1 -0
- package/dist/contracts/http.d.ts +21 -0
- package/dist/contracts/http.d.ts.map +1 -0
- package/dist/contracts/http.js +49 -0
- package/dist/contracts/http.js.map +1 -0
- package/dist/contracts/index.d.ts +16 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +10 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/oauth.d.ts +38 -0
- package/dist/contracts/oauth.d.ts.map +1 -0
- package/dist/contracts/oauth.js +130 -0
- package/dist/contracts/oauth.js.map +1 -0
- package/dist/contracts/sync.d.ts +10 -0
- package/dist/contracts/sync.d.ts.map +1 -0
- package/dist/contracts/sync.js +34 -0
- package/dist/contracts/sync.js.map +1 -0
- package/dist/errors/catalog.d.ts +9 -0
- package/dist/errors/catalog.d.ts.map +1 -1
- package/dist/errors/catalog.js +15 -0
- package/dist/errors/catalog.js.map +1 -1
- package/dist/grants/index.d.ts +2 -4
- package/dist/grants/index.d.ts.map +1 -1
- package/dist/grants/index.js +1 -2
- package/dist/grants/index.js.map +1 -1
- package/dist/keys/index.d.ts +1 -2
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +1 -2
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/server-account.d.ts +5 -9
- package/dist/keys/server-account.d.ts.map +1 -1
- package/dist/keys/server-account.js +1 -47
- package/dist/keys/server-account.js.map +1 -1
- package/dist/logger/index.d.ts +6 -2
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +2 -6
- package/dist/logger/index.js.map +1 -1
- package/dist/logging/access-log.d.ts +0 -1
- package/dist/logging/access-log.d.ts.map +1 -1
- package/dist/logging/access-log.js +1 -24
- package/dist/logging/access-log.js.map +1 -1
- package/dist/logging/access-reader.d.ts +0 -5
- package/dist/logging/access-reader.d.ts.map +1 -1
- package/dist/logging/access-reader.js +1 -49
- package/dist/logging/access-reader.js.map +1 -1
- package/dist/mcp/activity.d.ts +68 -0
- package/dist/mcp/activity.d.ts.map +1 -0
- package/dist/mcp/activity.js +111 -0
- package/dist/mcp/activity.js.map +1 -0
- package/dist/mcp/builder-registration.d.ts +24 -0
- package/dist/mcp/builder-registration.d.ts.map +1 -0
- package/dist/mcp/builder-registration.js +89 -0
- package/dist/mcp/builder-registration.js.map +1 -0
- package/dist/mcp/connection-api.d.ts +170 -0
- package/dist/mcp/connection-api.d.ts.map +1 -0
- package/dist/mcp/connection-api.js +379 -0
- package/dist/mcp/connection-api.js.map +1 -0
- package/dist/mcp/grantee.d.ts +52 -0
- package/dist/mcp/grantee.d.ts.map +1 -0
- package/dist/mcp/grantee.js +91 -0
- package/dist/mcp/grantee.js.map +1 -0
- package/dist/mcp/index.d.ts +10 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +10 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/read-client.d.ts +136 -0
- package/dist/mcp/read-client.d.ts.map +1 -0
- package/dist/mcp/read-client.js +306 -0
- package/dist/mcp/read-client.js.map +1 -0
- package/dist/mcp/resources.d.ts +37 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +114 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/search/index.d.ts +34 -0
- package/dist/mcp/search/index.d.ts.map +1 -0
- package/dist/mcp/search/index.js +69 -0
- package/dist/mcp/search/index.js.map +1 -0
- package/dist/mcp/server.d.ts +53 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +308 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/store.d.ts +13 -0
- package/dist/mcp/store.d.ts.map +1 -0
- package/dist/mcp/store.js +98 -0
- package/dist/mcp/store.js.map +1 -0
- package/dist/mcp/tools.d.ts +60 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +1058 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/types.d.ts +97 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +24 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/payment/index.d.ts +2 -0
- package/dist/payment/index.d.ts.map +1 -0
- package/dist/payment/index.js +2 -0
- package/dist/payment/index.js.map +1 -0
- package/dist/payment/x402.d.ts +155 -0
- package/dist/payment/x402.d.ts.map +1 -0
- package/dist/payment/x402.js +402 -0
- package/dist/payment/x402.js.map +1 -0
- package/dist/policy/data-read.d.ts +15 -0
- package/dist/policy/data-read.d.ts.map +1 -0
- package/dist/policy/data-read.js +84 -0
- package/dist/policy/data-read.js.map +1 -0
- package/dist/policy/index.d.ts +2 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +2 -0
- package/dist/policy/index.js.map +1 -0
- package/dist/ports/index.d.ts +95 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +7 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/schemas/server-config.d.ts +12 -0
- package/dist/schemas/server-config.d.ts.map +1 -1
- package/dist/schemas/server-config.js +34 -4
- package/dist/schemas/server-config.js.map +1 -1
- package/dist/signing/index.d.ts +0 -1
- package/dist/signing/index.d.ts.map +1 -1
- package/dist/signing/index.js +0 -1
- package/dist/signing/index.js.map +1 -1
- package/dist/signing/request-signer.d.ts +8 -2
- package/dist/signing/request-signer.d.ts.map +1 -1
- package/dist/signing/request-signer.js +5 -31
- package/dist/signing/request-signer.js.map +1 -1
- package/dist/signing/signer.d.ts +20 -2
- package/dist/signing/signer.d.ts.map +1 -1
- package/dist/signing/signer.js +23 -13
- package/dist/signing/signer.js.map +1 -1
- package/dist/storage/adapters/index.d.ts +2 -1
- package/dist/storage/adapters/index.d.ts.map +1 -1
- package/dist/storage/adapters/index.js +2 -1
- package/dist/storage/adapters/index.js.map +1 -1
- package/dist/storage/adapters/interface.d.ts +10 -0
- package/dist/storage/adapters/interface.d.ts.map +1 -1
- package/dist/storage/adapters/sdk.d.ts +23 -0
- package/dist/storage/adapters/sdk.d.ts.map +1 -0
- package/dist/storage/adapters/sdk.js +73 -0
- package/dist/storage/adapters/sdk.js.map +1 -0
- package/dist/storage/adapters/vana.d.ts +7 -30
- package/dist/storage/adapters/vana.d.ts.map +1 -1
- package/dist/storage/adapters/vana.js +37 -92
- package/dist/storage/adapters/vana.js.map +1 -1
- package/dist/storage/blocks/build.d.ts +20 -0
- package/dist/storage/blocks/build.d.ts.map +1 -0
- package/dist/storage/blocks/build.js +378 -0
- package/dist/storage/blocks/build.js.map +1 -0
- package/dist/storage/blocks/cursor.d.ts +33 -0
- package/dist/storage/blocks/cursor.d.ts.map +1 -0
- package/dist/storage/blocks/cursor.js +142 -0
- package/dist/storage/blocks/cursor.js.map +1 -0
- package/dist/storage/blocks/errors.d.ts +6 -0
- package/dist/storage/blocks/errors.d.ts.map +1 -0
- package/dist/storage/blocks/errors.js +9 -0
- package/dist/storage/blocks/errors.js.map +1 -0
- package/dist/storage/blocks/index.d.ts +5 -0
- package/dist/storage/blocks/index.d.ts.map +1 -0
- package/dist/storage/blocks/index.js +4 -0
- package/dist/storage/blocks/index.js.map +1 -0
- package/dist/storage/blocks/types.d.ts +49 -0
- package/dist/storage/blocks/types.d.ts.map +1 -0
- package/dist/storage/blocks/types.js +2 -0
- package/dist/{grants → storage/blocks}/types.js.map +1 -1
- package/dist/storage/hierarchy/index.d.ts +0 -1
- package/dist/storage/hierarchy/index.d.ts.map +1 -1
- package/dist/storage/hierarchy/index.js +0 -1
- package/dist/storage/hierarchy/index.js.map +1 -1
- package/dist/storage/hierarchy/manager.d.ts +0 -14
- package/dist/storage/hierarchy/manager.d.ts.map +1 -1
- package/dist/storage/hierarchy/manager.js +1 -59
- package/dist/storage/hierarchy/manager.js.map +1 -1
- package/dist/storage/hierarchy/paths.d.ts.map +1 -1
- package/dist/storage/hierarchy/paths.js +11 -4
- package/dist/storage/hierarchy/paths.js.map +1 -1
- package/dist/storage/index/index.d.ts +2 -3
- package/dist/storage/index/index.d.ts.map +1 -1
- package/dist/storage/index/index.js +1 -2
- package/dist/storage/index/index.js.map +1 -1
- package/dist/storage/index/manager.d.ts +26 -6
- package/dist/storage/index/manager.d.ts.map +1 -1
- package/dist/storage/index/manager.js +1 -131
- package/dist/storage/index/manager.js.map +1 -1
- package/dist/storage/index/schema.d.ts +1 -3
- package/dist/storage/index/schema.d.ts.map +1 -1
- package/dist/storage/index/schema.js +1 -26
- package/dist/storage/index/schema.js.map +1 -1
- package/dist/storage/index/types.d.ts +16 -0
- package/dist/storage/index/types.d.ts.map +1 -1
- package/dist/storage/preview.d.ts +12 -0
- package/dist/storage/preview.d.ts.map +1 -0
- package/dist/storage/preview.js +239 -0
- package/dist/storage/preview.js.map +1 -0
- package/dist/sync/cursor.d.ts +5 -7
- package/dist/sync/cursor.d.ts.map +1 -1
- package/dist/sync/cursor.js +1 -18
- package/dist/sync/cursor.js.map +1 -1
- package/dist/sync/engine/sync-manager.d.ts +17 -0
- package/dist/sync/engine/sync-manager.d.ts.map +1 -1
- package/dist/sync/engine/sync-manager.js +104 -43
- package/dist/sync/engine/sync-manager.js.map +1 -1
- package/dist/sync/index.d.ts +4 -2
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +1 -1
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/issues.d.ts +55 -0
- package/dist/sync/issues.d.ts.map +1 -0
- package/dist/sync/issues.js +168 -0
- package/dist/sync/issues.js.map +1 -0
- package/dist/sync/retry-memory.d.ts +33 -0
- package/dist/sync/retry-memory.d.ts.map +1 -0
- package/dist/sync/retry-memory.js +68 -0
- package/dist/sync/retry-memory.js.map +1 -0
- package/dist/sync/types.d.ts +9 -24
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/workers/delete.d.ts +42 -0
- package/dist/sync/workers/delete.d.ts.map +1 -0
- package/dist/sync/workers/delete.js +40 -0
- package/dist/sync/workers/delete.js.map +1 -0
- package/dist/sync/workers/download.d.ts +64 -18
- package/dist/sync/workers/download.d.ts.map +1 -1
- package/dist/sync/workers/download.js +396 -54
- package/dist/sync/workers/download.js.map +1 -1
- package/dist/sync/workers/upload.d.ts +29 -18
- package/dist/sync/workers/upload.d.ts.map +1 -1
- package/dist/sync/workers/upload.js +163 -46
- package/dist/sync/workers/upload.js.map +1 -1
- package/dist/test-utils/wallet.d.ts +1 -0
- package/dist/test-utils/wallet.d.ts.map +1 -1
- package/dist/test-utils/wallet.js +9 -31
- package/dist/test-utils/wallet.js.map +1 -1
- package/package.json +51 -27
- package/dist/auth/web3-signed.d.ts +0 -48
- package/dist/auth/web3-signed.d.ts.map +0 -1
- package/dist/auth/web3-signed.js +0 -110
- package/dist/auth/web3-signed.js.map +0 -1
- package/dist/config/loader.d.ts +0 -8
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -38
- package/dist/config/loader.js.map +0 -1
- package/dist/gateway/client.d.ts +0 -98
- package/dist/gateway/client.d.ts.map +0 -1
- package/dist/gateway/client.js +0 -171
- package/dist/gateway/client.js.map +0 -1
- package/dist/grants/eip712.d.ts +0 -28
- package/dist/grants/eip712.d.ts.map +0 -1
- package/dist/grants/eip712.js +0 -30
- package/dist/grants/eip712.js.map +0 -1
- package/dist/grants/types.d.ts +0 -29
- package/dist/grants/types.d.ts.map +0 -1
- package/dist/grants/types.js +0 -6
- package/dist/grants/verify.d.ts +0 -24
- package/dist/grants/verify.d.ts.map +0 -1
- package/dist/grants/verify.js +0 -71
- package/dist/grants/verify.js.map +0 -1
- package/dist/keys/derive.d.ts +0 -18
- package/dist/keys/derive.d.ts.map +0 -1
- package/dist/keys/derive.js +0 -43
- package/dist/keys/derive.js.map +0 -1
- package/dist/schemas/data-file.d.ts +0 -20
- package/dist/schemas/data-file.d.ts.map +0 -1
- package/dist/schemas/data-file.js +0 -23
- package/dist/schemas/data-file.js.map +0 -1
- package/dist/scopes/index.d.ts +0 -3
- package/dist/scopes/index.d.ts.map +0 -1
- package/dist/scopes/index.js +0 -3
- package/dist/scopes/index.js.map +0 -1
- package/dist/scopes/match.d.ts +0 -13
- package/dist/scopes/match.d.ts.map +0 -1
- package/dist/scopes/match.js +0 -23
- package/dist/scopes/match.js.map +0 -1
- package/dist/scopes/parse.d.ts +0 -12
- package/dist/scopes/parse.d.ts.map +0 -1
- package/dist/scopes/parse.js +0 -29
- package/dist/scopes/parse.js.map +0 -1
- package/dist/signing/eip712.d.ts +0 -69
- package/dist/signing/eip712.d.ts.map +0 -1
- package/dist/signing/eip712.js +0 -68
- package/dist/signing/eip712.js.map +0 -1
- package/dist/storage/encryption/decrypt.d.ts +0 -10
- package/dist/storage/encryption/decrypt.d.ts.map +0 -1
- package/dist/storage/encryption/decrypt.js +0 -19
- package/dist/storage/encryption/decrypt.js.map +0 -1
- package/dist/storage/encryption/encrypt.d.ts +0 -10
- package/dist/storage/encryption/encrypt.d.ts.map +0 -1
- package/dist/storage/encryption/encrypt.js +0 -19
- package/dist/storage/encryption/encrypt.js.map +0 -1
- package/dist/storage/encryption/index.d.ts +0 -3
- package/dist/storage/encryption/index.d.ts.map +0 -1
- package/dist/storage/encryption/index.js +0 -3
- package/dist/storage/encryption/index.js.map +0 -1
package/dist/sync/types.d.ts
CHANGED
|
@@ -1,36 +1,21 @@
|
|
|
1
|
-
/** On-chain file record returned by Gateway DP RPC */
|
|
2
|
-
export interface FileRecord {
|
|
3
|
-
fileId: string;
|
|
4
|
-
owner: string;
|
|
5
|
-
url: string;
|
|
6
|
-
schemaId: string;
|
|
7
|
-
createdAt: string;
|
|
8
|
-
}
|
|
9
|
-
/** Result from Gateway listFilesSince */
|
|
10
|
-
export interface FileListResult {
|
|
11
|
-
files: FileRecord[];
|
|
12
|
-
cursor: string | null;
|
|
13
|
-
}
|
|
14
|
-
/** Parameters for registering a file on-chain via Gateway */
|
|
15
|
-
export interface RegisterFileParams {
|
|
16
|
-
url: string;
|
|
17
|
-
schemaId: string;
|
|
18
|
-
owner: string;
|
|
19
|
-
}
|
|
20
|
-
/** Response from Gateway registerFile */
|
|
21
|
-
export interface FileRegistration {
|
|
22
|
-
fileId: string;
|
|
23
|
-
status: "pending" | "confirmed";
|
|
24
|
-
}
|
|
25
1
|
/** Sync engine status for GET /v1/sync/status */
|
|
26
2
|
export interface SyncStatus {
|
|
27
3
|
enabled: boolean;
|
|
4
|
+
/** Background sync manager lifecycle state. */
|
|
28
5
|
running: boolean;
|
|
6
|
+
/** True while an upload/download cycle is actively in progress. */
|
|
7
|
+
syncing: boolean;
|
|
8
|
+
/** Present when sync is enabled but intentionally blocked by runtime state. */
|
|
9
|
+
blocked?: SyncBlockedReason | null;
|
|
29
10
|
lastSync: string | null;
|
|
30
11
|
lastProcessedTimestamp: string | null;
|
|
31
12
|
pendingFiles: number;
|
|
32
13
|
errors: SyncError[];
|
|
33
14
|
}
|
|
15
|
+
export interface SyncBlockedReason {
|
|
16
|
+
reason: string;
|
|
17
|
+
message: string;
|
|
18
|
+
}
|
|
34
19
|
export interface SyncError {
|
|
35
20
|
fileId: string | null;
|
|
36
21
|
scope: string | null;
|
package/dist/sync/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sync/types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sync/types.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { StorageAdapter } from "../../storage/adapters/interface.js";
|
|
2
|
+
import type { GatewayClient } from "@opendatalabs/vana-sdk/browser";
|
|
3
|
+
import type { ServerSigner } from "../../signing/signer.js";
|
|
4
|
+
import type { Logger } from "../../logger/index.js";
|
|
5
|
+
import type { DataStoragePort } from "../../ports/index.js";
|
|
6
|
+
export interface DeleteWorkerDeps {
|
|
7
|
+
storage: DataStoragePort;
|
|
8
|
+
storageAdapter: StorageAdapter;
|
|
9
|
+
gateway: GatewayClient;
|
|
10
|
+
signer: ServerSigner;
|
|
11
|
+
serverOwner: string;
|
|
12
|
+
logger: Logger;
|
|
13
|
+
}
|
|
14
|
+
export interface DeleteScopeRemoteResult {
|
|
15
|
+
scope: string;
|
|
16
|
+
/** Synced versions de-registered at the gateway. */
|
|
17
|
+
filesDeregistered: number;
|
|
18
|
+
/** Ciphertext blobs hard-deleted from storage. */
|
|
19
|
+
blobsDeleted: number;
|
|
20
|
+
errors: Array<{
|
|
21
|
+
fileId: string | null;
|
|
22
|
+
message: string;
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Propagate a scope deletion to the authoritative remote stores.
|
|
27
|
+
*
|
|
28
|
+
* NOT SUPPORTED on the DPv2 (DataPoint) gateway: there is no data-point
|
|
29
|
+
* de-registration / deletion endpoint, and the DataPointRecord listing carries
|
|
30
|
+
* no soft-delete (`deletedAt`) flag. Under the legacy file model this worker
|
|
31
|
+
* de-registered each file then hard-deleted its blob; that path is gone with
|
|
32
|
+
* `gateway.getFile` / `gateway.deleteFile` / `signFileDeletion`.
|
|
33
|
+
*
|
|
34
|
+
* Deleting the ciphertext blob alone would be unsafe: the data point would
|
|
35
|
+
* stay listed, so any server syncing it would 404 on download and wedge its
|
|
36
|
+
* sync cursor. So this is a no-op that logs the limitation. Local deletion
|
|
37
|
+
* (index rows + on-disk blobs) still happens via the storage port's
|
|
38
|
+
* `deleteScope`, independent of this worker — only the *remote* copy is left
|
|
39
|
+
* in place until DPv2 grows a deletion API.
|
|
40
|
+
*/
|
|
41
|
+
export declare function deleteScopeRemote(deps: DeleteWorkerDeps, scope: string): Promise<DeleteScopeRemoteResult>;
|
|
42
|
+
//# sourceMappingURL=delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/sync/workers/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,uBAAuB,CAAC,CA2BlC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Propagate a scope deletion to the authoritative remote stores.
|
|
3
|
+
*
|
|
4
|
+
* NOT SUPPORTED on the DPv2 (DataPoint) gateway: there is no data-point
|
|
5
|
+
* de-registration / deletion endpoint, and the DataPointRecord listing carries
|
|
6
|
+
* no soft-delete (`deletedAt`) flag. Under the legacy file model this worker
|
|
7
|
+
* de-registered each file then hard-deleted its blob; that path is gone with
|
|
8
|
+
* `gateway.getFile` / `gateway.deleteFile` / `signFileDeletion`.
|
|
9
|
+
*
|
|
10
|
+
* Deleting the ciphertext blob alone would be unsafe: the data point would
|
|
11
|
+
* stay listed, so any server syncing it would 404 on download and wedge its
|
|
12
|
+
* sync cursor. So this is a no-op that logs the limitation. Local deletion
|
|
13
|
+
* (index rows + on-disk blobs) still happens via the storage port's
|
|
14
|
+
* `deleteScope`, independent of this worker — only the *remote* copy is left
|
|
15
|
+
* in place until DPv2 grows a deletion API.
|
|
16
|
+
*/
|
|
17
|
+
export async function deleteScopeRemote(deps, scope) {
|
|
18
|
+
const { storage, logger } = deps;
|
|
19
|
+
// Count the synced versions we *would* have de-registered, for the log only.
|
|
20
|
+
let syncedVersions = 0;
|
|
21
|
+
const PAGE_SIZE = 1000;
|
|
22
|
+
for (let offset = 0;; offset += PAGE_SIZE) {
|
|
23
|
+
const entries = storage.listVersions(scope, { limit: PAGE_SIZE, offset });
|
|
24
|
+
syncedVersions += entries.filter((e) => e.dataPointId !== null).length;
|
|
25
|
+
if (entries.length < PAGE_SIZE)
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
if (syncedVersions > 0) {
|
|
29
|
+
logger.warn({ scope, syncedVersions }, "Remote scope deletion is not supported on the DPv2 gateway (no " +
|
|
30
|
+
"de-registration endpoint); local data was removed but the remote " +
|
|
31
|
+
"data point(s) and ciphertext blob(s) remain");
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
scope,
|
|
35
|
+
filesDeregistered: 0,
|
|
36
|
+
blobsDeleted: 0,
|
|
37
|
+
errors: [],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/sync/workers/delete.ts"],"names":[],"mappings":"AAwBA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAsB,EACtB,KAAa;IAEb,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEjC,6EAA6E;IAC7E,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,SAAS,GAAG,IAAI,CAAC;IACvB,KAAK,IAAI,MAAM,GAAG,CAAC,GAAI,MAAM,IAAI,SAAS,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1E,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;QACvE,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS;YAAE,MAAM;IACxC,CAAC;IAED,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CACT,EAAE,KAAK,EAAE,cAAc,EAAE,EACzB,iEAAiE;YAC/D,mEAAmE;YACnE,6CAA6C,CAChD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK;QACL,iBAAiB,EAAE,CAAC;QACpB,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -1,41 +1,87 @@
|
|
|
1
|
-
import type { IndexManager } from "../../storage/index/manager.js";
|
|
2
|
-
import type { HierarchyManagerOptions } from "../../storage/hierarchy/index.js";
|
|
3
1
|
import type { StorageAdapter } from "../../storage/adapters/interface.js";
|
|
4
|
-
import type
|
|
2
|
+
import { type DataPointRecord, type GatewayClient } from "@opendatalabs/vana-sdk/browser";
|
|
5
3
|
import type { SyncCursor } from "../cursor.js";
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
4
|
+
import type { Logger } from "../../logger/index.js";
|
|
5
|
+
import type { DataStoragePort } from "../../ports/index.js";
|
|
6
|
+
import { type DownloadRetryMemory } from "../retry-memory.js";
|
|
7
|
+
/**
|
|
8
|
+
* Minimal diagnostics hook — keeps core free of lite-specific imports.
|
|
9
|
+
*
|
|
10
|
+
* Note: the `id` params are the DPv2 data-point id (the stable identifier for a
|
|
11
|
+
* synced item under the DataPoint model). The param name is kept generic-ish
|
|
12
|
+
* for the lite diagnostics consumers that predate the file→DataPoint rename.
|
|
13
|
+
*/
|
|
14
|
+
export interface DownloadDiagnosticsHook {
|
|
15
|
+
onDownloadStart(id: string): void;
|
|
16
|
+
onDownloadEnd(id: string, scope: string): void;
|
|
17
|
+
onDownloadError(id: string, detail: string): void;
|
|
18
|
+
onDecryptStart(id: string, scope: string): void;
|
|
19
|
+
onDecryptEnd(id: string, scope: string): void;
|
|
20
|
+
onDecryptError(id: string, scope: string, detail: string): void;
|
|
21
|
+
onIndexStart(id: string, scope: string): void;
|
|
22
|
+
onIndexEnd(id: string, scope: string): void;
|
|
23
|
+
onIndexError(id: string, scope: string, detail: string): void;
|
|
24
|
+
onManifestBuildStart(id: string, scope: string): void;
|
|
25
|
+
onManifestBuildEnd(id: string, scope: string): void;
|
|
26
|
+
onManifestBuildError(id: string, scope: string, detail: string): void;
|
|
27
|
+
onRepair(scope: string, detail: string): void;
|
|
28
|
+
}
|
|
8
29
|
export interface DownloadWorkerDeps {
|
|
9
|
-
|
|
10
|
-
hierarchyOptions: HierarchyManagerOptions;
|
|
30
|
+
storage: DataStoragePort;
|
|
11
31
|
storageAdapter: StorageAdapter;
|
|
12
32
|
gateway: GatewayClient;
|
|
13
33
|
cursor: SyncCursor;
|
|
14
34
|
masterKey: Uint8Array;
|
|
15
35
|
serverOwner: string;
|
|
16
36
|
logger: Logger;
|
|
37
|
+
/** Optional diagnostics hook — omit to disable instrumentation. */
|
|
38
|
+
diagnostics?: DownloadDiagnosticsHook;
|
|
17
39
|
}
|
|
18
40
|
export interface DownloadResult {
|
|
19
|
-
|
|
41
|
+
dataPointId: string;
|
|
20
42
|
scope: string;
|
|
21
43
|
collectedAt: string;
|
|
22
44
|
path: string;
|
|
23
45
|
}
|
|
46
|
+
export interface DownloadAllOptions {
|
|
47
|
+
/**
|
|
48
|
+
* Ignore the stored incremental cursor and reconcile from the beginning of
|
|
49
|
+
* the owner's data-point registry. This repairs browser caches whose cursor
|
|
50
|
+
* advanced while local IndexedDB/OPFS lost or failed to index some records.
|
|
51
|
+
*/
|
|
52
|
+
fullReconcile?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Cross-cycle failure memory. Records are re-listed every cycle (the cursor
|
|
55
|
+
* only advances past fully-successful pages), so without this a failing
|
|
56
|
+
* blob is re-downloaded once per cycle — a 404 forever. The sync manager
|
|
57
|
+
* owns one instance per boot session.
|
|
58
|
+
*/
|
|
59
|
+
retryMemory?: DownloadRetryMemory;
|
|
60
|
+
}
|
|
61
|
+
interface LocalMissingBlockRepairSummary {
|
|
62
|
+
repaired: number;
|
|
63
|
+
missingEnvelopeEntries: number;
|
|
64
|
+
}
|
|
24
65
|
/**
|
|
25
|
-
* Download and process a single
|
|
26
|
-
* 1. Check dedup: skip if
|
|
27
|
-
* 2.
|
|
28
|
-
*
|
|
66
|
+
* Download and process a single DPv2 data point from the storage backend:
|
|
67
|
+
* 1. Check dedup: skip if dataPointId already in local index
|
|
68
|
+
* 2. Reconstruct the blob URL from (scope, expectedVersion) — DataPointRecords
|
|
69
|
+
* carry no URL, so we rebuild the version-keyed `{scope}/{version}` key the
|
|
70
|
+
* upload worker wrote under and resolve it via storageAdapter.urlForKey
|
|
71
|
+
* 3. Download the OpenPGP encrypted binary from storage
|
|
29
72
|
* 4. Derive scope key from master key → hex-encode as OpenPGP password
|
|
73
|
+
* (scope comes straight off the record — no schema lookup needed)
|
|
30
74
|
* 5. Decrypt with OpenPGP password-based decryption → plaintext JSON
|
|
31
75
|
* 6. Parse as DataFileEnvelope (validate)
|
|
32
|
-
* 7. Write to local filesystem
|
|
33
|
-
* 8. Insert into local index (with
|
|
76
|
+
* 7. Write to local filesystem + bounded block sidecars
|
|
77
|
+
* 8. Insert into local index (with dataPointId + version)
|
|
34
78
|
*/
|
|
35
|
-
export declare function downloadOne(deps: DownloadWorkerDeps, record:
|
|
79
|
+
export declare function downloadOne(deps: DownloadWorkerDeps, record: DataPointRecord): Promise<DownloadResult | null>;
|
|
36
80
|
/**
|
|
37
|
-
* Poll Gateway for
|
|
38
|
-
*
|
|
81
|
+
* Poll Gateway for the owner's data points since the stored cursor, download
|
|
82
|
+
* each, and advance the cursor only when the page fully succeeds.
|
|
39
83
|
*/
|
|
40
|
-
export declare function downloadAll(deps: DownloadWorkerDeps): Promise<DownloadResult[]>;
|
|
84
|
+
export declare function downloadAll(deps: DownloadWorkerDeps, options?: DownloadAllOptions): Promise<DownloadResult[]>;
|
|
85
|
+
export declare function repairLocalMissingBlockSidecars(deps: Pick<DownloadWorkerDeps, "storage" | "logger" | "diagnostics">): Promise<LocalMissingBlockRepairSummary>;
|
|
86
|
+
export {};
|
|
41
87
|
//# sourceMappingURL=download.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/sync/workers/download.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/sync/workers/download.ts"],"names":[],"mappings":"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"}
|