cojson 0.19.3 → 0.19.4

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 (37) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +7 -0
  3. package/dist/coValues/coList.d.ts +10 -4
  4. package/dist/coValues/coList.d.ts.map +1 -1
  5. package/dist/coValues/coList.js +30 -4
  6. package/dist/coValues/coList.js.map +1 -1
  7. package/dist/coValues/coPlainText.d.ts +2 -1
  8. package/dist/coValues/coPlainText.d.ts.map +1 -1
  9. package/dist/coValues/coPlainText.js +5 -2
  10. package/dist/coValues/coPlainText.js.map +1 -1
  11. package/dist/storage/sqlite/client.d.ts +3 -3
  12. package/dist/storage/sqlite/client.d.ts.map +1 -1
  13. package/dist/storage/sqlite/client.js +1 -1
  14. package/dist/storage/sqlite/client.js.map +1 -1
  15. package/dist/storage/sqliteAsync/client.d.ts +3 -3
  16. package/dist/storage/sqliteAsync/client.d.ts.map +1 -1
  17. package/dist/storage/sqliteAsync/client.js +1 -1
  18. package/dist/storage/sqliteAsync/client.js.map +1 -1
  19. package/dist/storage/storageAsync.d.ts.map +1 -1
  20. package/dist/storage/storageAsync.js +7 -7
  21. package/dist/storage/storageAsync.js.map +1 -1
  22. package/dist/storage/storageSync.d.ts.map +1 -1
  23. package/dist/storage/storageSync.js +7 -7
  24. package/dist/storage/storageSync.js.map +1 -1
  25. package/dist/storage/types.d.ts +18 -14
  26. package/dist/storage/types.d.ts.map +1 -1
  27. package/dist/tests/coList.test.js +28 -1
  28. package/dist/tests/coList.test.js.map +1 -1
  29. package/package.json +3 -3
  30. package/src/coValues/coList.ts +41 -8
  31. package/src/coValues/coPlainText.ts +6 -2
  32. package/src/storage/sqlite/client.ts +6 -3
  33. package/src/storage/sqliteAsync/client.ts +8 -3
  34. package/src/storage/storageAsync.ts +8 -5
  35. package/src/storage/storageSync.ts +8 -5
  36. package/src/storage/types.ts +43 -37
  37. package/src/tests/coList.test.ts +36 -3
@@ -1 +1 @@
1
- {"version":3,"file":"storageSync.js","sourceRoot":"","sources":["../../src/storage/storageSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storageSync.js","sourceRoot":"","sources":["../../src/storage/storageSync.ts"],"names":[],"mappings":"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"}
@@ -43,13 +43,8 @@ export type SignatureAfterRow = {
43
43
  idx: number;
44
44
  signature: Signature;
45
45
  };
46
- export interface DBClientInterfaceAsync {
47
- getCoValue(coValueId: string): Promise<StoredCoValueRow | undefined> | undefined;
48
- upsertCoValue(id: string, header?: CoValueHeader): Promise<number | undefined>;
49
- getCoValueSessions(coValueRowId: number): Promise<StoredSessionRow[]>;
46
+ export interface DBTransactionInterfaceAsync {
50
47
  getSingleCoValueSession(coValueRowId: number, sessionID: SessionID): Promise<StoredSessionRow | undefined>;
51
- getNewTransactionInSession(sessionRowId: number, fromIdx: number, toIdx: number): Promise<TransactionRow[]>;
52
- getSignatures(sessionRowId: number, firstNewTxIdx: number): Promise<SignatureAfterRow[]>;
53
48
  addSessionUpdate({ sessionUpdate, sessionRow, }: {
54
49
  sessionUpdate: SessionRow;
55
50
  sessionRow?: StoredSessionRow;
@@ -60,15 +55,17 @@ export interface DBClientInterfaceAsync {
60
55
  idx: number;
61
56
  signature: Signature;
62
57
  }): Promise<unknown>;
63
- transaction(callback: () => unknown): Promise<unknown>;
64
58
  }
65
- export interface DBClientInterfaceSync {
66
- getCoValue(coValueId: string): StoredCoValueRow | undefined;
67
- upsertCoValue(id: string, header?: CoValueHeader): number | undefined;
68
- getCoValueSessions(coValueRowId: number): StoredSessionRow[];
59
+ export interface DBClientInterfaceAsync {
60
+ getCoValue(coValueId: string): Promise<StoredCoValueRow | undefined> | undefined;
61
+ upsertCoValue(id: string, header?: CoValueHeader): Promise<number | undefined>;
62
+ getCoValueSessions(coValueRowId: number): Promise<StoredSessionRow[]>;
63
+ getNewTransactionInSession(sessionRowId: number, fromIdx: number, toIdx: number): Promise<TransactionRow[]>;
64
+ getSignatures(sessionRowId: number, firstNewTxIdx: number): Promise<SignatureAfterRow[]>;
65
+ transaction(callback: (tx: DBTransactionInterfaceAsync) => Promise<unknown>): Promise<unknown>;
66
+ }
67
+ export interface DBTransactionInterfaceSync {
69
68
  getSingleCoValueSession(coValueRowId: number, sessionID: SessionID): StoredSessionRow | undefined;
70
- getNewTransactionInSession(sessionRowId: number, fromIdx: number, toIdx: number): TransactionRow[];
71
- getSignatures(sessionRowId: number, firstNewTxIdx: number): Pick<SignatureAfterRow, "idx" | "signature">[];
72
69
  addSessionUpdate({ sessionUpdate, sessionRow, }: {
73
70
  sessionUpdate: SessionRow;
74
71
  sessionRow?: StoredSessionRow;
@@ -79,6 +76,13 @@ export interface DBClientInterfaceSync {
79
76
  idx: number;
80
77
  signature: Signature;
81
78
  }): number | undefined | unknown;
82
- transaction(callback: () => unknown): unknown;
79
+ }
80
+ export interface DBClientInterfaceSync {
81
+ getCoValue(coValueId: string): StoredCoValueRow | undefined;
82
+ upsertCoValue(id: string, header?: CoValueHeader): number | undefined;
83
+ getCoValueSessions(coValueRowId: number): StoredSessionRow[];
84
+ getNewTransactionInSession(sessionRowId: number, fromIdx: number, toIdx: number): TransactionRow[];
85
+ getSignatures(sessionRowId: number, firstNewTxIdx: number): Pick<SignatureAfterRow, "idx" | "signature">[];
86
+ transaction(callback: (tx: DBTransactionInterfaceSync) => unknown): unknown;
83
87
  }
84
88
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { beforeEach, describe, expect, test } from "vitest";
2
2
  import { expectList } from "../coValue.js";
3
3
  import { WasmCrypto } from "../crypto/WasmCrypto.js";
4
- import { loadCoValueOrFail, nodeWithRandomAgentAndSessionID, setupTestNode, waitFor, } from "./testUtils.js";
4
+ import { hotSleep, loadCoValueOrFail, nodeWithRandomAgentAndSessionID, setupTestNode, waitFor, } from "./testUtils.js";
5
5
  const Crypto = await WasmCrypto.create();
6
6
  beforeEach(async () => {
7
7
  setupTestNode({ isSyncServer: true });
@@ -304,6 +304,33 @@ test("Should ignore unknown meta transactions", () => {
304
304
  content.append("first", 0, "trusting");
305
305
  expect(content.toJSON()).toEqual(["first"]);
306
306
  });
307
+ describe("CoList Time Travel", () => {
308
+ test("atTime should return a time travel entity", () => {
309
+ const node = nodeWithRandomAgentAndSessionID();
310
+ const coValue = node.createCoValue({
311
+ type: "colist",
312
+ ruleset: { type: "unsafeAllowAll" },
313
+ meta: null,
314
+ ...Crypto.createdNowUnique(),
315
+ });
316
+ const content = expectList(coValue.getCurrentContent());
317
+ const beforeA = hotSleep(10);
318
+ content.append("first", 0, "trusting");
319
+ const beforeB = hotSleep(10);
320
+ content.append("second", 0, "trusting");
321
+ const beforeC = hotSleep(10);
322
+ content.delete(0, "trusting");
323
+ const beforeD = hotSleep(10);
324
+ content.prepend("third", 0, "trusting");
325
+ expect(content.toJSON()).toEqual(["third", "second"]);
326
+ expect(content.atTime(0).toJSON()).toEqual([]);
327
+ expect(content.atTime(beforeA).toJSON()).toEqual([]);
328
+ expect(content.atTime(beforeB).toJSON()).toEqual(["first"]);
329
+ expect(content.atTime(beforeC).toJSON()).toEqual(["first", "second"]);
330
+ expect(content.atTime(beforeD).toJSON()).toEqual(["second"]);
331
+ expect(content.atTime(Date.now()).toJSON()).toEqual(["third", "second"]);
332
+ });
333
+ });
307
334
  describe("CoList Branching", () => {
308
335
  test("should handle concurrent appends from multiple branches", async () => {
309
336
  const client1 = setupTestNode({
@@ -1 +1 @@
1
- {"version":3,"file":"coList.test.js","sourceRoot":"","sources":["../../src/tests/coList.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coList.test.js","sourceRoot":"","sources":["../../src/tests/coList.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "type": "module",
35
35
  "license": "MIT",
36
- "version": "0.19.3",
36
+ "version": "0.19.4",
37
37
  "devDependencies": {
38
38
  "@opentelemetry/sdk-metrics": "^2.0.0",
39
39
  "libsql": "^0.5.13",
@@ -46,8 +46,8 @@
46
46
  "@opentelemetry/api": "^1.9.0",
47
47
  "@scure/base": "1.2.1",
48
48
  "unicode-segmenter": "^0.12.0",
49
- "cojson-core-wasm": "0.19.3",
50
- "cojson-core-napi": "0.19.3"
49
+ "cojson-core-wasm": "0.19.4",
50
+ "cojson-core-napi": "0.19.4"
51
51
  },
52
52
  "gitHead": "33c27053293b4801b968c61d5c4c989f93a67d13",
53
53
  "scripts": {
@@ -6,7 +6,6 @@ import { accountOrAgentIDfromSessionID } from "../typeUtils/accountOrAgentIDfrom
6
6
  import { isCoValue } from "../typeUtils/isCoValue.js";
7
7
  import { RawAccountID } from "./account.js";
8
8
  import { RawGroup } from "./group.js";
9
- import { Transaction } from "../coValueCore/verifiedState.js";
10
9
 
11
10
  export type OpID = TransactionID & { changeIdx: number };
12
11
 
@@ -73,6 +72,14 @@ export class RawCoList<
73
72
  };
74
73
  };
75
74
  } = {};
75
+
76
+ /** @internal */
77
+ atTimeFilter?: number = undefined;
78
+
79
+ /** @category 6. Meta */
80
+ readonly _item!: Item;
81
+
82
+ /** @internal */
76
83
  _cachedEntries?: {
77
84
  value: Item;
78
85
  madeAt: number;
@@ -94,14 +101,19 @@ export class RawCoList<
94
101
  this.totalValidTransactions = 0;
95
102
  }
96
103
 
97
- /** @category 6. Meta */
98
- readonly _item!: Item;
99
-
100
104
  /** @internal */
101
- constructor(core: AvailableCoValueCore) {
105
+ constructor(core: AvailableCoValueCore, atTimeFilter?: number) {
102
106
  this.id = core.id as CoID<this>;
103
107
  this.core = core;
104
- this.processNewTransactions();
108
+
109
+ this.insertions = {};
110
+ this.deletionsByInsertion = {};
111
+ this.afterStart = [];
112
+ this.beforeEnd = [];
113
+ this.knownTransactions = { [core.id]: 0 };
114
+ this.atTimeFilter = atTimeFilter;
115
+
116
+ this._processNewTransactions();
105
117
  }
106
118
 
107
119
  private getInsertionsEntry(opID: OpID) {
@@ -188,6 +200,13 @@ export class RawCoList<
188
200
  }
189
201
 
190
202
  processNewTransactions() {
203
+ if (this.isTimeTravelEntity()) {
204
+ throw new Error("Cannot process transactions on a time travel entity");
205
+ }
206
+ this._processNewTransactions();
207
+ }
208
+
209
+ private _processNewTransactions() {
191
210
  const transactions = this.core.getValidSortedTransactions({
192
211
  ignorePrivateTransactions: false,
193
212
  knownTransactions: this.knownTransactions,
@@ -202,6 +221,9 @@ export class RawCoList<
202
221
  this._cachedEntries = undefined;
203
222
 
204
223
  for (const { txID, changes, madeAt } of transactions) {
224
+ if (this.isFilteredOut(madeAt)) {
225
+ continue;
226
+ }
205
227
  lastValidTransaction = Math.max(lastValidTransaction ?? 0, madeAt);
206
228
  oldestValidTransaction = Math.min(
207
229
  oldestValidTransaction ?? Infinity,
@@ -290,6 +312,17 @@ export class RawCoList<
290
312
  this.processNewTransactions();
291
313
  }
292
314
 
315
+ isTimeTravelEntity() {
316
+ return Boolean(this.atTimeFilter);
317
+ }
318
+
319
+ private isFilteredOut(time: number): boolean {
320
+ if (this.atTimeFilter === undefined) {
321
+ return false;
322
+ }
323
+ return time > this.atTimeFilter;
324
+ }
325
+
293
326
  /** @category 6. Meta */
294
327
  get headerMeta(): Meta {
295
328
  return this.core.verified.header.meta as Meta;
@@ -305,8 +338,8 @@ export class RawCoList<
305
338
  *
306
339
  * @category 4. Time travel
307
340
  */
308
- atTime(_time: number): this {
309
- throw new Error("Not yet implemented");
341
+ atTime(time: number): this {
342
+ return new RawCoList(this.core, time) as this;
310
343
  }
311
344
 
312
345
  /**
@@ -55,8 +55,8 @@ export class RawCoPlainText<
55
55
  PlaintextIdxMapping
56
56
  >;
57
57
 
58
- constructor(core: AvailableCoValueCore) {
59
- super(core);
58
+ constructor(core: AvailableCoValueCore, atTimeFilter?: number) {
59
+ super(core, atTimeFilter);
60
60
  this._cachedMapping = new WeakMap();
61
61
  }
62
62
 
@@ -97,6 +97,10 @@ export class RawCoPlainText<
97
97
  .join("");
98
98
  }
99
99
 
100
+ atTime(time: number): this {
101
+ return new RawCoPlainText(this.core, time) as this;
102
+ }
103
+
100
104
  /**
101
105
  * Inserts `text` before the character at index `idx`.
102
106
  * If idx is 0, inserts at the start of the text.
@@ -8,6 +8,7 @@ import { logger } from "../../logger.js";
8
8
  import type { NewContentMessage } from "../../sync.js";
9
9
  import type {
10
10
  DBClientInterfaceSync,
11
+ DBTransactionInterfaceSync,
11
12
  SessionRow,
12
13
  SignatureAfterRow,
13
14
  StoredCoValueRow,
@@ -31,7 +32,9 @@ export function getErrorMessage(error: unknown) {
31
32
  return error instanceof Error ? error.message : "Unknown error";
32
33
  }
33
34
 
34
- export class SQLiteClient implements DBClientInterfaceSync {
35
+ export class SQLiteClient
36
+ implements DBClientInterfaceSync, DBTransactionInterfaceSync
37
+ {
35
38
  private readonly db: SQLiteDatabaseDriver;
36
39
 
37
40
  constructor(db: SQLiteDatabaseDriver) {
@@ -187,8 +190,8 @@ export class SQLiteClient implements DBClientInterfaceSync {
187
190
  );
188
191
  }
189
192
 
190
- transaction(operationsCallback: () => unknown) {
191
- this.db.transaction(operationsCallback);
193
+ transaction(operationsCallback: (tx: DBTransactionInterfaceSync) => unknown) {
194
+ this.db.transaction(() => operationsCallback(this));
192
195
  return undefined;
193
196
  }
194
197
  }
@@ -8,6 +8,7 @@ import { logger } from "../../logger.js";
8
8
  import type { NewContentMessage } from "../../sync.js";
9
9
  import type {
10
10
  DBClientInterfaceAsync,
11
+ DBTransactionInterfaceAsync,
11
12
  SessionRow,
12
13
  SignatureAfterRow,
13
14
  StoredCoValueRow,
@@ -31,7 +32,9 @@ export function getErrorMessage(error: unknown) {
31
32
  return error instanceof Error ? error.message : "Unknown error";
32
33
  }
33
34
 
34
- export class SQLiteClientAsync implements DBClientInterfaceAsync {
35
+ export class SQLiteClientAsync
36
+ implements DBClientInterfaceAsync, DBTransactionInterfaceAsync
37
+ {
35
38
  private readonly db: SQLiteDatabaseDriverAsync;
36
39
 
37
40
  constructor(db: SQLiteDatabaseDriverAsync) {
@@ -194,7 +197,9 @@ export class SQLiteClientAsync implements DBClientInterfaceAsync {
194
197
  );
195
198
  }
196
199
 
197
- async transaction(operationsCallback: () => unknown) {
198
- return this.db.transaction(operationsCallback);
200
+ async transaction(
201
+ operationsCallback: (tx: DBTransactionInterfaceAsync) => Promise<unknown>,
202
+ ) {
203
+ return this.db.transaction(() => operationsCallback(this));
199
204
  }
200
205
  }
@@ -25,6 +25,7 @@ import {
25
25
  import type {
26
26
  CorrectionCallback,
27
27
  DBClientInterfaceAsync,
28
+ DBTransactionInterfaceAsync,
28
29
  SignatureAfterRow,
29
30
  StoredCoValueRow,
30
31
  StoredSessionRow,
@@ -280,8 +281,8 @@ export class StorageApiAsync implements StorageAPI {
280
281
  let invalidAssumptions = false;
281
282
 
282
283
  for (const sessionID of Object.keys(msg.new) as SessionID[]) {
283
- await this.dbClient.transaction(async () => {
284
- const sessionRow = await this.dbClient.getSingleCoValueSession(
284
+ await this.dbClient.transaction(async (tx) => {
285
+ const sessionRow = await tx.getSingleCoValueSession(
285
286
  storedCoValueRowID,
286
287
  sessionID,
287
288
  );
@@ -301,6 +302,7 @@ export class StorageApiAsync implements StorageAPI {
301
302
  invalidAssumptions = true;
302
303
  } else {
303
304
  const newLastIdx = await this.putNewTxs(
305
+ tx,
304
306
  msg,
305
307
  sessionID,
306
308
  sessionRow,
@@ -321,6 +323,7 @@ export class StorageApiAsync implements StorageAPI {
321
323
  }
322
324
 
323
325
  private async putNewTxs(
326
+ tx: DBTransactionInterfaceAsync,
324
327
  msg: NewContentMessage,
325
328
  sessionID: SessionID,
326
329
  sessionRow: StoredSessionRow | undefined,
@@ -363,13 +366,13 @@ export class StorageApiAsync implements StorageAPI {
363
366
  bytesSinceLastSignature,
364
367
  };
365
368
 
366
- const sessionRowID: number = await this.dbClient.addSessionUpdate({
369
+ const sessionRowID: number = await tx.addSessionUpdate({
367
370
  sessionUpdate,
368
371
  sessionRow,
369
372
  });
370
373
 
371
374
  if (shouldWriteSignature) {
372
- await this.dbClient.addSignatureAfter({
375
+ await tx.addSignatureAfter({
373
376
  sessionRowID,
374
377
  idx: newLastIdx - 1,
375
378
  signature: msg.new[sessionID].lastSignature,
@@ -378,7 +381,7 @@ export class StorageApiAsync implements StorageAPI {
378
381
 
379
382
  await Promise.all(
380
383
  actuallyNewTransactions.map((newTransaction, i) =>
381
- this.dbClient.addTransaction(sessionRowID, nextIdx + i, newTransaction),
384
+ tx.addTransaction(sessionRowID, nextIdx + i, newTransaction),
382
385
  ),
383
386
  );
384
387
 
@@ -25,6 +25,7 @@ import {
25
25
  import type {
26
26
  CorrectionCallback,
27
27
  DBClientInterfaceSync,
28
+ DBTransactionInterfaceSync,
28
29
  SignatureAfterRow,
29
30
  StoredCoValueRow,
30
31
  StoredSessionRow,
@@ -257,8 +258,8 @@ export class StorageApiSync implements StorageAPI {
257
258
  let invalidAssumptions = false;
258
259
 
259
260
  for (const sessionID of Object.keys(msg.new) as SessionID[]) {
260
- this.dbClient.transaction(() => {
261
- const sessionRow = this.dbClient.getSingleCoValueSession(
261
+ this.dbClient.transaction((tx) => {
262
+ const sessionRow = tx.getSingleCoValueSession(
262
263
  storedCoValueRowID,
263
264
  sessionID,
264
265
  );
@@ -275,6 +276,7 @@ export class StorageApiSync implements StorageAPI {
275
276
  invalidAssumptions = true;
276
277
  } else {
277
278
  const newLastIdx = this.putNewTxs(
279
+ tx,
278
280
  msg,
279
281
  sessionID,
280
282
  sessionRow,
@@ -295,6 +297,7 @@ export class StorageApiSync implements StorageAPI {
295
297
  }
296
298
 
297
299
  private putNewTxs(
300
+ tx: DBTransactionInterfaceSync,
298
301
  msg: NewContentMessage,
299
302
  sessionID: SessionID,
300
303
  sessionRow: StoredSessionRow | undefined,
@@ -338,13 +341,13 @@ export class StorageApiSync implements StorageAPI {
338
341
  bytesSinceLastSignature,
339
342
  };
340
343
 
341
- const sessionRowID: number = this.dbClient.addSessionUpdate({
344
+ const sessionRowID: number = tx.addSessionUpdate({
342
345
  sessionUpdate,
343
346
  sessionRow,
344
347
  });
345
348
 
346
349
  if (shouldWriteSignature) {
347
- this.dbClient.addSignatureAfter({
350
+ tx.addSignatureAfter({
348
351
  sessionRowID,
349
352
  idx: newLastIdx - 1,
350
353
  signature: msg.new[sessionID].lastSignature,
@@ -352,7 +355,7 @@ export class StorageApiSync implements StorageAPI {
352
355
  }
353
356
 
354
357
  actuallyNewTransactions.map((newTransaction, i) =>
355
- this.dbClient.addTransaction(sessionRowID, nextIdx + i, newTransaction),
358
+ tx.addTransaction(sessionRowID, nextIdx + i, newTransaction),
356
359
  );
357
360
 
358
361
  return newLastIdx;