@opendatalabs/personal-server-ts-lite 0.0.1-canary.01ca694

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/bridge.d.ts +23 -0
  2. package/dist/bridge.d.ts.map +1 -0
  3. package/dist/bridge.js +53 -0
  4. package/dist/bridge.js.map +1 -0
  5. package/dist/browser-runtime.d.ts +31 -0
  6. package/dist/browser-runtime.d.ts.map +1 -0
  7. package/dist/browser-runtime.js +109 -0
  8. package/dist/browser-runtime.js.map +1 -0
  9. package/dist/browser-tls-rustls/browser_tls_rustls.d.ts +49 -0
  10. package/dist/browser-tls-rustls/browser_tls_rustls.js +401 -0
  11. package/dist/browser-tls-rustls/browser_tls_rustls_bg.wasm +0 -0
  12. package/dist/client.d.ts +22 -0
  13. package/dist/client.d.ts.map +1 -0
  14. package/dist/client.js +376 -0
  15. package/dist/client.js.map +1 -0
  16. package/dist/diagnostics.d.ts +166 -0
  17. package/dist/diagnostics.d.ts.map +1 -0
  18. package/dist/diagnostics.js +265 -0
  19. package/dist/diagnostics.js.map +1 -0
  20. package/dist/index.d.ts +15 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +14 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/mcp-store.d.ts +35 -0
  25. package/dist/mcp-store.d.ts.map +1 -0
  26. package/dist/mcp-store.js +177 -0
  27. package/dist/mcp-store.js.map +1 -0
  28. package/dist/owner-binding.d.ts +7 -0
  29. package/dist/owner-binding.d.ts.map +1 -0
  30. package/dist/owner-binding.js +18 -0
  31. package/dist/owner-binding.js.map +1 -0
  32. package/dist/relay-tls.d.ts +19 -0
  33. package/dist/relay-tls.d.ts.map +1 -0
  34. package/dist/relay-tls.js +226 -0
  35. package/dist/relay-tls.js.map +1 -0
  36. package/dist/relay.d.ts +70 -0
  37. package/dist/relay.d.ts.map +1 -0
  38. package/dist/relay.js +368 -0
  39. package/dist/relay.js.map +1 -0
  40. package/dist/runtime.d.ts +95 -0
  41. package/dist/runtime.d.ts.map +1 -0
  42. package/dist/runtime.js +991 -0
  43. package/dist/runtime.js.map +1 -0
  44. package/dist/state.d.ts +62 -0
  45. package/dist/state.d.ts.map +1 -0
  46. package/dist/state.js +296 -0
  47. package/dist/state.js.map +1 -0
  48. package/dist/storage-utils.d.ts +8 -0
  49. package/dist/storage-utils.d.ts.map +1 -0
  50. package/dist/storage-utils.js +67 -0
  51. package/dist/storage-utils.js.map +1 -0
  52. package/dist/storage.d.ts +57 -0
  53. package/dist/storage.d.ts.map +1 -0
  54. package/dist/storage.js +575 -0
  55. package/dist/storage.js.map +1 -0
  56. package/dist/sync.d.ts +28 -0
  57. package/dist/sync.d.ts.map +1 -0
  58. package/dist/sync.js +158 -0
  59. package/dist/sync.js.map +1 -0
  60. package/package.json +40 -0
package/dist/sync.js ADDED
@@ -0,0 +1,158 @@
1
+ import { createSyncManager, } from "@opendatalabs/personal-server-ts-core/sync/manager";
2
+ import { createVanaSyncStorageAdapter } from "@opendatalabs/personal-server-ts-core/storage/adapters";
3
+ import { createServerSigner } from "@opendatalabs/personal-server-ts-core/signing";
4
+ import { createGatewayClient, deriveMasterKey, } from "@opendatalabs/vana-sdk/browser";
5
+ import { resolvePsLiteOwner } from "./owner-binding.js";
6
+ const SYNC_CURSOR_KEY = "sync-cursor-v1";
7
+ function createBrowserLogger() {
8
+ return {
9
+ info: console.info.bind(console),
10
+ error: console.error.bind(console),
11
+ warn: console.warn.bind(console),
12
+ debug: console.debug.bind(console),
13
+ };
14
+ }
15
+ export function createPsLiteSyncCursor(stateStore) {
16
+ return {
17
+ async read() {
18
+ const state = await stateStore.get(SYNC_CURSOR_KEY);
19
+ return state?.lastProcessedTimestamp ?? null;
20
+ },
21
+ async write(timestamp) {
22
+ await stateStore.set(SYNC_CURSOR_KEY, {
23
+ lastProcessedTimestamp: timestamp,
24
+ });
25
+ },
26
+ };
27
+ }
28
+ function buildDownloadDiagnosticsHook(recorder) {
29
+ return {
30
+ onDownloadStart(fileId) {
31
+ recorder.beginOperation("downloading", undefined, fileId);
32
+ recorder.push({ phase: "downloading", fileId });
33
+ },
34
+ onDownloadEnd(fileId, scope) {
35
+ recorder.endOperation();
36
+ recorder.push({ phase: "downloading", fileId, scope });
37
+ },
38
+ onDownloadError(fileId, detail) {
39
+ recorder.endOperation();
40
+ recorder.push({ phase: "downloading", fileId, error: true, detail });
41
+ },
42
+ onDecryptStart(fileId, scope) {
43
+ recorder.beginOperation("decrypting", scope, fileId);
44
+ recorder.push({ phase: "decrypting", fileId, scope });
45
+ },
46
+ onDecryptEnd(fileId, scope) {
47
+ recorder.endOperation();
48
+ recorder.push({ phase: "decrypting", fileId, scope });
49
+ },
50
+ onDecryptError(fileId, scope, detail) {
51
+ recorder.endOperation();
52
+ recorder.push({
53
+ phase: "decrypting",
54
+ fileId,
55
+ scope,
56
+ error: true,
57
+ detail,
58
+ });
59
+ },
60
+ onIndexStart(fileId, scope) {
61
+ recorder.beginOperation("indexing", scope, fileId);
62
+ recorder.push({ phase: "indexing", fileId, scope });
63
+ },
64
+ onIndexEnd(fileId, scope) {
65
+ recorder.endOperation();
66
+ recorder.push({ phase: "indexing", fileId, scope });
67
+ recorder.setScopeReadyAfterIndex(scope);
68
+ },
69
+ onIndexError(fileId, scope, detail) {
70
+ recorder.endOperation();
71
+ recorder.push({ phase: "indexing", fileId, scope, error: true, detail });
72
+ },
73
+ onManifestBuildStart(fileId, scope) {
74
+ recorder.push({ phase: "buildingManifest", fileId, scope });
75
+ },
76
+ onManifestBuildEnd(fileId, scope) {
77
+ recorder.push({ phase: "buildingManifest", fileId, scope });
78
+ recorder.setScopeManifestBuilt(scope);
79
+ },
80
+ onManifestBuildError(fileId, scope, detail) {
81
+ recorder.push({
82
+ phase: "buildingManifest",
83
+ fileId,
84
+ scope,
85
+ error: true,
86
+ detail,
87
+ });
88
+ },
89
+ onRepair(scope, detail) {
90
+ recorder.recordRepair(scope);
91
+ recorder.push({ phase: "repairingManifest", scope, detail });
92
+ },
93
+ };
94
+ }
95
+ export async function createPsLiteSyncManager(options) {
96
+ const serverOwner = await resolvePsLiteOwner({
97
+ ownerAddress: options.ownerAddress,
98
+ ownerSignature: options.ownerSignature,
99
+ });
100
+ const masterKey = deriveMasterKey(options.ownerSignature);
101
+ const gateway = options.gateway ?? createGatewayClient(options.config.gateway.url);
102
+ const storageAdapter = createVanaSyncStorageAdapter({
103
+ config: options.config,
104
+ serverOwner,
105
+ serverAccount: options.serverAccount,
106
+ });
107
+ const signer = createServerSigner(options.serverAccount, {
108
+ chainId: options.config.gateway.chainId,
109
+ contracts: options.config.gateway.contracts,
110
+ });
111
+ const cursor = createPsLiteSyncCursor(options.stateStore);
112
+ const logger = createBrowserLogger();
113
+ const downloadDiagnostics = options.diagnostics
114
+ ? buildDownloadDiagnosticsHook(options.diagnostics)
115
+ : undefined;
116
+ const syncManager = createSyncManager({
117
+ storage: options.storage,
118
+ storageAdapter,
119
+ gateway,
120
+ signer,
121
+ masterKey,
122
+ serverOwner,
123
+ logger: logger,
124
+ }, {
125
+ storage: options.storage,
126
+ storageAdapter,
127
+ gateway,
128
+ cursor,
129
+ masterKey,
130
+ serverOwner,
131
+ logger: logger,
132
+ diagnostics: downloadDiagnostics,
133
+ }, {
134
+ async canSync() {
135
+ try {
136
+ const serverInfo = await gateway.getServer(options.serverAccount.address);
137
+ if (serverInfo?.id)
138
+ return { ok: true };
139
+ return {
140
+ ok: false,
141
+ reason: "unregistered",
142
+ message: "Register this Personal Server before syncing.",
143
+ };
144
+ }
145
+ catch (err) {
146
+ logger.warn("Could not verify server registration for sync", err);
147
+ return {
148
+ ok: false,
149
+ reason: "registration_check_failed",
150
+ message: "Could not verify server registration before syncing.",
151
+ };
152
+ }
153
+ },
154
+ });
155
+ syncManager.start();
156
+ return { syncManager, serverOwner };
157
+ }
158
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@opendatalabs/personal-server-ts-lite",
3
+ "version": "0.0.1-canary.01ca694",
4
+ "description": "Browser/WebView Personal Server Lite runtime boundary",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/vana-com/personal-server-ts.git",
9
+ "directory": "packages/lite"
10
+ },
11
+ "homepage": "https://github.com/vana-com/personal-server-ts#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/vana-com/personal-server-ts/issues"
14
+ },
15
+ "type": "module",
16
+ "main": "./dist/index.js",
17
+ "types": "./dist/index.d.ts",
18
+ "exports": {
19
+ ".": {
20
+ "types": "./dist/index.d.ts",
21
+ "import": "./dist/index.js"
22
+ }
23
+ },
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "files": [
28
+ "dist"
29
+ ],
30
+ "scripts": {
31
+ "copy-tls": "mkdir -p dist/browser-tls-rustls && cp src/browser-tls-rustls/* dist/browser-tls-rustls/",
32
+ "build": "tsc --build && npm run copy-tls"
33
+ },
34
+ "dependencies": {
35
+ "@opendatalabs/personal-server-ts-core": "0.0.1-canary.01ca694",
36
+ "@opendatalabs/vana-sdk": "^3.4.1",
37
+ "node-forge": "^1.4.0",
38
+ "viem": "^2.48.11"
39
+ }
40
+ }