cojson 0.10.0 → 0.10.2

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 (212) hide show
  1. package/.turbo/turbo-build.log +2 -10
  2. package/CHANGELOG.md +13 -0
  3. package/dist/CoValuesStore.js.map +1 -0
  4. package/dist/PeerKnownStates.js.map +1 -0
  5. package/dist/PeerState.js.map +1 -0
  6. package/dist/PriorityBasedMessageQueue.js.map +1 -0
  7. package/dist/SyncStateManager.js.map +1 -0
  8. package/dist/base64url.js.map +1 -0
  9. package/dist/base64url.test.js.map +1 -0
  10. package/dist/coValue.js.map +1 -0
  11. package/dist/coValueCore.js.map +1 -0
  12. package/dist/{native/coValueState.js → coValueState.js} +1 -0
  13. package/dist/coValueState.js.map +1 -0
  14. package/dist/coValues/account.js.map +1 -0
  15. package/dist/coValues/coList.js.map +1 -0
  16. package/dist/coValues/coMap.js.map +1 -0
  17. package/dist/coValues/coPlainText.js.map +1 -0
  18. package/dist/coValues/coStream.js.map +1 -0
  19. package/dist/coValues/group.js.map +1 -0
  20. package/dist/coreToCoValue.js.map +1 -0
  21. package/dist/crypto/PureJSCrypto.js.map +1 -0
  22. package/dist/crypto/WasmCrypto.js.map +1 -0
  23. package/dist/crypto/crypto.js.map +1 -0
  24. package/dist/exports.js.map +1 -0
  25. package/dist/ids.js.map +1 -0
  26. package/dist/index.js +2 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/jsonStringify.js.map +1 -0
  29. package/dist/{native/jsonValue.js.map → jsonValue.js.map} +1 -1
  30. package/dist/localNode.js.map +1 -0
  31. package/dist/logger.js.map +1 -0
  32. package/dist/media.js.map +1 -0
  33. package/dist/permissions.js.map +1 -0
  34. package/dist/priority.js.map +1 -0
  35. package/dist/storage/FileSystem.js.map +1 -0
  36. package/dist/storage/chunksAndKnownStates.js.map +1 -0
  37. package/dist/storage/index.js.map +1 -0
  38. package/dist/streamUtils.js.map +1 -0
  39. package/dist/{web/sync.js → sync.js} +5 -1
  40. package/dist/sync.js.map +1 -0
  41. package/dist/typeUtils/accountOrAgentIDfromSessionID.js.map +1 -0
  42. package/dist/typeUtils/expectGroup.js.map +1 -0
  43. package/dist/typeUtils/isAccountID.js.map +1 -0
  44. package/dist/typeUtils/isCoValue.js.map +1 -0
  45. package/package.json +19 -21
  46. package/src/coValueState.ts +1 -0
  47. package/src/exports.ts +1 -0
  48. package/src/index.ts +1 -0
  49. package/src/sync.ts +5 -1
  50. package/tsconfig.json +3 -1
  51. package/dist/native/CoValuesStore.js.map +0 -1
  52. package/dist/native/PeerKnownStates.js.map +0 -1
  53. package/dist/native/PeerState.js.map +0 -1
  54. package/dist/native/PriorityBasedMessageQueue.js.map +0 -1
  55. package/dist/native/SyncStateManager.js.map +0 -1
  56. package/dist/native/base64url.js.map +0 -1
  57. package/dist/native/base64url.test.js.map +0 -1
  58. package/dist/native/coValue.js.map +0 -1
  59. package/dist/native/coValueCore.js.map +0 -1
  60. package/dist/native/coValueState.js.map +0 -1
  61. package/dist/native/coValues/account.js.map +0 -1
  62. package/dist/native/coValues/coList.js.map +0 -1
  63. package/dist/native/coValues/coMap.js.map +0 -1
  64. package/dist/native/coValues/coPlainText.js.map +0 -1
  65. package/dist/native/coValues/coStream.js.map +0 -1
  66. package/dist/native/coValues/group.js.map +0 -1
  67. package/dist/native/coreToCoValue.js.map +0 -1
  68. package/dist/native/crypto/PureJSCrypto.js.map +0 -1
  69. package/dist/native/crypto/WasmCrypto.js.map +0 -1
  70. package/dist/native/crypto/crypto.js.map +0 -1
  71. package/dist/native/crypto/export.js +0 -3
  72. package/dist/native/crypto/export.js.map +0 -1
  73. package/dist/native/exports.js.map +0 -1
  74. package/dist/native/ids.js.map +0 -1
  75. package/dist/native/index.native.js +0 -3
  76. package/dist/native/index.native.js.map +0 -1
  77. package/dist/native/jsonStringify.js.map +0 -1
  78. package/dist/native/localNode.js.map +0 -1
  79. package/dist/native/logger.js.map +0 -1
  80. package/dist/native/media.js.map +0 -1
  81. package/dist/native/permissions.js.map +0 -1
  82. package/dist/native/priority.js.map +0 -1
  83. package/dist/native/storage/FileSystem.js.map +0 -1
  84. package/dist/native/storage/chunksAndKnownStates.js.map +0 -1
  85. package/dist/native/storage/index.js.map +0 -1
  86. package/dist/native/streamUtils.js.map +0 -1
  87. package/dist/native/sync.js +0 -555
  88. package/dist/native/sync.js.map +0 -1
  89. package/dist/native/typeUtils/accountOrAgentIDfromSessionID.js.map +0 -1
  90. package/dist/native/typeUtils/expectGroup.js.map +0 -1
  91. package/dist/native/typeUtils/isAccountID.js.map +0 -1
  92. package/dist/native/typeUtils/isCoValue.js.map +0 -1
  93. package/dist/web/CoValuesStore.js +0 -31
  94. package/dist/web/CoValuesStore.js.map +0 -1
  95. package/dist/web/PeerKnownStates.js +0 -68
  96. package/dist/web/PeerKnownStates.js.map +0 -1
  97. package/dist/web/PeerState.js +0 -103
  98. package/dist/web/PeerState.js.map +0 -1
  99. package/dist/web/PriorityBasedMessageQueue.js +0 -98
  100. package/dist/web/PriorityBasedMessageQueue.js.map +0 -1
  101. package/dist/web/SyncStateManager.js +0 -94
  102. package/dist/web/SyncStateManager.js.map +0 -1
  103. package/dist/web/base64url.js +0 -53
  104. package/dist/web/base64url.js.map +0 -1
  105. package/dist/web/base64url.test.js +0 -25
  106. package/dist/web/base64url.test.js.map +0 -1
  107. package/dist/web/coValue.js +0 -52
  108. package/dist/web/coValue.js.map +0 -1
  109. package/dist/web/coValueCore.js +0 -597
  110. package/dist/web/coValueCore.js.map +0 -1
  111. package/dist/web/coValueState.js +0 -267
  112. package/dist/web/coValueState.js.map +0 -1
  113. package/dist/web/coValues/account.js +0 -100
  114. package/dist/web/coValues/account.js.map +0 -1
  115. package/dist/web/coValues/coList.js +0 -381
  116. package/dist/web/coValues/coList.js.map +0 -1
  117. package/dist/web/coValues/coMap.js +0 -273
  118. package/dist/web/coValues/coMap.js.map +0 -1
  119. package/dist/web/coValues/coPlainText.js +0 -86
  120. package/dist/web/coValues/coPlainText.js.map +0 -1
  121. package/dist/web/coValues/coStream.js +0 -224
  122. package/dist/web/coValues/coStream.js.map +0 -1
  123. package/dist/web/coValues/group.js +0 -522
  124. package/dist/web/coValues/group.js.map +0 -1
  125. package/dist/web/coreToCoValue.js +0 -46
  126. package/dist/web/coreToCoValue.js.map +0 -1
  127. package/dist/web/crypto/PureJSCrypto.js +0 -94
  128. package/dist/web/crypto/PureJSCrypto.js.map +0 -1
  129. package/dist/web/crypto/WasmCrypto.js +0 -115
  130. package/dist/web/crypto/WasmCrypto.js.map +0 -1
  131. package/dist/web/crypto/crypto.js +0 -152
  132. package/dist/web/crypto/crypto.js.map +0 -1
  133. package/dist/web/crypto/export.js +0 -3
  134. package/dist/web/crypto/export.js.map +0 -1
  135. package/dist/web/exports.js +0 -48
  136. package/dist/web/exports.js.map +0 -1
  137. package/dist/web/ids.js +0 -50
  138. package/dist/web/ids.js.map +0 -1
  139. package/dist/web/index.web.js +0 -3
  140. package/dist/web/index.web.js.map +0 -1
  141. package/dist/web/jsonStringify.js +0 -57
  142. package/dist/web/jsonStringify.js.map +0 -1
  143. package/dist/web/jsonValue.js +0 -2
  144. package/dist/web/jsonValue.js.map +0 -1
  145. package/dist/web/localNode.js +0 -412
  146. package/dist/web/localNode.js.map +0 -1
  147. package/dist/web/logger.js +0 -58
  148. package/dist/web/logger.js.map +0 -1
  149. package/dist/web/media.js +0 -2
  150. package/dist/web/media.js.map +0 -1
  151. package/dist/web/permissions.js +0 -341
  152. package/dist/web/permissions.js.map +0 -1
  153. package/dist/web/priority.js +0 -31
  154. package/dist/web/priority.js.map +0 -1
  155. package/dist/web/storage/FileSystem.js +0 -48
  156. package/dist/web/storage/FileSystem.js.map +0 -1
  157. package/dist/web/storage/chunksAndKnownStates.js +0 -98
  158. package/dist/web/storage/chunksAndKnownStates.js.map +0 -1
  159. package/dist/web/storage/index.js +0 -336
  160. package/dist/web/storage/index.js.map +0 -1
  161. package/dist/web/streamUtils.js +0 -41
  162. package/dist/web/streamUtils.js.map +0 -1
  163. package/dist/web/sync.js.map +0 -1
  164. package/dist/web/typeUtils/accountOrAgentIDfromSessionID.js +0 -5
  165. package/dist/web/typeUtils/accountOrAgentIDfromSessionID.js.map +0 -1
  166. package/dist/web/typeUtils/expectGroup.js +0 -13
  167. package/dist/web/typeUtils/expectGroup.js.map +0 -1
  168. package/dist/web/typeUtils/isAccountID.js +0 -4
  169. package/dist/web/typeUtils/isAccountID.js.map +0 -1
  170. package/dist/web/typeUtils/isCoValue.js +0 -11
  171. package/dist/web/typeUtils/isCoValue.js.map +0 -1
  172. package/src/crypto/export.ts +0 -2
  173. package/src/index.native.ts +0 -2
  174. package/src/index.web.ts +0 -2
  175. package/tsconfig.native.json +0 -10
  176. package/tsconfig.web.json +0 -5
  177. /package/dist/{native/CoValuesStore.js → CoValuesStore.js} +0 -0
  178. /package/dist/{native/PeerKnownStates.js → PeerKnownStates.js} +0 -0
  179. /package/dist/{native/PeerState.js → PeerState.js} +0 -0
  180. /package/dist/{native/PriorityBasedMessageQueue.js → PriorityBasedMessageQueue.js} +0 -0
  181. /package/dist/{native/SyncStateManager.js → SyncStateManager.js} +0 -0
  182. /package/dist/{native/base64url.js → base64url.js} +0 -0
  183. /package/dist/{native/base64url.test.js → base64url.test.js} +0 -0
  184. /package/dist/{native/coValue.js → coValue.js} +0 -0
  185. /package/dist/{native/coValueCore.js → coValueCore.js} +0 -0
  186. /package/dist/{native/coValues → coValues}/account.js +0 -0
  187. /package/dist/{native/coValues → coValues}/coList.js +0 -0
  188. /package/dist/{native/coValues → coValues}/coMap.js +0 -0
  189. /package/dist/{native/coValues → coValues}/coPlainText.js +0 -0
  190. /package/dist/{native/coValues → coValues}/coStream.js +0 -0
  191. /package/dist/{native/coValues → coValues}/group.js +0 -0
  192. /package/dist/{native/coreToCoValue.js → coreToCoValue.js} +0 -0
  193. /package/dist/{native/crypto → crypto}/PureJSCrypto.js +0 -0
  194. /package/dist/{native/crypto → crypto}/WasmCrypto.js +0 -0
  195. /package/dist/{native/crypto → crypto}/crypto.js +0 -0
  196. /package/dist/{native/exports.js → exports.js} +0 -0
  197. /package/dist/{native/ids.js → ids.js} +0 -0
  198. /package/dist/{native/jsonStringify.js → jsonStringify.js} +0 -0
  199. /package/dist/{native/jsonValue.js → jsonValue.js} +0 -0
  200. /package/dist/{native/localNode.js → localNode.js} +0 -0
  201. /package/dist/{native/logger.js → logger.js} +0 -0
  202. /package/dist/{native/media.js → media.js} +0 -0
  203. /package/dist/{native/permissions.js → permissions.js} +0 -0
  204. /package/dist/{native/priority.js → priority.js} +0 -0
  205. /package/dist/{native/storage → storage}/FileSystem.js +0 -0
  206. /package/dist/{native/storage → storage}/chunksAndKnownStates.js +0 -0
  207. /package/dist/{native/storage → storage}/index.js +0 -0
  208. /package/dist/{native/streamUtils.js → streamUtils.js} +0 -0
  209. /package/dist/{native/typeUtils → typeUtils}/accountOrAgentIDfromSessionID.js +0 -0
  210. /package/dist/{native/typeUtils → typeUtils}/expectGroup.js +0 -0
  211. /package/dist/{native/typeUtils → typeUtils}/isAccountID.js +0 -0
  212. /package/dist/{native/typeUtils → typeUtils}/isCoValue.js +0 -0
@@ -1,336 +0,0 @@
1
- import { logger } from "../logger.js";
2
- import { connectedPeers } from "../streamUtils.js";
3
- import { readChunk, readHeader, textDecoder, writeBlock, writeToWal, } from "./FileSystem.js";
4
- import { chunkToKnownState, contentSinceChunk, mergeChunks, } from "./chunksAndKnownStates.js";
5
- const MAX_N_LEVELS = 3;
6
- export class LSMStorage {
7
- constructor(fs, fromLocalNode, toLocalNode) {
8
- this.fs = fs;
9
- this.fromLocalNode = fromLocalNode;
10
- this.toLocalNode = toLocalNode;
11
- this.headerCache = new Map();
12
- this.blockFileHandles = new Map();
13
- this.coValues = {};
14
- this.currentWal = undefined;
15
- let nMsg = 0;
16
- const processMessages = async () => {
17
- for await (const msg of fromLocalNode) {
18
- try {
19
- if (msg === "Disconnected" || msg === "PingTimeout") {
20
- throw new Error("Unexpected Disconnected message");
21
- }
22
- if (msg.action === "done") {
23
- return;
24
- }
25
- if (msg.action === "content") {
26
- await this.handleNewContent(msg);
27
- }
28
- else if (msg.action === "load" || msg.action === "known") {
29
- await this.sendNewContent(msg.id, msg, undefined);
30
- }
31
- }
32
- catch (e) {
33
- logger.error(`Error reading from localNode, handling msg\n\n${JSON.stringify(msg, (k, v) => k === "changes" || k === "encryptedChanges"
34
- ? v.slice(0, 20) + "..."
35
- : v)}
36
- Error: ${e instanceof Error ? e.message : "Unknown error"},
37
- `);
38
- }
39
- nMsg++;
40
- }
41
- };
42
- processMessages().catch((e) => logger.error("Error in processMessages in storage", e));
43
- setTimeout(() => this.compact().catch((e) => {
44
- logger.error("Error while compacting", e);
45
- }), 20000);
46
- }
47
- async sendNewContent(id, known, asDependencyOf) {
48
- let coValue = this.coValues[id];
49
- if (!coValue) {
50
- coValue = await this.loadCoValue(id, this.fs);
51
- }
52
- if (!coValue) {
53
- this.toLocalNode
54
- .push({
55
- id: id,
56
- action: "known",
57
- header: false,
58
- sessions: {},
59
- asDependencyOf,
60
- })
61
- .catch((e) => logger.error("Error while pushing known", e));
62
- return;
63
- }
64
- if (!known?.header && coValue.header?.ruleset.type === "ownedByGroup") {
65
- await this.sendNewContent(coValue.header.ruleset.group, undefined, asDependencyOf || id);
66
- }
67
- else if (!known?.header && coValue.header?.ruleset.type === "group") {
68
- const dependedOnAccountsAndGroups = new Set();
69
- for (const session of Object.values(coValue.sessionEntries)) {
70
- for (const entry of session) {
71
- for (const tx of entry.transactions) {
72
- if (tx.privacy === "trusting") {
73
- const parsedChanges = JSON.parse(tx.changes);
74
- for (const change of parsedChanges) {
75
- if (change.op === "set" && change.key.startsWith("co_")) {
76
- dependedOnAccountsAndGroups.add(change.key);
77
- }
78
- if (change.op === "set" &&
79
- change.key.startsWith("parent_co_")) {
80
- dependedOnAccountsAndGroups.add(change.key.replace("parent_", ""));
81
- }
82
- }
83
- }
84
- }
85
- }
86
- }
87
- for (const accountOrGroup of dependedOnAccountsAndGroups) {
88
- await this.sendNewContent(accountOrGroup, undefined, asDependencyOf || id);
89
- }
90
- }
91
- const newContentMessages = contentSinceChunk(id, coValue, known).map((message) => ({ ...message, asDependencyOf }));
92
- const ourKnown = chunkToKnownState(id, coValue);
93
- this.toLocalNode
94
- .push({
95
- action: "known",
96
- ...ourKnown,
97
- asDependencyOf,
98
- })
99
- .catch((e) => logger.error("Error while pushing known", e));
100
- for (const message of newContentMessages) {
101
- if (Object.keys(message.new).length === 0)
102
- continue;
103
- this.toLocalNode
104
- .push(message)
105
- .catch((e) => logger.error("Error while pushing new content", e));
106
- }
107
- this.coValues[id] = coValue;
108
- }
109
- async withWAL(handler) {
110
- if (!this.currentWal) {
111
- this.currentWal = await this.fs.createFile(`wal-${Date.now()}-${Math.random().toString(36).slice(2)}.jsonl`);
112
- }
113
- await handler(this.currentWal);
114
- }
115
- async handleNewContent(newContent) {
116
- const coValue = this.coValues[newContent.id];
117
- const newContentAsChunk = {
118
- header: newContent.header,
119
- sessionEntries: Object.fromEntries(Object.entries(newContent.new).map(([sessionID, newInSession]) => [
120
- sessionID,
121
- [
122
- {
123
- after: newInSession.after,
124
- lastSignature: newInSession.lastSignature,
125
- transactions: newInSession.newTransactions,
126
- },
127
- ],
128
- ])),
129
- };
130
- if (!coValue) {
131
- if (newContent.header) {
132
- await this.withWAL((wal) => writeToWal(wal, this.fs, newContent.id, newContentAsChunk));
133
- this.coValues[newContent.id] = newContentAsChunk;
134
- }
135
- else {
136
- logger.warn("Incontiguous incoming update for " + newContent.id);
137
- return;
138
- }
139
- }
140
- else {
141
- const merged = mergeChunks(coValue, newContentAsChunk);
142
- if (merged === "nonContigous") {
143
- console.warn("Non-contigous new content for " + newContent.id, Object.entries(coValue.sessionEntries).map(([session, entries]) => entries.map((entry) => ({
144
- session: session,
145
- after: entry.after,
146
- length: entry.transactions.length,
147
- }))), Object.entries(newContentAsChunk.sessionEntries).map(([session, entries]) => entries.map((entry) => ({
148
- session: session,
149
- after: entry.after,
150
- length: entry.transactions.length,
151
- }))));
152
- }
153
- else {
154
- await this.withWAL((wal) => writeToWal(wal, this.fs, newContent.id, newContentAsChunk));
155
- this.coValues[newContent.id] = merged;
156
- }
157
- }
158
- }
159
- async getBlockHandle(blockFile, fs) {
160
- if (!this.blockFileHandles.has(blockFile)) {
161
- this.blockFileHandles.set(blockFile, fs.openToRead(blockFile));
162
- }
163
- return this.blockFileHandles.get(blockFile);
164
- }
165
- async loadCoValue(id, fs) {
166
- const files = this.fileCache || (await fs.listFiles());
167
- this.fileCache = files;
168
- const blockFiles = files.filter((name) => name.startsWith("L")).sort();
169
- let result;
170
- for (const blockFile of blockFiles) {
171
- let cachedHeader = this.headerCache.get(blockFile);
172
- const { handle, size } = await this.getBlockHandle(blockFile, fs);
173
- if (!cachedHeader) {
174
- cachedHeader = {};
175
- const header = await readHeader(blockFile, handle, size, fs);
176
- for (const entry of header) {
177
- cachedHeader[entry.id] = {
178
- start: entry.start,
179
- length: entry.length,
180
- };
181
- }
182
- this.headerCache.set(blockFile, cachedHeader);
183
- }
184
- const headerEntry = cachedHeader[id];
185
- if (headerEntry) {
186
- const nextChunk = await readChunk(handle, headerEntry, fs);
187
- if (result) {
188
- const merged = mergeChunks(result, nextChunk);
189
- if (merged === "nonContigous") {
190
- console.warn("Non-contigous chunks while loading " + id, result, nextChunk);
191
- }
192
- else {
193
- result = merged;
194
- }
195
- }
196
- else {
197
- result = nextChunk;
198
- }
199
- }
200
- // await fs.close(handle);
201
- }
202
- return result;
203
- }
204
- async compact() {
205
- const fileNames = await this.fs.listFiles();
206
- const walFiles = fileNames.filter((name) => name.startsWith("wal-"));
207
- walFiles.sort();
208
- const coValues = new Map();
209
- if (walFiles.length === 0)
210
- return;
211
- const oldWal = this.currentWal;
212
- this.currentWal = undefined;
213
- if (oldWal) {
214
- await this.fs.close(oldWal);
215
- }
216
- for (const fileName of walFiles) {
217
- const { handle, size } = await this.fs.openToRead(fileName);
218
- if (size === 0) {
219
- await this.fs.close(handle);
220
- continue;
221
- }
222
- const bytes = await this.fs.read(handle, 0, size);
223
- const decoded = textDecoder.decode(bytes);
224
- const lines = decoded.split("\n");
225
- for (const line of lines) {
226
- if (line.length === 0)
227
- continue;
228
- const chunk = JSON.parse(line);
229
- const existingChunk = coValues.get(chunk.id);
230
- if (existingChunk) {
231
- const merged = mergeChunks(existingChunk, chunk);
232
- if (merged === "nonContigous") {
233
- console.log("Non-contigous chunks in " + chunk.id + ", " + fileName, existingChunk, chunk);
234
- }
235
- else {
236
- coValues.set(chunk.id, merged);
237
- }
238
- }
239
- else {
240
- coValues.set(chunk.id, chunk);
241
- }
242
- }
243
- await this.fs.close(handle);
244
- }
245
- const highestBlockNumber = fileNames.reduce((acc, name) => {
246
- if (name.startsWith("L" + MAX_N_LEVELS)) {
247
- const num = parseInt(name.split("-")[1]);
248
- if (num > acc) {
249
- return num;
250
- }
251
- }
252
- return acc;
253
- }, 0);
254
- await writeBlock(coValues, MAX_N_LEVELS, highestBlockNumber + 1, this.fs);
255
- for (const walFile of walFiles) {
256
- await this.fs.removeFile(walFile);
257
- }
258
- this.fileCache = undefined;
259
- const fileNames2 = await this.fs.listFiles();
260
- const blockFiles = fileNames2.filter((name) => name.startsWith("L")).sort();
261
- const blockFilesByLevelInOrder = {};
262
- for (const blockFile of blockFiles) {
263
- const level = parseInt(blockFile.split("-")[0].slice(1));
264
- if (!blockFilesByLevelInOrder[level]) {
265
- blockFilesByLevelInOrder[level] = [];
266
- }
267
- blockFilesByLevelInOrder[level].push(blockFile);
268
- }
269
- for (let level = MAX_N_LEVELS; level > 0; level--) {
270
- const nBlocksDesired = Math.pow(2, level);
271
- const blocksInLevel = blockFilesByLevelInOrder[level];
272
- if (blocksInLevel && blocksInLevel.length > nBlocksDesired) {
273
- const coValues = new Map();
274
- for (const blockFile of blocksInLevel) {
275
- const { handle, size } = await this.getBlockHandle(blockFile, this.fs);
276
- if (size === 0) {
277
- continue;
278
- }
279
- const header = await readHeader(blockFile, handle, size, this.fs);
280
- for (const entry of header) {
281
- const chunk = await readChunk(handle, entry, this.fs);
282
- const existingChunk = coValues.get(entry.id);
283
- if (existingChunk) {
284
- const merged = mergeChunks(existingChunk, chunk);
285
- if (merged === "nonContigous") {
286
- console.log("Non-contigous chunks in " + entry.id + ", " + blockFile, existingChunk, chunk);
287
- }
288
- else {
289
- coValues.set(entry.id, merged);
290
- }
291
- }
292
- else {
293
- coValues.set(entry.id, chunk);
294
- }
295
- }
296
- }
297
- let levelBelow = blockFilesByLevelInOrder[level - 1];
298
- if (!levelBelow) {
299
- levelBelow = [];
300
- blockFilesByLevelInOrder[level - 1] = levelBelow;
301
- }
302
- const highestBlockNumberInLevelBelow = levelBelow.reduce((acc, name) => {
303
- const num = parseInt(name.split("-")[1]);
304
- if (num > acc) {
305
- return num;
306
- }
307
- return acc;
308
- }, 0);
309
- const newBlockName = await writeBlock(coValues, level - 1, highestBlockNumberInLevelBelow + 1, this.fs);
310
- levelBelow.push(newBlockName);
311
- // delete blocks that went into this one
312
- for (const blockFile of blocksInLevel) {
313
- const handle = await this.getBlockHandle(blockFile, this.fs);
314
- await this.fs.close(handle.handle);
315
- await this.fs.removeFile(blockFile);
316
- this.blockFileHandles.delete(blockFile);
317
- }
318
- }
319
- }
320
- setTimeout(() => this.compact().catch((e) => {
321
- logger.error("Error while compacting", e);
322
- }), 5000);
323
- }
324
- static asPeer({ fs, trace, localNodeName = "local", }) {
325
- const [localNodeAsPeer, storageAsPeer] = connectedPeers(localNodeName, "storage", {
326
- peer1role: "client",
327
- peer2role: "storage",
328
- trace,
329
- crashOnClose: true,
330
- });
331
- new LSMStorage(fs, localNodeAsPeer.incoming, localNodeAsPeer.outgoing);
332
- // return { ...storageAsPeer, priority: 200 };
333
- return storageAsPeer;
334
- }
335
- }
336
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import { Channel } from "queueueue";
2
- export { Channel } from "queueueue";
3
- export function connectedPeers(peer1id, peer2id, { trace = false, peer1role = "peer", peer2role = "peer", crashOnClose = false, } = {}) {
4
- const [from1to2Rx, from1to2Tx] = newQueuePair(trace ? { traceAs: `${peer1id} -> ${peer2id}` } : undefined);
5
- const [from2to1Rx, from2to1Tx] = newQueuePair(trace ? { traceAs: `${peer2id} -> ${peer1id}` } : undefined);
6
- const peer2AsPeer = {
7
- id: peer2id,
8
- incoming: from2to1Rx,
9
- outgoing: from1to2Tx,
10
- role: peer2role,
11
- crashOnClose: crashOnClose,
12
- };
13
- const peer1AsPeer = {
14
- id: peer1id,
15
- incoming: from1to2Rx,
16
- outgoing: from2to1Tx,
17
- role: peer1role,
18
- crashOnClose: crashOnClose,
19
- };
20
- return [peer1AsPeer, peer2AsPeer];
21
- }
22
- export function newQueuePair(options = {}) {
23
- const channel = new Channel();
24
- if (options.traceAs) {
25
- return [
26
- (async function* () {
27
- for await (const msg of channel) {
28
- console.debug(options.traceAs, JSON.stringify(msg, (k, v) => k === "changes" || k === "encryptedChanges"
29
- ? v.slice(0, 20) + "..."
30
- : v, 2));
31
- yield msg;
32
- }
33
- })(),
34
- channel,
35
- ];
36
- }
37
- else {
38
- return [channel.wrap(), channel];
39
- }
40
- }
41
- //# sourceMappingURL=streamUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"streamUtils.js","sourceRoot":"","sources":["../../src/streamUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,OAAe,EACf,EACE,KAAK,GAAG,KAAK,EACb,SAAS,GAAG,MAAM,EAClB,SAAS,GAAG,MAAM,EAClB,YAAY,GAAG,KAAK,MAMlB,EAAE;IAEN,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,YAAY,CAC3C,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,OAAO,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAC5D,CAAC;IACF,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,YAAY,CAC3C,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,OAAO,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAC5D,CAAC;IAEF,MAAM,WAAW,GAAS;QACxB,EAAE,EAAE,OAAO;QACX,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,YAAY;KAC3B,CAAC;IAEF,MAAM,WAAW,GAAS;QACxB,EAAE,EAAE,OAAO;QACX,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,YAAY;KAC3B,CAAC;IAEF,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,UAAgC,EAAE;IAElC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAe,CAAC;IAE3C,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,CAAC,KAAK,SAAS,CAAC;gBACd,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAChC,OAAO,CAAC,KAAK,CACX,OAAO,CAAC,OAAO,EACf,IAAI,CAAC,SAAS,CACZ,GAAG,EACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,kBAAkB;wBACzC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;wBACxB,CAAC,CAAC,CAAC,EACP,CAAC,CACF,CACF,CAAC;oBACF,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,EAAE;YACJ,OAAO;SACR,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/sync.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export function accountOrAgentIDfromSessionID(sessionID) {
2
- const until = sessionID.indexOf("_session");
3
- return sessionID.slice(0, until);
4
- }
5
- //# sourceMappingURL=accountOrAgentIDfromSessionID.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"accountOrAgentIDfromSessionID.js","sourceRoot":"","sources":["../../../src/typeUtils/accountOrAgentIDfromSessionID.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,6BAA6B,CAC3C,SAAoB;IAEpB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAA2B,CAAC;AAC7D,CAAC"}
@@ -1,13 +0,0 @@
1
- import { expectMap } from "../coValue.js";
2
- import { RawGroup } from "../coValues/group.js";
3
- export function expectGroup(content) {
4
- const map = expectMap(content);
5
- if (map.core.header.ruleset.type !== "group") {
6
- throw new Error("Expected group ruleset in group");
7
- }
8
- if (!(map instanceof RawGroup)) {
9
- throw new Error("Expected group");
10
- }
11
- return map;
12
- }
13
- //# sourceMappingURL=expectGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expectGroup.js","sourceRoot":"","sources":["../../../src/typeUtils/expectGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,MAAM,UAAU,WAAW,CAAC,OAAmB;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,CAAC,GAAG,YAAY,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,4 +0,0 @@
1
- export function isAccountID(id) {
2
- return id.startsWith("co_");
3
- }
4
- //# sourceMappingURL=isAccountID.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isAccountID.js","sourceRoot":"","sources":["../../../src/typeUtils/isAccountID.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,WAAW,CAAC,EAA0B;IACpD,OAAO,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
@@ -1,11 +0,0 @@
1
- import { RawCoList } from "../coValues/coList.js";
2
- import { RawCoMap } from "../coValues/coMap.js";
3
- import { RawCoStream } from "../coValues/coStream.js";
4
- import { RawBinaryCoStream } from "../coValues/coStream.js";
5
- export function isCoValue(value) {
6
- return (value instanceof RawCoMap ||
7
- value instanceof RawCoList ||
8
- value instanceof RawCoStream ||
9
- value instanceof RawBinaryCoStream);
10
- }
11
- //# sourceMappingURL=isCoValue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isCoValue.js","sourceRoot":"","sources":["../../../src/typeUtils/isCoValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,MAAM,UAAU,SAAS,CACvB,KAAyC;IAEzC,OAAO,CACL,KAAK,YAAY,QAAQ;QACzB,KAAK,YAAY,SAAS;QAC1B,KAAK,YAAY,WAAW;QAC5B,KAAK,YAAY,iBAAiB,CACnC,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./PureJSCrypto.js";
2
- export * from "./WasmCrypto.js";
@@ -1,2 +0,0 @@
1
- export * from "./exports.js";
2
- export { PureJSCrypto } from "./crypto/PureJSCrypto.js";
package/src/index.web.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./exports.js";
2
- export { WasmCrypto } from "./crypto/WasmCrypto.js";
@@ -1,10 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "include": ["./src/**/*.ts"],
4
- "exclude": [
5
- "./node_modules",
6
- "./src/tests",
7
- "./src/crypto/WasmCrypto.ts",
8
- "./src/index.web.ts"
9
- ]
10
- }
package/tsconfig.web.json DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "include": ["./src/**/*.ts"],
4
- "exclude": ["./node_modules", "./src/tests", "./src/index.native.ts"]
5
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes