@calimero-network/mero-react 2.2.1 → 2.4.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.cts CHANGED
@@ -2,8 +2,9 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import React__default, { CSSProperties } from 'react';
4
4
  import * as _calimero_network_mero_js from '@calimero-network/mero-js';
5
- import { MeroJs, AddGroupMembersRequest, CreateContextRequest, CreateGroupInNamespaceRequest, CreateNamespaceRequest, CreateNamespaceInvitationRequest, CreateNamespaceInvitationResponseData, CreateRecursiveInvitationResponseData, DeleteGroupRequest, DeleteNamespaceRequest, DetachContextFromGroupRequest, GroupContextEntry, GroupInfo, CreateGroupInvitationRequest, GroupMember, GroupUpgradeStatusResponseData, JoinGroupRequest, JoinNamespaceRequest, Namespace, SubgroupEntry, NamespaceIdentity, NestGroupRequest, RegisterGroupSigningKeyRequest, RemoveGroupMembersRequest, RetryGroupUpgradeRequest, SetDefaultCapabilitiesRequest, SetGroupAliasRequest, SetMemberAliasRequest, SetSubgroupVisibilityRequest, SetTeeAdmissionPolicyRequest, SseEventData, SyncGroupRequest, UnnestGroupRequest, UpdateGroupSettingsRequest, UpdateMemberRoleRequest, UpgradeGroupRequest, TokenData } from '@calimero-network/mero-js';
5
+ import { MeroJs, SetMetadataRequest, AddGroupMembersRequest, CreateContextRequest, CreateGroupInNamespaceRequest, CreateNamespaceRequest, CreateNamespaceInvitationRequest, CreateNamespaceInvitationResponseData, CreateRecursiveInvitationResponseData, DeleteGroupRequest, DeleteNamespaceRequest, DetachContextFromGroupRequest, GroupContextEntry, GroupInfo, CreateGroupInvitationRequest, GroupMember, MetadataRecord, GroupUpgradeStatusResponseData, JoinGroupRequest, JoinNamespaceRequest, Namespace, SubgroupEntry, NamespaceIdentity, NestGroupRequest, RegisterGroupSigningKeyRequest, RemoveGroupMembersRequest, RetryGroupUpgradeRequest, SetDefaultCapabilitiesRequest, SetSubgroupVisibilityRequest, SetTeeAdmissionPolicyRequest, SseEventData, SyncGroupRequest, UnnestGroupRequest, UpdateGroupSettingsRequest, UpdateMemberRoleRequest, UpgradeGroupRequest, TokenData } from '@calimero-network/mero-js';
6
6
  export * from '@calimero-network/mero-js';
7
+ export { CAPABILITIES, MetadataRecord, hasCap, withCap, withoutCap } from '@calimero-network/mero-js';
7
8
 
8
9
  /**
9
10
  * Types for mero-react
@@ -266,6 +267,13 @@ interface CalimeroLogoProps extends React__default.SVGAttributes<SVGSVGElement>
266
267
  }
267
268
  declare function CalimeroLogo({ size, color, style, ...rest }: CalimeroLogoProps): react_jsx_runtime.JSX.Element;
268
269
 
270
+ /**
271
+ * Shape accepted by the metadata-setter hooks — re-exported from mero-js so
272
+ * callers have one canonical type. A `set*Metadata` call **replaces the whole
273
+ * record**: `data` defaults to `{}` and wholly replaces the stored map; omit
274
+ * `name` to keep the current name.
275
+ */
276
+ type SetMetadataInput = SetMetadataRequest;
269
277
  /**
270
278
  * Execute RPC methods against a context.
271
279
  * Tracks loading/error state. Unmount-safe.
@@ -342,6 +350,11 @@ declare function useJoinContext(): {
342
350
  loading: boolean;
343
351
  error: Error | null;
344
352
  };
353
+ declare function useJoinSubgroupInheritance(): {
354
+ joinSubgroupInheritance: (groupId: string) => Promise<_calimero_network_mero_js.JoinSubgroupInheritanceResponseData | null>;
355
+ loading: boolean;
356
+ error: Error | null;
357
+ };
345
358
  declare function useContextGroup(contextId?: string | null): {
346
359
  groupId: string | null;
347
360
  loading: boolean;
@@ -444,6 +457,18 @@ declare function useSetSubgroupVisibility(): {
444
457
  loading: boolean;
445
458
  error: Error | null;
446
459
  };
460
+ declare function useDefaultCapabilities(groupId?: string | null): {
461
+ defaultCapabilities: number | null;
462
+ loading: boolean;
463
+ error: Error | null;
464
+ refetch: () => Promise<void>;
465
+ };
466
+ declare function useSubgroupVisibility(groupId?: string | null): {
467
+ subgroupVisibility: string | null;
468
+ loading: boolean;
469
+ error: Error | null;
470
+ refetch: () => Promise<void>;
471
+ };
447
472
  declare function useSetTeeAdmissionPolicy(): {
448
473
  setTeeAdmissionPolicy: (groupId: string, request: SetTeeAdmissionPolicyRequest) => Promise<void | null>;
449
474
  loading: boolean;
@@ -454,15 +479,32 @@ declare function useUpdateGroupSettings(): {
454
479
  loading: boolean;
455
480
  error: Error | null;
456
481
  };
457
- declare function useSetGroupAlias(): {
458
- setGroupAlias: (groupId: string, request: SetGroupAliasRequest) => Promise<void | null>;
482
+ declare function useSetGroupMetadata(): {
483
+ setGroupMetadata: (groupId: string, request: SetMetadataInput) => Promise<void | null>;
484
+ loading: boolean;
485
+ error: Error | null;
486
+ };
487
+ declare function useSetMemberMetadata(): {
488
+ setMemberMetadata: (groupId: string, identity: string, request: SetMetadataInput) => Promise<void | null>;
489
+ loading: boolean;
490
+ error: Error | null;
491
+ };
492
+ declare function useSetContextMetadata(): {
493
+ setContextMetadata: (groupId: string, contextId: string, request: SetMetadataInput) => Promise<void | null>;
494
+ loading: boolean;
495
+ error: Error | null;
496
+ };
497
+ declare function useGroupMetadata(groupId?: string | null): {
498
+ metadata: MetadataRecord | null;
459
499
  loading: boolean;
460
500
  error: Error | null;
501
+ refetch: () => Promise<void>;
461
502
  };
462
- declare function useSetMemberAlias(): {
463
- setMemberAlias: (groupId: string, identity: string, request: SetMemberAliasRequest) => Promise<void | null>;
503
+ declare function useMemberMetadata(groupId?: string | null, identity?: string | null): {
504
+ metadata: MetadataRecord | null;
464
505
  loading: boolean;
465
506
  error: Error | null;
507
+ refetch: () => Promise<void>;
466
508
  };
467
509
  declare function useRegisterGroupSigningKey(): {
468
510
  registerGroupSigningKey: (groupId: string, request: RegisterGroupSigningKeyRequest) => Promise<_calimero_network_mero_js.RegisterGroupSigningKeyResponseData | null>;
@@ -571,4 +613,4 @@ declare function clearContextIdentity(): void;
571
613
  */
572
614
  declare function clearAllStorage(): void;
573
615
 
574
- export { type AppContext, AppMode, type ApplicationContextRecord, CalimeroLogo, type CalimeroLogoProps, ConnectButton, type ConnectButtonProps, ConnectionType, type ContextDiscoveryOptions, type ContextDiscoveryState, type CustomConnectionConfig, type ExecutionResult, LoginModal, type LoginModalProps, MERO_CSS_VARS, MeroContext, type MeroContextValue, MeroProvider, type MeroProviderConfig, type MeroProviderProps, type MeroTheme, type ResolvedMeroTheme, clearAllStorage, clearApplicationId, clearContextId, clearContextIdentity, clearNodeUrl, cssVar, defaultMeroTheme, getApplicationId, getContextId, getContextIdentity, getNodeUrl, localStorageTokenStorage, resolveMeroTheme, setApplicationId, setContextId, setContextIdentity, setNodeUrl, themeToCssVars, useAddGroupMembers, useApplicationContexts, useContextDiscovery, useContextGroup, useContexts, useCreateContext, useCreateGroupInNamespace, useCreateNamespace, useCreateNamespaceInvitation, useDeleteContext, useDeleteGroup, useDeleteNamespace, useDetachContextFromGroup, useExecute, useGroupCapabilities, useGroupContexts, useGroupInfo, useGroupInvitations, useGroupMembers, useGroupUpgradeStatus, useJoinContext, useJoinGroup, useJoinNamespace, useMero, useNamespace, useNamespaceGroups, useNamespaceIdentity, useNamespaces, useNamespacesForApplication, useNestGroup, useRegisterGroupSigningKey, useRemoveGroupMembers, useRetryGroupUpgrade, useSetDefaultCapabilities, useSetGroupAlias, useSetMemberAlias, useSetSubgroupVisibility, useSetTeeAdmissionPolicy, useSubgroups, useSubscription, useSyncGroup, useUnnestGroup, useUpdateGroupSettings, useUpdateMemberRole, useUpgradeGroup };
616
+ export { type AppContext, AppMode, type ApplicationContextRecord, CalimeroLogo, type CalimeroLogoProps, ConnectButton, type ConnectButtonProps, ConnectionType, type ContextDiscoveryOptions, type ContextDiscoveryState, type CustomConnectionConfig, type ExecutionResult, LoginModal, type LoginModalProps, MERO_CSS_VARS, MeroContext, type MeroContextValue, MeroProvider, type MeroProviderConfig, type MeroProviderProps, type MeroTheme, type ResolvedMeroTheme, type SetMetadataInput, clearAllStorage, clearApplicationId, clearContextId, clearContextIdentity, clearNodeUrl, cssVar, defaultMeroTheme, getApplicationId, getContextId, getContextIdentity, getNodeUrl, localStorageTokenStorage, resolveMeroTheme, setApplicationId, setContextId, setContextIdentity, setNodeUrl, themeToCssVars, useAddGroupMembers, useApplicationContexts, useContextDiscovery, useContextGroup, useContexts, useCreateContext, useCreateGroupInNamespace, useCreateNamespace, useCreateNamespaceInvitation, useDefaultCapabilities, useDeleteContext, useDeleteGroup, useDeleteNamespace, useDetachContextFromGroup, useExecute, useGroupCapabilities, useGroupContexts, useGroupInfo, useGroupInvitations, useGroupMembers, useGroupMetadata, useGroupUpgradeStatus, useJoinContext, useJoinGroup, useJoinNamespace, useJoinSubgroupInheritance, useMemberMetadata, useMero, useNamespace, useNamespaceGroups, useNamespaceIdentity, useNamespaces, useNamespacesForApplication, useNestGroup, useRegisterGroupSigningKey, useRemoveGroupMembers, useRetryGroupUpgrade, useSetContextMetadata, useSetDefaultCapabilities, useSetGroupMetadata, useSetMemberMetadata, useSetSubgroupVisibility, useSetTeeAdmissionPolicy, useSubgroupVisibility, useSubgroups, useSubscription, useSyncGroup, useUnnestGroup, useUpdateGroupSettings, useUpdateMemberRole, useUpgradeGroup };
package/dist/index.d.ts CHANGED
@@ -2,8 +2,9 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import React__default, { CSSProperties } from 'react';
4
4
  import * as _calimero_network_mero_js from '@calimero-network/mero-js';
5
- import { MeroJs, AddGroupMembersRequest, CreateContextRequest, CreateGroupInNamespaceRequest, CreateNamespaceRequest, CreateNamespaceInvitationRequest, CreateNamespaceInvitationResponseData, CreateRecursiveInvitationResponseData, DeleteGroupRequest, DeleteNamespaceRequest, DetachContextFromGroupRequest, GroupContextEntry, GroupInfo, CreateGroupInvitationRequest, GroupMember, GroupUpgradeStatusResponseData, JoinGroupRequest, JoinNamespaceRequest, Namespace, SubgroupEntry, NamespaceIdentity, NestGroupRequest, RegisterGroupSigningKeyRequest, RemoveGroupMembersRequest, RetryGroupUpgradeRequest, SetDefaultCapabilitiesRequest, SetGroupAliasRequest, SetMemberAliasRequest, SetSubgroupVisibilityRequest, SetTeeAdmissionPolicyRequest, SseEventData, SyncGroupRequest, UnnestGroupRequest, UpdateGroupSettingsRequest, UpdateMemberRoleRequest, UpgradeGroupRequest, TokenData } from '@calimero-network/mero-js';
5
+ import { MeroJs, SetMetadataRequest, AddGroupMembersRequest, CreateContextRequest, CreateGroupInNamespaceRequest, CreateNamespaceRequest, CreateNamespaceInvitationRequest, CreateNamespaceInvitationResponseData, CreateRecursiveInvitationResponseData, DeleteGroupRequest, DeleteNamespaceRequest, DetachContextFromGroupRequest, GroupContextEntry, GroupInfo, CreateGroupInvitationRequest, GroupMember, MetadataRecord, GroupUpgradeStatusResponseData, JoinGroupRequest, JoinNamespaceRequest, Namespace, SubgroupEntry, NamespaceIdentity, NestGroupRequest, RegisterGroupSigningKeyRequest, RemoveGroupMembersRequest, RetryGroupUpgradeRequest, SetDefaultCapabilitiesRequest, SetSubgroupVisibilityRequest, SetTeeAdmissionPolicyRequest, SseEventData, SyncGroupRequest, UnnestGroupRequest, UpdateGroupSettingsRequest, UpdateMemberRoleRequest, UpgradeGroupRequest, TokenData } from '@calimero-network/mero-js';
6
6
  export * from '@calimero-network/mero-js';
7
+ export { CAPABILITIES, MetadataRecord, hasCap, withCap, withoutCap } from '@calimero-network/mero-js';
7
8
 
8
9
  /**
9
10
  * Types for mero-react
@@ -266,6 +267,13 @@ interface CalimeroLogoProps extends React__default.SVGAttributes<SVGSVGElement>
266
267
  }
267
268
  declare function CalimeroLogo({ size, color, style, ...rest }: CalimeroLogoProps): react_jsx_runtime.JSX.Element;
268
269
 
270
+ /**
271
+ * Shape accepted by the metadata-setter hooks — re-exported from mero-js so
272
+ * callers have one canonical type. A `set*Metadata` call **replaces the whole
273
+ * record**: `data` defaults to `{}` and wholly replaces the stored map; omit
274
+ * `name` to keep the current name.
275
+ */
276
+ type SetMetadataInput = SetMetadataRequest;
269
277
  /**
270
278
  * Execute RPC methods against a context.
271
279
  * Tracks loading/error state. Unmount-safe.
@@ -342,6 +350,11 @@ declare function useJoinContext(): {
342
350
  loading: boolean;
343
351
  error: Error | null;
344
352
  };
353
+ declare function useJoinSubgroupInheritance(): {
354
+ joinSubgroupInheritance: (groupId: string) => Promise<_calimero_network_mero_js.JoinSubgroupInheritanceResponseData | null>;
355
+ loading: boolean;
356
+ error: Error | null;
357
+ };
345
358
  declare function useContextGroup(contextId?: string | null): {
346
359
  groupId: string | null;
347
360
  loading: boolean;
@@ -444,6 +457,18 @@ declare function useSetSubgroupVisibility(): {
444
457
  loading: boolean;
445
458
  error: Error | null;
446
459
  };
460
+ declare function useDefaultCapabilities(groupId?: string | null): {
461
+ defaultCapabilities: number | null;
462
+ loading: boolean;
463
+ error: Error | null;
464
+ refetch: () => Promise<void>;
465
+ };
466
+ declare function useSubgroupVisibility(groupId?: string | null): {
467
+ subgroupVisibility: string | null;
468
+ loading: boolean;
469
+ error: Error | null;
470
+ refetch: () => Promise<void>;
471
+ };
447
472
  declare function useSetTeeAdmissionPolicy(): {
448
473
  setTeeAdmissionPolicy: (groupId: string, request: SetTeeAdmissionPolicyRequest) => Promise<void | null>;
449
474
  loading: boolean;
@@ -454,15 +479,32 @@ declare function useUpdateGroupSettings(): {
454
479
  loading: boolean;
455
480
  error: Error | null;
456
481
  };
457
- declare function useSetGroupAlias(): {
458
- setGroupAlias: (groupId: string, request: SetGroupAliasRequest) => Promise<void | null>;
482
+ declare function useSetGroupMetadata(): {
483
+ setGroupMetadata: (groupId: string, request: SetMetadataInput) => Promise<void | null>;
484
+ loading: boolean;
485
+ error: Error | null;
486
+ };
487
+ declare function useSetMemberMetadata(): {
488
+ setMemberMetadata: (groupId: string, identity: string, request: SetMetadataInput) => Promise<void | null>;
489
+ loading: boolean;
490
+ error: Error | null;
491
+ };
492
+ declare function useSetContextMetadata(): {
493
+ setContextMetadata: (groupId: string, contextId: string, request: SetMetadataInput) => Promise<void | null>;
494
+ loading: boolean;
495
+ error: Error | null;
496
+ };
497
+ declare function useGroupMetadata(groupId?: string | null): {
498
+ metadata: MetadataRecord | null;
459
499
  loading: boolean;
460
500
  error: Error | null;
501
+ refetch: () => Promise<void>;
461
502
  };
462
- declare function useSetMemberAlias(): {
463
- setMemberAlias: (groupId: string, identity: string, request: SetMemberAliasRequest) => Promise<void | null>;
503
+ declare function useMemberMetadata(groupId?: string | null, identity?: string | null): {
504
+ metadata: MetadataRecord | null;
464
505
  loading: boolean;
465
506
  error: Error | null;
507
+ refetch: () => Promise<void>;
466
508
  };
467
509
  declare function useRegisterGroupSigningKey(): {
468
510
  registerGroupSigningKey: (groupId: string, request: RegisterGroupSigningKeyRequest) => Promise<_calimero_network_mero_js.RegisterGroupSigningKeyResponseData | null>;
@@ -571,4 +613,4 @@ declare function clearContextIdentity(): void;
571
613
  */
572
614
  declare function clearAllStorage(): void;
573
615
 
574
- export { type AppContext, AppMode, type ApplicationContextRecord, CalimeroLogo, type CalimeroLogoProps, ConnectButton, type ConnectButtonProps, ConnectionType, type ContextDiscoveryOptions, type ContextDiscoveryState, type CustomConnectionConfig, type ExecutionResult, LoginModal, type LoginModalProps, MERO_CSS_VARS, MeroContext, type MeroContextValue, MeroProvider, type MeroProviderConfig, type MeroProviderProps, type MeroTheme, type ResolvedMeroTheme, clearAllStorage, clearApplicationId, clearContextId, clearContextIdentity, clearNodeUrl, cssVar, defaultMeroTheme, getApplicationId, getContextId, getContextIdentity, getNodeUrl, localStorageTokenStorage, resolveMeroTheme, setApplicationId, setContextId, setContextIdentity, setNodeUrl, themeToCssVars, useAddGroupMembers, useApplicationContexts, useContextDiscovery, useContextGroup, useContexts, useCreateContext, useCreateGroupInNamespace, useCreateNamespace, useCreateNamespaceInvitation, useDeleteContext, useDeleteGroup, useDeleteNamespace, useDetachContextFromGroup, useExecute, useGroupCapabilities, useGroupContexts, useGroupInfo, useGroupInvitations, useGroupMembers, useGroupUpgradeStatus, useJoinContext, useJoinGroup, useJoinNamespace, useMero, useNamespace, useNamespaceGroups, useNamespaceIdentity, useNamespaces, useNamespacesForApplication, useNestGroup, useRegisterGroupSigningKey, useRemoveGroupMembers, useRetryGroupUpgrade, useSetDefaultCapabilities, useSetGroupAlias, useSetMemberAlias, useSetSubgroupVisibility, useSetTeeAdmissionPolicy, useSubgroups, useSubscription, useSyncGroup, useUnnestGroup, useUpdateGroupSettings, useUpdateMemberRole, useUpgradeGroup };
616
+ export { type AppContext, AppMode, type ApplicationContextRecord, CalimeroLogo, type CalimeroLogoProps, ConnectButton, type ConnectButtonProps, ConnectionType, type ContextDiscoveryOptions, type ContextDiscoveryState, type CustomConnectionConfig, type ExecutionResult, LoginModal, type LoginModalProps, MERO_CSS_VARS, MeroContext, type MeroContextValue, MeroProvider, type MeroProviderConfig, type MeroProviderProps, type MeroTheme, type ResolvedMeroTheme, type SetMetadataInput, clearAllStorage, clearApplicationId, clearContextId, clearContextIdentity, clearNodeUrl, cssVar, defaultMeroTheme, getApplicationId, getContextId, getContextIdentity, getNodeUrl, localStorageTokenStorage, resolveMeroTheme, setApplicationId, setContextId, setContextIdentity, setNodeUrl, themeToCssVars, useAddGroupMembers, useApplicationContexts, useContextDiscovery, useContextGroup, useContexts, useCreateContext, useCreateGroupInNamespace, useCreateNamespace, useCreateNamespaceInvitation, useDefaultCapabilities, useDeleteContext, useDeleteGroup, useDeleteNamespace, useDetachContextFromGroup, useExecute, useGroupCapabilities, useGroupContexts, useGroupInfo, useGroupInvitations, useGroupMembers, useGroupMetadata, useGroupUpgradeStatus, useJoinContext, useJoinGroup, useJoinNamespace, useJoinSubgroupInheritance, useMemberMetadata, useMero, useNamespace, useNamespaceGroups, useNamespaceIdentity, useNamespaces, useNamespacesForApplication, useNestGroup, useRegisterGroupSigningKey, useRemoveGroupMembers, useRetryGroupUpgrade, useSetContextMetadata, useSetDefaultCapabilities, useSetGroupMetadata, useSetMemberMetadata, useSetSubgroupVisibility, useSetTeeAdmissionPolicy, useSubgroupVisibility, useSubgroups, useSubscription, useSyncGroup, useUnnestGroup, useUpdateGroupSettings, useUpdateMemberRole, useUpgradeGroup };
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { createContext, useState, useRef, useCallback, useEffect, useMemo, useContext } from 'react';
2
2
  import { parseAuthCallback, MeroJs, buildAuthLoginUrl, LocalStorageTokenStore } from '@calimero-network/mero-js';
3
3
  export * from '@calimero-network/mero-js';
4
+ export { CAPABILITIES, hasCap, withCap, withoutCap } from '@calimero-network/mero-js';
4
5
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
6
  import { createPortal } from 'react-dom';
6
7
 
@@ -1492,6 +1493,18 @@ function useJoinContext() {
1492
1493
  );
1493
1494
  return { joinContext, loading, error };
1494
1495
  }
1496
+ function useJoinSubgroupInheritance() {
1497
+ const { mero } = useMero();
1498
+ const { loading, error, run } = useAsyncMutation();
1499
+ const joinSubgroupInheritance = useCallback(
1500
+ async (groupId) => {
1501
+ if (!mero) return null;
1502
+ return run(() => mero.admin.joinSubgroupInheritance(groupId));
1503
+ },
1504
+ [mero, run]
1505
+ );
1506
+ return { joinSubgroupInheritance, loading, error };
1507
+ }
1495
1508
  function useContextGroup(contextId) {
1496
1509
  const { mero } = useMero();
1497
1510
  const [groupId, setGroupId] = useState(null);
@@ -1909,6 +1922,86 @@ function useSetSubgroupVisibility() {
1909
1922
  );
1910
1923
  return { setSubgroupVisibility, loading, error };
1911
1924
  }
1925
+ function useDefaultCapabilities(groupId) {
1926
+ const { mero } = useMero();
1927
+ const [defaultCapabilities, setDefaultCapabilitiesState] = useState(null);
1928
+ const [loading, setLoading] = useState(false);
1929
+ const [error, setError] = useState(null);
1930
+ const mountedRef = useMountedRef();
1931
+ const refetch = useCallback(async () => {
1932
+ if (!mero || !groupId) {
1933
+ if (mountedRef.current) {
1934
+ setDefaultCapabilitiesState(null);
1935
+ setError(null);
1936
+ setLoading(false);
1937
+ }
1938
+ return;
1939
+ }
1940
+ if (mountedRef.current) {
1941
+ setLoading(true);
1942
+ setError(null);
1943
+ }
1944
+ try {
1945
+ const result = await mero.admin.getDefaultCapabilities(groupId);
1946
+ if (mountedRef.current) {
1947
+ setDefaultCapabilitiesState(result);
1948
+ }
1949
+ } catch (err) {
1950
+ const errorValue = toError(err);
1951
+ if (mountedRef.current) {
1952
+ setError(errorValue);
1953
+ }
1954
+ } finally {
1955
+ if (mountedRef.current) {
1956
+ setLoading(false);
1957
+ }
1958
+ }
1959
+ }, [groupId, mero, mountedRef]);
1960
+ useEffect(() => {
1961
+ void refetch();
1962
+ }, [refetch]);
1963
+ return { defaultCapabilities, loading, error, refetch };
1964
+ }
1965
+ function useSubgroupVisibility(groupId) {
1966
+ const { mero } = useMero();
1967
+ const [subgroupVisibility, setSubgroupVisibilityState] = useState(null);
1968
+ const [loading, setLoading] = useState(false);
1969
+ const [error, setError] = useState(null);
1970
+ const mountedRef = useMountedRef();
1971
+ const refetch = useCallback(async () => {
1972
+ if (!mero || !groupId) {
1973
+ if (mountedRef.current) {
1974
+ setSubgroupVisibilityState(null);
1975
+ setError(null);
1976
+ setLoading(false);
1977
+ }
1978
+ return;
1979
+ }
1980
+ if (mountedRef.current) {
1981
+ setLoading(true);
1982
+ setError(null);
1983
+ }
1984
+ try {
1985
+ const result = await mero.admin.getSubgroupVisibility(groupId);
1986
+ if (mountedRef.current) {
1987
+ setSubgroupVisibilityState(result);
1988
+ }
1989
+ } catch (err) {
1990
+ const errorValue = toError(err);
1991
+ if (mountedRef.current) {
1992
+ setError(errorValue);
1993
+ }
1994
+ } finally {
1995
+ if (mountedRef.current) {
1996
+ setLoading(false);
1997
+ }
1998
+ }
1999
+ }, [groupId, mero, mountedRef]);
2000
+ useEffect(() => {
2001
+ void refetch();
2002
+ }, [refetch]);
2003
+ return { subgroupVisibility, loading, error, refetch };
2004
+ }
1912
2005
  function useSetTeeAdmissionPolicy() {
1913
2006
  const { mero } = useMero();
1914
2007
  const { loading, error, run } = useAsyncMutation();
@@ -1933,29 +2026,121 @@ function useUpdateGroupSettings() {
1933
2026
  );
1934
2027
  return { updateGroupSettings, loading, error };
1935
2028
  }
1936
- function useSetGroupAlias() {
2029
+ function useSetGroupMetadata() {
1937
2030
  const { mero } = useMero();
1938
2031
  const { loading, error, run } = useAsyncMutation();
1939
- const setGroupAlias = useCallback(
2032
+ const setGroupMetadata = useCallback(
1940
2033
  async (groupId, request) => {
1941
2034
  if (!mero) return null;
1942
- return run(() => mero.admin.setGroupAlias(groupId, request));
2035
+ return run(() => mero.admin.setGroupMetadata(groupId, request));
1943
2036
  },
1944
2037
  [mero, run]
1945
2038
  );
1946
- return { setGroupAlias, loading, error };
2039
+ return { setGroupMetadata, loading, error };
1947
2040
  }
1948
- function useSetMemberAlias() {
2041
+ function useSetMemberMetadata() {
1949
2042
  const { mero } = useMero();
1950
2043
  const { loading, error, run } = useAsyncMutation();
1951
- const setMemberAlias = useCallback(
2044
+ const setMemberMetadata = useCallback(
1952
2045
  async (groupId, identity, request) => {
1953
2046
  if (!mero) return null;
1954
- return run(() => mero.admin.setMemberAlias(groupId, identity, request));
2047
+ return run(() => mero.admin.setMemberMetadata(groupId, identity, request));
1955
2048
  },
1956
2049
  [mero, run]
1957
2050
  );
1958
- return { setMemberAlias, loading, error };
2051
+ return { setMemberMetadata, loading, error };
2052
+ }
2053
+ function useSetContextMetadata() {
2054
+ const { mero } = useMero();
2055
+ const { loading, error, run } = useAsyncMutation();
2056
+ const setContextMetadata = useCallback(
2057
+ async (groupId, contextId, request) => {
2058
+ if (!mero) return null;
2059
+ return run(() => mero.admin.setContextMetadata(groupId, contextId, request));
2060
+ },
2061
+ [mero, run]
2062
+ );
2063
+ return { setContextMetadata, loading, error };
2064
+ }
2065
+ function useGroupMetadata(groupId) {
2066
+ const { mero } = useMero();
2067
+ const [metadata, setMetadata] = useState(null);
2068
+ const [loading, setLoading] = useState(false);
2069
+ const [error, setError] = useState(null);
2070
+ const mountedRef = useMountedRef();
2071
+ const refetch = useCallback(async () => {
2072
+ if (!mero || !groupId) {
2073
+ if (mountedRef.current) {
2074
+ setMetadata(null);
2075
+ setError(null);
2076
+ setLoading(false);
2077
+ }
2078
+ return;
2079
+ }
2080
+ if (mountedRef.current) {
2081
+ setLoading(true);
2082
+ setError(null);
2083
+ }
2084
+ try {
2085
+ const result = await mero.admin.getGroupMetadata(groupId);
2086
+ if (mountedRef.current) {
2087
+ setMetadata(result);
2088
+ }
2089
+ } catch (err) {
2090
+ const errorValue = toError(err);
2091
+ if (mountedRef.current) {
2092
+ setError(errorValue);
2093
+ }
2094
+ } finally {
2095
+ if (mountedRef.current) {
2096
+ setLoading(false);
2097
+ }
2098
+ }
2099
+ }, [groupId, mero, mountedRef]);
2100
+ useEffect(() => {
2101
+ void refetch();
2102
+ }, [refetch]);
2103
+ return { metadata, loading, error, refetch };
2104
+ }
2105
+ function useMemberMetadata(groupId, identity) {
2106
+ const { mero } = useMero();
2107
+ const [metadata, setMetadata] = useState(null);
2108
+ const [loading, setLoading] = useState(false);
2109
+ const [error, setError] = useState(null);
2110
+ const mountedRef = useMountedRef();
2111
+ const refetch = useCallback(async () => {
2112
+ if (!mero || !groupId || !identity) {
2113
+ if (mountedRef.current) {
2114
+ setMetadata(null);
2115
+ setError(null);
2116
+ setLoading(false);
2117
+ }
2118
+ return;
2119
+ }
2120
+ if (mountedRef.current) {
2121
+ setLoading(true);
2122
+ setError(null);
2123
+ }
2124
+ try {
2125
+ const result = await mero.admin.getMemberMetadata(groupId, identity);
2126
+ if (mountedRef.current) {
2127
+ setMetadata(result);
2128
+ }
2129
+ } catch (err) {
2130
+ const errorValue = toError(err);
2131
+ if (mountedRef.current) {
2132
+ setError(errorValue);
2133
+ }
2134
+ } finally {
2135
+ if (mountedRef.current) {
2136
+ setLoading(false);
2137
+ }
2138
+ }
2139
+ }, [groupId, identity, mero, mountedRef]);
2140
+ useEffect(() => {
2141
+ void refetch();
2142
+ }, [refetch]);
2143
+ return { metadata, loading, error, refetch };
1959
2144
  }
1960
2145
  function useRegisterGroupSigningKey() {
1961
2146
  const { mero } = useMero();
@@ -2110,6 +2295,6 @@ function useDetachContextFromGroup() {
2110
2295
  return { detachContextFromGroup, loading, error };
2111
2296
  }
2112
2297
 
2113
- export { AppMode, CalimeroLogo, ConnectButton, ConnectionType, LoginModal, MERO_CSS_VARS, MeroContext, MeroProvider, clearAllStorage, clearApplicationId, clearContextId, clearContextIdentity, clearNodeUrl, cssVar, defaultMeroTheme, getApplicationId, getContextId, getContextIdentity, getNodeUrl, localStorageTokenStorage, resolveMeroTheme, setApplicationId, setContextId, setContextIdentity, setNodeUrl, themeToCssVars, useAddGroupMembers, useApplicationContexts, useContextDiscovery, useContextGroup, useContexts, useCreateContext, useCreateGroupInNamespace, useCreateNamespace, useCreateNamespaceInvitation, useDeleteContext, useDeleteGroup, useDeleteNamespace, useDetachContextFromGroup, useExecute, useGroupCapabilities, useGroupContexts, useGroupInfo, useGroupInvitations, useGroupMembers, useGroupUpgradeStatus, useJoinContext, useJoinGroup, useJoinNamespace, useMero, useNamespace, useNamespaceGroups, useNamespaceIdentity, useNamespaces, useNamespacesForApplication, useNestGroup, useRegisterGroupSigningKey, useRemoveGroupMembers, useRetryGroupUpgrade, useSetDefaultCapabilities, useSetGroupAlias, useSetMemberAlias, useSetSubgroupVisibility, useSetTeeAdmissionPolicy, useSubgroups, useSubscription, useSyncGroup, useUnnestGroup, useUpdateGroupSettings, useUpdateMemberRole, useUpgradeGroup };
2298
+ export { AppMode, CalimeroLogo, ConnectButton, ConnectionType, LoginModal, MERO_CSS_VARS, MeroContext, MeroProvider, clearAllStorage, clearApplicationId, clearContextId, clearContextIdentity, clearNodeUrl, cssVar, defaultMeroTheme, getApplicationId, getContextId, getContextIdentity, getNodeUrl, localStorageTokenStorage, resolveMeroTheme, setApplicationId, setContextId, setContextIdentity, setNodeUrl, themeToCssVars, useAddGroupMembers, useApplicationContexts, useContextDiscovery, useContextGroup, useContexts, useCreateContext, useCreateGroupInNamespace, useCreateNamespace, useCreateNamespaceInvitation, useDefaultCapabilities, useDeleteContext, useDeleteGroup, useDeleteNamespace, useDetachContextFromGroup, useExecute, useGroupCapabilities, useGroupContexts, useGroupInfo, useGroupInvitations, useGroupMembers, useGroupMetadata, useGroupUpgradeStatus, useJoinContext, useJoinGroup, useJoinNamespace, useJoinSubgroupInheritance, useMemberMetadata, useMero, useNamespace, useNamespaceGroups, useNamespaceIdentity, useNamespaces, useNamespacesForApplication, useNestGroup, useRegisterGroupSigningKey, useRemoveGroupMembers, useRetryGroupUpgrade, useSetContextMetadata, useSetDefaultCapabilities, useSetGroupMetadata, useSetMemberMetadata, useSetSubgroupVisibility, useSetTeeAdmissionPolicy, useSubgroupVisibility, useSubgroups, useSubscription, useSyncGroup, useUnnestGroup, useUpdateGroupSettings, useUpdateMemberRole, useUpgradeGroup };
2114
2299
  //# sourceMappingURL=index.js.map
2115
2300
  //# sourceMappingURL=index.js.map