cojson 0.6.6 → 0.7.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.cjs +1 -0
- package/.turbo/turbo-build.log +35 -0
- package/CHANGELOG.md +6 -0
- package/dist/coValue.js.map +1 -1
- package/dist/coValueCore.js.map +1 -1
- package/dist/coValues/account.js +5 -5
- package/dist/coValues/account.js.map +1 -1
- package/dist/coValues/coList.js +39 -58
- package/dist/coValues/coList.js.map +1 -1
- package/dist/coValues/coMap.js +20 -61
- package/dist/coValues/coMap.js.map +1 -1
- package/dist/coValues/coStream.js +14 -64
- package/dist/coValues/coStream.js.map +1 -1
- package/dist/coValues/group.js +57 -59
- package/dist/coValues/group.js.map +1 -1
- package/dist/coreToCoValue.js +17 -12
- package/dist/coreToCoValue.js.map +1 -1
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/localNode.js +54 -38
- package/dist/localNode.js.map +1 -1
- package/dist/permissions.js +2 -2
- package/dist/permissions.js.map +1 -1
- package/dist/sync.js +3 -3
- package/dist/sync.js.map +1 -1
- package/dist/tests/testUtils.js +6 -11
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/typeUtils/expectGroup.js +2 -2
- package/dist/typeUtils/expectGroup.js.map +1 -1
- package/dist/typeUtils/isCoValue.js +8 -8
- package/dist/typeUtils/isCoValue.js.map +1 -1
- package/package.json +52 -53
- package/src/coValue.ts +21 -21
- package/src/coValueCore.ts +8 -8
- package/src/coValues/account.ts +14 -26
- package/src/coValues/coList.ts +58 -97
- package/src/coValues/coMap.ts +27 -129
- package/src/coValues/coStream.ts +31 -137
- package/src/coValues/group.ts +52 -46
- package/src/coreToCoValue.ts +16 -12
- package/src/index.ts +27 -36
- package/src/jsonValue.ts +1 -1
- package/src/localNode.ts +88 -75
- package/src/media.ts +4 -4
- package/src/permissions.ts +2 -2
- package/src/sync.ts +3 -3
- package/src/tests/account.test.ts +12 -12
- package/src/tests/coValue.test.ts +149 -182
- package/src/tests/coValueCore.test.ts +8 -3
- package/src/tests/crypto.test.ts +7 -0
- package/src/tests/group.test.ts +13 -6
- package/src/tests/permissions.test.ts +648 -840
- package/src/tests/sync.test.ts +44 -68
- package/src/tests/testUtils.ts +6 -11
- package/src/typeUtils/expectGroup.ts +4 -4
- package/src/typeUtils/isCoValue.ts +11 -11
|
@@ -2,7 +2,7 @@ import { isAccountID } from "../typeUtils/isAccountID.js";
|
|
|
2
2
|
import { isCoValue } from "../typeUtils/isCoValue.js";
|
|
3
3
|
import { accountOrAgentIDfromSessionID } from "../typeUtils/accountOrAgentIDfromSessionID.js";
|
|
4
4
|
import { base64URLtoBytes, bytesToBase64url } from "../base64url.js";
|
|
5
|
-
export class
|
|
5
|
+
export class RawCoStreamView {
|
|
6
6
|
constructor(core) {
|
|
7
7
|
this.type = "costream";
|
|
8
8
|
this.id = core.id;
|
|
@@ -48,7 +48,9 @@ export class CoStreamView {
|
|
|
48
48
|
return Object.keys(this.items);
|
|
49
49
|
}
|
|
50
50
|
accounts() {
|
|
51
|
-
return new Set(this.sessions()
|
|
51
|
+
return new Set(this.sessions()
|
|
52
|
+
.map(accountOrAgentIDfromSessionID)
|
|
53
|
+
.filter(isAccountID));
|
|
52
54
|
}
|
|
53
55
|
nthItemIn(sessionID, n) {
|
|
54
56
|
const items = this.items[sessionID];
|
|
@@ -129,29 +131,14 @@ export class CoStreamView {
|
|
|
129
131
|
});
|
|
130
132
|
}
|
|
131
133
|
}
|
|
132
|
-
export class
|
|
133
|
-
push(item, privacy = "private") {
|
|
134
|
-
this.core.makeTransaction([isCoValue(item) ? item.id : item], privacy);
|
|
135
|
-
return new CoStream(this.core);
|
|
136
|
-
}
|
|
137
|
-
mutate(mutator) {
|
|
138
|
-
const mutable = new MutableCoStream(this.core);
|
|
139
|
-
mutator(mutable);
|
|
140
|
-
return new CoStream(this.core);
|
|
141
|
-
}
|
|
142
|
-
/** @deprecated Use `mutate` instead. */
|
|
143
|
-
edit(mutator) {
|
|
144
|
-
return this.mutate(mutator);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
export class MutableCoStream extends CoStreamView {
|
|
134
|
+
export class RawCoStream extends RawCoStreamView {
|
|
148
135
|
push(item, privacy = "private") {
|
|
149
136
|
this.core.makeTransaction([isCoValue(item) ? item.id : item], privacy);
|
|
150
137
|
this.fillFromCoValue();
|
|
151
138
|
}
|
|
152
139
|
}
|
|
153
140
|
const binary_U_prefixLength = 8; // "binary_U".length;
|
|
154
|
-
export class
|
|
141
|
+
export class RawBinaryCoStreamView extends RawCoStreamView {
|
|
155
142
|
getBinaryChunks(allowUnfinished) {
|
|
156
143
|
// const before = performance.now();
|
|
157
144
|
const items = this.getSingleStream();
|
|
@@ -199,63 +186,26 @@ export class BinaryCoStreamView extends CoStreamView {
|
|
|
199
186
|
};
|
|
200
187
|
}
|
|
201
188
|
}
|
|
202
|
-
export class
|
|
203
|
-
|
|
189
|
+
export class RawBinaryCoStream extends RawBinaryCoStreamView {
|
|
190
|
+
/** @internal */
|
|
191
|
+
push(item, privacy = "private", updateView = true) {
|
|
204
192
|
this.core.makeTransaction([item], privacy);
|
|
205
|
-
if (
|
|
206
|
-
|
|
193
|
+
if (updateView) {
|
|
194
|
+
this.fillFromCoValue();
|
|
207
195
|
}
|
|
208
196
|
}
|
|
209
|
-
startBinaryStream(settings, privacy = "private") {
|
|
210
|
-
return this.push({
|
|
211
|
-
type: "start",
|
|
212
|
-
...settings,
|
|
213
|
-
}, privacy, false);
|
|
214
|
-
}
|
|
215
|
-
pushBinaryStreamChunk(chunk, privacy = "private") {
|
|
216
|
-
// const before = performance.now();
|
|
217
|
-
return this.push({
|
|
218
|
-
type: "chunk",
|
|
219
|
-
chunk: `binary_U${bytesToBase64url(chunk)}`,
|
|
220
|
-
}, privacy, false);
|
|
221
|
-
// const after = performance.now();
|
|
222
|
-
// console.log(
|
|
223
|
-
// "pushBinaryStreamChunk bandwidth in MB/s",
|
|
224
|
-
// (1000 * chunk.length) / (after - before) / (1024 * 1024)
|
|
225
|
-
// );
|
|
226
|
-
}
|
|
227
|
-
endBinaryStream(privacy = "private") {
|
|
228
|
-
return this.push({
|
|
229
|
-
type: "end",
|
|
230
|
-
}, privacy, true);
|
|
231
|
-
}
|
|
232
|
-
mutate(mutator) {
|
|
233
|
-
const mutable = new MutableBinaryCoStream(this.core);
|
|
234
|
-
mutator(mutable);
|
|
235
|
-
return new BinaryCoStream(this.core);
|
|
236
|
-
}
|
|
237
|
-
/** @deprecated Use `mutate` instead. */
|
|
238
|
-
edit(mutator) {
|
|
239
|
-
return this.mutate(mutator);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
export class MutableBinaryCoStream extends BinaryCoStreamView {
|
|
243
|
-
/** @internal */
|
|
244
|
-
push(item, privacy = "private") {
|
|
245
|
-
MutableCoStream.prototype.push.call(this, item, privacy);
|
|
246
|
-
}
|
|
247
197
|
startBinaryStream(settings, privacy = "private") {
|
|
248
198
|
this.push({
|
|
249
199
|
type: "start",
|
|
250
200
|
...settings,
|
|
251
|
-
}, privacy);
|
|
201
|
+
}, privacy, false);
|
|
252
202
|
}
|
|
253
203
|
pushBinaryStreamChunk(chunk, privacy = "private") {
|
|
254
204
|
// const before = performance.now();
|
|
255
205
|
this.push({
|
|
256
206
|
type: "chunk",
|
|
257
207
|
chunk: `binary_U${bytesToBase64url(chunk)}`,
|
|
258
|
-
}, privacy);
|
|
208
|
+
}, privacy, false);
|
|
259
209
|
// const after = performance.now();
|
|
260
210
|
// console.log(
|
|
261
211
|
// "pushBinaryStreamChunk bandwidth in MB/s",
|
|
@@ -265,7 +215,7 @@ export class MutableBinaryCoStream extends BinaryCoStreamView {
|
|
|
265
215
|
endBinaryStream(privacy = "private") {
|
|
266
216
|
this.push({
|
|
267
217
|
type: "end",
|
|
268
|
-
}, privacy);
|
|
218
|
+
}, privacy, true);
|
|
269
219
|
}
|
|
270
220
|
}
|
|
271
221
|
//# sourceMappingURL=coStream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coStream.js","sourceRoot":"","sources":["../../src/coValues/coStream.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAG9F,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAmCrE,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"coStream.js","sourceRoot":"","sources":["../../src/coValues/coStream.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAG9F,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAmCrE,MAAM,OAAO,eAAe;IAaxB,YAAY,IAAiB;QAP7B,SAAI,GAAG,UAAmB,CAAC;QAQvB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAgB,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAY,CAAC;IACzC,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,0BAA0B;IAC1B,MAAM,CAAC,KAAa;QAChB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB;IACN,eAAe;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhB,KAAK,MAAM,EACP,IAAI,EACJ,MAAM,EACN,OAAO,GACV,IAAI,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE;YACzC,KAAK,MAAM,aAAa,IAAI,OAAO,EAAE;gBACjC,MAAM,MAAM,GAAG,aAAqB,CAAC;gBACrC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzC,IAAI,CAAC,OAAO,EAAE;oBACV,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;iBACxC;gBACD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAED,eAAe;QACX,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,OAAO,SAAS,CAAC;SACpB;aAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7C,MAAM,IAAI,KAAK,CACX,gFAAgF,CACnF,CAAC;SACL;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,QAAQ;QACJ,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAgB,CAAC;IAClD,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,GAAG,CACV,IAAI,CAAC,QAAQ,EAAE;aACV,GAAG,CAAC,6BAA6B,CAAC;aAClC,MAAM,CAAC,WAAW,CAAC,CAC3B,CAAC;IACN,CAAC;IAED,SAAS,CACL,SAAoB,EACpB,CAAS;QAST,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,OAAO;YACH,EAAE,EAAE,6BAA6B,CAAC,SAAS,CAAC;YAC5C,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACN,CAAC;IAED,UAAU,CAAC,SAAoB;QAQ3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,CAAC,OAAO,CAAC,SAAoB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,MAAM;gBACF,EAAE,EAAE,6BAA6B,CAAC,SAAS,CAAC;gBAC5C,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAa;aAC5B,CAAC;SACL;IACL,CAAC;IAED,UAAU,CAAC,OAA4B;QAQnC,IAAI,UAOW,CAAC;QAEhB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7C,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;gBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAsB,CAAC,CAAC;gBACrD,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE;oBACxC,UAAU,GAAG;wBACT,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,KAAK,EAAE,IAAI,CAAC,KAAK;qBACpB,CAAC;iBACL;aACJ;SACJ;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,CAAC,OAAO,CAAC,OAA4B;QACjC,mEAAmE;QACnE,MAAM,KAAK,GAAG;YACV,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAC7C,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;gBACzB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACrD,EAAE,EAAE,SAAsB;oBAC1B,GAAG,IAAI;iBACV,CAAC,CAAC;gBACL,CAAC,CAAC,EAAE,CACX;SACJ,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAEtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,MAAM,IAAI,CAAC;SACd;IACL,CAAC;IAED,MAAM;QAGF,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACnD,SAAS;YACT,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;SAClC,CAAC,CACL,CAAC;IACN,CAAC;IAED,SAAS,CAAC,QAAkC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;YACnC,QAAQ,CAAC,OAAe,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,MAAM,OAAO,WAIT,SAAQ,eAA2B;IAGnC,IAAI,CAAC,IAAU,EAAE,UAAkC,SAAS;QACxD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,qBAAqB,GAAG,CAAC,CAAC,CAAC,qBAAqB;AAEtD,MAAM,OAAO,qBAGT,SAAQ,eAAuC;IAG/C,eAAe,CACX,eAAyB;QAIzB,oCAAoC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAErC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEvB,IAAI,KAAK,EAAE,IAAI,KAAK,OAAO,EAAE;YACzB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO;SACV;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEpC,IAAI,GAAG,EAAE,IAAI,KAAK,KAAK,IAAI,CAAC,eAAe;YAAE,OAAO;QAEpD,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,uBAAuB;QAEvB,IAAI,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;aACT;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;gBACvB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;gBACnD,OAAO,SAAS,CAAC;aACpB;YAED,MAAM,KAAK,GAAG,gBAAgB,CAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAC1C,CAAC;YACF,+BAA+B;YAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEnB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,GAAG,GAAG,EAAE;gBACvC,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;aACnC;SACJ;QAED,mCAAmC;QACnC,eAAe;QACf,2CAA2C;QAC3C,8DAA8D;QAC9D,KAAK;QAEL,OAAO;YACH,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,MAAM;YACN,QAAQ;SACX,CAAC;IACN,CAAC;CACJ;AAED,MAAM,OAAO,iBAGT,SAAQ,qBAA2B;IAGnC,gBAAgB;IAChB,IAAI,CACA,IAAsB,EACtB,UAAkC,SAAS,EAC3C,aAAsB,IAAI;QAE1B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;IACL,CAAC;IAED,iBAAiB,CACb,QAA0B,EAC1B,UAAkC,SAAS;QAE3C,IAAI,CAAC,IAAI,CACL;YACI,IAAI,EAAE,OAAO;YACb,GAAG,QAAQ;SACc,EAC7B,OAAO,EACP,KAAK,CACR,CAAC;IACN,CAAC;IAED,qBAAqB,CACjB,KAAiB,EACjB,UAAkC,SAAS;QAE3C,oCAAoC;QACpC,IAAI,CAAC,IAAI,CACL;YACI,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,WAAW,gBAAgB,CAAC,KAAK,CAAC,EAAE;SAClB,EAC7B,OAAO,EACP,KAAK,CACR,CAAC;QACF,mCAAmC;QACnC,eAAe;QACf,iDAAiD;QACjD,+DAA+D;QAC/D,KAAK;IACT,CAAC;IAED,eAAe,CAAC,UAAkC,SAAS;QACvD,IAAI,CAAC,IAAI,CACL;YACI,IAAI,EAAE,KAAK;SACY,EAC3B,OAAO,EACP,IAAI,CACP,CAAC;IACN,CAAC;CACJ"}
|
package/dist/coValues/group.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RawCoMap } from "./coMap.js";
|
|
2
2
|
import { createdNowUnique, newRandomKeySecret, seal, encryptKeySecret, getAgentSealerID, newRandomSecretSeed, agentSecretFromSecretSeed, getAgentID, } from "../crypto.js";
|
|
3
3
|
import { isAgentID } from "../ids.js";
|
|
4
4
|
import { base58 } from "@scure/base";
|
|
@@ -24,7 +24,7 @@ export const EVERYONE = "everyone";
|
|
|
24
24
|
* const localNode.createGroup();
|
|
25
25
|
* ```
|
|
26
26
|
* */
|
|
27
|
-
export class
|
|
27
|
+
export class RawGroup extends RawCoMap {
|
|
28
28
|
/**
|
|
29
29
|
* Returns the current role of a given account.
|
|
30
30
|
*
|
|
@@ -52,43 +52,43 @@ export class Group extends CoMap {
|
|
|
52
52
|
* @category 2. Role changing
|
|
53
53
|
*/
|
|
54
54
|
addMember(account, role) {
|
|
55
|
-
|
|
55
|
+
this.addMemberInternal(account, role);
|
|
56
56
|
}
|
|
57
57
|
/** @internal */
|
|
58
58
|
addMemberInternal(account, role) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
const currentReadKey = this.core.getCurrentReadKey();
|
|
60
|
+
if (!currentReadKey.secret) {
|
|
61
|
+
throw new Error("Can't add member without read key secret");
|
|
62
|
+
}
|
|
63
|
+
if (account === EVERYONE) {
|
|
64
|
+
if (!(role === "reader" || role === "writer")) {
|
|
65
|
+
throw new Error("Can't make everyone something other than reader or writer");
|
|
63
66
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
mutable.set(account, role, "trusting");
|
|
69
|
-
if (mutable.get(account) !== role) {
|
|
70
|
-
throw new Error("Failed to set role");
|
|
71
|
-
}
|
|
72
|
-
mutable.set(`${currentReadKey.id}_for_${EVERYONE}`, currentReadKey.secret, "trusting");
|
|
67
|
+
this.set(account, role, "trusting");
|
|
68
|
+
if (this.get(account) !== role) {
|
|
69
|
+
throw new Error("Failed to set role");
|
|
73
70
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
to: getAgentSealerID(agent),
|
|
85
|
-
nOnceMaterial: {
|
|
86
|
-
in: this.id,
|
|
87
|
-
tx: this.core.nextTransactionID(),
|
|
88
|
-
},
|
|
89
|
-
}), "trusting");
|
|
71
|
+
this.set(`${currentReadKey.id}_for_${EVERYONE}`, currentReadKey.secret, "trusting");
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
const memberKey = typeof account === "string" ? account : account.id;
|
|
75
|
+
const agent = typeof account === "string"
|
|
76
|
+
? account
|
|
77
|
+
: account.currentAgentID();
|
|
78
|
+
this.set(memberKey, role, "trusting");
|
|
79
|
+
if (this.get(memberKey) !== role) {
|
|
80
|
+
throw new Error("Failed to set role");
|
|
90
81
|
}
|
|
91
|
-
|
|
82
|
+
this.set(`${currentReadKey.id}_for_${memberKey}`, seal({
|
|
83
|
+
message: currentReadKey.secret,
|
|
84
|
+
from: this.core.node.account.currentSealerSecret(),
|
|
85
|
+
to: getAgentSealerID(agent),
|
|
86
|
+
nOnceMaterial: {
|
|
87
|
+
in: this.id,
|
|
88
|
+
tx: this.core.nextTransactionID(),
|
|
89
|
+
},
|
|
90
|
+
}), "trusting");
|
|
91
|
+
}
|
|
92
92
|
}
|
|
93
93
|
/** @internal */
|
|
94
94
|
rotateReadKey() {
|
|
@@ -110,25 +110,23 @@ export class Group extends CoMap {
|
|
|
110
110
|
secret: maybeCurrentReadKey.secret,
|
|
111
111
|
};
|
|
112
112
|
const newReadKey = newRandomKeySecret();
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
mutable.set("readKey", newReadKey.id, "trusting");
|
|
131
|
-
});
|
|
113
|
+
for (const readerID of currentlyPermittedReaders) {
|
|
114
|
+
const reader = this.core.node.resolveAccountAgent(readerID, "Expected to know currently permitted reader");
|
|
115
|
+
this.set(`${newReadKey.id}_for_${readerID}`, seal({
|
|
116
|
+
message: newReadKey.secret,
|
|
117
|
+
from: this.core.node.account.currentSealerSecret(),
|
|
118
|
+
to: getAgentSealerID(reader),
|
|
119
|
+
nOnceMaterial: {
|
|
120
|
+
in: this.id,
|
|
121
|
+
tx: this.core.nextTransactionID(),
|
|
122
|
+
},
|
|
123
|
+
}), "trusting");
|
|
124
|
+
}
|
|
125
|
+
this.set(`${currentReadKey.id}_for_${newReadKey.id}`, encryptKeySecret({
|
|
126
|
+
encrypting: newReadKey,
|
|
127
|
+
toEncrypt: currentReadKey,
|
|
128
|
+
}).encrypted, "trusting");
|
|
129
|
+
this.set("readKey", newReadKey.id, "trusting");
|
|
132
130
|
}
|
|
133
131
|
/**
|
|
134
132
|
* Strips the specified member of all roles (preventing future writes in
|
|
@@ -138,13 +136,13 @@ export class Group extends CoMap {
|
|
|
138
136
|
* @category 2. Role changing
|
|
139
137
|
*/
|
|
140
138
|
removeMember(account) {
|
|
141
|
-
|
|
139
|
+
this.removeMemberInternal(account);
|
|
142
140
|
}
|
|
143
141
|
/** @internal */
|
|
144
142
|
removeMemberInternal(account) {
|
|
145
143
|
const memberKey = typeof account === "string" ? account : account.id;
|
|
146
|
-
|
|
147
|
-
|
|
144
|
+
this.set(memberKey, "revoked", "trusting");
|
|
145
|
+
this.rotateReadKey();
|
|
148
146
|
}
|
|
149
147
|
/**
|
|
150
148
|
* Creates an invite for new members to indirectly join the group,
|
|
@@ -167,7 +165,7 @@ export class Group extends CoMap {
|
|
|
167
165
|
* @category 3. Value creation
|
|
168
166
|
*/
|
|
169
167
|
createMap(init, meta, initPrivacy = "private") {
|
|
170
|
-
|
|
168
|
+
const map = this.core.node
|
|
171
169
|
.createCoValue({
|
|
172
170
|
type: "comap",
|
|
173
171
|
ruleset: {
|
|
@@ -180,7 +178,7 @@ export class Group extends CoMap {
|
|
|
180
178
|
.getCurrentContent();
|
|
181
179
|
if (init) {
|
|
182
180
|
for (const [key, value] of Object.entries(init)) {
|
|
183
|
-
map
|
|
181
|
+
map.set(key, value, initPrivacy);
|
|
184
182
|
}
|
|
185
183
|
}
|
|
186
184
|
return map;
|
|
@@ -192,7 +190,7 @@ export class Group extends CoMap {
|
|
|
192
190
|
* @category 3. Value creation
|
|
193
191
|
*/
|
|
194
192
|
createList(init, meta, initPrivacy = "private") {
|
|
195
|
-
|
|
193
|
+
const list = this.core.node
|
|
196
194
|
.createCoValue({
|
|
197
195
|
type: "colist",
|
|
198
196
|
ruleset: {
|
|
@@ -205,7 +203,7 @@ export class Group extends CoMap {
|
|
|
205
203
|
.getCurrentContent();
|
|
206
204
|
if (init) {
|
|
207
205
|
for (const item of init) {
|
|
208
|
-
list
|
|
206
|
+
list.append(item, undefined, initPrivacy);
|
|
209
207
|
}
|
|
210
208
|
}
|
|
211
209
|
return list;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/coValues/group.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/coValues/group.ts"],"names":[],"mappings":"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"}
|
package/dist/coreToCoValue.js
CHANGED
|
@@ -1,33 +1,38 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { RawAccount, RawControlledAccount } from "./coValues/account.js";
|
|
2
|
+
import { RawGroup } from "./coValues/group.js";
|
|
3
|
+
import { RawCoMap } from "./coValues/coMap.js";
|
|
4
|
+
import { RawCoList } from "./coValues/coList.js";
|
|
5
|
+
import { RawCoStream } from "./coValues/coStream.js";
|
|
6
|
+
import { RawBinaryCoStream } from "./coValues/coStream.js";
|
|
7
7
|
export function coreToCoValue(core, options) {
|
|
8
8
|
if (core.header.type === "comap") {
|
|
9
9
|
if (core.header.ruleset.type === "group") {
|
|
10
10
|
if (core.header.meta?.type === "account" &&
|
|
11
11
|
!options?.ignorePrivateTransactions) {
|
|
12
|
-
|
|
12
|
+
if (core.id === core.node.account.id) {
|
|
13
|
+
return new RawControlledAccount(core, core.node.account.agentSecret);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return new RawAccount(core);
|
|
17
|
+
}
|
|
13
18
|
}
|
|
14
19
|
else {
|
|
15
|
-
return new
|
|
20
|
+
return new RawGroup(core, options);
|
|
16
21
|
}
|
|
17
22
|
}
|
|
18
23
|
else {
|
|
19
|
-
return new
|
|
24
|
+
return new RawCoMap(core);
|
|
20
25
|
}
|
|
21
26
|
}
|
|
22
27
|
else if (core.header.type === "colist") {
|
|
23
|
-
return new
|
|
28
|
+
return new RawCoList(core);
|
|
24
29
|
}
|
|
25
30
|
else if (core.header.type === "costream") {
|
|
26
31
|
if (core.header.meta && core.header.meta.type === "binary") {
|
|
27
|
-
return new
|
|
32
|
+
return new RawBinaryCoStream(core);
|
|
28
33
|
}
|
|
29
34
|
else {
|
|
30
|
-
return new
|
|
35
|
+
return new RawCoStream(core);
|
|
31
36
|
}
|
|
32
37
|
}
|
|
33
38
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coreToCoValue.js","sourceRoot":"","sources":["../src/coreToCoValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"coreToCoValue.js","sourceRoot":"","sources":["../src/coreToCoValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,aAAa,CACzB,IAAiB,EACjB,OAA6C;IAE7C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;YACtC,IACI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS;gBACpC,CAAC,OAAO,EAAE,yBAAyB,EACrC;gBACE,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;oBAClC,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;iBACxE;qBAAM;oBACH,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;iBAC/B;aACJ;iBAAM;gBACH,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aACtC;SACJ;aAAM;YACH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC7B;KACJ;SAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;QACtC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;KAC9B;SAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YACxD,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACtC;aAAM;YACH,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;SAChC;KACJ;SAAM;QACH,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;KAC/D;AACL,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { CoValueCore, newRandomSessionID, MAX_RECOMMENDED_TX_SIZE, idforHeader, } from "./coValueCore.js";
|
|
2
2
|
import { accountOrAgentIDfromSessionID } from "./typeUtils/accountOrAgentIDfromSessionID.js";
|
|
3
3
|
import { LocalNode } from "./localNode.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { RawCoMap } from "./coValues/coMap.js";
|
|
5
|
+
import { RawCoList } from "./coValues/coList.js";
|
|
6
|
+
import { RawCoStream, RawBinaryCoStream } from "./coValues/coStream.js";
|
|
7
7
|
import { agentSecretFromBytes, agentSecretToBytes, getAgentID, newRandomAgentSecret, newRandomSecretSeed, agentSecretFromSecretSeed, secretSeedLength, shortHashLength, cryptoReady, } from "./crypto.js";
|
|
8
8
|
import { connectedPeers } from "./streamUtils.js";
|
|
9
|
-
import { ControlledAgent,
|
|
9
|
+
import { ControlledAgent, RawControlledAccount } from "./coValues/account.js";
|
|
10
10
|
import { rawCoIDtoBytes, rawCoIDfromBytes } from "./ids.js";
|
|
11
|
-
import {
|
|
11
|
+
import { RawGroup, EVERYONE } from "./coValues/group.js";
|
|
12
12
|
import { base64URLtoBytes, bytesToBase64url } from "./base64url.js";
|
|
13
13
|
import { parseJSON } from "./jsonStringify.js";
|
|
14
|
-
import {
|
|
14
|
+
import { RawAccount, Profile, accountHeaderForInitialAgentSecret, } from "./coValues/account.js";
|
|
15
15
|
import { expectGroup } from "./typeUtils/expectGroup.js";
|
|
16
16
|
import { isAccountID } from "./typeUtils/isAccountID.js";
|
|
17
17
|
/** @hidden */
|
|
@@ -35,7 +35,7 @@ export const cojsonInternals = {
|
|
|
35
35
|
accountOrAgentIDfromSessionID,
|
|
36
36
|
isAccountID,
|
|
37
37
|
accountHeaderForInitialAgentSecret,
|
|
38
|
-
idforHeader
|
|
38
|
+
idforHeader,
|
|
39
39
|
};
|
|
40
|
-
export { LocalNode,
|
|
40
|
+
export { LocalNode, RawGroup, EVERYONE, RawCoMap, RawCoList, RawCoStream, RawBinaryCoStream, RawAccount, Profile, CoValueCore, ControlledAgent, RawControlledAccount, cryptoReady as cojsonReady, MAX_RECOMMENDED_TX_SIZE, };
|
|
41
41
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,WAAW,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACH,UAAU,EACV,OAAO,EACP,kCAAkC,GACrC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAsBzD,cAAc;AACd,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,cAAc;IACd,UAAU;IACV,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IACnB,yBAAyB;IACzB,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,SAAS;IACT,6BAA6B;IAC7B,WAAW;IACX,kCAAkC;IAClC,WAAW;CACd,CAAC;AAEF,OAAO,EACH,SAAS,EACT,QAAQ,EAER,QAAQ,EAER,QAAQ,EACR,SAAS,EACT,WAAW,EACX,iBAAiB,EAIjB,UAAU,EAIV,OAAO,EAIP,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,WAAW,IAAI,WAAW,EAC1B,uBAAuB,GAS1B,CAAC"}
|