@opendatalabs/personal-server-ts-lite 1.34.2 → 1.35.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.
Files changed (97) hide show
  1. package/dist/additions-crypto.d.ts +1 -1
  2. package/dist/additions-crypto.d.ts.map +1 -1
  3. package/dist/additions-crypto.js +16 -6
  4. package/dist/additions-crypto.js.map +1 -1
  5. package/dist/additions-protocol.d.ts +9 -1
  6. package/dist/additions-protocol.d.ts.map +1 -1
  7. package/dist/additions-protocol.js.map +1 -1
  8. package/dist/additions-session.d.ts +2 -0
  9. package/dist/additions-session.d.ts.map +1 -1
  10. package/dist/additions-session.js +29 -4
  11. package/dist/additions-session.js.map +1 -1
  12. package/dist/additions-transport.d.ts +10 -2
  13. package/dist/additions-transport.d.ts.map +1 -1
  14. package/dist/additions-transport.js +143 -48
  15. package/dist/additions-transport.js.map +1 -1
  16. package/dist/additions-worker.bundle.js +538 -101
  17. package/dist/additions-worker.js +45 -24
  18. package/dist/additions-worker.js.map +1 -1
  19. package/dist/browser-runtime.d.ts +23 -0
  20. package/dist/browser-runtime.d.ts.map +1 -1
  21. package/dist/browser-runtime.js +38 -1
  22. package/dist/browser-runtime.js.map +1 -1
  23. package/dist/canonical-persistence.d.ts +53 -0
  24. package/dist/canonical-persistence.d.ts.map +1 -0
  25. package/dist/canonical-persistence.js +13 -0
  26. package/dist/canonical-persistence.js.map +1 -0
  27. package/dist/canonical-store.d.ts +395 -0
  28. package/dist/canonical-store.d.ts.map +1 -0
  29. package/dist/canonical-store.js +1807 -0
  30. package/dist/canonical-store.js.map +1 -0
  31. package/dist/client.d.ts.map +1 -1
  32. package/dist/client.js +154 -1
  33. package/dist/client.js.map +1 -1
  34. package/dist/diagnostics.d.ts +3 -0
  35. package/dist/diagnostics.d.ts.map +1 -1
  36. package/dist/diagnostics.js +9 -1
  37. package/dist/diagnostics.js.map +1 -1
  38. package/dist/history-probe-worker.bundle.js +31216 -0
  39. package/dist/history-probe.worker.d.ts +35 -0
  40. package/dist/history-probe.worker.d.ts.map +1 -0
  41. package/dist/history-probe.worker.js +160 -0
  42. package/dist/history-probe.worker.js.map +1 -0
  43. package/dist/index.d.ts +10 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +10 -0
  46. package/dist/index.js.map +1 -1
  47. package/dist/mcp-store.d.ts.map +1 -1
  48. package/dist/mcp-store.js +109 -19
  49. package/dist/mcp-store.js.map +1 -1
  50. package/dist/oura-import.d.ts +2 -0
  51. package/dist/oura-import.d.ts.map +1 -0
  52. package/dist/oura-import.js +3 -0
  53. package/dist/oura-import.js.map +1 -0
  54. package/dist/replication-coordinator-state.d.ts +19 -0
  55. package/dist/replication-coordinator-state.d.ts.map +1 -0
  56. package/dist/replication-coordinator-state.js +20 -0
  57. package/dist/replication-coordinator-state.js.map +1 -0
  58. package/dist/replication-door.d.ts +17 -0
  59. package/dist/replication-door.d.ts.map +1 -0
  60. package/dist/replication-door.js +23 -0
  61. package/dist/replication-door.js.map +1 -0
  62. package/dist/replication-engine.d.ts +49 -0
  63. package/dist/replication-engine.d.ts.map +1 -0
  64. package/dist/replication-engine.js +589 -0
  65. package/dist/replication-engine.js.map +1 -0
  66. package/dist/replication-host.d.ts +92 -0
  67. package/dist/replication-host.d.ts.map +1 -0
  68. package/dist/replication-host.js +135 -0
  69. package/dist/replication-host.js.map +1 -0
  70. package/dist/replication-ports.d.ts +194 -0
  71. package/dist/replication-ports.d.ts.map +1 -0
  72. package/dist/replication-ports.js +58 -0
  73. package/dist/replication-ports.js.map +1 -0
  74. package/dist/replication-runtime.d.ts +64 -0
  75. package/dist/replication-runtime.d.ts.map +1 -0
  76. package/dist/replication-runtime.js +79 -0
  77. package/dist/replication-runtime.js.map +1 -0
  78. package/dist/replication-storage.d.ts +42 -0
  79. package/dist/replication-storage.d.ts.map +1 -0
  80. package/dist/replication-storage.js +173 -0
  81. package/dist/replication-storage.js.map +1 -0
  82. package/dist/runtime.d.ts +20 -2
  83. package/dist/runtime.d.ts.map +1 -1
  84. package/dist/runtime.js +80 -1
  85. package/dist/runtime.js.map +1 -1
  86. package/dist/state.d.ts +1 -1
  87. package/dist/state.d.ts.map +1 -1
  88. package/dist/state.js.map +1 -1
  89. package/dist/storage.d.ts +15 -0
  90. package/dist/storage.d.ts.map +1 -1
  91. package/dist/storage.js +352 -146
  92. package/dist/storage.js.map +1 -1
  93. package/dist/sync.d.ts +8 -0
  94. package/dist/sync.d.ts.map +1 -1
  95. package/dist/sync.js +25 -7
  96. package/dist/sync.js.map +1 -1
  97. package/package.json +8 -4
@@ -1,5 +1,6 @@
1
- import { AdditionsBudgetExceeded, createDurableAdditions, createVersionInventoryClient, } from "@opendatalabs/personal-server-ts-core/additions";
1
+ import { AdditionsBudgetExceeded, createDurableAdditions, createVersionInventoryClient, findCheckpointRegistration, } from "@opendatalabs/personal-server-ts-core/additions";
2
2
  import { createDataFileEnvelope, DataFileEnvelopeSchema, deriveScopeKey, encryptWithPassword, } from "@opendatalabs/vana-sdk/browser";
3
+ import { NeedsFencedPublicationError } from "@opendatalabs/personal-server-ts-core/publication";
3
4
  import { keccak256, stringToHex } from "viem";
4
5
  import { decryptBoundedAdditions } from "./additions-crypto.js";
5
6
  import { additionsTransfers } from "./additions-protocol.js";
@@ -59,11 +60,12 @@ function createService(init) {
59
60
  async function reconcilePending(scope, budget) {
60
61
  if (reconciledScopes.has(scope))
61
62
  return null;
62
- const prior = await transport("readPending", [scope], budget);
63
- if (!prior) {
63
+ const pending = await transport("readPending", [scope], budget);
64
+ if (!pending) {
64
65
  reconciledScopes.add(scope);
65
66
  return null;
66
67
  }
68
+ let prior = pending;
67
69
  let snapshot = await inventory.list(scope, {
68
70
  budget,
69
71
  signal: budget.signal,
@@ -75,9 +77,9 @@ function createService(init) {
75
77
  if (slot && replaced && !["confirmed", "finalized"].includes(slot.status))
76
78
  throw new Error("Pending checkpoint replacement is not settled");
77
79
  if (!slot) {
78
- // The exact encrypted candidate is retried; never bump the version
79
- // on an ambiguous PUT or registration receipt.
80
- await transport("publish", [prior], budget);
80
+ // The owner retries the exact bytes and resolves the current registry head.
81
+ const published = await transport("publish", [prior], budget);
82
+ prior = { ...prior, expectedVersion: published.expectedVersion };
81
83
  snapshot = await inventory.list(scope, {
82
84
  budget,
83
85
  signal: budget.signal,
@@ -86,8 +88,7 @@ function createService(init) {
86
88
  }
87
89
  if (!slot ||
88
90
  (!replaced &&
89
- (slot.dataHash !== prior.dataHash ||
90
- slot.metadataHash !== prior.metadataHash)))
91
+ !findCheckpointRegistration(snapshot, prior.expectedVersion, prior)))
91
92
  throw new Error("Interrupted checkpoint registration remains ambiguous");
92
93
  const proof = replaced ? slot : prior;
93
94
  let data;
@@ -109,19 +110,23 @@ function createService(init) {
109
110
  throw new Error("Interrupted checkpoint commitment mismatch");
110
111
  data = envelope.data;
111
112
  }
112
- if (replaced) {
113
- // Other devices do not share our Web Lock. Authenticate their settled
114
- // winning bytes and recheck the slot before retiring this local intent.
115
- const latest = await inventory.list(scope, {
116
- budget,
117
- signal: budget.signal,
118
- });
119
- if (!latest.versions.some((row) => row.expectedVersion === proof.expectedVersion &&
120
- row.dataHash === proof.dataHash &&
121
- row.metadataHash === proof.metadataHash &&
122
- ["confirmed", "finalized"].includes(row.status)))
123
- throw new Error("Pending checkpoint replacement changed during verification");
124
- }
113
+ // Other devices do not share our Web Lock. Recheck registration visibility
114
+ // after authenticating bytes, including an unchanged but now failed intent.
115
+ const latest = await inventory.list(scope, {
116
+ budget,
117
+ signal: budget.signal,
118
+ });
119
+ const visible = slot.isTombstone
120
+ ? latest.head &&
121
+ BigInt(proof.expectedVersion) <= BigInt(latest.head.expectedVersion) &&
122
+ latest.versions.find((row) => row.expectedVersion === proof.expectedVersion &&
123
+ row.dataHash === proof.dataHash &&
124
+ row.metadataHash === proof.metadataHash &&
125
+ row.isTombstone)
126
+ : findCheckpointRegistration(latest, proof.expectedVersion, proof);
127
+ if (!visible ||
128
+ (replaced && !["confirmed", "finalized"].includes(visible.status)))
129
+ throw new Error("Interrupted checkpoint registration changed during verification");
125
130
  await transport("clearPending", [scope], budget);
126
131
  reconciledScopes.add(scope);
127
132
  return replaced ? null : { proof: prior, data };
@@ -143,9 +148,24 @@ function createService(init) {
143
148
  activeBudget = options?.budget;
144
149
  return inventory.listScopes(options);
145
150
  },
151
+ head: (scope, signal) => {
152
+ // An unbudgeted read: do not charge it to an earlier call's budget.
153
+ activeBudget = undefined;
154
+ return inventory.head(scope, signal);
155
+ },
146
156
  };
157
+ const reported = new Set();
147
158
  return createDurableAdditions({
148
159
  ...init,
160
+ onRecoveryDiagnostic: init.diagnostics
161
+ ? (event) => {
162
+ const key = JSON.stringify(event);
163
+ if (reported.size >= 32 || reported.has(key))
164
+ return;
165
+ reported.add(key);
166
+ worker.postMessage({ kind: "diagnostic", event });
167
+ }
168
+ : undefined,
149
169
  inventory: boundedInventory,
150
170
  storageAdapter: {
151
171
  urlForKey: (key) => key,
@@ -204,8 +224,7 @@ function createService(init) {
204
224
  sizeBytes: encrypted.byteLength,
205
225
  }))),
206
226
  };
207
- await transport("publish", [prepared], budget);
208
- return prepared;
227
+ return transport("publish", [prepared], budget);
209
228
  },
210
229
  },
211
230
  });
@@ -221,7 +240,9 @@ worker.onmessage = (event) => {
221
240
  if (message.error)
222
241
  request?.reject(message.budgetExceeded
223
242
  ? new AdditionsBudgetExceeded(message.error)
224
- : new Error(message.error));
243
+ : message.publicationBlocked
244
+ ? new NeedsFencedPublicationError(message.publicationBlocked.scope, message.publicationBlocked.reason, false)
245
+ : new Error(message.error));
225
246
  else
226
247
  request?.resolve(message.result);
227
248
  }
@@ -1 +1 @@
1
- {"version":3,"file":"additions-worker.js","sourceRoot":"","sources":["../src/additions-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"additions-worker.js","sourceRoot":"","sources":["../src/additions-worker.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ import type { ReplicationDoorStatus } from "@opendatalabs/personal-server-ts-core/replication/door";
2
+ import type { DeclarationSnapshot } from "@opendatalabs/personal-server-ts-core/pdpp";
3
+ import { type LiteReplication } from "./replication-host.js";
4
+ import type { LiteReplicaObjectTransfers, LiteReplicaPersistence, ReplicationBootConfig } from "./replication-ports.js";
1
5
  import type { ServerConfig } from "@opendatalabs/personal-server-ts-core/schemas";
2
6
  import type { Logger } from "@opendatalabs/personal-server-ts-core/logger";
3
7
  import type { InferenceProvider } from "@opendatalabs/personal-server-ts-core/derivatives";
@@ -34,6 +38,21 @@ export interface IndexedDbPsLiteRuntimeOptions extends Omit<PsLiteRuntimeOptions
34
38
  * feed on the configured gateway URL; inject with a mock `gateway` in tests.
35
39
  */
36
40
  dataPointFeed?: DataPointFeedPort;
41
+ /**
42
+ * The host's replication ports (host contract §4): native persistence
43
+ * with replica support and native object transfers. With the door on and
44
+ * `config.enabled`, this factory builds replication over them and passes
45
+ * its runtime as `replication`; otherwise it builds none of it.
46
+ */
47
+ replicaHost?: {
48
+ config: ReplicationBootConfig;
49
+ persistence: LiteReplicaPersistence;
50
+ transfers: LiteReplicaObjectTransfers;
51
+ /** The retained declarations the host's canonical store serves. */
52
+ declarations: readonly DeclarationSnapshot[];
53
+ /** The host cannot rule out that this database is a copy (§3.2). */
54
+ rotateWriterIdentity?: boolean;
55
+ };
37
56
  /**
38
57
  * Inject host-owned persistence ports (Mobile native SQLite/filesystem) in
39
58
  * place of the browser IndexedDB defaults, without giving up this factory's
@@ -54,6 +73,10 @@ export interface IndexedDbPsLiteRuntime {
54
73
  syncManager: PsLiteRuntimeOptions["syncManager"];
55
74
  /** The compute layer; hosts call `scheduler.stop()` on teardown. */
56
75
  derivatives: PsLiteRuntimeOptions["derivatives"];
76
+ /** This boot's replication door, from `resolveLiteReplication`. */
77
+ replication: ReplicationDoorStatus;
78
+ /** Replication built over `replicaHost`, when the host passed it. */
79
+ replicationHost?: LiteReplication;
57
80
  }
58
81
  export declare function createIndexedDbPsLiteRuntime(options: IndexedDbPsLiteRuntimeOptions): Promise<IndexedDbPsLiteRuntime>;
59
82
  //# sourceMappingURL=browser-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-runtime.d.ts","sourceRoot":"","sources":["../src/browser-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAM3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AACnG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,6CAA6C,CAAC;AAMrD,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAOL,KAAK,gBAAgB,EACrB,KAAK,4BAA4B,EAClC,MAAM,YAAY,CAAC;AACpB,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAC;AAQnB,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,6BAA8B,SAAQ,IAAI,CACzD,oBAAoB,EAClB,iBAAiB,GACjB,iBAAiB,GACjB,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,mBAAmB,GACnB,SAAS,GACT,YAAY,CACf;IACC,YAAY,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,sBAAsB,CAAC,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,4BAA4B,CAAC;IACvC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC/C,cAAc,EAAE,eAAe,GAAG,eAAe,CAAC;IAClD,WAAW,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACjD,oEAAoE;IACpE,WAAW,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;CAClD;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,sBAAsB,CAAC,CAoOjC"}
1
+ {"version":3,"file":"browser-runtime.d.ts","sourceRoot":"","sources":["../src/browser-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAEpG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAGtF,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAM3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AACnG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,6CAA6C,CAAC;AASrD,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAOL,KAAK,gBAAgB,EACrB,KAAK,4BAA4B,EAClC,MAAM,YAAY,CAAC;AACpB,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAC;AAQnB,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,6BAA8B,SAAQ,IAAI,CACzD,oBAAoB,EAClB,iBAAiB,GACjB,iBAAiB,GACjB,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,mBAAmB,GACnB,SAAS,GACT,YAAY,CACf;IACC,YAAY,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,sBAAsB,CAAC,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC;;;;;OAKG;IACH,WAAW,CAAC,EAAE;QACZ,MAAM,EAAE,qBAAqB,CAAC;QAC9B,WAAW,EAAE,sBAAsB,CAAC;QACpC,SAAS,EAAE,0BAA0B,CAAC;QACtC,mEAAmE;QACnE,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;QAC7C,oEAAoE;QACpE,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;IACF;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,4BAA4B,CAAC;IACvC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC/C,cAAc,EAAE,eAAe,GAAG,eAAe,CAAC;IAClD,WAAW,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACjD,oEAAoE;IACpE,WAAW,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACjD,mEAAmE;IACnE,WAAW,EAAE,qBAAqB,CAAC;IACnC,qEAAqE;IACrE,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,sBAAsB,CAAC,CA2QjC"}
@@ -1,7 +1,11 @@
1
+ import { resolveLiteReplication } from "./replication-door.js";
2
+ import { createReplicationNetworkPorts } from "@opendatalabs/personal-server-ts-core/replication/host-ports";
3
+ import { createGatewayDataPointFeed } from "@opendatalabs/personal-server-ts-core/sync";
4
+ import { createLiteReplication, liteVanaReplicaObjects, } from "./replication-host.js";
1
5
  import { withLegacyProjection } from "@opendatalabs/personal-server-ts-core/storage/legacy-projection";
2
6
  import { createRequestSigner, createServerSigner, } from "@opendatalabs/personal-server-ts-core/signing";
3
7
  import { createGatewayLineageClient } from "@opendatalabs/personal-server-ts-core/lineage";
4
- import { createGatewayClient } from "@opendatalabs/vana-sdk/browser";
8
+ import { createGatewayClient, deriveMasterKey, } from "@opendatalabs/vana-sdk/browser";
5
9
  import { createInMemoryWriteProofReplayStore, createInMemoryWriteSessionStore, } from "@opendatalabs/personal-server-ts-core/write";
6
10
  import { createIndexedDbPsLitePersistence, createPersistentPsLiteStorage, } from "./storage.js";
7
11
  import { createIndexedDbPsLiteAccessLogStore, createIndexedDbPsLiteStateStore, createIndexedDbPsLiteTokenStore, loadOrCreatePsLiteConfig, loadOrCreatePsLiteServerIdentity, savePsLiteConfig, } from "./state.js";
@@ -25,6 +29,7 @@ export async function createIndexedDbPsLiteRuntime(options) {
25
29
  storeName: options.stateStoreName ?? "state",
26
30
  });
27
31
  const config = await loadOrCreatePsLiteConfig(stateStore, options.configDefaults);
32
+ const replication = await resolveLiteReplication(stateStore, config.replication.enabled);
28
33
  const identity = await loadOrCreatePsLiteServerIdentity({
29
34
  store: stateStore,
30
35
  ownerSignature: options.ownerSignature,
@@ -69,6 +74,7 @@ export async function createIndexedDbPsLiteRuntime(options) {
69
74
  requestSigner,
70
75
  });
71
76
  let syncManager = options.syncManager ?? null;
77
+ let dataPointFeed = options.dataPointFeed;
72
78
  let scopeDeletions = options.scopeDeletions;
73
79
  let additions = options.additions;
74
80
  let runtimeRef = null;
@@ -128,7 +134,35 @@ export async function createIndexedDbPsLiteRuntime(options) {
128
134
  additions = sync.additions ?? additions;
129
135
  syncManager = sync.syncManager;
130
136
  scopeDeletions = sync.scopeDeletions;
137
+ dataPointFeed = sync.dataPointFeed;
131
138
  }
139
+ const replicationHost = options.replicaHost
140
+ ? await createLiteReplication({
141
+ ...options.replicaHost,
142
+ door: replication,
143
+ serverAccount: identity.account,
144
+ objects: liteVanaReplicaObjects({
145
+ config,
146
+ owner: serverOwner,
147
+ signer: identity.account,
148
+ }),
149
+ network: (owner, objectStorage) => createReplicationNetworkPorts({
150
+ config,
151
+ owner,
152
+ masterKey: deriveMasterKey(options.ownerSignature),
153
+ storage: objectStorage,
154
+ gateway,
155
+ feed: dataPointFeed ??
156
+ createGatewayDataPointFeed({ gatewayUrl: config.gateway.url }),
157
+ // The registered server key, as on Node; never the owner signer.
158
+ signer: createServerSigner(identity.account, {
159
+ chainId: config.gateway.chainId,
160
+ contracts: config.gateway.contracts,
161
+ }),
162
+ }),
163
+ onError: (error) => options.logger?.warn({ err: error }, "Replication step failed"),
164
+ })
165
+ : undefined;
132
166
  const runtimeAvailability = {
133
167
  isAvailable: () => runtimeRef?.isAvailable() ?? Boolean(options.active),
134
168
  };
@@ -173,6 +207,7 @@ export async function createIndexedDbPsLiteRuntime(options) {
173
207
  });
174
208
  const runtime = createPsLiteRuntime({
175
209
  ...options,
210
+ replication: replicationHost?.runtime ?? options.replication,
176
211
  auth,
177
212
  serverOrigin,
178
213
  writeSessionStore,
@@ -216,6 +251,8 @@ export async function createIndexedDbPsLiteRuntime(options) {
216
251
  accessLogStore,
217
252
  syncManager,
218
253
  derivatives,
254
+ replication,
255
+ replicationHost,
219
256
  };
220
257
  }
221
258
  //# sourceMappingURL=browser-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-runtime.js","sourceRoot":"","sources":["../src/browser-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-runtime.js","sourceRoot":"","sources":["../src/browser-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { ReplicaOperation } from "@opendatalabs/personal-server-ts-core/replication/envelope";
2
+ export type LiteBlobDescriptor = Extract<ReplicaOperation, {
3
+ kind: "blob-claim";
4
+ }>["blob"];
5
+ declare const liteStagingIdBrand: unique symbol;
6
+ export type LiteStagingId = string & {
7
+ readonly [liteStagingIdBrand]: true;
8
+ };
9
+ export interface LiteStorageEntry {
10
+ key: string;
11
+ value: string;
12
+ }
13
+ export interface LiteStoragePage {
14
+ entries: LiteStorageEntry[];
15
+ after?: string;
16
+ }
17
+ /** One serializable, owner-partitioned SQLite transaction. No await escapes its lifetime. */
18
+ export interface LiteCanonicalTransaction {
19
+ get(key: string): Promise<string | undefined>;
20
+ put(key: string, value: string): Promise<void>;
21
+ delete(key: string): Promise<void>;
22
+ /** Exclusive bytewise key cursor; snapshot stable for this transaction. */
23
+ scan(prefix: string, after?: string): Promise<LiteStoragePage>;
24
+ /** Verify staged length/hash/MIME and publish its immutable reference in THIS transaction. */
25
+ attachBlob(stagingId: LiteStagingId, expected: LiteBlobDescriptor): Promise<void>;
26
+ blob(blobId: string): Promise<LiteBlobDescriptor | undefined>;
27
+ }
28
+ /** The largest canonical value the native store keeps, in UTF-8 bytes. */
29
+ export declare const LITE_CANONICAL_MAX_VALUE_BYTES: number;
30
+ /**
31
+ * The largest operation the store keeps: it retains each operation, and the
32
+ * row it decides, as one native value. The margin covers the row's fields
33
+ * beside the record data. A received larger operation is held as
34
+ * `resource_unsupported` (core `maxOperationBytes`); a build that raises this
35
+ * bound must also raise core `REPLICA_LIMITS_VERSION` so held batches return.
36
+ */
37
+ export declare const LITE_CANONICAL_MAX_OPERATION_BYTES: number;
38
+ /** A local batch: the caller splits larger writes at record boundaries. */
39
+ export declare const LITE_CANONICAL_BATCH_BYTES: number;
40
+ /**
41
+ * Slice 7b implements this over PsNativeStore, not browser storage. Each scan is
42
+ * <=100 entries and <=512 KiB; individual values <=LITE_CANONICAL_MAX_VALUE_BYTES. An oversized entry
43
+ * throws, never truncates. Roll back on callback error, bridge loss or host kill.
44
+ */
45
+ export interface LiteCanonicalPersistence {
46
+ transaction<T>(run: (tx: LiteCanonicalTransaction) => Promise<T>): Promise<T>;
47
+ /** Backpressured <=128 KiB frames. Final hash is computed natively, not trusted from JS. */
48
+ stageBlob(descriptor: LiteBlobDescriptor, chunks: AsyncIterable<Uint8Array>): Promise<LiteStagingId>;
49
+ /** Internal bytes, not a grant-authorized read API. Missing/uncommitted blobs throw. */
50
+ readBlob(blobId: string): AsyncIterable<Uint8Array>;
51
+ }
52
+ export {};
53
+ //# sourceMappingURL=canonical-persistence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-persistence.d.ts","sourceRoot":"","sources":["../src/canonical-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAEnG,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,gBAAgB,EAChB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CACvB,CAAC,MAAM,CAAC,CAAC;AACV,OAAO,CAAC,MAAM,kBAAkB,EAAE,OAAO,MAAM,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IACnC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC;CACrC,CAAC;AACF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,6FAA6F;AAC7F,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,2EAA2E;IAC3E,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/D,8FAA8F;IAC9F,UAAU,CACR,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;CAC/D;AAED,0EAA0E;AAC1E,eAAO,MAAM,8BAA8B,QAAa,CAAC;AACzD;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,QACJ,CAAC;AAC5C,2EAA2E;AAC3E,eAAO,MAAM,0BAA0B,QAAa,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,wBAAwB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9E,4FAA4F;IAC5F,SAAS,CACP,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAChC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;CACrD"}
@@ -0,0 +1,13 @@
1
+ /** The largest canonical value the native store keeps, in UTF-8 bytes. */
2
+ export const LITE_CANONICAL_MAX_VALUE_BYTES = 256 * 1024;
3
+ /**
4
+ * The largest operation the store keeps: it retains each operation, and the
5
+ * row it decides, as one native value. The margin covers the row's fields
6
+ * beside the record data. A received larger operation is held as
7
+ * `resource_unsupported` (core `maxOperationBytes`); a build that raises this
8
+ * bound must also raise core `REPLICA_LIMITS_VERSION` so held batches return.
9
+ */
10
+ export const LITE_CANONICAL_MAX_OPERATION_BYTES = LITE_CANONICAL_MAX_VALUE_BYTES - 8 * 1024;
11
+ /** A local batch: the caller splits larger writes at record boundaries. */
12
+ export const LITE_CANONICAL_BATCH_BYTES = 192 * 1024;
13
+ //# sourceMappingURL=canonical-persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-persistence.js","sourceRoot":"","sources":["../src/canonical-persistence.ts"],"names":[],"mappings":"AAkCA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,GAAG,IAAI,CAAC;AACzD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAC7C,8BAA8B,GAAG,CAAC,GAAG,IAAI,CAAC;AAC5C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,GAAG,IAAI,CAAC"}