cojson 0.13.16 → 0.13.18

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 (168) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +16 -0
  3. package/dist/PeerState.d.ts +3 -0
  4. package/dist/PeerState.d.ts.map +1 -1
  5. package/dist/PeerState.js +9 -0
  6. package/dist/PeerState.js.map +1 -1
  7. package/dist/SyncStateManager.d.ts.map +1 -1
  8. package/dist/SyncStateManager.js +2 -3
  9. package/dist/SyncStateManager.js.map +1 -1
  10. package/dist/coValue.d.ts +6 -4
  11. package/dist/coValue.d.ts.map +1 -1
  12. package/dist/coValue.js +5 -4
  13. package/dist/coValue.js.map +1 -1
  14. package/dist/coValueCore/coValueCore.d.ts +143 -0
  15. package/dist/coValueCore/coValueCore.d.ts.map +1 -0
  16. package/dist/{coValueCore.js → coValueCore/coValueCore.js} +314 -246
  17. package/dist/coValueCore/coValueCore.js.map +1 -0
  18. package/dist/coValueCore/verifiedState.d.ts +65 -0
  19. package/dist/coValueCore/verifiedState.d.ts.map +1 -0
  20. package/dist/coValueCore/verifiedState.js +210 -0
  21. package/dist/coValueCore/verifiedState.js.map +1 -0
  22. package/dist/coValues/account.d.ts +8 -10
  23. package/dist/coValues/account.d.ts.map +1 -1
  24. package/dist/coValues/account.js +12 -13
  25. package/dist/coValues/account.js.map +1 -1
  26. package/dist/coValues/coList.d.ts +10 -6
  27. package/dist/coValues/coList.d.ts.map +1 -1
  28. package/dist/coValues/coList.js +41 -15
  29. package/dist/coValues/coList.js.map +1 -1
  30. package/dist/coValues/coMap.d.ts +4 -3
  31. package/dist/coValues/coMap.d.ts.map +1 -1
  32. package/dist/coValues/coMap.js +5 -3
  33. package/dist/coValues/coMap.js.map +1 -1
  34. package/dist/coValues/coPlainText.d.ts +2 -2
  35. package/dist/coValues/coPlainText.d.ts.map +1 -1
  36. package/dist/coValues/coPlainText.js +5 -5
  37. package/dist/coValues/coPlainText.js.map +1 -1
  38. package/dist/coValues/coStream.d.ts +5 -4
  39. package/dist/coValues/coStream.d.ts.map +1 -1
  40. package/dist/coValues/coStream.js +5 -3
  41. package/dist/coValues/coStream.js.map +1 -1
  42. package/dist/coValues/group.d.ts +7 -2
  43. package/dist/coValues/group.d.ts.map +1 -1
  44. package/dist/coValues/group.js +29 -26
  45. package/dist/coValues/group.js.map +1 -1
  46. package/dist/coreToCoValue.d.ts +4 -3
  47. package/dist/coreToCoValue.d.ts.map +1 -1
  48. package/dist/coreToCoValue.js +10 -14
  49. package/dist/coreToCoValue.js.map +1 -1
  50. package/dist/exports.d.ts +6 -5
  51. package/dist/exports.d.ts.map +1 -1
  52. package/dist/exports.js +3 -4
  53. package/dist/exports.js.map +1 -1
  54. package/dist/localNode.d.ts +30 -24
  55. package/dist/localNode.d.ts.map +1 -1
  56. package/dist/localNode.js +153 -177
  57. package/dist/localNode.js.map +1 -1
  58. package/dist/permissions.d.ts +2 -1
  59. package/dist/permissions.d.ts.map +1 -1
  60. package/dist/permissions.js +15 -11
  61. package/dist/permissions.js.map +1 -1
  62. package/dist/priority.d.ts +1 -1
  63. package/dist/priority.d.ts.map +1 -1
  64. package/dist/sync.d.ts +2 -2
  65. package/dist/sync.d.ts.map +1 -1
  66. package/dist/sync.js +86 -55
  67. package/dist/sync.js.map +1 -1
  68. package/dist/tests/coList.test.js +133 -13
  69. package/dist/tests/coList.test.js.map +1 -1
  70. package/dist/tests/coMap.test.js +43 -14
  71. package/dist/tests/coMap.test.js.map +1 -1
  72. package/dist/tests/coPlainText.test.js +9 -10
  73. package/dist/tests/coPlainText.test.js.map +1 -1
  74. package/dist/tests/coStream.test.js +49 -18
  75. package/dist/tests/coStream.test.js.map +1 -1
  76. package/dist/tests/coValueCore.test.js +22 -28
  77. package/dist/tests/coValueCore.test.js.map +1 -1
  78. package/dist/tests/coValueCoreLoadingState.test.d.ts +2 -0
  79. package/dist/tests/coValueCoreLoadingState.test.d.ts.map +1 -0
  80. package/dist/tests/coValueCoreLoadingState.test.js +227 -0
  81. package/dist/tests/coValueCoreLoadingState.test.js.map +1 -0
  82. package/dist/tests/group.test.js +42 -43
  83. package/dist/tests/group.test.js.map +1 -1
  84. package/dist/tests/messagesTestUtils.d.ts +2 -2
  85. package/dist/tests/messagesTestUtils.d.ts.map +1 -1
  86. package/dist/tests/messagesTestUtils.js +1 -1
  87. package/dist/tests/messagesTestUtils.js.map +1 -1
  88. package/dist/tests/permissions.test.js +224 -292
  89. package/dist/tests/permissions.test.js.map +1 -1
  90. package/dist/tests/priority.test.js +13 -14
  91. package/dist/tests/priority.test.js.map +1 -1
  92. package/dist/tests/sync.auth.test.d.ts +2 -0
  93. package/dist/tests/sync.auth.test.d.ts.map +1 -0
  94. package/dist/tests/sync.auth.test.js +141 -0
  95. package/dist/tests/sync.auth.test.js.map +1 -0
  96. package/dist/tests/sync.load.test.js +60 -2
  97. package/dist/tests/sync.load.test.js.map +1 -1
  98. package/dist/tests/sync.mesh.test.js +70 -10
  99. package/dist/tests/sync.mesh.test.js.map +1 -1
  100. package/dist/tests/sync.peerReconciliation.test.js +19 -19
  101. package/dist/tests/sync.peerReconciliation.test.js.map +1 -1
  102. package/dist/tests/sync.storage.test.js +20 -13
  103. package/dist/tests/sync.storage.test.js.map +1 -1
  104. package/dist/tests/sync.test.js +32 -39
  105. package/dist/tests/sync.test.js.map +1 -1
  106. package/dist/tests/sync.upload.test.js +126 -37
  107. package/dist/tests/sync.upload.test.js.map +1 -1
  108. package/dist/tests/testUtils.d.ts +24 -15
  109. package/dist/tests/testUtils.d.ts.map +1 -1
  110. package/dist/tests/testUtils.js +88 -61
  111. package/dist/tests/testUtils.js.map +1 -1
  112. package/dist/typeUtils/expectGroup.js +1 -1
  113. package/dist/typeUtils/expectGroup.js.map +1 -1
  114. package/package.json +1 -1
  115. package/src/PeerState.ts +11 -0
  116. package/src/SyncStateManager.ts +2 -3
  117. package/src/coValue.ts +14 -8
  118. package/src/{coValueCore.ts → coValueCore/coValueCore.ts} +470 -413
  119. package/src/coValueCore/verifiedState.ts +376 -0
  120. package/src/coValues/account.ts +20 -25
  121. package/src/coValues/coList.ts +63 -29
  122. package/src/coValues/coMap.ts +13 -6
  123. package/src/coValues/coPlainText.ts +10 -8
  124. package/src/coValues/coStream.ts +12 -7
  125. package/src/coValues/group.ts +50 -28
  126. package/src/coreToCoValue.ts +14 -15
  127. package/src/exports.ts +9 -7
  128. package/src/localNode.ts +248 -283
  129. package/src/permissions.ts +18 -12
  130. package/src/priority.ts +1 -1
  131. package/src/sync.ts +96 -63
  132. package/src/tests/coList.test.ts +200 -12
  133. package/src/tests/coMap.test.ts +65 -14
  134. package/src/tests/coPlainText.test.ts +12 -9
  135. package/src/tests/coStream.test.ts +80 -17
  136. package/src/tests/coValueCore.test.ts +30 -27
  137. package/src/tests/coValueCoreLoadingState.test.ts +337 -0
  138. package/src/tests/group.test.ts +44 -68
  139. package/src/tests/messagesTestUtils.ts +3 -8
  140. package/src/tests/permissions.test.ts +283 -449
  141. package/src/tests/priority.test.ts +17 -13
  142. package/src/tests/sync.auth.test.ts +188 -0
  143. package/src/tests/sync.load.test.ts +79 -2
  144. package/src/tests/sync.mesh.test.ts +89 -9
  145. package/src/tests/sync.peerReconciliation.test.ts +25 -25
  146. package/src/tests/sync.storage.test.ts +20 -13
  147. package/src/tests/sync.test.ts +43 -43
  148. package/src/tests/sync.upload.test.ts +157 -37
  149. package/src/tests/testUtils.ts +120 -74
  150. package/src/typeUtils/expectGroup.ts +1 -1
  151. package/dist/CoValuesStore.d.ts +0 -14
  152. package/dist/CoValuesStore.d.ts.map +0 -1
  153. package/dist/CoValuesStore.js +0 -32
  154. package/dist/CoValuesStore.js.map +0 -1
  155. package/dist/coValueCore.d.ts +0 -141
  156. package/dist/coValueCore.d.ts.map +0 -1
  157. package/dist/coValueCore.js.map +0 -1
  158. package/dist/coValueState.d.ts +0 -34
  159. package/dist/coValueState.d.ts.map +0 -1
  160. package/dist/coValueState.js +0 -228
  161. package/dist/coValueState.js.map +0 -1
  162. package/dist/tests/coValueState.test.d.ts +0 -2
  163. package/dist/tests/coValueState.test.d.ts.map +0 -1
  164. package/dist/tests/coValueState.test.js +0 -344
  165. package/dist/tests/coValueState.test.js.map +0 -1
  166. package/src/CoValuesStore.ts +0 -41
  167. package/src/coValueState.ts +0 -300
  168. package/src/tests/coValueState.test.ts +0 -525
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coValueCore.js","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { Result } from "neverthrow";
2
+ import { AnyRawCoValue } from "../coValue.js";
3
+ import { CryptoProvider, Encrypted, Hash, KeyID, Signature, SignerID, StreamingHash } from "../crypto/crypto.js";
4
+ import { RawCoID, SessionID, TransactionID } from "../ids.js";
5
+ import { Stringified } from "../jsonStringify.js";
6
+ import { JsonObject, JsonValue } from "../jsonValue.js";
7
+ import { PermissionsDef as RulesetDef } from "../permissions.js";
8
+ import { CoValueKnownState, NewContentMessage } from "../sync.js";
9
+ import { TryAddTransactionsError } from "./coValueCore.js";
10
+ export type CoValueHeader = {
11
+ type: AnyRawCoValue["type"];
12
+ ruleset: RulesetDef;
13
+ meta: JsonObject | null;
14
+ } & CoValueUniqueness;
15
+ export type CoValueUniqueness = {
16
+ uniqueness: JsonValue;
17
+ createdAt?: `2${string}` | null;
18
+ };
19
+ export type PrivateTransaction = {
20
+ privacy: "private";
21
+ madeAt: number;
22
+ keyUsed: KeyID;
23
+ encryptedChanges: Encrypted<JsonValue[], {
24
+ in: RawCoID;
25
+ tx: TransactionID;
26
+ }>;
27
+ };
28
+ export type TrustingTransaction = {
29
+ privacy: "trusting";
30
+ madeAt: number;
31
+ changes: Stringified<JsonValue[]>;
32
+ };
33
+ export type Transaction = PrivateTransaction | TrustingTransaction;
34
+ type SessionLog = {
35
+ readonly transactions: Transaction[];
36
+ lastHash?: Hash;
37
+ streamingHash: StreamingHash;
38
+ readonly signatureAfter: {
39
+ [txIdx: number]: Signature | undefined;
40
+ };
41
+ lastSignature: Signature;
42
+ };
43
+ export type ValidatedSessions = Map<SessionID, SessionLog>;
44
+ export declare class VerifiedState {
45
+ readonly id: RawCoID;
46
+ readonly crypto: CryptoProvider;
47
+ readonly header: CoValueHeader;
48
+ readonly sessions: ValidatedSessions;
49
+ private _cachedKnownState?;
50
+ private _cachedNewContentSinceEmpty;
51
+ constructor(id: RawCoID, crypto: CryptoProvider, header: CoValueHeader, sessions: ValidatedSessions);
52
+ clone(): VerifiedState;
53
+ tryAddTransactions(sessionID: SessionID, signerID: SignerID, newTransactions: Transaction[], givenExpectedNewHash: Hash | undefined, newSignature: Signature, skipVerify?: boolean, givenNewStreamingHash?: StreamingHash): Result<true, TryAddTransactionsError>;
54
+ private doAddTransactions;
55
+ expectedNewHashAfter(sessionID: SessionID, newTransactions: Transaction[]): {
56
+ expectedNewHash: Hash;
57
+ newStreamingHash: StreamingHash;
58
+ };
59
+ newContentSince(knownState: CoValueKnownState | undefined): NewContentMessage[] | undefined;
60
+ knownState(): CoValueKnownState;
61
+ /** @internal */
62
+ knownStateUncached(): CoValueKnownState;
63
+ }
64
+ export {};
65
+ //# sourceMappingURL=verifiedState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifiedState.d.ts","sourceRoot":"","sources":["../../src/coValueCore/verifiedState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ import { err, ok } from "neverthrow";
2
+ import { StreamingHash, } from "../crypto/crypto.js";
3
+ import { getPriorityFromHeader } from "../priority.js";
4
+ import { MAX_RECOMMENDED_TX_SIZE, } from "./coValueCore.js";
5
+ export class VerifiedState {
6
+ constructor(id, crypto, header, sessions) {
7
+ this.id = id;
8
+ this.crypto = crypto;
9
+ this.header = header;
10
+ this.sessions = sessions;
11
+ }
12
+ clone() {
13
+ // do a deep clone, including the sessions
14
+ const clonedSessions = new Map();
15
+ for (let [sessionID, sessionLog] of this.sessions) {
16
+ clonedSessions.set(sessionID, {
17
+ lastSignature: sessionLog.lastSignature,
18
+ lastHash: sessionLog.lastHash,
19
+ streamingHash: sessionLog.streamingHash.clone(),
20
+ signatureAfter: { ...sessionLog.signatureAfter },
21
+ transactions: sessionLog.transactions.slice(),
22
+ });
23
+ }
24
+ return new VerifiedState(this.id, this.crypto, this.header, clonedSessions);
25
+ }
26
+ tryAddTransactions(sessionID, signerID, newTransactions, givenExpectedNewHash, newSignature, skipVerify = false, givenNewStreamingHash) {
27
+ if (skipVerify === true && givenNewStreamingHash && givenExpectedNewHash) {
28
+ this.doAddTransactions(sessionID, newTransactions, newSignature, givenExpectedNewHash, givenNewStreamingHash);
29
+ }
30
+ else {
31
+ const { expectedNewHash, newStreamingHash } = this.expectedNewHashAfter(sessionID, newTransactions);
32
+ if (givenExpectedNewHash && givenExpectedNewHash !== expectedNewHash) {
33
+ return err({
34
+ type: "InvalidHash",
35
+ id: this.id,
36
+ expectedNewHash,
37
+ givenExpectedNewHash,
38
+ });
39
+ }
40
+ if (!this.crypto.verify(newSignature, expectedNewHash, signerID)) {
41
+ return err({
42
+ type: "InvalidSignature",
43
+ id: this.id,
44
+ newSignature,
45
+ sessionID,
46
+ signerID,
47
+ });
48
+ }
49
+ this.doAddTransactions(sessionID, newTransactions, newSignature, expectedNewHash, newStreamingHash);
50
+ }
51
+ return ok(true);
52
+ }
53
+ doAddTransactions(sessionID, newTransactions, newSignature, expectedNewHash, newStreamingHash) {
54
+ const transactions = this.sessions.get(sessionID)?.transactions ?? [];
55
+ for (const tx of newTransactions) {
56
+ transactions.push(tx);
57
+ }
58
+ const signatureAfter = this.sessions.get(sessionID)?.signatureAfter ?? {};
59
+ const lastInbetweenSignatureIdx = Object.keys(signatureAfter).reduce((max, idx) => (parseInt(idx) > max ? parseInt(idx) : max), -1);
60
+ const sizeOfTxsSinceLastInbetweenSignature = transactions
61
+ .slice(lastInbetweenSignatureIdx + 1)
62
+ .reduce((sum, tx) => sum +
63
+ (tx.privacy === "private"
64
+ ? tx.encryptedChanges.length
65
+ : tx.changes.length), 0);
66
+ if (sizeOfTxsSinceLastInbetweenSignature > MAX_RECOMMENDED_TX_SIZE) {
67
+ signatureAfter[transactions.length - 1] = newSignature;
68
+ }
69
+ this.sessions.set(sessionID, {
70
+ transactions,
71
+ lastHash: expectedNewHash,
72
+ streamingHash: newStreamingHash,
73
+ lastSignature: newSignature,
74
+ signatureAfter: signatureAfter,
75
+ });
76
+ this._cachedNewContentSinceEmpty = undefined;
77
+ this._cachedKnownState = undefined;
78
+ }
79
+ expectedNewHashAfter(sessionID, newTransactions) {
80
+ const streamingHash = this.sessions.get(sessionID)?.streamingHash.clone() ??
81
+ new StreamingHash(this.crypto);
82
+ for (const transaction of newTransactions) {
83
+ streamingHash.update(transaction);
84
+ }
85
+ return {
86
+ expectedNewHash: streamingHash.digest(),
87
+ newStreamingHash: streamingHash,
88
+ };
89
+ }
90
+ newContentSince(knownState) {
91
+ const isKnownStateEmpty = !knownState?.header && !knownState?.sessions;
92
+ if (isKnownStateEmpty && this._cachedNewContentSinceEmpty) {
93
+ return this._cachedNewContentSinceEmpty;
94
+ }
95
+ let currentPiece = {
96
+ action: "content",
97
+ id: this.id,
98
+ header: knownState?.header ? undefined : this.header,
99
+ priority: getPriorityFromHeader(this.header),
100
+ new: {},
101
+ };
102
+ const pieces = [currentPiece];
103
+ const sentState = {};
104
+ let pieceSize = 0;
105
+ let sessionsTodoAgain = "first";
106
+ while (sessionsTodoAgain === "first" || sessionsTodoAgain?.size || 0 > 0) {
107
+ if (sessionsTodoAgain === "first") {
108
+ sessionsTodoAgain = undefined;
109
+ }
110
+ const sessionsTodo = sessionsTodoAgain ?? this.sessions.keys();
111
+ for (const sessionIDKey of sessionsTodo) {
112
+ const sessionID = sessionIDKey;
113
+ const log = this.sessions.get(sessionID);
114
+ const knownStateForSessionID = knownState?.sessions[sessionID];
115
+ const sentStateForSessionID = sentState[sessionID];
116
+ const nextKnownSignatureIdx = getNextKnownSignatureIdx(log, knownStateForSessionID, sentStateForSessionID);
117
+ const firstNewTxIdx = sentStateForSessionID ?? knownStateForSessionID ?? 0;
118
+ const afterLastNewTxIdx = nextKnownSignatureIdx === undefined
119
+ ? log.transactions.length
120
+ : nextKnownSignatureIdx + 1;
121
+ const nNewTx = Math.max(0, afterLastNewTxIdx - firstNewTxIdx);
122
+ if (nNewTx === 0) {
123
+ sessionsTodoAgain?.delete(sessionID);
124
+ continue;
125
+ }
126
+ if (afterLastNewTxIdx < log.transactions.length) {
127
+ if (!sessionsTodoAgain) {
128
+ sessionsTodoAgain = new Set();
129
+ }
130
+ sessionsTodoAgain.add(sessionID);
131
+ }
132
+ const oldPieceSize = pieceSize;
133
+ for (let txIdx = firstNewTxIdx; txIdx < afterLastNewTxIdx; txIdx++) {
134
+ const tx = log.transactions[txIdx];
135
+ pieceSize +=
136
+ tx.privacy === "private"
137
+ ? tx.encryptedChanges.length
138
+ : tx.changes.length;
139
+ }
140
+ if (pieceSize >= MAX_RECOMMENDED_TX_SIZE) {
141
+ currentPiece = {
142
+ action: "content",
143
+ id: this.id,
144
+ header: undefined,
145
+ new: {},
146
+ priority: getPriorityFromHeader(this.header),
147
+ };
148
+ pieces.push(currentPiece);
149
+ pieceSize = pieceSize - oldPieceSize;
150
+ }
151
+ let sessionEntry = currentPiece.new[sessionID];
152
+ if (!sessionEntry) {
153
+ sessionEntry = {
154
+ after: sentStateForSessionID ?? knownStateForSessionID ?? 0,
155
+ newTransactions: [],
156
+ lastSignature: "WILL_BE_REPLACED",
157
+ };
158
+ currentPiece.new[sessionID] = sessionEntry;
159
+ }
160
+ for (let txIdx = firstNewTxIdx; txIdx < afterLastNewTxIdx; txIdx++) {
161
+ const tx = log.transactions[txIdx];
162
+ sessionEntry.newTransactions.push(tx);
163
+ }
164
+ sessionEntry.lastSignature =
165
+ nextKnownSignatureIdx === undefined
166
+ ? log.lastSignature
167
+ : log.signatureAfter[nextKnownSignatureIdx];
168
+ sentState[sessionID] =
169
+ (sentStateForSessionID ?? knownStateForSessionID ?? 0) + nNewTx;
170
+ }
171
+ }
172
+ const piecesWithContent = pieces.filter((piece) => Object.keys(piece.new).length > 0 || piece.header);
173
+ if (piecesWithContent.length === 0) {
174
+ return undefined;
175
+ }
176
+ if (isKnownStateEmpty) {
177
+ this._cachedNewContentSinceEmpty = piecesWithContent;
178
+ }
179
+ return piecesWithContent;
180
+ }
181
+ knownState() {
182
+ if (this._cachedKnownState) {
183
+ return this._cachedKnownState;
184
+ }
185
+ else {
186
+ const knownState = this.knownStateUncached();
187
+ this._cachedKnownState = knownState;
188
+ return knownState;
189
+ }
190
+ }
191
+ /** @internal */
192
+ knownStateUncached() {
193
+ const sessions = {};
194
+ for (const [sessionID, sessionLog] of this.sessions.entries()) {
195
+ sessions[sessionID] = sessionLog.transactions.length;
196
+ }
197
+ return {
198
+ id: this.id,
199
+ header: true,
200
+ sessions,
201
+ };
202
+ }
203
+ }
204
+ function getNextKnownSignatureIdx(log, knownStateForSessionID, sentStateForSessionID) {
205
+ return Object.keys(log.signatureAfter)
206
+ .map(Number)
207
+ .sort((a, b) => a - b)
208
+ .find((idx) => idx >= (sentStateForSessionID ?? knownStateForSessionID ?? -1));
209
+ }
210
+ //# sourceMappingURL=verifiedState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifiedState.js","sourceRoot":"","sources":["../../src/coValueCore/verifiedState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,GAAG,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAOL,aAAa,GACd,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAGL,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAuC1B,MAAM,OAAO,aAAa;IAQxB,YACE,EAAW,EACX,MAAsB,EACtB,MAAqB,EACrB,QAA2B;QAE3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,0CAA0C;QAC1C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QACjC,KAAK,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClD,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE;gBAC5B,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;gBAC/C,cAAc,EAAE,EAAE,GAAG,UAAU,CAAC,cAAc,EAAE;gBAChD,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE;aACzB,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9E,CAAC;IAED,kBAAkB,CAChB,SAAoB,EACpB,QAAkB,EAClB,eAA8B,EAC9B,oBAAsC,EACtC,YAAuB,EACvB,aAAsB,KAAK,EAC3B,qBAAqC;QAErC,IAAI,UAAU,KAAK,IAAI,IAAI,qBAAqB,IAAI,oBAAoB,EAAE,CAAC;YACzE,IAAI,CAAC,iBAAiB,CACpB,SAAS,EACT,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,CACtB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,oBAAoB,CACrE,SAAS,EACT,eAAe,CAChB,CAAC;YAEF,IAAI,oBAAoB,IAAI,oBAAoB,KAAK,eAAe,EAAE,CAAC;gBACrE,OAAO,GAAG,CAAC;oBACT,IAAI,EAAE,aAAa;oBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,eAAe;oBACf,oBAAoB;iBACM,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACjE,OAAO,GAAG,CAAC;oBACT,IAAI,EAAE,kBAAkB;oBACxB,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,YAAY;oBACZ,SAAS;oBACT,QAAQ;iBACuB,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,CAAC,iBAAiB,CACpB,SAAS,EACT,eAAe,EACf,YAAY,EACZ,eAAe,EACf,gBAAgB,CACjB,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC,IAAa,CAAC,CAAC;IAC3B,CAAC;IAEO,iBAAiB,CACvB,SAAoB,EACpB,eAA8B,EAC9B,YAAuB,EACvB,eAAqB,EACrB,gBAA+B;QAE/B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,YAAY,IAAI,EAAE,CAAC;QAEtE,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,cAAc,IAAI,EAAE,CAAC;QAE1E,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAClE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EACzD,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,oCAAoC,GAAG,YAAY;aACtD,KAAK,CAAC,yBAAyB,GAAG,CAAC,CAAC;aACpC,MAAM,CACL,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CACV,GAAG;YACH,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS;gBACvB,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM;gBAC5B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EACxB,CAAC,CACF,CAAC;QAEJ,IAAI,oCAAoC,GAAG,uBAAuB,EAAE,CAAC;YACnE,cAAc,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;YAC3B,YAAY;YACZ,QAAQ,EAAE,eAAe;YACzB,aAAa,EAAE,gBAAgB;YAC/B,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,cAAc;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,2BAA2B,GAAG,SAAS,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACrC,CAAC;IAED,oBAAoB,CAClB,SAAoB,EACpB,eAA8B;QAE9B,MAAM,aAAa,GACjB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE;YACnD,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE,CAAC;YAC1C,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;QAED,OAAO;YACL,eAAe,EAAE,aAAa,CAAC,MAAM,EAAE;YACvC,gBAAgB,EAAE,aAAa;SAChC,CAAC;IACJ,CAAC;IAED,eAAe,CACb,UAAyC;QAEzC,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;QAEvE,IAAI,iBAAiB,IAAI,IAAI,CAAC,2BAA2B,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,2BAA2B,CAAC;QAC1C,CAAC;QAED,IAAI,YAAY,GAAsB;YACpC,MAAM,EAAE,SAAS;YACjB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;YACpD,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5C,GAAG,EAAE,EAAE;SACR,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC;QAE9B,MAAM,SAAS,GAAkC,EAAE,CAAC;QAEpD,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,IAAI,iBAAiB,GAAyC,OAAO,CAAC;QAEtE,OAAO,iBAAiB,KAAK,OAAO,IAAI,iBAAiB,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACzE,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC;gBAClC,iBAAiB,GAAG,SAAS,CAAC;YAChC,CAAC;YACD,MAAM,YAAY,GAAG,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAE/D,KAAK,MAAM,YAAY,IAAI,YAAY,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG,YAAyB,CAAC;gBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;gBAC1C,MAAM,sBAAsB,GAAG,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC/D,MAAM,qBAAqB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;gBACnD,MAAM,qBAAqB,GAAG,wBAAwB,CACpD,GAAG,EACH,sBAAsB,EACtB,qBAAqB,CACtB,CAAC;gBAEF,MAAM,aAAa,GACjB,qBAAqB,IAAI,sBAAsB,IAAI,CAAC,CAAC;gBACvD,MAAM,iBAAiB,GACrB,qBAAqB,KAAK,SAAS;oBACjC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM;oBACzB,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC;gBAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAAC,CAAC;gBAE9D,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjB,iBAAiB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;oBACrC,SAAS;gBACX,CAAC;gBAED,IAAI,iBAAiB,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;oBAChD,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;oBAChC,CAAC;oBACD,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC;gBAED,MAAM,YAAY,GAAG,SAAS,CAAC;gBAC/B,KAAK,IAAI,KAAK,GAAG,aAAa,EAAE,KAAK,GAAG,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAC;oBACnE,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC;oBACpC,SAAS;wBACP,EAAE,CAAC,OAAO,KAAK,SAAS;4BACtB,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM;4BAC5B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC1B,CAAC;gBAED,IAAI,SAAS,IAAI,uBAAuB,EAAE,CAAC;oBACzC,YAAY,GAAG;wBACb,MAAM,EAAE,SAAS;wBACjB,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,MAAM,EAAE,SAAS;wBACjB,GAAG,EAAE,EAAE;wBACP,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;qBAC7C,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC1B,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;gBACvC,CAAC;gBAED,IAAI,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,YAAY,GAAG;wBACb,KAAK,EAAE,qBAAqB,IAAI,sBAAsB,IAAI,CAAC;wBAC3D,eAAe,EAAE,EAAE;wBACnB,aAAa,EAAE,kBAA+B;qBAC/C,CAAC;oBACF,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;gBAC7C,CAAC;gBAED,KAAK,IAAI,KAAK,GAAG,aAAa,EAAE,KAAK,GAAG,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAC;oBACnE,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAE,CAAC;oBACpC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxC,CAAC;gBAED,YAAY,CAAC,aAAa;oBACxB,qBAAqB,KAAK,SAAS;wBACjC,CAAC,CAAC,GAAG,CAAC,aAAc;wBACpB,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,qBAAqB,CAAE,CAAC;gBAEjD,SAAS,CAAC,SAAS,CAAC;oBAClB,CAAC,qBAAqB,IAAI,sBAAsB,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;YACpE,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CACrC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAC7D,CAAC;QAEF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC,2BAA2B,GAAG,iBAAiB,CAAC;QACvD,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7C,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;YACpC,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,kBAAkB;QAChB,MAAM,QAAQ,GAAkC,EAAE,CAAC;QAEnD,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,QAAQ,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC;QACvD,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI;YACZ,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AAED,SAAS,wBAAwB,CAC/B,GAAe,EACf,sBAA+B,EAC/B,qBAA8B;IAE9B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;SACnC,GAAG,CAAC,MAAM,CAAC;SACX,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SACrB,IAAI,CACH,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,qBAAqB,IAAI,sBAAsB,IAAI,CAAC,CAAC,CAAC,CACxE,CAAC;AACN,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { CoID, RawCoValue } from "../coValue.js";
2
- import { CoValueCore, CoValueHeader, CoValueUniqueness } from "../coValueCore.js";
2
+ import { CoValueHeader } from "../coValueCore/verifiedState.js";
3
3
  import { AgentSecret, CryptoProvider, SealerID, SealerSecret, SignerID, SignerSecret } from "../crypto/crypto.js";
4
4
  import { AgentID } from "../ids.js";
5
5
  import { JsonObject } from "../jsonValue.js";
@@ -27,16 +27,13 @@ export interface ControlledAccountOrAgent {
27
27
  currentSealerSecret: () => SealerSecret;
28
28
  }
29
29
  /** @hidden */
30
- export declare class RawControlledAccount<Meta extends AccountMeta = AccountMeta> extends RawAccount<Meta> implements ControlledAccountOrAgent {
30
+ export declare class ControlledAccount implements ControlledAccountOrAgent {
31
+ account: RawAccount<AccountMeta>;
31
32
  agentSecret: AgentSecret;
33
+ _cachedCurrentAgentID: AgentID | undefined;
32
34
  crypto: CryptoProvider;
33
- constructor(core: CoValueCore, agentSecret: AgentSecret);
34
- /**
35
- * Creates a new group (with the current account as the group's first admin).
36
- * @category 1. High-level
37
- */
38
- createGroup(uniqueness?: CoValueUniqueness): RawGroup<JsonObject | null>;
39
- acceptInvite<T extends RawCoValue>(groupOrOwnedValueID: CoID<T>, inviteSecret: InviteSecret): Promise<void>;
35
+ constructor(account: RawAccount<AccountMeta>, agentSecret: AgentSecret);
36
+ get id(): RawAccountID;
40
37
  currentAgentID(): AgentID;
41
38
  currentSignerID(): `signer_z${string}`;
42
39
  currentSignerSecret(): SignerSecret;
@@ -63,7 +60,8 @@ export type ProfileShape = {
63
60
  };
64
61
  export declare class RawProfile<Shape extends ProfileShape = ProfileShape, Meta extends JsonObject | null = JsonObject | null> extends RawCoMap<Shape, Meta> {
65
62
  }
66
- export type RawAccountMigration<Meta extends AccountMeta = AccountMeta> = (account: RawControlledAccount<Meta>, localNode: LocalNode, creationProps?: {
63
+ export type RawAccountMigration<Meta extends AccountMeta = AccountMeta> = (account: RawAccount<Meta>, localNode: LocalNode, creationProps?: {
67
64
  name: string;
68
65
  }) => void | Promise<void>;
66
+ export declare function expectAccount(content: RawCoValue): RawAccount;
69
67
  //# sourceMappingURL=account.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/coValues/account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/coValues/account.ts"],"names":[],"mappings":"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"}
@@ -33,21 +33,14 @@ export class RawAccount extends RawGroup {
33
33
  }
34
34
  }
35
35
  /** @hidden */
36
- export class RawControlledAccount extends RawAccount {
37
- constructor(core, agentSecret) {
38
- super(core);
36
+ export class ControlledAccount {
37
+ constructor(account, agentSecret) {
38
+ this.account = account;
39
39
  this.agentSecret = agentSecret;
40
- this.crypto = core.node.crypto;
40
+ this.crypto = account.core.node.crypto;
41
41
  }
42
- /**
43
- * Creates a new group (with the current account as the group's first admin).
44
- * @category 1. High-level
45
- */
46
- createGroup(uniqueness = this.core.crypto.createdNowUnique()) {
47
- return this.core.node.createGroup(uniqueness);
48
- }
49
- async acceptInvite(groupOrOwnedValueID, inviteSecret) {
50
- return this.core.node.acceptInvite(groupOrOwnedValueID, inviteSecret);
42
+ get id() {
43
+ return this.account.id;
51
44
  }
52
45
  currentAgentID() {
53
46
  if (this._cachedCurrentAgentID) {
@@ -96,4 +89,10 @@ export class ControlledAgent {
96
89
  }
97
90
  export class RawProfile extends RawCoMap {
98
91
  }
92
+ export function expectAccount(content) {
93
+ if (!(content instanceof RawAccount)) {
94
+ throw new Error("Expected an account");
95
+ }
96
+ return content;
97
+ }
99
98
  //# sourceMappingURL=account.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/coValues/account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/coValues/account.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { CoID, RawCoValue } from "../coValue.js";
2
- import { CoValueCore } from "../coValueCore.js";
2
+ import { AvailableCoValueCore } from "../coValueCore/coValueCore.js";
3
3
  import { AgentID, SessionID, TransactionID } from "../ids.js";
4
4
  import { JsonObject, JsonValue } from "../jsonValue.js";
5
+ import { CoValueKnownState } from "../sync.js";
5
6
  import { RawAccountID } from "./account.js";
6
7
  import { RawGroup } from "./group.js";
7
8
  export type OpID = TransactionID & {
@@ -30,13 +31,13 @@ type DeletionEntry = {
30
31
  madeAt: number;
31
32
  deletionID: OpID;
32
33
  } & DeletionOpPayload;
33
- export declare class RawCoListView<Item extends JsonValue = JsonValue, Meta extends JsonObject | null = null> implements RawCoValue {
34
+ export declare class RawCoList<Item extends JsonValue = JsonValue, Meta extends JsonObject | null = null> implements RawCoValue {
34
35
  /** @category 6. Meta */
35
36
  id: CoID<this>;
36
37
  /** @category 6. Meta */
37
38
  type: "colist" | "coplaintext";
38
39
  /** @category 6. Meta */
39
- core: CoValueCore;
40
+ core: AvailableCoValueCore;
40
41
  /** @internal */
41
42
  afterStart: OpID[];
42
43
  /** @internal */
@@ -66,7 +67,12 @@ export declare class RawCoListView<Item extends JsonValue = JsonValue, Meta exte
66
67
  opID: OpID;
67
68
  }[];
68
69
  /** @internal */
69
- constructor(core: CoValueCore);
70
+ totalValidTransactions: number;
71
+ knownTransactions: CoValueKnownState["sessions"];
72
+ lastValidTransaction: number | undefined;
73
+ /** @internal */
74
+ constructor(core: AvailableCoValueCore);
75
+ processNewTransactions(): void;
70
76
  /** @category 6. Meta */
71
77
  get headerMeta(): Meta;
72
78
  /** @category 6. Meta */
@@ -124,8 +130,6 @@ export declare class RawCoListView<Item extends JsonValue = JsonValue, Meta exte
124
130
  }[];
125
131
  /** @category 3. Subscription */
126
132
  subscribe(listener: (coList: this) => void): () => void;
127
- }
128
- export declare class RawCoList<Item extends JsonValue = JsonValue, Meta extends JsonObject | null = JsonObject | null> extends RawCoListView<Item, Meta> implements RawCoValue {
129
133
  /** Appends `item` after the item currently at index `after`.
130
134
  *
131
135
  * If `privacy` is `"private"` **(default)**, `item` is encrypted in the transaction, only readable by other members of the group this `CoList` belongs to. Not even sync servers can see the content in plaintext.
@@ -1 +1 @@
1
- {"version":3,"file":"coList.d.ts","sourceRoot":"","sources":["../../src/coValues/coList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coList.d.ts","sourceRoot":"","sources":["../../src/coValues/coList.ts"],"names":[],"mappings":"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"}