@opendatalabs/personal-server-ts-core 0.2.0 → 1.0.1

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 (340) hide show
  1. package/dist/api/index.d.ts +160 -0
  2. package/dist/api/index.d.ts.map +1 -0
  3. package/dist/api/index.js +774 -0
  4. package/dist/api/index.js.map +1 -0
  5. package/dist/auth/index.d.ts +2 -0
  6. package/dist/auth/index.d.ts.map +1 -0
  7. package/dist/auth/index.js +2 -0
  8. package/dist/auth/index.js.map +1 -0
  9. package/dist/auth/request.d.ts +28 -0
  10. package/dist/auth/request.d.ts.map +1 -0
  11. package/dist/auth/request.js +106 -0
  12. package/dist/auth/request.js.map +1 -0
  13. package/dist/client.d.ts +233 -0
  14. package/dist/client.d.ts.map +1 -0
  15. package/dist/client.js +243 -0
  16. package/dist/client.js.map +1 -0
  17. package/dist/config/defaults.d.ts +5 -5
  18. package/dist/config/defaults.d.ts.map +1 -1
  19. package/dist/config/defaults.js +3 -5
  20. package/dist/config/defaults.js.map +1 -1
  21. package/dist/config/index.d.ts +0 -1
  22. package/dist/config/index.d.ts.map +1 -1
  23. package/dist/config/index.js +0 -1
  24. package/dist/config/index.js.map +1 -1
  25. package/dist/config/paths.d.ts.map +1 -1
  26. package/dist/config/paths.js +1 -9
  27. package/dist/config/paths.js.map +1 -1
  28. package/dist/contracts/access-logs.d.ts +8 -0
  29. package/dist/contracts/access-logs.d.ts.map +1 -0
  30. package/dist/contracts/access-logs.js +7 -0
  31. package/dist/contracts/access-logs.js.map +1 -0
  32. package/dist/contracts/auth-device.d.ts +70 -0
  33. package/dist/contracts/auth-device.d.ts.map +1 -0
  34. package/dist/contracts/auth-device.js +163 -0
  35. package/dist/contracts/auth-device.js.map +1 -0
  36. package/dist/contracts/binary.d.ts +54 -0
  37. package/dist/contracts/binary.d.ts.map +1 -0
  38. package/dist/contracts/binary.js +92 -0
  39. package/dist/contracts/binary.js.map +1 -0
  40. package/dist/contracts/config.d.ts +5 -0
  41. package/dist/contracts/config.d.ts.map +1 -0
  42. package/dist/contracts/config.js +30 -0
  43. package/dist/contracts/config.js.map +1 -0
  44. package/dist/contracts/data.d.ts +115 -0
  45. package/dist/contracts/data.d.ts.map +1 -0
  46. package/dist/contracts/data.js +237 -0
  47. package/dist/contracts/data.js.map +1 -0
  48. package/dist/contracts/grants.d.ts +45 -0
  49. package/dist/contracts/grants.d.ts.map +1 -0
  50. package/dist/contracts/grants.js +177 -0
  51. package/dist/contracts/grants.js.map +1 -0
  52. package/dist/contracts/http.d.ts +21 -0
  53. package/dist/contracts/http.d.ts.map +1 -0
  54. package/dist/contracts/http.js +49 -0
  55. package/dist/contracts/http.js.map +1 -0
  56. package/dist/contracts/index.d.ts +16 -0
  57. package/dist/contracts/index.d.ts.map +1 -0
  58. package/dist/contracts/index.js +10 -0
  59. package/dist/contracts/index.js.map +1 -0
  60. package/dist/contracts/oauth.d.ts +38 -0
  61. package/dist/contracts/oauth.d.ts.map +1 -0
  62. package/dist/contracts/oauth.js +130 -0
  63. package/dist/contracts/oauth.js.map +1 -0
  64. package/dist/contracts/sync.d.ts +10 -0
  65. package/dist/contracts/sync.d.ts.map +1 -0
  66. package/dist/contracts/sync.js +34 -0
  67. package/dist/contracts/sync.js.map +1 -0
  68. package/dist/errors/catalog.d.ts +9 -0
  69. package/dist/errors/catalog.d.ts.map +1 -1
  70. package/dist/errors/catalog.js +15 -0
  71. package/dist/errors/catalog.js.map +1 -1
  72. package/dist/grants/index.d.ts +2 -4
  73. package/dist/grants/index.d.ts.map +1 -1
  74. package/dist/grants/index.js +1 -2
  75. package/dist/grants/index.js.map +1 -1
  76. package/dist/keys/index.d.ts +1 -2
  77. package/dist/keys/index.d.ts.map +1 -1
  78. package/dist/keys/index.js +1 -2
  79. package/dist/keys/index.js.map +1 -1
  80. package/dist/keys/server-account.d.ts +5 -9
  81. package/dist/keys/server-account.d.ts.map +1 -1
  82. package/dist/keys/server-account.js +1 -47
  83. package/dist/keys/server-account.js.map +1 -1
  84. package/dist/logger/index.d.ts +6 -2
  85. package/dist/logger/index.d.ts.map +1 -1
  86. package/dist/logger/index.js +2 -6
  87. package/dist/logger/index.js.map +1 -1
  88. package/dist/logging/access-log.d.ts +0 -1
  89. package/dist/logging/access-log.d.ts.map +1 -1
  90. package/dist/logging/access-log.js +1 -24
  91. package/dist/logging/access-log.js.map +1 -1
  92. package/dist/logging/access-reader.d.ts +0 -5
  93. package/dist/logging/access-reader.d.ts.map +1 -1
  94. package/dist/logging/access-reader.js +1 -49
  95. package/dist/logging/access-reader.js.map +1 -1
  96. package/dist/mcp/activity.d.ts +68 -0
  97. package/dist/mcp/activity.d.ts.map +1 -0
  98. package/dist/mcp/activity.js +111 -0
  99. package/dist/mcp/activity.js.map +1 -0
  100. package/dist/mcp/builder-registration.d.ts +24 -0
  101. package/dist/mcp/builder-registration.d.ts.map +1 -0
  102. package/dist/mcp/builder-registration.js +89 -0
  103. package/dist/mcp/builder-registration.js.map +1 -0
  104. package/dist/mcp/connection-api.d.ts +170 -0
  105. package/dist/mcp/connection-api.d.ts.map +1 -0
  106. package/dist/mcp/connection-api.js +379 -0
  107. package/dist/mcp/connection-api.js.map +1 -0
  108. package/dist/mcp/grantee.d.ts +52 -0
  109. package/dist/mcp/grantee.d.ts.map +1 -0
  110. package/dist/mcp/grantee.js +91 -0
  111. package/dist/mcp/grantee.js.map +1 -0
  112. package/dist/mcp/index.d.ts +10 -0
  113. package/dist/mcp/index.d.ts.map +1 -0
  114. package/dist/mcp/index.js +10 -0
  115. package/dist/mcp/index.js.map +1 -0
  116. package/dist/mcp/read-client.d.ts +136 -0
  117. package/dist/mcp/read-client.d.ts.map +1 -0
  118. package/dist/mcp/read-client.js +306 -0
  119. package/dist/mcp/read-client.js.map +1 -0
  120. package/dist/mcp/resources.d.ts +37 -0
  121. package/dist/mcp/resources.d.ts.map +1 -0
  122. package/dist/mcp/resources.js +114 -0
  123. package/dist/mcp/resources.js.map +1 -0
  124. package/dist/mcp/search/index.d.ts +34 -0
  125. package/dist/mcp/search/index.d.ts.map +1 -0
  126. package/dist/mcp/search/index.js +69 -0
  127. package/dist/mcp/search/index.js.map +1 -0
  128. package/dist/mcp/server.d.ts +53 -0
  129. package/dist/mcp/server.d.ts.map +1 -0
  130. package/dist/mcp/server.js +308 -0
  131. package/dist/mcp/server.js.map +1 -0
  132. package/dist/mcp/store.d.ts +13 -0
  133. package/dist/mcp/store.d.ts.map +1 -0
  134. package/dist/mcp/store.js +98 -0
  135. package/dist/mcp/store.js.map +1 -0
  136. package/dist/mcp/tools.d.ts +60 -0
  137. package/dist/mcp/tools.d.ts.map +1 -0
  138. package/dist/mcp/tools.js +1058 -0
  139. package/dist/mcp/tools.js.map +1 -0
  140. package/dist/mcp/types.d.ts +97 -0
  141. package/dist/mcp/types.d.ts.map +1 -0
  142. package/dist/mcp/types.js +24 -0
  143. package/dist/mcp/types.js.map +1 -0
  144. package/dist/payment/index.d.ts +2 -0
  145. package/dist/payment/index.d.ts.map +1 -0
  146. package/dist/payment/index.js +2 -0
  147. package/dist/payment/index.js.map +1 -0
  148. package/dist/payment/x402.d.ts +155 -0
  149. package/dist/payment/x402.d.ts.map +1 -0
  150. package/dist/payment/x402.js +402 -0
  151. package/dist/payment/x402.js.map +1 -0
  152. package/dist/policy/data-read.d.ts +15 -0
  153. package/dist/policy/data-read.d.ts.map +1 -0
  154. package/dist/policy/data-read.js +84 -0
  155. package/dist/policy/data-read.js.map +1 -0
  156. package/dist/policy/index.d.ts +2 -0
  157. package/dist/policy/index.d.ts.map +1 -0
  158. package/dist/policy/index.js +2 -0
  159. package/dist/policy/index.js.map +1 -0
  160. package/dist/ports/index.d.ts +95 -0
  161. package/dist/ports/index.d.ts.map +1 -0
  162. package/dist/ports/index.js +7 -0
  163. package/dist/ports/index.js.map +1 -0
  164. package/dist/schemas/server-config.d.ts +12 -0
  165. package/dist/schemas/server-config.d.ts.map +1 -1
  166. package/dist/schemas/server-config.js +34 -4
  167. package/dist/schemas/server-config.js.map +1 -1
  168. package/dist/signing/index.d.ts +0 -1
  169. package/dist/signing/index.d.ts.map +1 -1
  170. package/dist/signing/index.js +0 -1
  171. package/dist/signing/index.js.map +1 -1
  172. package/dist/signing/request-signer.d.ts +8 -2
  173. package/dist/signing/request-signer.d.ts.map +1 -1
  174. package/dist/signing/request-signer.js +5 -31
  175. package/dist/signing/request-signer.js.map +1 -1
  176. package/dist/signing/signer.d.ts +20 -2
  177. package/dist/signing/signer.d.ts.map +1 -1
  178. package/dist/signing/signer.js +23 -13
  179. package/dist/signing/signer.js.map +1 -1
  180. package/dist/storage/adapters/index.d.ts +2 -1
  181. package/dist/storage/adapters/index.d.ts.map +1 -1
  182. package/dist/storage/adapters/index.js +2 -1
  183. package/dist/storage/adapters/index.js.map +1 -1
  184. package/dist/storage/adapters/interface.d.ts +10 -0
  185. package/dist/storage/adapters/interface.d.ts.map +1 -1
  186. package/dist/storage/adapters/sdk.d.ts +23 -0
  187. package/dist/storage/adapters/sdk.d.ts.map +1 -0
  188. package/dist/storage/adapters/sdk.js +73 -0
  189. package/dist/storage/adapters/sdk.js.map +1 -0
  190. package/dist/storage/adapters/vana.d.ts +7 -30
  191. package/dist/storage/adapters/vana.d.ts.map +1 -1
  192. package/dist/storage/adapters/vana.js +37 -92
  193. package/dist/storage/adapters/vana.js.map +1 -1
  194. package/dist/storage/blocks/build.d.ts +20 -0
  195. package/dist/storage/blocks/build.d.ts.map +1 -0
  196. package/dist/storage/blocks/build.js +378 -0
  197. package/dist/storage/blocks/build.js.map +1 -0
  198. package/dist/storage/blocks/cursor.d.ts +33 -0
  199. package/dist/storage/blocks/cursor.d.ts.map +1 -0
  200. package/dist/storage/blocks/cursor.js +142 -0
  201. package/dist/storage/blocks/cursor.js.map +1 -0
  202. package/dist/storage/blocks/errors.d.ts +6 -0
  203. package/dist/storage/blocks/errors.d.ts.map +1 -0
  204. package/dist/storage/blocks/errors.js +9 -0
  205. package/dist/storage/blocks/errors.js.map +1 -0
  206. package/dist/storage/blocks/index.d.ts +5 -0
  207. package/dist/storage/blocks/index.d.ts.map +1 -0
  208. package/dist/storage/blocks/index.js +4 -0
  209. package/dist/storage/blocks/index.js.map +1 -0
  210. package/dist/storage/blocks/types.d.ts +49 -0
  211. package/dist/storage/blocks/types.d.ts.map +1 -0
  212. package/dist/storage/blocks/types.js +2 -0
  213. package/dist/{grants → storage/blocks}/types.js.map +1 -1
  214. package/dist/storage/hierarchy/index.d.ts +0 -1
  215. package/dist/storage/hierarchy/index.d.ts.map +1 -1
  216. package/dist/storage/hierarchy/index.js +0 -1
  217. package/dist/storage/hierarchy/index.js.map +1 -1
  218. package/dist/storage/hierarchy/manager.d.ts +0 -14
  219. package/dist/storage/hierarchy/manager.d.ts.map +1 -1
  220. package/dist/storage/hierarchy/manager.js +1 -59
  221. package/dist/storage/hierarchy/manager.js.map +1 -1
  222. package/dist/storage/hierarchy/paths.d.ts.map +1 -1
  223. package/dist/storage/hierarchy/paths.js +11 -4
  224. package/dist/storage/hierarchy/paths.js.map +1 -1
  225. package/dist/storage/index/index.d.ts +2 -3
  226. package/dist/storage/index/index.d.ts.map +1 -1
  227. package/dist/storage/index/index.js +1 -2
  228. package/dist/storage/index/index.js.map +1 -1
  229. package/dist/storage/index/manager.d.ts +26 -6
  230. package/dist/storage/index/manager.d.ts.map +1 -1
  231. package/dist/storage/index/manager.js +1 -131
  232. package/dist/storage/index/manager.js.map +1 -1
  233. package/dist/storage/index/schema.d.ts +1 -3
  234. package/dist/storage/index/schema.d.ts.map +1 -1
  235. package/dist/storage/index/schema.js +1 -26
  236. package/dist/storage/index/schema.js.map +1 -1
  237. package/dist/storage/index/types.d.ts +16 -0
  238. package/dist/storage/index/types.d.ts.map +1 -1
  239. package/dist/storage/preview.d.ts +12 -0
  240. package/dist/storage/preview.d.ts.map +1 -0
  241. package/dist/storage/preview.js +239 -0
  242. package/dist/storage/preview.js.map +1 -0
  243. package/dist/sync/cursor.d.ts +5 -7
  244. package/dist/sync/cursor.d.ts.map +1 -1
  245. package/dist/sync/cursor.js +1 -18
  246. package/dist/sync/cursor.js.map +1 -1
  247. package/dist/sync/engine/sync-manager.d.ts +17 -0
  248. package/dist/sync/engine/sync-manager.d.ts.map +1 -1
  249. package/dist/sync/engine/sync-manager.js +104 -43
  250. package/dist/sync/engine/sync-manager.js.map +1 -1
  251. package/dist/sync/index.d.ts +4 -2
  252. package/dist/sync/index.d.ts.map +1 -1
  253. package/dist/sync/index.js +1 -1
  254. package/dist/sync/index.js.map +1 -1
  255. package/dist/sync/issues.d.ts +55 -0
  256. package/dist/sync/issues.d.ts.map +1 -0
  257. package/dist/sync/issues.js +168 -0
  258. package/dist/sync/issues.js.map +1 -0
  259. package/dist/sync/retry-memory.d.ts +33 -0
  260. package/dist/sync/retry-memory.d.ts.map +1 -0
  261. package/dist/sync/retry-memory.js +68 -0
  262. package/dist/sync/retry-memory.js.map +1 -0
  263. package/dist/sync/types.d.ts +9 -24
  264. package/dist/sync/types.d.ts.map +1 -1
  265. package/dist/sync/workers/delete.d.ts +42 -0
  266. package/dist/sync/workers/delete.d.ts.map +1 -0
  267. package/dist/sync/workers/delete.js +40 -0
  268. package/dist/sync/workers/delete.js.map +1 -0
  269. package/dist/sync/workers/download.d.ts +64 -18
  270. package/dist/sync/workers/download.d.ts.map +1 -1
  271. package/dist/sync/workers/download.js +396 -54
  272. package/dist/sync/workers/download.js.map +1 -1
  273. package/dist/sync/workers/upload.d.ts +29 -18
  274. package/dist/sync/workers/upload.d.ts.map +1 -1
  275. package/dist/sync/workers/upload.js +163 -46
  276. package/dist/sync/workers/upload.js.map +1 -1
  277. package/dist/test-utils/wallet.d.ts +1 -0
  278. package/dist/test-utils/wallet.d.ts.map +1 -1
  279. package/dist/test-utils/wallet.js +9 -31
  280. package/dist/test-utils/wallet.js.map +1 -1
  281. package/package.json +51 -27
  282. package/dist/auth/web3-signed.d.ts +0 -48
  283. package/dist/auth/web3-signed.d.ts.map +0 -1
  284. package/dist/auth/web3-signed.js +0 -110
  285. package/dist/auth/web3-signed.js.map +0 -1
  286. package/dist/config/loader.d.ts +0 -8
  287. package/dist/config/loader.d.ts.map +0 -1
  288. package/dist/config/loader.js +0 -38
  289. package/dist/config/loader.js.map +0 -1
  290. package/dist/gateway/client.d.ts +0 -98
  291. package/dist/gateway/client.d.ts.map +0 -1
  292. package/dist/gateway/client.js +0 -171
  293. package/dist/gateway/client.js.map +0 -1
  294. package/dist/grants/eip712.d.ts +0 -28
  295. package/dist/grants/eip712.d.ts.map +0 -1
  296. package/dist/grants/eip712.js +0 -30
  297. package/dist/grants/eip712.js.map +0 -1
  298. package/dist/grants/types.d.ts +0 -29
  299. package/dist/grants/types.d.ts.map +0 -1
  300. package/dist/grants/types.js +0 -6
  301. package/dist/grants/verify.d.ts +0 -24
  302. package/dist/grants/verify.d.ts.map +0 -1
  303. package/dist/grants/verify.js +0 -71
  304. package/dist/grants/verify.js.map +0 -1
  305. package/dist/keys/derive.d.ts +0 -18
  306. package/dist/keys/derive.d.ts.map +0 -1
  307. package/dist/keys/derive.js +0 -43
  308. package/dist/keys/derive.js.map +0 -1
  309. package/dist/schemas/data-file.d.ts +0 -20
  310. package/dist/schemas/data-file.d.ts.map +0 -1
  311. package/dist/schemas/data-file.js +0 -23
  312. package/dist/schemas/data-file.js.map +0 -1
  313. package/dist/scopes/index.d.ts +0 -3
  314. package/dist/scopes/index.d.ts.map +0 -1
  315. package/dist/scopes/index.js +0 -3
  316. package/dist/scopes/index.js.map +0 -1
  317. package/dist/scopes/match.d.ts +0 -13
  318. package/dist/scopes/match.d.ts.map +0 -1
  319. package/dist/scopes/match.js +0 -23
  320. package/dist/scopes/match.js.map +0 -1
  321. package/dist/scopes/parse.d.ts +0 -12
  322. package/dist/scopes/parse.d.ts.map +0 -1
  323. package/dist/scopes/parse.js +0 -29
  324. package/dist/scopes/parse.js.map +0 -1
  325. package/dist/signing/eip712.d.ts +0 -69
  326. package/dist/signing/eip712.d.ts.map +0 -1
  327. package/dist/signing/eip712.js +0 -68
  328. package/dist/signing/eip712.js.map +0 -1
  329. package/dist/storage/encryption/decrypt.d.ts +0 -10
  330. package/dist/storage/encryption/decrypt.d.ts.map +0 -1
  331. package/dist/storage/encryption/decrypt.js +0 -19
  332. package/dist/storage/encryption/decrypt.js.map +0 -1
  333. package/dist/storage/encryption/encrypt.d.ts +0 -10
  334. package/dist/storage/encryption/encrypt.d.ts.map +0 -1
  335. package/dist/storage/encryption/encrypt.js +0 -19
  336. package/dist/storage/encryption/encrypt.js.map +0 -1
  337. package/dist/storage/encryption/index.d.ts +0 -3
  338. package/dist/storage/encryption/index.d.ts.map +0 -1
  339. package/dist/storage/encryption/index.js +0 -3
  340. package/dist/storage/encryption/index.js.map +0 -1
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sync/types.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;CACjC;AAED,iDAAiD;AACjD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,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,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"}
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 { GatewayClient } from "../../gateway/client.js";
2
+ import { type DataPointRecord, type GatewayClient } from "@opendatalabs/vana-sdk/browser";
5
3
  import type { SyncCursor } from "../cursor.js";
6
- import type { FileRecord } from "../types.js";
7
- import type { Logger } from "pino";
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
- indexManager: IndexManager;
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
- fileId: string;
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 file record from the storage backend:
26
- * 1. Check dedup: skip if fileId already in local index
27
- * 2. Download OpenPGP encrypted binary from storage backend
28
- * 3. Resolve schemaId scope via Gateway getSchema
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 via hierarchy manager
33
- * 8. Insert into local index (with fileId)
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: FileRecord): Promise<DownloadResult | null>;
79
+ export declare function downloadOne(deps: DownloadWorkerDeps, record: DataPointRecord): Promise<DownloadResult | null>;
36
80
  /**
37
- * Poll Gateway for new file records since lastProcessedTimestamp,
38
- * download each, and advance the cursor.
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,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAMnC,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA+DhC;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,cAAc,EAAE,CAAC,CAuC3B"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/sync/workers/download.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQ5D,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,eAAe,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAYD,UAAU,8BAA8B;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA0LhC;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,cAAc,EAAE,CAAC,CAoH3B;AAED,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC,GACnE,OAAO,CAAC,8BAA8B,CAAC,CAyDzC"}