cojson 0.18.5 → 0.18.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +18 -0
- package/dist/coValueContentMessage.d.ts +2 -0
- package/dist/coValueContentMessage.d.ts.map +1 -1
- package/dist/coValueContentMessage.js +7 -0
- package/dist/coValueContentMessage.js.map +1 -1
- package/dist/coValueCore/SessionMap.d.ts +2 -2
- package/dist/coValueCore/SessionMap.d.ts.map +1 -1
- package/dist/coValueCore/SessionMap.js +2 -4
- package/dist/coValueCore/SessionMap.js.map +1 -1
- package/dist/coValueCore/branching.d.ts +35 -13
- package/dist/coValueCore/branching.d.ts.map +1 -1
- package/dist/coValueCore/branching.js +55 -37
- package/dist/coValueCore/branching.js.map +1 -1
- package/dist/coValueCore/coValueCore.d.ts +15 -7
- package/dist/coValueCore/coValueCore.d.ts.map +1 -1
- package/dist/coValueCore/coValueCore.js +126 -35
- package/dist/coValueCore/coValueCore.js.map +1 -1
- package/dist/coValueCore/verifiedState.d.ts +4 -2
- package/dist/coValueCore/verifiedState.d.ts.map +1 -1
- package/dist/coValueCore/verifiedState.js +6 -4
- package/dist/coValueCore/verifiedState.js.map +1 -1
- package/dist/coValues/coList.d.ts +8 -2
- package/dist/coValues/coList.d.ts.map +1 -1
- package/dist/coValues/coList.js +95 -58
- package/dist/coValues/coList.js.map +1 -1
- package/dist/coValues/coMap.d.ts +2 -2
- package/dist/coValues/coMap.d.ts.map +1 -1
- package/dist/coValues/coMap.js +8 -8
- package/dist/coValues/coMap.js.map +1 -1
- package/dist/coValues/group.d.ts.map +1 -1
- package/dist/coValues/group.js +14 -1
- package/dist/coValues/group.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +8 -0
- package/dist/config.js.map +1 -1
- package/dist/crypto/PureJSCrypto.d.ts.map +1 -1
- package/dist/crypto/PureJSCrypto.js +14 -6
- package/dist/crypto/PureJSCrypto.js.map +1 -1
- package/dist/exports.d.ts +5 -4
- package/dist/exports.d.ts.map +1 -1
- package/dist/exports.js +3 -3
- package/dist/exports.js.map +1 -1
- package/dist/ids.d.ts +1 -0
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js.map +1 -1
- package/dist/localNode.d.ts.map +1 -1
- package/dist/localNode.js +7 -2
- package/dist/localNode.js.map +1 -1
- package/dist/storage/storageAsync.d.ts.map +1 -1
- package/dist/storage/storageAsync.js +7 -4
- package/dist/storage/storageAsync.js.map +1 -1
- package/dist/storage/storageSync.d.ts.map +1 -1
- package/dist/storage/storageSync.js +7 -4
- package/dist/storage/storageSync.js.map +1 -1
- package/dist/sync.d.ts +1 -3
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +8 -18
- package/dist/sync.js.map +1 -1
- package/dist/tests/branching.test.js +166 -4
- package/dist/tests/branching.test.js.map +1 -1
- package/dist/tests/coList.test.js +367 -1
- package/dist/tests/coList.test.js.map +1 -1
- package/dist/tests/coValueCore.test.js +45 -1
- package/dist/tests/coValueCore.test.js.map +1 -1
- package/dist/tests/messagesTestUtils.d.ts +1 -1
- package/dist/tests/sync.content.test.d.ts +2 -0
- package/dist/tests/sync.content.test.d.ts.map +1 -0
- package/dist/tests/sync.content.test.js +120 -0
- package/dist/tests/sync.content.test.js.map +1 -0
- package/dist/tests/sync.load.test.js +4 -4
- package/dist/tests/sync.load.test.js.map +1 -1
- package/dist/tests/sync.storage.test.js +1 -1
- package/dist/tests/sync.storageAsync.test.js +6 -10
- package/dist/tests/sync.storageAsync.test.js.map +1 -1
- package/dist/tests/sync.upload.test.js +2 -2
- package/dist/tests/testUtils.d.ts +2 -2
- package/package.json +2 -2
- package/src/coValueContentMessage.ts +13 -0
- package/src/coValueCore/SessionMap.ts +2 -2
- package/src/coValueCore/branching.ts +105 -60
- package/src/coValueCore/coValueCore.ts +163 -41
- package/src/coValueCore/verifiedState.ts +8 -0
- package/src/coValues/coList.ts +129 -78
- package/src/coValues/coMap.ts +10 -12
- package/src/coValues/group.ts +14 -1
- package/src/config.ts +9 -0
- package/src/crypto/PureJSCrypto.ts +25 -13
- package/src/exports.ts +13 -2
- package/src/ids.ts +1 -0
- package/src/localNode.ts +8 -2
- package/src/storage/storageAsync.ts +8 -5
- package/src/storage/storageSync.ts +8 -4
- package/src/sync.ts +8 -32
- package/src/tests/branching.test.ts +255 -4
- package/src/tests/coList.test.ts +529 -1
- package/src/tests/coValueCore.test.ts +62 -2
- package/src/tests/sync.content.test.ts +153 -0
- package/src/tests/sync.load.test.ts +4 -4
- package/src/tests/sync.storage.test.ts +1 -1
- package/src/tests/sync.storageAsync.test.ts +9 -12
- package/src/tests/sync.upload.test.ts +2 -2
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# cojson
|
|
2
2
|
|
|
3
|
+
## 0.18.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- c2d8bf7: Avoid greedily sending covalue dependencies to server peers
|
|
8
|
+
- dccb464: Optimize seal and unseal in PureJSCrypto by caching the shared key generation
|
|
9
|
+
- a3cd9c8: Add lastUpdatedAt & createdAt properties to $jazz in all the coValue types
|
|
10
|
+
- e8e7bf8: Enforce a 1MB size limit for transactions
|
|
11
|
+
- 51d3558: Export the highest weighted random server peer selector
|
|
12
|
+
- cojson-core-wasm@0.18.7
|
|
13
|
+
|
|
14
|
+
## 0.18.6
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- 9e792c7: Fixed the merge operation for RawCoList and RawCoPlainText and done a small performance optimization on RawCoList
|
|
19
|
+
- cojson-core-wasm@0.18.6
|
|
20
|
+
|
|
3
21
|
## 0.18.5
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { CoValueHeader, Transaction } from "./coValueCore/verifiedState.js";
|
|
2
2
|
import { Signature } from "./crypto/crypto.js";
|
|
3
3
|
import { RawCoID, SessionID } from "./ids.js";
|
|
4
|
+
import { JsonValue } from "./jsonValue.js";
|
|
4
5
|
import { NewContentMessage } from "./sync.js";
|
|
5
6
|
export declare function createContentMessage(id: RawCoID, header: CoValueHeader, includeHeader?: boolean): NewContentMessage;
|
|
6
7
|
export declare function addTransactionToContentMessage(content: NewContentMessage, transaction: Transaction, sessionID: SessionID, signature: Signature, txIdx: number): void;
|
|
7
8
|
export declare function getTransactionSize(transaction: Transaction): number;
|
|
8
9
|
export declare function exceedsRecommendedSize(baseSize: number, transactionSize?: number): boolean;
|
|
10
|
+
export declare function validateTxSizeLimitInBytes(changes: JsonValue[]): void;
|
|
9
11
|
export declare function knownStateFromContent(content: NewContentMessage): import("./sync.js").CoValueKnownState;
|
|
10
12
|
export declare function getContentMessageSize(msg: NewContentMessage): number;
|
|
11
13
|
export declare function getContenDebugInfo(msg: NewContentMessage): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coValueContentMessage.d.ts","sourceRoot":"","sources":["../src/coValueContentMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"coValueContentMessage.d.ts","sourceRoot":"","sources":["../src/coValueContentMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAmB,MAAM,WAAW,CAAC;AAE/D,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,aAAa,EACrB,aAAa,UAAO,GACnB,iBAAiB,CAQnB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,QAcd;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,UAI1D;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,WASzB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAUrE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,yCAU/D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,UAS3D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,YAKxD"}
|
|
@@ -35,6 +35,13 @@ export function exceedsRecommendedSize(baseSize, transactionSize) {
|
|
|
35
35
|
}
|
|
36
36
|
return (baseSize + transactionSize > TRANSACTION_CONFIG.MAX_RECOMMENDED_TX_SIZE);
|
|
37
37
|
}
|
|
38
|
+
export function validateTxSizeLimitInBytes(changes) {
|
|
39
|
+
const serializedSize = new TextEncoder().encode(JSON.stringify(changes)).length;
|
|
40
|
+
if (serializedSize > TRANSACTION_CONFIG.MAX_TX_SIZE_BYTES) {
|
|
41
|
+
throw new Error(`Transaction is too large to be synced: ${serializedSize} > ${TRANSACTION_CONFIG.MAX_TX_SIZE_BYTES} bytes. ` +
|
|
42
|
+
`Consider breaking your transaction into smaller chunks.`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
38
45
|
export function knownStateFromContent(content) {
|
|
39
46
|
const knownState = emptyKnownState(content.id);
|
|
40
47
|
knownState.header = Boolean(content.header);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coValueContentMessage.js","sourceRoot":"","sources":["../src/coValueContentMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"coValueContentMessage.js","sourceRoot":"","sources":["../src/coValueContentMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,11 +25,11 @@ export declare class SessionMap {
|
|
|
25
25
|
private getOrCreateSessionLog;
|
|
26
26
|
signerID: SignerID | undefined;
|
|
27
27
|
addTransaction(sessionID: SessionID, signerID: SignerID | undefined, newTransactions: Transaction[], newSignature: Signature, skipVerify?: boolean): Result<true, TryAddTransactionsError>;
|
|
28
|
-
makeNewPrivateTransaction(sessionID: SessionID, signerAgent: ControlledAccountOrAgent, changes: JsonValue[], keyID: KeyID, keySecret: KeySecret, meta: JsonObject | undefined): {
|
|
28
|
+
makeNewPrivateTransaction(sessionID: SessionID, signerAgent: ControlledAccountOrAgent, changes: JsonValue[], keyID: KeyID, keySecret: KeySecret, meta: JsonObject | undefined, madeAt: number): {
|
|
29
29
|
signature: Signature;
|
|
30
30
|
transaction: Transaction;
|
|
31
31
|
};
|
|
32
|
-
makeNewTrustingTransaction(sessionID: SessionID, signerAgent: ControlledAccountOrAgent, changes: JsonValue[], meta: JsonObject | undefined): {
|
|
32
|
+
makeNewTrustingTransaction(sessionID: SessionID, signerAgent: ControlledAccountOrAgent, changes: JsonValue[], meta: JsonObject | undefined, madeAt: number): {
|
|
33
33
|
signature: Signature;
|
|
34
34
|
transaction: Transaction;
|
|
35
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionMap.d.ts","sourceRoot":"","sources":["../../src/coValueCore/SessionMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EACV,cAAc,EAEd,KAAK,EACL,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;KAAE,CAAC;IAC3D,iCAAiC,EAAE,MAAM,CAAC;CAC3C,CAAC;AAEF,qBAAa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAa;gBAG9B,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,cAAc;IAGzC,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS;IAIjD,OAAO,CAAC,qBAAqB;IAoB7B,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,cAAc,CACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,eAAe,EAAE,WAAW,EAAE,EAC9B,YAAY,EAAE,SAAS,EACvB,UAAU,GAAE,OAAe,GAC1B,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC;IAoBxC,yBAAyB,CACvB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,wBAAwB,EACrC,OAAO,EAAE,SAAS,EAAE,EACpB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"SessionMap.d.ts","sourceRoot":"","sources":["../../src/coValueCore/SessionMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EACV,cAAc,EAEd,KAAK,EACL,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;KAAE,CAAC;IAC3D,iCAAiC,EAAE,MAAM,CAAC;CAC3C,CAAC;AAEF,qBAAa,UAAU;IAInB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAa;gBAG9B,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,cAAc;IAGzC,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS;IAIjD,OAAO,CAAC,qBAAqB;IAoB7B,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,cAAc,CACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,eAAe,EAAE,WAAW,EAAE,EAC9B,YAAY,EAAE,SAAS,EACvB,UAAU,GAAE,OAAe,GAC1B,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC;IAoBxC,yBAAyB,CACvB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,wBAAwB,EACrC,OAAO,EAAE,SAAS,EAAE,EACpB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,GACb;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE;IAwBrD,0BAA0B,CACxB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,wBAAwB,EACrC,OAAO,EAAE,SAAS,EAAE,EACpB,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,GACb;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE;IAsBrD,OAAO,CAAC,sBAAsB;IAyB9B,UAAU,IAAI,iBAAiB;IAQ/B,kBAAkB,CAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACnB,SAAS,EAAE,GAAG,SAAS;IAe1B,sBAAsB,CACpB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACnB,UAAU,GAAG,SAAS;IAezB,IAAI,IAAI,WAEP;IAED,OAAO;IAIP,MAAM;IAIN,IAAI;IAIJ,KAAK,IAAI,UAAU;CAiBpB"}
|
|
@@ -42,16 +42,14 @@ export class SessionMap {
|
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
makeNewPrivateTransaction(sessionID, signerAgent, changes, keyID, keySecret, meta) {
|
|
45
|
+
makeNewPrivateTransaction(sessionID, signerAgent, changes, keyID, keySecret, meta, madeAt) {
|
|
46
46
|
const sessionLog = this.getOrCreateSessionLog(sessionID, signerAgent.currentSignerID());
|
|
47
|
-
const madeAt = Date.now();
|
|
48
47
|
const result = sessionLog.impl.addNewPrivateTransaction(signerAgent, changes, keyID, keySecret, madeAt, meta);
|
|
49
48
|
this.addTransactionsToJsLog(sessionLog, [result.transaction], result.signature);
|
|
50
49
|
return result;
|
|
51
50
|
}
|
|
52
|
-
makeNewTrustingTransaction(sessionID, signerAgent, changes, meta) {
|
|
51
|
+
makeNewTrustingTransaction(sessionID, signerAgent, changes, meta, madeAt) {
|
|
53
52
|
const sessionLog = this.getOrCreateSessionLog(sessionID, signerAgent.currentSignerID());
|
|
54
|
-
const madeAt = Date.now();
|
|
55
53
|
const result = sessionLog.impl.addNewTrustingTransaction(signerAgent, changes, madeAt, meta);
|
|
56
54
|
this.addTransactionsToJsLog(sessionLog, [result.transaction], result.signature);
|
|
57
55
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionMap.js","sourceRoot":"","sources":["../../src/coValueCore/SessionMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAY7C,OAAO,EAAE,SAAS,EAAgC,MAAM,qBAAqB,CAAC;AAK9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAWrE,MAAM,OAAO,UAAU;IAGrB,YACmB,EAAW,EACX,MAAsB;QADtB,OAAE,GAAF,EAAE,CAAS;QACX,WAAM,GAAN,MAAM,CAAgB;QAJzC,aAAQ,GAA+B,IAAI,GAAG,EAAE,CAAC;IAK9C,CAAC;IAEJ,GAAG,CAAC,SAAoB;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEO,qBAAqB,CAC3B,SAAoB,EACpB,QAAmB;QAEnB,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG;gBACX,QAAQ;gBACR,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;gBAChE,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,SAAS;gBACxB,cAAc,EAAE,EAAE;gBAClB,iCAAiC,EAAE,CAAC;aACrC,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAGD,cAAc,CACZ,SAAoB,EACpB,QAA8B,EAC9B,eAA8B,EAC9B,YAAuB,EACvB,aAAsB,KAAK;QAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;YAElE,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;YAEvE,OAAO,EAAE,CAAC,IAAa,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,GAAG,CAAC;gBACT,IAAI,EAAE,kBAAkB;gBACxB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,SAAS;gBACT,YAAY;gBACZ,QAAQ;aACyB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,yBAAyB,CACvB,SAAoB,EACpB,WAAqC,EACrC,OAAoB,EACpB,KAAY,EACZ,SAAoB,EACpB,IAA4B;
|
|
1
|
+
{"version":3,"file":"SessionMap.js","sourceRoot":"","sources":["../../src/coValueCore/SessionMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,37 @@
|
|
|
1
|
-
import { CoValueCore } from "../exports.js";
|
|
2
|
-
import { RawCoID } from "../ids.js";
|
|
3
|
-
import { AvailableCoValueCore } from "./coValueCore.js";
|
|
4
|
-
import { CoValueHeader } from "./verifiedState.js";
|
|
5
|
-
import { CoValueKnownState } from "../sync.js";
|
|
1
|
+
import type { CoValueCore } from "../exports.js";
|
|
2
|
+
import type { RawCoID, SessionID } from "../ids.js";
|
|
3
|
+
import { type AvailableCoValueCore } from "./coValueCore.js";
|
|
4
|
+
import type { CoValueHeader } from "./verifiedState.js";
|
|
5
|
+
import type { CoValueKnownState } from "../sync.js";
|
|
6
|
+
/**
|
|
7
|
+
* Commit to identify the starting point of the branch
|
|
8
|
+
*
|
|
9
|
+
* In case of clonflicts, the first commit of this kind is considered the source of truth
|
|
10
|
+
*/
|
|
11
|
+
export type BranchStartCommit = {
|
|
12
|
+
from: CoValueKnownState["sessions"];
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Commit that tracks a branch creation
|
|
16
|
+
*/
|
|
17
|
+
export type BranchPointerCommit = {
|
|
18
|
+
branch: string;
|
|
19
|
+
ownerId?: RawCoID;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Meta information attached to each merged transaction to retrieve the original transaction ID
|
|
23
|
+
*/
|
|
24
|
+
export type MergedTransactionMetadata = {
|
|
25
|
+
mi: number;
|
|
26
|
+
s?: SessionID;
|
|
27
|
+
b?: RawCoID;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Merge commit located in a branch to track how many transactions have already been merged
|
|
31
|
+
*/
|
|
32
|
+
export type MergeCommit = {
|
|
33
|
+
merged: CoValueKnownState["sessions"];
|
|
34
|
+
};
|
|
6
35
|
export declare function getBranchHeader({ type, branchName, ownerId, sourceId, }: {
|
|
7
36
|
type: CoValueHeader["type"];
|
|
8
37
|
branchName: string;
|
|
@@ -13,9 +42,7 @@ export declare function getBranchHeader({ type, branchName, ownerId, sourceId, }
|
|
|
13
42
|
* Given a coValue, a branch name and an owner id, returns the id for the branch
|
|
14
43
|
*/
|
|
15
44
|
export declare function getBranchId(coValue: CoValueCore, name: string, ownerId?: RawCoID): RawCoID;
|
|
16
|
-
export
|
|
17
|
-
branch: CoValueKnownState["sessions"];
|
|
18
|
-
};
|
|
45
|
+
export declare function getBranchOwnerId(coValue: CoValueCore): `co_z${string}` | undefined;
|
|
19
46
|
/**
|
|
20
47
|
* Given a coValue, a branch name and an owner id, creates a new branch CoValue
|
|
21
48
|
*/
|
|
@@ -24,11 +51,6 @@ export declare function createBranch(coValue: CoValueCore, name: string, ownerId
|
|
|
24
51
|
* Given a branch coValue, returns the source coValue if available
|
|
25
52
|
*/
|
|
26
53
|
export declare function getBranchSource(coValue: CoValueCore): AvailableCoValueCore | undefined;
|
|
27
|
-
export type MergeCommit = {
|
|
28
|
-
merge: CoValueKnownState["sessions"];
|
|
29
|
-
id: RawCoID;
|
|
30
|
-
count: number;
|
|
31
|
-
};
|
|
32
54
|
/**
|
|
33
55
|
* Given a branch coValue, merges the branch into the source coValue
|
|
34
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branching.d.ts","sourceRoot":"","sources":["../../src/coValueCore/branching.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"branching.d.ts","sourceRoot":"","sources":["../../src/coValueCore/branching.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,KAAK,oBAAoB,EAAe,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,SAAS,CAAC;IACd,CAAC,CAAC,EAAE,OAAO,CAAC;CACb,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;CACvC,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,UAAU,EACV,OAAO,EACP,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG,aAAa,CAkBhB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAqBT;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,+BAcpD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,GAChB,WAAW,CAmCb;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,GACnB,oBAAoB,GAAG,SAAS,CAkBlC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CA6E5D"}
|
|
@@ -25,22 +25,28 @@ export function getBranchId(coValue, name, ownerId) {
|
|
|
25
25
|
if (!coValue.verified) {
|
|
26
26
|
throw new Error("CoValueCore: getBranchId called on coValue without verified state");
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (header.ruleset.type !== "ownedByGroup") {
|
|
32
|
-
return coValue.id;
|
|
33
|
-
}
|
|
34
|
-
ownerId = header.ruleset.group;
|
|
28
|
+
const currentOwnerId = ownerId ?? getBranchOwnerId(coValue);
|
|
29
|
+
if (!currentOwnerId) {
|
|
30
|
+
return coValue.id;
|
|
35
31
|
}
|
|
36
32
|
const header = getBranchHeader({
|
|
37
33
|
type: coValue.verified.header.type,
|
|
38
34
|
branchName: name,
|
|
39
|
-
ownerId,
|
|
35
|
+
ownerId: currentOwnerId,
|
|
40
36
|
sourceId: coValue.id,
|
|
41
37
|
});
|
|
42
38
|
return idforHeader(header, coValue.node.crypto);
|
|
43
39
|
}
|
|
40
|
+
export function getBranchOwnerId(coValue) {
|
|
41
|
+
if (!coValue.verified) {
|
|
42
|
+
throw new Error("CoValueCore: getBranchOwnerId called on coValue without verified state");
|
|
43
|
+
}
|
|
44
|
+
const header = coValue.verified.header;
|
|
45
|
+
if (header.ruleset.type !== "ownedByGroup") {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
return header.ruleset.group;
|
|
49
|
+
}
|
|
44
50
|
/**
|
|
45
51
|
* Given a coValue, a branch name and an owner id, creates a new branch CoValue
|
|
46
52
|
*/
|
|
@@ -48,26 +54,28 @@ export function createBranch(coValue, name, ownerId) {
|
|
|
48
54
|
if (!coValue.verified) {
|
|
49
55
|
throw new Error("CoValueCore: createBranch called on coValue without verified state");
|
|
50
56
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (header.ruleset.type !== "ownedByGroup") {
|
|
55
|
-
return coValue;
|
|
56
|
-
}
|
|
57
|
-
ownerId = header.ruleset.group;
|
|
57
|
+
const branchOwnerId = ownerId ?? getBranchOwnerId(coValue);
|
|
58
|
+
if (!branchOwnerId) {
|
|
59
|
+
return coValue;
|
|
58
60
|
}
|
|
59
61
|
const header = getBranchHeader({
|
|
60
62
|
type: coValue.verified.header.type,
|
|
61
63
|
branchName: name,
|
|
62
|
-
ownerId,
|
|
64
|
+
ownerId: branchOwnerId,
|
|
63
65
|
sourceId: coValue.id,
|
|
64
66
|
});
|
|
65
|
-
const
|
|
67
|
+
const branch = coValue.node.createCoValue(header);
|
|
68
|
+
const sessions = { ...coValue.knownState().sessions };
|
|
66
69
|
// Create a branch commit to identify the starting point of the branch
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
branch.makeTransaction([], "private", {
|
|
71
|
+
from: sessions,
|
|
69
72
|
});
|
|
70
|
-
|
|
73
|
+
// Create a branch pointer, to identify that we created a branch
|
|
74
|
+
coValue.makeTransaction([], "private", {
|
|
75
|
+
branch: name,
|
|
76
|
+
ownerId,
|
|
77
|
+
});
|
|
78
|
+
return branch;
|
|
71
79
|
}
|
|
72
80
|
/**
|
|
73
81
|
* Given a branch coValue, returns the source coValue if available
|
|
@@ -76,7 +84,7 @@ export function getBranchSource(coValue) {
|
|
|
76
84
|
if (!coValue.verified) {
|
|
77
85
|
return undefined;
|
|
78
86
|
}
|
|
79
|
-
const sourceId = coValue.
|
|
87
|
+
const sourceId = coValue.getCurrentBranchSourceId();
|
|
80
88
|
if (!sourceId) {
|
|
81
89
|
return undefined;
|
|
82
90
|
}
|
|
@@ -93,9 +101,8 @@ export function mergeBranch(branch) {
|
|
|
93
101
|
if (!branch.verified) {
|
|
94
102
|
throw new Error("CoValueCore: mergeBranch called on coValue without verified state");
|
|
95
103
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
throw new Error("CoValueCore: mergeBranch called on a non-branch coValue");
|
|
104
|
+
if (branch.verified.header.ruleset.type !== "ownedByGroup") {
|
|
105
|
+
return branch;
|
|
99
106
|
}
|
|
100
107
|
const target = getBranchSource(branch);
|
|
101
108
|
if (!target) {
|
|
@@ -103,11 +110,8 @@ export function mergeBranch(branch) {
|
|
|
103
110
|
}
|
|
104
111
|
// Look for previous merge commits, to see which transactions needs to be merged
|
|
105
112
|
// Done mostly for performance reasons, as we could merge all the transactions every time and nothing would change
|
|
106
|
-
const mergedTransactions =
|
|
107
|
-
|
|
108
|
-
return acc;
|
|
109
|
-
}
|
|
110
|
-
for (const [sessionID, count] of Object.entries(commit.merge)) {
|
|
113
|
+
const mergedTransactions = branch.getMergeCommits().reduce((acc, { merged }) => {
|
|
114
|
+
for (const [sessionID, count] of Object.entries(merged)) {
|
|
111
115
|
acc[sessionID] = Math.max(acc[sessionID] ?? 0, count);
|
|
112
116
|
}
|
|
113
117
|
return acc;
|
|
@@ -124,15 +128,29 @@ export function mergeBranch(branch) {
|
|
|
124
128
|
if (branchValidTransactions.length === 0) {
|
|
125
129
|
return target;
|
|
126
130
|
}
|
|
127
|
-
//
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
131
|
+
// We do track in the meta information the original txID to make sure that
|
|
132
|
+
// the CoList opid still point to the correct transaction
|
|
133
|
+
// To reduce the cost of the meta we skip the repeated information
|
|
134
|
+
let lastSessionId = undefined;
|
|
135
|
+
let lastBranchId = undefined;
|
|
136
|
+
for (const tx of branchValidTransactions) {
|
|
137
|
+
const mergeMeta = {
|
|
138
|
+
mi: tx.txID.txIndex,
|
|
139
|
+
};
|
|
140
|
+
if (lastSessionId !== tx.txID.sessionID) {
|
|
141
|
+
mergeMeta.s = tx.txID.sessionID;
|
|
142
|
+
}
|
|
143
|
+
if (lastBranchId !== tx.txID.branch) {
|
|
144
|
+
mergeMeta.b = tx.txID.branch;
|
|
145
|
+
}
|
|
146
|
+
target.makeTransaction(tx.changes, tx.tx.privacy, mergeMeta, tx.madeAt);
|
|
147
|
+
lastSessionId = tx.txID.sessionID;
|
|
148
|
+
lastBranchId = tx.txID.branch;
|
|
135
149
|
}
|
|
150
|
+
// Track the merged transactions for the branch, so future merges will know which transactions have already been merged
|
|
151
|
+
branch.makeTransaction([], "private", {
|
|
152
|
+
merged: branch.knownState().sessions,
|
|
153
|
+
});
|
|
136
154
|
return target;
|
|
137
155
|
}
|
|
138
156
|
//# sourceMappingURL=branching.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branching.js","sourceRoot":"","sources":["../../src/coValueCore/branching.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"branching.js","sourceRoot":"","sources":["../../src/coValueCore/branching.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { JsonObject, JsonValue } from "../jsonValue.js";
|
|
|
9
9
|
import { LocalNode, ResolveAccountAgentError } from "../localNode.js";
|
|
10
10
|
import { CoValueKnownState, PeerID } from "../sync.js";
|
|
11
11
|
import { CoValueHeader, Transaction, VerifiedState } from "./verifiedState.js";
|
|
12
|
-
import { MergeCommit } from "./branching.js";
|
|
12
|
+
import { MergeCommit, BranchPointerCommit, BranchStartCommit } from "./branching.js";
|
|
13
13
|
import { type RawAccountID } from "../coValues/account.js";
|
|
14
14
|
export declare function idforHeader(header: CoValueHeader, crypto: CryptoProvider): RawCoID;
|
|
15
15
|
export type VerifiedTransaction = {
|
|
@@ -24,6 +24,7 @@ export type VerifiedTransaction = {
|
|
|
24
24
|
hasInvalidChanges: boolean;
|
|
25
25
|
hasInvalidMeta: boolean;
|
|
26
26
|
hasMetaBeenParsed: boolean;
|
|
27
|
+
previous: VerifiedTransaction | undefined;
|
|
27
28
|
};
|
|
28
29
|
export type DecryptedTransaction = {
|
|
29
30
|
txID: TransactionID;
|
|
@@ -65,6 +66,7 @@ export declare class CoValueCore {
|
|
|
65
66
|
isErroredInPeer(peerId: PeerID): boolean;
|
|
66
67
|
waitForAvailableOrUnavailable(): Promise<CoValueCore>;
|
|
67
68
|
waitForAvailable(): Promise<CoValueCore>;
|
|
69
|
+
waitForFullStreaming(): Promise<CoValueCore>;
|
|
68
70
|
getStateForPeer(peerId: PeerID): {
|
|
69
71
|
type: "unknown" | "pending" | "available" | "unavailable";
|
|
70
72
|
} | {
|
|
@@ -100,21 +102,22 @@ export declare class CoValueCore {
|
|
|
100
102
|
updateContentAndNotifyUpdate(notifyMode: "immediate" | "deferred"): void;
|
|
101
103
|
notifyUpdate(notifyMode: "immediate" | "deferred"): void;
|
|
102
104
|
subscribe(listener: (core: CoValueCore, unsub: () => void) => void, immediateInvoke?: boolean): () => void;
|
|
103
|
-
makeTransaction(changes: JsonValue[], privacy: "private" | "trusting", meta?: JsonObject): boolean;
|
|
105
|
+
makeTransaction(changes: JsonValue[], privacy: "private" | "trusting", meta?: JsonObject, madeAt?: number): boolean;
|
|
104
106
|
getCurrentContent(options?: {
|
|
105
107
|
ignorePrivateTransactions: true;
|
|
106
108
|
}): RawCoValue;
|
|
107
109
|
branchStart: {
|
|
108
|
-
|
|
110
|
+
from: BranchStartCommit["from"];
|
|
109
111
|
madeAt: number;
|
|
110
112
|
} | undefined;
|
|
111
|
-
mergeCommits:
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
mergeCommits: MergeCommit[];
|
|
114
|
+
branches: BranchPointerCommit[];
|
|
115
|
+
earliestTxMadeAt: number;
|
|
116
|
+
latestTxMadeAt: number;
|
|
115
117
|
resetParsedTransactions(): void;
|
|
116
118
|
verifiedTransactions: VerifiedTransaction[];
|
|
117
119
|
private verifiedTransactionsKnownSessions;
|
|
120
|
+
private lastVerifiedTransactionBySessionID;
|
|
118
121
|
/**
|
|
119
122
|
* Loads the new transaction from the SessionMap into verifiedTransactions as a VerifiedTransaction.
|
|
120
123
|
*
|
|
@@ -160,6 +163,11 @@ export declare class CoValueCore {
|
|
|
160
163
|
createBranch(name: string, ownerId?: RawCoID): CoValueCore;
|
|
161
164
|
mergeBranch(): CoValueCore;
|
|
162
165
|
getBranch(name: string, ownerId?: RawCoID): CoValueCore;
|
|
166
|
+
getCurrentBranchName(): string | undefined;
|
|
167
|
+
getCurrentBranchSourceId(): `co_z${string}` | undefined;
|
|
168
|
+
isBranch(): boolean;
|
|
169
|
+
hasBranch(name: string, ownerId?: RawCoID): boolean;
|
|
170
|
+
getMergeCommits(): MergeCommit[];
|
|
163
171
|
getValidSortedTransactions(options?: {
|
|
164
172
|
ignorePrivateTransactions: boolean;
|
|
165
173
|
knownTransactions?: Set<Transaction>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coValueCore.d.ts","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"coValueCore.d.ts","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"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"}
|