@calimero-network/mero-js 2.0.0 → 2.1.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/dist/index.d.ts CHANGED
@@ -12,4 +12,5 @@ export type { ExecuteParams } from './rpc';
12
12
  export { SseClient, WsClient } from './events';
13
13
  export type { SseEventData, WsEventData } from './events';
14
14
  export * from './cloud';
15
+ export * from './capabilities';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGzD,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACzE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG1D,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGzD,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACzE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG1D,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -18,5 +18,7 @@ export { RpcClient, RpcError } from './rpc';
18
18
  export { SseClient, WsClient } from './events';
19
19
  // Cloud client (enable-HA, disable-HA)
20
20
  export * from './cloud';
21
+ // Member capability bitmask constants & helpers
22
+ export * from './capabilities';
21
23
  // Utilities
22
24
  //# 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,6CAA6C;AAC7C,uEAAuE;AAEvE,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGjD,2CAA2C;AAC3C,cAAc,eAAe,CAAC;AAE9B,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAE3B,mBAAmB;AACnB,cAAc,aAAa,CAAC;AAE5B,iBAAiB;AACjB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAG9D,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAGzE,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG5C,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG/C,uCAAuC;AACvC,cAAc,SAAS,CAAC;AAExB,YAAY"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,uEAAuE;AAEvE,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGjD,2CAA2C;AAC3C,cAAc,eAAe,CAAC;AAE9B,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAE3B,mBAAmB;AACnB,cAAc,aAAa,CAAC;AAE5B,iBAAiB;AACjB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAG9D,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAGzE,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG5C,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG/C,uCAAuC;AACvC,cAAc,SAAS,CAAC;AAExB,gDAAgD;AAChD,cAAc,gBAAgB,CAAC;AAE/B,YAAY"}
package/dist/index.mjs CHANGED
@@ -897,6 +897,14 @@ var AdminApiClient = class {
897
897
  async getGroupInfo(groupId) {
898
898
  return unwrap(await this.httpClient.get(`/admin-api/groups/${groupId}`));
899
899
  }
900
+ /** Thin wrapper over {@link getGroupInfo}: returns the group's `defaultCapabilities` bitmask. */
901
+ async getDefaultCapabilities(groupId) {
902
+ return (await this.getGroupInfo(groupId)).defaultCapabilities;
903
+ }
904
+ /** Thin wrapper over {@link getGroupInfo}: returns the group's `subgroupVisibility`. */
905
+ async getSubgroupVisibility(groupId) {
906
+ return (await this.getGroupInfo(groupId)).subgroupVisibility;
907
+ }
900
908
  async deleteGroup(groupId, request) {
901
909
  if (request) {
902
910
  return unwrap(
@@ -910,7 +918,16 @@ var AdminApiClient = class {
910
918
  return unwrap(await this.httpClient.delete(`/admin-api/groups/${groupId}`));
911
919
  }
912
920
  async listGroupMembers(groupId) {
913
- return this.httpClient.get(`/admin-api/groups/${groupId}/members`);
921
+ const response = await this.httpClient.get(
922
+ `/admin-api/groups/${groupId}/members`
923
+ );
924
+ if (!Array.isArray(response?.members)) {
925
+ const safeId = String(groupId).replace(/[\r\n\t\s]/g, "").slice(0, 64);
926
+ throw new Error(
927
+ `Invalid listGroupMembers response for group ${safeId}: missing or non-array \`members\` field`
928
+ );
929
+ }
930
+ return response;
914
931
  }
915
932
  async listGroupContexts(groupId) {
916
933
  return unwrap(await this.httpClient.get(`/admin-api/groups/${groupId}/contexts`));
@@ -946,11 +963,28 @@ var AdminApiClient = class {
946
963
  async updateGroupSettings(groupId, request) {
947
964
  await this.httpClient.patch(`/admin-api/groups/${groupId}`, request);
948
965
  }
949
- async setGroupAlias(groupId, request) {
950
- await this.httpClient.put(`/admin-api/groups/${groupId}/alias`, request);
966
+ // ---- Group / member / context metadata ----
967
+ async setGroupMetadata(groupId, request) {
968
+ await this.httpClient.put(`/admin-api/groups/${groupId}/metadata`, request);
969
+ }
970
+ async getGroupMetadata(groupId) {
971
+ return unwrap(await this.httpClient.get(`/admin-api/groups/${groupId}/metadata`)).data;
972
+ }
973
+ async setMemberMetadata(groupId, identity, request) {
974
+ await this.httpClient.put(`/admin-api/groups/${groupId}/members/${identity}/metadata`, request);
951
975
  }
952
- async setMemberAlias(groupId, identity, request) {
953
- await this.httpClient.put(`/admin-api/groups/${groupId}/members/${identity}/alias`, request);
976
+ async getMemberMetadata(groupId, identity) {
977
+ return unwrap(
978
+ await this.httpClient.get(`/admin-api/groups/${groupId}/members/${identity}/metadata`)
979
+ ).data;
980
+ }
981
+ async setContextMetadata(groupId, contextId, request) {
982
+ await this.httpClient.put(`/admin-api/groups/${groupId}/contexts/${contextId}/metadata`, request);
983
+ }
984
+ async getContextMetadata(groupId, contextId) {
985
+ return unwrap(
986
+ await this.httpClient.get(`/admin-api/groups/${groupId}/contexts/${contextId}/metadata`)
987
+ ).data;
954
988
  }
955
989
  async syncGroup(groupId, request) {
956
990
  return unwrap(await this.httpClient.post(`/admin-api/groups/${groupId}/sync`, request ?? {}));
@@ -1880,9 +1914,33 @@ var CloudClient = class {
1880
1914
  window.open(`${this.baseUrl}/disable-ha?${params.toString()}`);
1881
1915
  }
1882
1916
  };
1917
+
1918
+ // src/capabilities.ts
1919
+ var CAPABILITIES = {
1920
+ CAN_CREATE_CONTEXT: 1 << 0,
1921
+ CAN_INVITE_MEMBERS: 1 << 1,
1922
+ CAN_JOIN_OPEN_SUBGROUPS: 1 << 2,
1923
+ MANAGE_MEMBERS: 1 << 3,
1924
+ MANAGE_APPLICATION: 1 << 4,
1925
+ CAN_CREATE_SUBGROUP: 1 << 5,
1926
+ CAN_DELETE_SUBGROUP: 1 << 6,
1927
+ CAN_MANAGE_VISIBILITY: 1 << 7,
1928
+ CAN_MANAGE_METADATA: 1 << 8
1929
+ };
1930
+ function hasCap(mask, cap) {
1931
+ const capU32 = cap >>> 0;
1932
+ return (mask & capU32) >>> 0 === capU32;
1933
+ }
1934
+ function withCap(mask, cap) {
1935
+ return (mask | cap) >>> 0;
1936
+ }
1937
+ function withoutCap(mask, cap) {
1938
+ return (mask & ~cap) >>> 0;
1939
+ }
1883
1940
  export {
1884
1941
  AdminApiClient,
1885
1942
  AuthApiClient,
1943
+ CAPABILITIES,
1886
1944
  CloudClient,
1887
1945
  HTTPError,
1888
1946
  LocalStorageTokenStore,
@@ -1910,7 +1968,10 @@ export {
1910
1968
  createRetryableMethod,
1911
1969
  createTimeoutSignal,
1912
1970
  createUniversalHttpClient,
1971
+ hasCap,
1913
1972
  parseAuthCallback,
1914
- withRetry
1973
+ withCap,
1974
+ withRetry,
1975
+ withoutCap
1915
1976
  };
1916
1977
  //# sourceMappingURL=index.mjs.map