@calimero-network/mero-react 2.5.0 → 2.6.1

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
@@ -591,6 +591,8 @@ declare function useMigrationStatus(namespaceId?: string | null, options?: {
591
591
  members: MemberMigrationStatusEntry[];
592
592
  allMigrated: boolean;
593
593
  membersPendingSignature: number;
594
+ /** Members whose migrate aborted (migration-check failed or apply errored). */
595
+ failed: number;
594
596
  loading: boolean;
595
597
  error: Error | null;
596
598
  refetch: () => Promise<void>;
@@ -609,6 +611,24 @@ declare function useAppVersion(contextId?: string | null, expected?: string): {
609
611
  error: Error | null;
610
612
  refetch: () => Promise<void>;
611
613
  };
614
+ /**
615
+ * "Is a newer version available?" for an Updates view. Reads a package's
616
+ * published versions from the registry and compares the newest to the running
617
+ * `currentVersion` (e.g. a context's `applicationVersion`). `updateAvailable`
618
+ * is true only when the registry's newest is strictly greater. This is the
619
+ * registry-side check the admin acts on; gate rendering on admin status at the
620
+ * call site. Pure read — fetching nothing until both `registryUrl` and
621
+ * `packageName` are provided.
622
+ */
623
+ declare function useLatestVersion(registryUrl?: string | null, packageName?: string | null, currentVersion?: string | null): {
624
+ versions: string[];
625
+ latestVersion: string;
626
+ currentVersion: string | null | undefined;
627
+ updateAvailable: boolean;
628
+ loading: boolean;
629
+ error: Error | null;
630
+ refetch: () => Promise<void>;
631
+ };
612
632
  /**
613
633
  * The caller's own identity-gated entries pending re-signature (skew #1).
614
634
  * `pending` is `pendingCount > 0` (from `count_my_pending`); `authorize()` runs
@@ -689,4 +709,4 @@ declare function clearContextIdentity(): void;
689
709
  */
690
710
  declare function clearAllStorage(): void;
691
711
 
692
- 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, MigrationAdminPanel, type MigrationAdminPanelProps, MigrationPendingBanner, type MigrationPendingBannerProps, type ResolvedMeroTheme, type SetMetadataInput, clearAllStorage, clearApplicationId, clearContextId, clearContextIdentity, clearNodeUrl, cssVar, defaultMeroTheme, getApplicationId, getContextId, getContextIdentity, getNodeUrl, localStorageTokenStorage, resolveMeroTheme, setApplicationId, setContextId, setContextIdentity, setNodeUrl, themeToCssVars, useAddGroupMembers, useAppVersion, 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, useMigrationStatus, useMyAuthoredMigration, useNamespace, useNamespaceGroups, useNamespaceIdentity, useNamespaces, useNamespacesForApplication, useNestGroup, useRegisterGroupSigningKey, useRemoveGroupMembers, useRetryGroupUpgrade, useSetContextMetadata, useSetDefaultCapabilities, useSetGroupMetadata, useSetMemberMetadata, useSetSubgroupVisibility, useSetTeeAdmissionPolicy, useSubgroupVisibility, useSubgroups, useSubscription, useSyncGroup, useUnnestGroup, useUpdateGroupSettings, useUpdateMemberRole, useUpgradeGroup };
712
+ 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, MigrationAdminPanel, type MigrationAdminPanelProps, MigrationPendingBanner, type MigrationPendingBannerProps, type ResolvedMeroTheme, type SetMetadataInput, clearAllStorage, clearApplicationId, clearContextId, clearContextIdentity, clearNodeUrl, cssVar, defaultMeroTheme, getApplicationId, getContextId, getContextIdentity, getNodeUrl, localStorageTokenStorage, resolveMeroTheme, setApplicationId, setContextId, setContextIdentity, setNodeUrl, themeToCssVars, useAddGroupMembers, useAppVersion, 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, useLatestVersion, useMemberMetadata, useMero, useMigrationStatus, useMyAuthoredMigration, 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
@@ -591,6 +591,8 @@ declare function useMigrationStatus(namespaceId?: string | null, options?: {
591
591
  members: MemberMigrationStatusEntry[];
592
592
  allMigrated: boolean;
593
593
  membersPendingSignature: number;
594
+ /** Members whose migrate aborted (migration-check failed or apply errored). */
595
+ failed: number;
594
596
  loading: boolean;
595
597
  error: Error | null;
596
598
  refetch: () => Promise<void>;
@@ -609,6 +611,24 @@ declare function useAppVersion(contextId?: string | null, expected?: string): {
609
611
  error: Error | null;
610
612
  refetch: () => Promise<void>;
611
613
  };
614
+ /**
615
+ * "Is a newer version available?" for an Updates view. Reads a package's
616
+ * published versions from the registry and compares the newest to the running
617
+ * `currentVersion` (e.g. a context's `applicationVersion`). `updateAvailable`
618
+ * is true only when the registry's newest is strictly greater. This is the
619
+ * registry-side check the admin acts on; gate rendering on admin status at the
620
+ * call site. Pure read — fetching nothing until both `registryUrl` and
621
+ * `packageName` are provided.
622
+ */
623
+ declare function useLatestVersion(registryUrl?: string | null, packageName?: string | null, currentVersion?: string | null): {
624
+ versions: string[];
625
+ latestVersion: string;
626
+ currentVersion: string | null | undefined;
627
+ updateAvailable: boolean;
628
+ loading: boolean;
629
+ error: Error | null;
630
+ refetch: () => Promise<void>;
631
+ };
612
632
  /**
613
633
  * The caller's own identity-gated entries pending re-signature (skew #1).
614
634
  * `pending` is `pendingCount > 0` (from `count_my_pending`); `authorize()` runs
@@ -689,4 +709,4 @@ declare function clearContextIdentity(): void;
689
709
  */
690
710
  declare function clearAllStorage(): void;
691
711
 
692
- 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, MigrationAdminPanel, type MigrationAdminPanelProps, MigrationPendingBanner, type MigrationPendingBannerProps, type ResolvedMeroTheme, type SetMetadataInput, clearAllStorage, clearApplicationId, clearContextId, clearContextIdentity, clearNodeUrl, cssVar, defaultMeroTheme, getApplicationId, getContextId, getContextIdentity, getNodeUrl, localStorageTokenStorage, resolveMeroTheme, setApplicationId, setContextId, setContextIdentity, setNodeUrl, themeToCssVars, useAddGroupMembers, useAppVersion, 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, useMigrationStatus, useMyAuthoredMigration, useNamespace, useNamespaceGroups, useNamespaceIdentity, useNamespaces, useNamespacesForApplication, useNestGroup, useRegisterGroupSigningKey, useRemoveGroupMembers, useRetryGroupUpgrade, useSetContextMetadata, useSetDefaultCapabilities, useSetGroupMetadata, useSetMemberMetadata, useSetSubgroupVisibility, useSetTeeAdmissionPolicy, useSubgroupVisibility, useSubgroups, useSubscription, useSyncGroup, useUnnestGroup, useUpdateGroupSettings, useUpdateMemberRole, useUpgradeGroup };
712
+ 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, MigrationAdminPanel, type MigrationAdminPanelProps, MigrationPendingBanner, type MigrationPendingBannerProps, type ResolvedMeroTheme, type SetMetadataInput, clearAllStorage, clearApplicationId, clearContextId, clearContextIdentity, clearNodeUrl, cssVar, defaultMeroTheme, getApplicationId, getContextId, getContextIdentity, getNodeUrl, localStorageTokenStorage, resolveMeroTheme, setApplicationId, setContextId, setContextIdentity, setNodeUrl, themeToCssVars, useAddGroupMembers, useAppVersion, 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, useLatestVersion, useMemberMetadata, useMero, useMigrationStatus, useMyAuthoredMigration, 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,5 +1,5 @@
1
1
  import { createContext, useState, useRef, useCallback, useEffect, useMemo, useContext } from 'react';
2
- import { parseAuthCallback, MeroJs, buildAuthLoginUrl, LocalStorageTokenStore } from '@calimero-network/mero-js';
2
+ import { parseAuthCallback, MeroJs, buildAuthLoginUrl, compareSemver, LocalStorageTokenStore } from '@calimero-network/mero-js';
3
3
  export * from '@calimero-network/mero-js';
4
4
  export { CAPABILITIES, hasCap, withCap, withoutCap } from '@calimero-network/mero-js';
5
5
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -2107,39 +2107,42 @@ function useMemberMetadata(groupId, identity) {
2107
2107
  const [metadata, setMetadata] = useState(null);
2108
2108
  const [loading, setLoading] = useState(false);
2109
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);
2110
+ const run = useCallback(
2111
+ async (signal) => {
2112
+ if (!mero || !groupId || !identity) {
2113
+ if (!signal.aborted) {
2114
+ setMetadata(null);
2115
+ setError(null);
2116
+ setLoading(false);
2117
+ }
2118
+ return;
2128
2119
  }
2129
- } catch (err) {
2130
- const errorValue = toError(err);
2131
- if (mountedRef.current) {
2132
- setError(errorValue);
2120
+ if (!signal.aborted) {
2121
+ setLoading(true);
2122
+ setError(null);
2133
2123
  }
2134
- } finally {
2135
- if (mountedRef.current) {
2136
- setLoading(false);
2124
+ try {
2125
+ const result = await mero.admin.getMemberMetadata(groupId, identity);
2126
+ if (!signal.aborted) setMetadata(result);
2127
+ } catch (err) {
2128
+ if (!signal.aborted) setError(toError(err));
2129
+ } finally {
2130
+ if (!signal.aborted) setLoading(false);
2137
2131
  }
2138
- }
2139
- }, [groupId, identity, mero, mountedRef]);
2132
+ },
2133
+ [mero, groupId, identity]
2134
+ );
2140
2135
  useEffect(() => {
2141
- void refetch();
2142
- }, [refetch]);
2136
+ const signal = { aborted: false };
2137
+ void run(signal);
2138
+ return () => {
2139
+ signal.aborted = true;
2140
+ };
2141
+ }, [run]);
2142
+ const refetch = useCallback(async () => {
2143
+ const signal = { aborted: false };
2144
+ await run(signal);
2145
+ }, [run]);
2143
2146
  return { metadata, loading, error, refetch };
2144
2147
  }
2145
2148
  function useRegisterGroupSigningKey() {
@@ -2352,6 +2355,8 @@ function useMigrationStatus(namespaceId, options) {
2352
2355
  members,
2353
2356
  allMigrated: rollup?.allMigrated ?? false,
2354
2357
  membersPendingSignature: rollup?.membersPendingSignature ?? 0,
2358
+ /** Members whose migrate aborted (migration-check failed or apply errored). */
2359
+ failed: rollup?.failed ?? 0,
2355
2360
  loading,
2356
2361
  error,
2357
2362
  refetch
@@ -2415,6 +2420,55 @@ function useAppVersion(contextId, expected) {
2415
2420
  const isStale = appVersion != null && expected != null && appVersion !== expected;
2416
2421
  return { appVersion, expected, isStale, loading, error, refetch };
2417
2422
  }
2423
+ function useLatestVersion(registryUrl, packageName, currentVersion) {
2424
+ const { mero } = useMero();
2425
+ const [versions, setVersions] = useState([]);
2426
+ const [loading, setLoading] = useState(false);
2427
+ const [error, setError] = useState(null);
2428
+ const mountedRef = useMountedRef();
2429
+ const reqRef = useRef(0);
2430
+ const refetch = useCallback(async () => {
2431
+ if (!mero || !registryUrl || !packageName) {
2432
+ reqRef.current += 1;
2433
+ if (mountedRef.current) {
2434
+ setVersions([]);
2435
+ setError(null);
2436
+ setLoading(false);
2437
+ }
2438
+ return;
2439
+ }
2440
+ const seq = ++reqRef.current;
2441
+ if (mountedRef.current) {
2442
+ setLoading(true);
2443
+ setError(null);
2444
+ }
2445
+ try {
2446
+ const result = await mero.admin.getRegistryVersions(registryUrl, packageName);
2447
+ if (mountedRef.current && seq === reqRef.current) {
2448
+ setVersions(result);
2449
+ }
2450
+ } catch (err) {
2451
+ const errorValue = toError(err);
2452
+ if (mountedRef.current && seq === reqRef.current) {
2453
+ setError(errorValue);
2454
+ }
2455
+ } finally {
2456
+ if (mountedRef.current && seq === reqRef.current) {
2457
+ setLoading(false);
2458
+ }
2459
+ }
2460
+ }, [mero, registryUrl, packageName, mountedRef]);
2461
+ useEffect(() => {
2462
+ setVersions([]);
2463
+ setError(null);
2464
+ }, [registryUrl, packageName]);
2465
+ useEffect(() => {
2466
+ void refetch();
2467
+ }, [refetch]);
2468
+ const latestVersion = versions[0] ?? null;
2469
+ const updateAvailable = latestVersion != null && currentVersion != null && compareSemver(latestVersion, currentVersion) > 0;
2470
+ return { versions, latestVersion, currentVersion, updateAvailable, loading, error, refetch };
2471
+ }
2418
2472
  function useMyAuthoredMigration(contextId) {
2419
2473
  const { mero } = useMero();
2420
2474
  const [summary, setSummary] = useState(null);
@@ -2478,7 +2532,7 @@ function MigrationPendingBanner({
2478
2532
  ] });
2479
2533
  }
2480
2534
  function MigrationAdminPanel({ namespaceId, pollIntervalMs, className }) {
2481
- const { status, rollup, members, membersPendingSignature, error } = useMigrationStatus(
2535
+ const { status, rollup, members, membersPendingSignature, failed, error } = useMigrationStatus(
2482
2536
  namespaceId,
2483
2537
  { pollIntervalMs }
2484
2538
  );
@@ -2515,6 +2569,10 @@ function MigrationAdminPanel({ namespaceId, pollIntervalMs, className }) {
2515
2569
  /* @__PURE__ */ jsx("dt", { children: "Unknown" }),
2516
2570
  /* @__PURE__ */ jsx("dd", { children: rollup.unknown })
2517
2571
  ] }),
2572
+ /* @__PURE__ */ jsxs("div", { children: [
2573
+ /* @__PURE__ */ jsx("dt", { children: "Failed" }),
2574
+ /* @__PURE__ */ jsx("dd", { "data-testid": "migration-failed-count", children: failed })
2575
+ ] }),
2518
2576
  /* @__PURE__ */ jsxs("div", { children: [
2519
2577
  /* @__PURE__ */ jsx("dt", { children: "Total" }),
2520
2578
  /* @__PURE__ */ jsx("dd", { children: rollup.total })
@@ -2533,18 +2591,20 @@ function MigrationAdminPanel({ namespaceId, pollIntervalMs, className }) {
2533
2591
  /* @__PURE__ */ jsx("th", { children: "Peer" }),
2534
2592
  /* @__PURE__ */ jsx("th", { children: "State" }),
2535
2593
  /* @__PURE__ */ jsx("th", { children: "Schema" }),
2536
- /* @__PURE__ */ jsx("th", { children: "Pending" })
2594
+ /* @__PURE__ */ jsx("th", { children: "Pending" }),
2595
+ /* @__PURE__ */ jsx("th", { children: "Reason" })
2537
2596
  ] }) }),
2538
2597
  /* @__PURE__ */ jsx("tbody", { children: members.map((m) => /* @__PURE__ */ jsxs("tr", { "data-testid": "migration-member-row", children: [
2539
2598
  /* @__PURE__ */ jsx("td", { children: m.peer }),
2540
2599
  /* @__PURE__ */ jsx("td", { children: m.state }),
2541
2600
  /* @__PURE__ */ jsx("td", { children: m.report?.schemaVersion ?? "\u2014" }),
2542
- /* @__PURE__ */ jsx("td", { children: m.report?.authoredRemaining ?? "\u2014" })
2601
+ /* @__PURE__ */ jsx("td", { children: m.report?.authoredRemaining ?? "\u2014" }),
2602
+ /* @__PURE__ */ jsx("td", { children: m.report?.migrationFailed ?? "\u2014" })
2543
2603
  ] }, m.peer)) })
2544
2604
  ] })
2545
2605
  ] });
2546
2606
  }
2547
2607
 
2548
- export { AppMode, CalimeroLogo, ConnectButton, ConnectionType, LoginModal, MERO_CSS_VARS, MeroContext, MeroProvider, MigrationAdminPanel, MigrationPendingBanner, clearAllStorage, clearApplicationId, clearContextId, clearContextIdentity, clearNodeUrl, cssVar, defaultMeroTheme, getApplicationId, getContextId, getContextIdentity, getNodeUrl, localStorageTokenStorage, resolveMeroTheme, setApplicationId, setContextId, setContextIdentity, setNodeUrl, themeToCssVars, useAddGroupMembers, useAppVersion, 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, useMigrationStatus, useMyAuthoredMigration, useNamespace, useNamespaceGroups, useNamespaceIdentity, useNamespaces, useNamespacesForApplication, useNestGroup, useRegisterGroupSigningKey, useRemoveGroupMembers, useRetryGroupUpgrade, useSetContextMetadata, useSetDefaultCapabilities, useSetGroupMetadata, useSetMemberMetadata, useSetSubgroupVisibility, useSetTeeAdmissionPolicy, useSubgroupVisibility, useSubgroups, useSubscription, useSyncGroup, useUnnestGroup, useUpdateGroupSettings, useUpdateMemberRole, useUpgradeGroup };
2608
+ export { AppMode, CalimeroLogo, ConnectButton, ConnectionType, LoginModal, MERO_CSS_VARS, MeroContext, MeroProvider, MigrationAdminPanel, MigrationPendingBanner, clearAllStorage, clearApplicationId, clearContextId, clearContextIdentity, clearNodeUrl, cssVar, defaultMeroTheme, getApplicationId, getContextId, getContextIdentity, getNodeUrl, localStorageTokenStorage, resolveMeroTheme, setApplicationId, setContextId, setContextIdentity, setNodeUrl, themeToCssVars, useAddGroupMembers, useAppVersion, 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, useLatestVersion, useMemberMetadata, useMero, useMigrationStatus, useMyAuthoredMigration, useNamespace, useNamespaceGroups, useNamespaceIdentity, useNamespaces, useNamespacesForApplication, useNestGroup, useRegisterGroupSigningKey, useRemoveGroupMembers, useRetryGroupUpgrade, useSetContextMetadata, useSetDefaultCapabilities, useSetGroupMetadata, useSetMemberMetadata, useSetSubgroupVisibility, useSetTeeAdmissionPolicy, useSubgroupVisibility, useSubgroups, useSubscription, useSyncGroup, useUnnestGroup, useUpdateGroupSettings, useUpdateMemberRole, useUpgradeGroup };
2549
2609
  //# sourceMappingURL=index.js.map
2550
2610
  //# sourceMappingURL=index.js.map