cojson 0.18.1 → 0.18.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.
@@ -1,4 +1,4 @@
1
1
 
2
- > cojson@0.18.1 build /home/runner/_work/jazz/jazz/packages/cojson
2
+ > cojson@0.18.2 build /home/runner/_work/jazz/jazz/packages/cojson
3
3
  > rm -rf ./dist && tsc --sourceMap --outDir dist
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # cojson
2
2
 
3
+ ## 0.18.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 82ba2dd: Add basic branching system for single CoValues with createBranch, checkoutBranch, and mergeBranch
8
+ - 01f4889: Fix self-revoke check to correctly validate against the author of the change
9
+ - cojson-core-wasm@0.18.2
10
+
3
11
  ## 0.18.1
4
12
 
5
13
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/coValueCore/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAK/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEhE,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC7B,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAC5C,GAAG,CAAC,OAAO,CAAC,CA0Cd"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/coValueCore/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAK/C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEhE,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC7B,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAC5C,GAAG,CAAC,OAAO,CAAC,CA8Cd"}
@@ -35,6 +35,9 @@ export function getDependedOnCoValuesFromRawData(id, header, sessions, transacti
35
35
  if (header.ruleset.type === "ownedByGroup") {
36
36
  deps.add(header.ruleset.group);
37
37
  }
38
+ if (header.meta?.source) {
39
+ deps.add(header.meta.source);
40
+ }
38
41
  return deps;
39
42
  }
40
43
  function safeParseChanges(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/coValueCore/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAe,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,MAAM,UAAU,gCAAgC,CAC9C,EAAW,EACX,MAAqB,EACrB,QAA6B,EAC7B,YAA6C;IAE7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAC;IAEhC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,WAAW,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,IAAI,EAAE,CAAC,OAAO,KAAK,UAAU;oBAAE,SAAS;gBAExC,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IACE,MAAM;wBACN,OAAO,MAAM,KAAK,QAAQ;wBAC1B,IAAI,IAAI,MAAM;wBACd,MAAM,CAAC,EAAE,KAAK,KAAK;wBACnB,KAAK,IAAI,MAAM;wBACf,MAAM,CAAC,GAAG,EACV,CAAC;wBACD,MAAM,GAAG,GAAG,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAE7C,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;4BACtB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA+B;IACvD,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/coValueCore/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAe,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,MAAM,UAAU,gCAAgC,CAC9C,EAAW,EACX,MAAqB,EACrB,QAA6B,EAC7B,YAA6C;IAE7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAC;IAEhC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAEzD,IAAI,WAAW,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,IAAI,EAAE,CAAC,OAAO,KAAK,UAAU;oBAAE,SAAS;gBAExC,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IACE,MAAM;wBACN,OAAO,MAAM,KAAK,QAAQ;wBAC1B,IAAI,IAAI,MAAM;wBACd,MAAM,CAAC,EAAE,KAAK,KAAK;wBACnB,KAAK,IAAI,MAAM;wBACf,MAAM,CAAC,GAAG,EACV,CAAC;wBACD,MAAM,GAAG,GAAG,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAE7C,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;4BACtB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAiB,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA+B;IACvD,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -92,6 +92,12 @@ export declare class LocalNode {
92
92
  * @category 3. Low-level
93
93
  */
94
94
  load<T extends RawCoValue>(id: CoID<T>, skipRetry?: boolean): Promise<T | "unavailable">;
95
+ /**
96
+ * Loads a branch from a group coValue, creating a new one if it doesn't exist.
97
+ *
98
+ * Returns "unavailable" in case of errors or missing source.
99
+ */
100
+ checkoutBranch<T extends RawCoValue>(id: CoID<T>, branch: string, branchOwnerID?: RawCoID): Promise<T | "unavailable">;
95
101
  getLoaded<T extends RawCoValue>(id: CoID<T>): T | undefined;
96
102
  /** @category 3. Low-level */
97
103
  subscribe<T extends RawCoValue>(id: CoID<T>, callback: (update: T | "unavailable") => void, skipRetry?: boolean): () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"localNode.d.ts","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,KAAK,oBAAoB,EACzB,WAAW,EAEZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAEvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,WAAW,EAEX,wBAAwB,EAExB,0BAA0B,EAE1B,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,UAAU,EAGX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,QAAQ,EAEd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAa,MAAM,UAAU,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAItD;;;;;;;;;;EAUE;AACF,qBAAa,SAAS;IACpB,gBAAgB;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAE5D,6BAA6B;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC,6BAA6B;IAC7B,WAAW,cAAyB;IAEpC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAa;IAC3D,OAAO,EAAE,KAAK,GAAG,SAAS,CAAa;IAEvC,OAAO,CAAC,EAAE,UAAU,CAAC;IAErB,6BAA6B;gBAE3B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,SAAS,EAC3B,MAAM,EAAE,cAAc;IAOxB,sBAAsB;IAQtB,UAAU,CAAC,OAAO,EAAE,UAAU;IAI9B,aAAa;IAKb,UAAU,CAAC,EAAE,EAAE,OAAO;IAatB,WAAW;IAIX,OAAO,CAAC,UAAU;IAUlB,qBAAqB,CAAC,EAAE,EAAE,OAAO;IAIjC,0BAA0B,IAAI,YAAY,GAAG,OAAO;IAIpD,mBAAmB,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC1D,eAAe,IAAI,wBAAwB;IAoB3C,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAUpD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAOhD,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE;QACjC,MAAM,EAAE,cAAc,CAAC;QACvB,kBAAkB,CAAC,EAAE,WAAW,CAAC;QACjC,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC;QACzB,OAAO,CAAC,EAAE,UAAU,CAAC;KACtB,GAAG,UAAU;IAqDd,iCAAiC;WACpB,uBAAuB,CAAC,EACnC,aAAa,EACb,eAAe,EACf,SAAS,EACT,MAAM,EACN,kBAAkD,EAClD,OAAO,GACR,EAAE;QACD,aAAa,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAChC,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC;QACzB,SAAS,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,EAAE,cAAc,CAAC;QACvB,kBAAkB,CAAC,EAAE,WAAW,CAAC;QACjC,OAAO,CAAC,EAAE,UAAU,CAAC;KACtB,GAAG,OAAO,CAAC;QACV,IAAI,EAAE,SAAS,CAAC;QAChB,SAAS,EAAE,YAAY,CAAC;QACxB,aAAa,EAAE,WAAW,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;KACtB,CAAC;IAyCF,iCAAiC;WACpB,iBAAiB,CAAC,EAC7B,SAAS,EACT,aAAa,EACb,SAAS,EACT,eAAe,EACf,MAAM,EACN,SAAS,EACT,OAAO,GACR,EAAE;QACD,SAAS,EAAE,YAAY,CAAC;QACxB,aAAa,EAAE,WAAW,CAAC;QAC3B,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;QACjC,eAAe,EAAE,IAAI,EAAE,CAAC;QACxB,MAAM,EAAE,cAAc,CAAC;QACvB,SAAS,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,CAAC,EAAE,UAAU,CAAC;KACtB,GAAG,OAAO,CAAC,SAAS,CAAC;IAkDtB,gBAAgB;IAChB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,oBAAoB;IAoB1D,gBAAgB;IACV,eAAe,CACnB,EAAE,EAAE,OAAO,EACX,mBAAmB,CAAC,EAAE,MAAM,EAC5B,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,WAAW,CAAC;IAuDvB;;;;;;OAMG;IACG,IAAI,CAAC,CAAC,SAAS,UAAU,EAC7B,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EACX,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,CAAC,GAAG,aAAa,CAAC;IAU7B,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAU3D,6BAA6B;IAC7B,SAAS,CAAC,CAAC,SAAS,UAAU,EAC5B,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EACX,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,aAAa,KAAK,IAAI,EAC7C,SAAS,CAAC,EAAE,OAAO,GAClB,MAAM,IAAI;IA4BP,YAAY,CAAC,CAAC,SAAS,UAAU,EACrC,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC,EAC5B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC;IAoGhB,gBAAgB;IAChB,mBAAmB,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,oBAAoB;IAW5E,gBAAgB;IAChB,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU;IAcvE,gBAAgB;IAChB,mBAAmB,CACjB,EAAE,EAAE,YAAY,GAAG,OAAO,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAmC5C,WAAW,CACT,UAAU,GAAE,iBAAkD,GAC7D,QAAQ;IAmCX,2BAA2B,CACzB,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,YAAY,GAAG,OAAO;IAepC,gBAAgB;IAChB,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO;IAkCxD;;;;OAIG;IACH,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS;CAKjD;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,yBAAyB,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,YAAY,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,YAAY,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,YAAY,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,0BAA0B,GAC1B,oBAAoB,GACpB,mCAAmC,GACnC,2BAA2B,CAAC"}
1
+ {"version":3,"file":"localNode.d.ts","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
package/dist/localNode.js CHANGED
@@ -259,6 +259,33 @@ export class LocalNode {
259
259
  }
260
260
  return core.getCurrentContent();
261
261
  }
262
+ /**
263
+ * Loads a branch from a group coValue, creating a new one if it doesn't exist.
264
+ *
265
+ * Returns "unavailable" in case of errors or missing source.
266
+ */
267
+ async checkoutBranch(id, branch, branchOwnerID) {
268
+ const source = await this.loadCoValueCore(id);
269
+ if (!source.isAvailable()) {
270
+ return "unavailable";
271
+ }
272
+ const header = source.verified.header;
273
+ // Group and account coValues can't have branches
274
+ if (header.ruleset.type !== "ownedByGroup") {
275
+ logger.error("Can't checkout a branch from a group coValue", {
276
+ id,
277
+ });
278
+ return "unavailable";
279
+ }
280
+ const ownerID = branchOwnerID || header.ruleset.group;
281
+ const branchID = source.getBranchId(branch, ownerID);
282
+ // Passing skipRetry to true because otherwise creating a new branch would always take 1 retry delay
283
+ let branchCoValue = await this.loadCoValueCore(branchID, undefined, true);
284
+ if (!branchCoValue.isAvailable()) {
285
+ branchCoValue = source.createBranch(branch, ownerID);
286
+ }
287
+ return branchCoValue.getCurrentContent();
288
+ }
262
289
  getLoaded(id) {
263
290
  const coValue = this.getCoValue(id);
264
291
  if (coValue.isAvailable()) {
@@ -1 +1 @@
1
- {"version":3,"file":"localNode.js","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localNode.js","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAc,YAAY,EAAc,MAAM,uBAAuB,CAAC;AAS7E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,OAAO,EAEP,OAAO,EAIR,MAAM,UAAU,CAAC;AAQlB,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE/B,MAAM,MAAM,WAAW;AACrB;;GAEG;AACD,QAAQ;AACV;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,WAAW,CAAC;AAEhB,MAAM,MAAM,IAAI,GACZ,WAAW,GACX,SAAS,GACT,aAAa,GACb,cAAc,GACd,cAAc,GACd,iBAAiB,CAAC;AAOtB,wBAAgB,uBAAuB,SAEtC;AAaD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,WAAW,QAsE9D;AA+VD,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,GACT,EAAE,IAAI,eAAe,YAAY,GAAG,OAAO,EAAE,CAE/C;AAED,wBAAgB,sCAAsC,CACpD,EAAE,EAAE,eAAe,YAAY,GAAG,OAAO,EAAE,GAC1C,YAAY,GAAG,OAAO,CAExB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,GAAG,KAAK,QAAQ,KAAK,EAAE,CAE1E;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,GACT,EAAE,IAAI,GAAG,KAAK,QAAQ,YAAY,GAAG,OAAO,EAAE,CAMhD"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAc,YAAY,EAAc,MAAM,uBAAuB,CAAC;AAS7E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,OAAO,EAEP,OAAO,EAIR,MAAM,UAAU,CAAC;AAQlB,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE/B,MAAM,MAAM,WAAW;AACrB;;GAEG;AACD,QAAQ;AACV;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,WAAW,CAAC;AAEhB,MAAM,MAAM,IAAI,GACZ,WAAW,GACX,SAAS,GACT,aAAa,GACb,cAAc,GACd,cAAc,GACd,iBAAiB,CAAC;AAOtB,wBAAgB,uBAAuB,SAEtC;AAaD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,WAAW,QAsE9D;AAiWD,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,GACT,EAAE,IAAI,eAAe,YAAY,GAAG,OAAO,EAAE,CAE/C;AAED,wBAAgB,sCAAsC,CACpD,EAAE,EAAE,eAAe,YAAY,GAAG,OAAO,EAAE,GAC1C,YAAY,GAAG,OAAO,CAExB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,GAAG,KAAK,QAAQ,KAAK,EAAE,CAE1E;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,GACT,EAAE,IAAI,GAAG,KAAK,QAAQ,YAAY,GAAG,OAAO,EAAE,CAMhD"}
@@ -272,7 +272,9 @@ function determineValidTransactionsForGroup(coValue, initialAdmin, extendChain)
272
272
  change.key === transactor &&
273
273
  change.value === "admin";
274
274
  const currentAccountId = coValue.node.getCurrentAccountOrAgentID();
275
- const isSelfRevoke = currentAccountId === change.key && change.value === "revoked";
275
+ const isSelfRevoke = currentAccountId === change.key &&
276
+ transactor === currentAccountId &&
277
+ change.value === "revoked";
276
278
  if (!isFirstSelfAppointment && !isSelfRevoke) {
277
279
  if (memberState[transactor] === "admin") {
278
280
  if (memberState[affectedMember] === "admin" &&
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,28 @@
1
- import { describe, expect, test } from "vitest";
2
- import { createTestNode } from "./testUtils.js";
1
+ import { beforeEach, describe, expect, test } from "vitest";
2
+ import { createTestNode, setupTestNode, loadCoValueOrFail, } from "./testUtils.js";
3
3
  import { expectMap } from "../coValue.js";
4
+ let jazzCloud;
5
+ beforeEach(async () => {
6
+ jazzCloud = setupTestNode({ isSyncServer: true });
7
+ });
4
8
  describe("Branching Logic", () => {
5
9
  describe("Branch Operations with Transactions", () => {
6
- test("should maintain separate transaction histories", async () => {
10
+ test("should maintain separate transaction histories between original and branch", async () => {
7
11
  const node = createTestNode();
8
12
  const group = node.createGroup();
9
13
  const originalMap = group.createMap();
10
14
  const branchName = "feature-branch";
11
- // Add transactions to original map
15
+ // Add initial transactions to original map
12
16
  originalMap.set("originalKey1", "value1", "trusting");
13
17
  originalMap.set("originalKey2", "value2", "trusting");
14
18
  const branch = expectMap(originalMap.core.createBranch(branchName, group.id).getCurrentContent());
15
- // Add transactions to branch
19
+ // Add new transactions to branch
16
20
  branch.set("branchKey1", "branchValue1", "trusting");
17
21
  branch.set("branchKey2", "branchValue2", "trusting");
22
+ // Verify original map doesn't have branch transactions
18
23
  expect(originalMap.get("branchKey1")).toBe(undefined);
19
24
  expect(originalMap.get("branchKey2")).toBe(undefined);
25
+ // Verify branch has both original and new transactions
20
26
  expect(branch.get("branchKey2")).toBe("branchValue2");
21
27
  expect(branch.get("branchKey1")).toBe("branchValue1");
22
28
  expect(branch.get("originalKey1")).toBe("value1");
@@ -24,76 +30,258 @@ describe("Branching Logic", () => {
24
30
  });
25
31
  });
26
32
  describe("Branch Merging", () => {
27
- test("should merge branch transactions back to source", () => {
33
+ test("should merge branch transactions back to source map", () => {
28
34
  const node = createTestNode();
29
35
  const group = node.createGroup();
30
36
  const originalMap = group.createMap();
31
37
  const branchName = "feature-branch";
32
- // Add transactions to original map
38
+ // Add initial transactions to original map
33
39
  originalMap.set("key1", "value1", "trusting");
34
40
  originalMap.set("key2", "value2", "trusting");
35
- // Create branch
41
+ // Create branch from original map
36
42
  const branch = expectMap(originalMap.core.createBranch(branchName, group.id).getCurrentContent());
37
- // Add transactions to branch
43
+ // Add new transaction to branch
38
44
  branch.set("key1", "branchValue1", "trusting");
39
- // Merge branch
45
+ // Merge branch back to source
40
46
  const result = expectMap(branch.core.mergeBranch().getCurrentContent());
41
- // Check that source now has branch transactions
47
+ // Verify source now contains branch transactions
42
48
  expect(result.get("key1")).toBe("branchValue1");
43
49
  expect(result.get("key2")).toBe("value2");
44
50
  });
45
- test("should not merge branch transactions back to source if they are already merged", () => {
51
+ test("should not create duplicate merge commits when merging already merged branch", () => {
46
52
  const node = createTestNode();
47
53
  const group = node.createGroup();
48
54
  const originalMap = group.createMap();
49
55
  const branchName = "feature-branch";
50
- // Add transactions to original map
56
+ // Add initial transactions to original map
51
57
  originalMap.set("key1", "value1", "trusting");
52
58
  originalMap.set("key2", "value2", "trusting");
53
- // Create branch
59
+ // Create branch from original map
54
60
  const branch = expectMap(originalMap.core.createBranch(branchName, group.id).getCurrentContent());
55
- // Add transactions to branch
61
+ // Add new transaction to branch
56
62
  branch.set("key1", "branchValue1", "trusting");
57
- // Merge branch twice
63
+ // Merge branch twice - second merge should not create new commit
58
64
  expectMap(branch.core.mergeBranch().getCurrentContent());
59
65
  const result = expectMap(branch.core.mergeBranch().getCurrentContent());
66
+ // Verify only one merge commit was created
60
67
  expect(result.core.mergeCommits.length).toBe(1);
61
- // Check that source now has branch transactions
68
+ // Verify source contains branch transactions
62
69
  expect(result.get("key1")).toBe("branchValue1");
63
70
  expect(result.get("key2")).toBe("value2");
64
71
  });
65
- test("should not create a merge commit if the branch is empty", () => {
72
+ test("should not create merge commit when merging empty branch", () => {
66
73
  const node = createTestNode();
67
74
  const group = node.createGroup();
68
75
  const originalMap = group.createMap();
69
76
  const branchName = "feature-branch";
70
- // Add transactions to original map
77
+ // Add initial transactions to original map
71
78
  originalMap.set("key1", "value1", "trusting");
72
79
  originalMap.set("key2", "value2", "trusting");
73
- // Create branch
80
+ // Create branch from original map (no changes made)
74
81
  const branch = expectMap(originalMap.core.createBranch(branchName, group.id).getCurrentContent());
75
- // Merge branch twice
82
+ // Merge empty branch
76
83
  const result = expectMap(branch.core.mergeBranch().getCurrentContent());
84
+ // Verify no merge commit was created
77
85
  expect(result.core.mergeCommits.length).toBe(0);
78
86
  });
79
- test("should merge the new changes from the branch after the last merge", () => {
87
+ test("should merge only new changes from branch after previous merge", () => {
80
88
  const node = createTestNode();
81
89
  const group = node.createGroup();
82
90
  const originalMap = group.createMap();
83
91
  const branchName = "feature-branch";
92
+ // Add initial transactions to original map
84
93
  originalMap.set("key1", "value1", "trusting");
85
94
  originalMap.set("key2", "value2", "trusting");
86
95
  const branch = expectMap(originalMap.core.createBranch(branchName, group.id).getCurrentContent());
96
+ // Add first change to branch
87
97
  branch.set("key1", "branchValue1", "trusting");
98
+ // Merge first change
88
99
  branch.core.mergeBranch();
100
+ // Verify first change was merged
89
101
  expect(originalMap.get("key1")).toBe("branchValue1");
90
102
  expect(originalMap.get("key2")).toBe("value2");
103
+ // Add second change to branch
91
104
  branch.set("key2", "branchValue2", "trusting");
105
+ // Merge second change
92
106
  branch.core.mergeBranch();
107
+ // Verify two merge commits exist
93
108
  expect(originalMap.core.mergeCommits.length).toBe(2);
109
+ // Verify both changes are now in original map
94
110
  expect(originalMap.get("key1")).toBe("branchValue1");
95
111
  expect(originalMap.get("key2")).toBe("branchValue2");
96
112
  });
97
113
  });
114
+ describe("Branch Loading and Checkout", () => {
115
+ test("should create new branch when checking out non-existent branch", async () => {
116
+ const client = setupTestNode({
117
+ connected: true,
118
+ });
119
+ const group = jazzCloud.node.createGroup();
120
+ group.addMember("everyone", "writer");
121
+ const originalMap = group.createMap();
122
+ const branchName = "feature-branch";
123
+ // Add initial data to original map
124
+ originalMap.set("key1", "value1");
125
+ originalMap.set("key2", "value2");
126
+ // Checkout non-existent branch - should create new one
127
+ const branch = await client.node.checkoutBranch(originalMap.id, branchName);
128
+ expect(branch).not.toBe("unavailable");
129
+ if (branch !== "unavailable") {
130
+ // Verify branch inherits original data
131
+ expect(branch.get("key1")).toBe("value1");
132
+ expect(branch.get("key2")).toBe("value2");
133
+ // Add new data to branch
134
+ branch.set("branchKey", "branchValue");
135
+ await branch.core.waitForSync();
136
+ // Verify original map doesn't have branch data
137
+ expect(originalMap.get("branchKey")).toBe(undefined);
138
+ expect(branch.get("branchKey")).toBe("branchValue");
139
+ }
140
+ });
141
+ test("should load existing branch when checking out created branch", async () => {
142
+ const client = setupTestNode({
143
+ connected: true,
144
+ });
145
+ const group = jazzCloud.node.createGroup();
146
+ group.addMember("everyone", "writer");
147
+ const originalMap = group.createMap();
148
+ const branchName = "feature-branch";
149
+ // Add initial data to original map
150
+ originalMap.set("key1", "value1");
151
+ originalMap.set("key2", "value2");
152
+ // Create branch with some data
153
+ const originalBranch = expectMap(originalMap.core.createBranch(branchName, group.id).getCurrentContent());
154
+ originalBranch.set("branchKey", "branchValue");
155
+ // Checkout existing branch - should return created branch
156
+ const branch = await client.node.checkoutBranch(originalMap.id, branchName);
157
+ expect(branch).not.toBe("unavailable");
158
+ if (branch !== "unavailable") {
159
+ // Verify branch contains both original and new data
160
+ expect(branch.get("key1")).toBe("value1");
161
+ expect(branch.get("key2")).toBe("value2");
162
+ expect(branch.get("branchKey")).toBe("branchValue");
163
+ }
164
+ });
165
+ test("should successfully load existing branch via node.load", async () => {
166
+ const client = setupTestNode({
167
+ connected: true,
168
+ });
169
+ const group = jazzCloud.node.createGroup();
170
+ group.addMember("everyone", "writer");
171
+ const originalMap = group.createMap();
172
+ const branchName = "feature-branch";
173
+ // Add initial data to original map
174
+ originalMap.set("key1", "value1");
175
+ originalMap.set("key2", "value2");
176
+ // Create branch with some data
177
+ const originalBranch = expectMap(originalMap.core.createBranch(branchName, group.id).getCurrentContent());
178
+ originalBranch.set("branchKey", "branchValue");
179
+ // Load existing branch via node.load
180
+ const branch = await client.node.load(originalBranch.id);
181
+ expect(branch).not.toBe("unavailable");
182
+ if (branch !== "unavailable") {
183
+ // Verify branch contains all expected data
184
+ expect(branch.get("key1")).toBe("value1");
185
+ expect(branch.get("key2")).toBe("value2");
186
+ expect(branch.get("branchKey")).toBe("branchValue");
187
+ }
188
+ });
189
+ test("should create branch with different group owner when specified", async () => {
190
+ const client = setupTestNode({
191
+ connected: true,
192
+ });
193
+ const group = jazzCloud.node.createGroup();
194
+ group.addMember("everyone", "writer");
195
+ const originalMap = group.createMap();
196
+ const branchName = "feature-branch";
197
+ // Add initial data to original map
198
+ originalMap.set("key1", "value1");
199
+ originalMap.set("key2", "value2");
200
+ // Create different group to own the branch
201
+ const branchGroup = client.node.createGroup();
202
+ // Checkout branch with different group as owner
203
+ const branch = await client.node.checkoutBranch(originalMap.id, branchName, branchGroup.id);
204
+ expect(branch).not.toBe("unavailable");
205
+ if (branch !== "unavailable") {
206
+ // Verify branch inherits original data
207
+ expect(branch.get("key1")).toBe("value1");
208
+ expect(branch.get("key2")).toBe("value2");
209
+ // Add new data to branch
210
+ branch.set("branchKey", "branchValue");
211
+ await branch.core.waitForSync();
212
+ // Verify original map doesn't have branch data
213
+ expect(originalMap.get("branchKey")).toBe(undefined);
214
+ expect(branch.get("branchKey")).toBe("branchValue");
215
+ }
216
+ // Verify that the sync server can't read the branch content
217
+ const branchOnTheServer = await jazzCloud.node.checkoutBranch(originalMap.id, branchName, branchGroup.id);
218
+ expect(branchOnTheServer).not.toBe("unavailable");
219
+ if (branchOnTheServer !== "unavailable") {
220
+ expect(branchOnTheServer.get("branchKey")).toBe(undefined);
221
+ expect(branchOnTheServer.get("key1")).toBe(undefined);
222
+ expect(branchOnTheServer.get("key2")).toBe(undefined);
223
+ }
224
+ });
225
+ test("should return unavailable when trying to checkout branch from group", async () => {
226
+ const client = setupTestNode({
227
+ connected: true,
228
+ });
229
+ const group = jazzCloud.node.createGroup();
230
+ group.addMember("everyone", "writer");
231
+ // Try to checkout branch from group (groups don't support branching)
232
+ const branch = await client.node.checkoutBranch(group.id, "feature-branch");
233
+ // Should return unavailable since groups don't support branching
234
+ expect(branch).toBe("unavailable");
235
+ });
236
+ test("should return unavailable when source value is unreachable", async () => {
237
+ // Create client without sync server connection
238
+ const client = setupTestNode();
239
+ const group = jazzCloud.node.createGroup();
240
+ group.addMember("everyone", "writer");
241
+ // Create map on sync server (unreachable from client)
242
+ const originalMap = group.createMap();
243
+ originalMap.set("key1", "value1");
244
+ // Try to checkout branch on unreachable map
245
+ const branch = await client.node.checkoutBranch(originalMap.id, "feature-branch");
246
+ // Should return unavailable since checkout failed
247
+ expect(branch).toBe("unavailable");
248
+ });
249
+ });
250
+ describe("Branch Conflict Resolution", () => {
251
+ test("should successfully handle concurrent branch creation on different nodes", async () => {
252
+ const bob = setupTestNode();
253
+ const { peer: bobPeer } = bob.connectToSyncServer();
254
+ const alice = setupTestNode({
255
+ connected: true,
256
+ });
257
+ const client = setupTestNode();
258
+ const group = jazzCloud.node.createGroup();
259
+ group.addMember("everyone", "writer");
260
+ // Create map without any branches
261
+ const originalMap = group.createMap();
262
+ const originalMapOnBob = await loadCoValueOrFail(bob.node, originalMap.id);
263
+ // Disconnect bob from sync server to create isolation
264
+ bobPeer.outgoing.close();
265
+ // Create branches on different nodes
266
+ const aliceBranch = await alice.node.checkoutBranch(originalMap.id, "feature-branch");
267
+ const bobBranch = expectMap(originalMapOnBob.core
268
+ .createBranch("feature-branch", group.id)
269
+ .getCurrentContent());
270
+ if (aliceBranch === "unavailable") {
271
+ throw new Error("Alice branch is unavailable");
272
+ }
273
+ // Add different data to each branch
274
+ bobBranch.set("bob", true);
275
+ aliceBranch.set("alice", true);
276
+ // Reconnect bob to sync server
277
+ bob.connectToSyncServer();
278
+ // Wait for sync to complete
279
+ await bobBranch.core.waitForSync();
280
+ await aliceBranch.core.waitForSync();
281
+ // Verify both branches now contain data from the other
282
+ expect(bobBranch.get("alice")).toBe(true);
283
+ expect(aliceBranch.get("bob")).toBe(true);
284
+ });
285
+ });
98
286
  });
99
287
  //# sourceMappingURL=branching.test.js.map