@singi-labs/sifa-sdk 0.12.50 → 0.12.52

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.
Files changed (49) hide show
  1. package/dist/{index-10rMsh0Y.d.cts → index-B-BExLL4.d.cts} +27 -3
  2. package/dist/{index-CxZBzRTC.d.cts → index-B1F632lI.d.cts} +3 -3
  3. package/dist/{index-KQD7YLsb.d.ts → index-BeiqwDak.d.ts} +27 -3
  4. package/dist/{index-CatO6M_Y.d.ts → index-D9_yFc0m.d.ts} +3 -3
  5. package/dist/index.cjs +218 -29
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.cts +5 -5
  8. package/dist/index.d.ts +5 -5
  9. package/dist/index.js +216 -30
  10. package/dist/index.js.map +1 -1
  11. package/dist/{org-8ysVY69a.d.ts → org-lRzEl8je.d.ts} +51 -3
  12. package/dist/{org-Be0SH7dO.d.cts → org-xybLlTXW.d.cts} +51 -3
  13. package/dist/{profile-summary-DyX9EJzZ.d.ts → profile-summary-elBg0fG6.d.ts} +1 -1
  14. package/dist/{profile-summary-DReI-P0i.d.cts → profile-summary-jUtrgYrA.d.cts} +1 -1
  15. package/dist/query/fetchers/index.cjs +24 -0
  16. package/dist/query/fetchers/index.cjs.map +1 -1
  17. package/dist/query/fetchers/index.d.cts +4 -4
  18. package/dist/query/fetchers/index.d.ts +4 -4
  19. package/dist/query/fetchers/index.js +22 -1
  20. package/dist/query/fetchers/index.js.map +1 -1
  21. package/dist/query/hooks/index.cjs +44 -0
  22. package/dist/query/hooks/index.cjs.map +1 -1
  23. package/dist/query/hooks/index.d.cts +3 -3
  24. package/dist/query/hooks/index.d.ts +3 -3
  25. package/dist/query/hooks/index.js +43 -1
  26. package/dist/query/hooks/index.js.map +1 -1
  27. package/dist/query/index.cjs +48 -0
  28. package/dist/query/index.cjs.map +1 -1
  29. package/dist/query/index.d.cts +7 -7
  30. package/dist/query/index.d.ts +7 -7
  31. package/dist/query/index.js +44 -1
  32. package/dist/query/index.js.map +1 -1
  33. package/dist/schemas/index.cjs +32 -28
  34. package/dist/schemas/index.cjs.map +1 -1
  35. package/dist/schemas/index.d.cts +1 -1
  36. package/dist/schemas/index.d.ts +1 -1
  37. package/dist/schemas/index.js +32 -28
  38. package/dist/schemas/index.js.map +1 -1
  39. package/dist/schemas/write/index.cjs +23 -17
  40. package/dist/schemas/write/index.cjs.map +1 -1
  41. package/dist/schemas/write/index.d.cts +9 -0
  42. package/dist/schemas/write/index.d.ts +9 -0
  43. package/dist/schemas/write/index.js +23 -17
  44. package/dist/schemas/write/index.js.map +1 -1
  45. package/dist/{shared-CqayM24g.d.cts → shared-B9ng04Kt.d.cts} +9 -0
  46. package/dist/{shared-CqayM24g.d.ts → shared-B9ng04Kt.d.ts} +9 -0
  47. package/dist/{adult-content-BUgP8bpf.d.cts → types-CmS4Argp.d.cts} +153 -1
  48. package/dist/{adult-content-BUgP8bpf.d.ts → types-CmS4Argp.d.ts} +153 -1
  49. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode } from 'react';
3
- import { S as SifaApiConfig, s as sifaQueryKeys, W as WriteResult, aq as RefreshPdsResult, aG as UpdateProfileOverrideInput, aH as UpdateProfileSelfInput, aI as UploadAvatarResult, C as CreateResult, aD as SubCategoryBulkResult, ae as ProfileLocationInput, p as ExternalAccountInput, o as CreateExternalAccountResult, aJ as VerifyExternalAccountResult, E as EndorsementInput, m as ConfirmationInput, n as ConfirmationSubjectInput, Q as GivenConfirmation, ab as PendingConfirmationsPage, ap as RefreshOrcidPublicationsResult, B as BulkHideProfileItemInput, _ as HideProfileItemInput, aC as StatsResponse, j as AppRegistryEntry, X as HiddenApp, I as FilterOptions, ax as SearchFilters, ay as SearchResponse, aB as SkillSearchResult, q as FeaturedProfile, aA as SimilarProfile, H as FetchSuggestionsOptions, aF as SuggestionsResponse, M as FollowUserResult, u as FetchFollowListOptions, J as FollowListPage, N as FollowingResponse, w as FetchFollowingFeedOptions, v as FetchFollowProfilePageOptions, L as FollowProfilePageResponse, F as FeatureAllowlistResponse, h as AdminReviewQueues, r as FetchActivityFeedOptions, d as ActivityFeedResponse, g as ActivityTeaserResponse, V as HeatmapResponse, a0 as MyGithubPullRequestsResponse, c as AccountCheckResult, ao as ReactionStatus, an as ReactionResult, am as ReactionError, aw as RoadmapVotesResponse, k as CastRoadmapVoteResult, D as DeleteAccountResult, ar as ResetProfileResult, aK as WipePreview, a2 as OrgClaimResult, a8 as OrgProfileUpdateResult, a3 as OrgDomainChallengeResult, a4 as OrgDomainVerifyResult, a5 as OrgNotificationEmailAddResult, a6 as OrgNotificationEmailRemoveResult } from './org-Be0SH7dO.cjs';
3
+ import { S as SifaApiConfig, s as sifaQueryKeys, W as WriteResult, aq as RefreshPdsResult, aH as UpdateProfileOverrideInput, aI as UpdateProfileSelfInput, aJ as UploadAvatarResult, C as CreateResult, aE as SubCategoryBulkResult, ae as ProfileLocationInput, p as ExternalAccountInput, o as CreateExternalAccountResult, aK as VerifyExternalAccountResult, E as EndorsementInput, m as ConfirmationInput, n as ConfirmationSubjectInput, Q as GivenConfirmation, ab as PendingConfirmationsPage, ap as RefreshOrcidPublicationsResult, B as BulkHideProfileItemInput, _ as HideProfileItemInput, aD as StatsResponse, j as AppRegistryEntry, X as HiddenApp, I as FilterOptions, ay as SearchFilters, az as SearchResponse, aC as SkillSearchResult, q as FeaturedProfile, aB as SimilarProfile, H as FetchSuggestionsOptions, aG as SuggestionsResponse, M as FollowUserResult, u as FetchFollowListOptions, J as FollowListPage, N as FollowingResponse, w as FetchFollowingFeedOptions, v as FetchFollowProfilePageOptions, L as FollowProfilePageResponse, F as FeatureAllowlistResponse, h as AdminReviewQueues, r as FetchActivityFeedOptions, d as ActivityFeedResponse, g as ActivityTeaserResponse, V as HeatmapResponse, a0 as MyGithubPullRequestsResponse, c as AccountCheckResult, ao as ReactionStatus, an as ReactionResult, am as ReactionError, ax as RoadmapVotesResponse, k as CastRoadmapVoteResult, D as DeleteAccountResult, as as ResetProfileResult, aL as WipePreview, ar as RepoDeleteInput, a2 as OrgClaimResult, a8 as OrgProfileUpdateResult, a3 as OrgDomainChallengeResult, a4 as OrgDomainVerifyResult, a5 as OrgNotificationEmailAddResult, a6 as OrgNotificationEmailRemoveResult } from './org-xybLlTXW.cjs';
4
4
  import * as _tanstack_react_query from '@tanstack/react-query';
5
5
  import { UseQueryOptions, UseMutationOptions, UseInfiniteQueryOptions, InfiniteData } from '@tanstack/react-query';
6
- import { e as Profile, P as ProfileView, g as ProfilePosition, ac as SkillRef, E as ExternalAccount, S as SkillSuggestion, Q as OrgFloorVerdict } from './adult-content-BUgP8bpf.cjs';
6
+ import { f as Profile, P as ProfileView, h as ProfilePosition, am as SkillRef, E as ExternalAccount, S as SkillSuggestion, R as RepoDeleteResult, b as RepoInventory, T as OrgFloorVerdict } from './types-CmS4Argp.cjs';
7
7
  import { i as EntitySearchResponse, k as EntitySearchResult, c as EntityMintDomainResponse, g as EntityResolveDomainResponse, o as EntitySelectResponse, m as EntitySelectRequest, y as FollowFeedPage, s as FeatureFlag } from './feed-dOSy_48Z.cjs';
8
8
  import { O as OrgClaimRequestInput, h as OrgProfileUpdateRequestInput, b as OrgDomainChallengeRequestInput, d as OrgDomainVerifyRequestInput, f as OrgNotificationEmailRequestInput } from './org-settings-B8e01iZx.cjs';
9
9
 
@@ -709,6 +709,30 @@ declare function useResetProfile(options?: Omit<UseMutationOptions<ResetProfileR
709
709
  */
710
710
  declare function useDeleteAccount(options?: Omit<UseMutationOptions<DeleteAccountResult, Error, boolean>, 'mutationFn'>): _tanstack_react_query.UseMutationResult<DeleteAccountResult, Error, boolean, unknown>;
711
711
 
712
+ /**
713
+ * Read the id.sifa.* records in the authenticated user's repo.
714
+ *
715
+ * Not cached client-side: this is a page about what exists right now, and a
716
+ * user who deletes a record, navigates away and comes back must not be shown
717
+ * it again from cache. The server caches the PDS read briefly, which is where
718
+ * that cost belongs.
719
+ */
720
+ declare function useRepoInventory(options?: Omit<UseQueryOptions<RepoInventory, Error, RepoInventory, ReturnType<typeof sifaQueryKeys.repoInventory.list>>, 'queryKey' | 'queryFn'>): _tanstack_react_query.UseQueryResult<NoInfer<RepoInventory>, Error>;
721
+ /**
722
+ * Delete records from the authenticated user's repo.
723
+ *
724
+ * Invalidates the whole Sifa key subtree, not just the inventory: the records
725
+ * being removed are the ones the profile is built from, so anything showing
726
+ * profile content is stale the moment this succeeds.
727
+ */
728
+ declare function useDeleteRepoRecords(options?: Omit<UseMutationOptions<RepoDeleteResult & {
729
+ success: boolean;
730
+ error?: string;
731
+ }, Error, RepoDeleteInput>, 'mutationFn'>): _tanstack_react_query.UseMutationResult<RepoDeleteResult & {
732
+ success: boolean;
733
+ error?: string;
734
+ }, Error, RepoDeleteInput, unknown>;
735
+
712
736
  /**
713
737
  * Read the server-computed org rendering-floor verdict for a handle or DID.
714
738
  *
@@ -793,4 +817,4 @@ declare function useRemoveOrgNotificationEmail(options?: Omit<UseMutationOptions
793
817
  email: string;
794
818
  }, unknown>;
795
819
 
796
- export { useDeleteSkill as $, type AddFeatureAllowlistVariables as A, useCastRoadmapVote as B, type CreateReactionVariables as C, type DeleteReactionVariables as D, useCreateConfirmation as E, type FollowVariables as F, useCreateEducation as G, useCreateEndorsement as H, useCreateExternalAccount as I, useCreatePosition as J, useCreateProfileLocation as K, useCreateReaction as L, useCreateRecord as M, useCreateSkill as N, useDebouncedValue as O, type PositionSkillLinkVariables as P, useDeleteAccount as Q, type RemoveFeatureAllowlistVariables as R, SifaProvider as S, useDeleteAvatarOverride as T, type UnfollowVariables as U, useDeleteEducation as V, useDeleteExternalAccount as W, useDeletePosition as X, useDeleteProfileLocation as Y, useDeleteReaction as Z, useDeleteRecord as _, type CreateRecordVariables as a, useUnsetExternalAccountPrimary as a$, useDismissConfirmation as a0, useEndorsementCount as a1, useEntitySearch as a2, useExternalAccounts as a3, useFeatureAllowlist as a4, useFeaturedProfile as a5, useFollow as a6, useFollowers as a7, useFollowing as a8, useFollowingFeed as a9, useRemoveFeatureAllowlist as aA, useRemoveOrgNotificationEmail as aB, useResetProfile as aC, useResolveEntityDomain as aD, useRetractRoadmapVote as aE, useRevealMarqueDomain as aF, useRevokeConfirmation as aG, useRoadmapVotes as aH, useSearchFilters as aI, useSearchProfiles as aJ, useSelectEntity as aK, useSetExternalAccountPrimary as aL, useSetPositionPrimary as aM, useSifaConfig as aN, useSimilarProfiles as aO, useSkillSuggestions as aP, useStats as aQ, useSuggestionCount as aR, useSuggestions as aS, useUnfollow as aT, useUnhideKeytraceClaim as aU, useUnhideOrcidPublication as aV, useUnhideProfileItem as aW, useUnhideSifaPublication as aX, useUnhideStandardPublication as aY, useUnlinkSkillFromPosition as aZ, useUnrevealMarqueDomain as a_, useFollowingList as aa, useGetProfileView as ab, useGivenConfirmations as ac, useHeatmapData as ad, useHiddenApps as ae, useHideKeytraceClaim as af, useHideOrcidPublication as ag, useHideProfileItem as ah, useHideSifaPublication as ai, useHideStandardPublication as aj, useImportSearchEntities as ak, useLinkSkillToPosition as al, useMintEntityDomain as am, useMutuals as an, useMyGithubPullRequests as ao, useMyRoadmapVotes as ap, useNetworkStreamCount as aq, useOrgClaim as ar, useOrgDomainChallenge as as, useOrgDomainVerify as at, useOrgProfile as au, usePendingConfirmations as av, useProfile as aw, useReactionStatus as ax, useRefreshOrcidPublications as ay, useRefreshPds as az, type DeleteRecordVariables as b, useUnsetPositionPrimary as b0, useUpdateEducation as b1, useUpdateExternalAccount as b2, useUpdateOrgProfile as b3, useUpdatePosition as b4, useUpdateProfileLocation as b5, useUpdateProfileOverride as b6, useUpdateProfileSelf as b7, useUpdateRecord as b8, useUpdateSkill as b9, useUpdateSkillSubCategories as ba, useUploadAvatar as bb, useVerifyExternalAccount as bc, useWipePreview as bd, type SifaProviderProps as c, type UpdateEducationVariables as d, type UpdateExternalAccountVariables as e, type UpdatePositionVariables as f, type UpdateProfileLocationVariables as g, type UpdateRecordVariables as h, type UpdateSkillSubCategoriesVariables as i, type UpdateSkillVariables as j, type UseEntitySearchOptions as k, type UseMyGithubPullRequestsParams as l, useActivityTeaser as m, useAddFeatureAllowlist as n, useAddOrgNotificationEmail as o, useAdminReviewQueues as p, useAppAccountCheck as q, useAppsRegistry as r, useAtFundLink as s, useBlueskySuggestions as t, useActivityFeed as u, useBulkHideProfileItems as v, useBulkHideStandardPublications as w, useBulkUnhideProfileItems as x, useBulkUnhideStandardPublications as y, useCanonicalSkillSearch as z };
820
+ export { useDeleteRepoRecords as $, type AddFeatureAllowlistVariables as A, useCastRoadmapVote as B, type CreateReactionVariables as C, type DeleteReactionVariables as D, useCreateConfirmation as E, type FollowVariables as F, useCreateEducation as G, useCreateEndorsement as H, useCreateExternalAccount as I, useCreatePosition as J, useCreateProfileLocation as K, useCreateReaction as L, useCreateRecord as M, useCreateSkill as N, useDebouncedValue as O, type PositionSkillLinkVariables as P, useDeleteAccount as Q, type RemoveFeatureAllowlistVariables as R, SifaProvider as S, useDeleteAvatarOverride as T, type UnfollowVariables as U, useDeleteEducation as V, useDeleteExternalAccount as W, useDeletePosition as X, useDeleteProfileLocation as Y, useDeleteReaction as Z, useDeleteRecord as _, type CreateRecordVariables as a, useUnlinkSkillFromPosition as a$, useDeleteSkill as a0, useDismissConfirmation as a1, useEndorsementCount as a2, useEntitySearch as a3, useExternalAccounts as a4, useFeatureAllowlist as a5, useFeaturedProfile as a6, useFollow as a7, useFollowers as a8, useFollowing as a9, useRefreshPds as aA, useRemoveFeatureAllowlist as aB, useRemoveOrgNotificationEmail as aC, useRepoInventory as aD, useResetProfile as aE, useResolveEntityDomain as aF, useRetractRoadmapVote as aG, useRevealMarqueDomain as aH, useRevokeConfirmation as aI, useRoadmapVotes as aJ, useSearchFilters as aK, useSearchProfiles as aL, useSelectEntity as aM, useSetExternalAccountPrimary as aN, useSetPositionPrimary as aO, useSifaConfig as aP, useSimilarProfiles as aQ, useSkillSuggestions as aR, useStats as aS, useSuggestionCount as aT, useSuggestions as aU, useUnfollow as aV, useUnhideKeytraceClaim as aW, useUnhideOrcidPublication as aX, useUnhideProfileItem as aY, useUnhideSifaPublication as aZ, useUnhideStandardPublication as a_, useFollowingFeed as aa, useFollowingList as ab, useGetProfileView as ac, useGivenConfirmations as ad, useHeatmapData as ae, useHiddenApps as af, useHideKeytraceClaim as ag, useHideOrcidPublication as ah, useHideProfileItem as ai, useHideSifaPublication as aj, useHideStandardPublication as ak, useImportSearchEntities as al, useLinkSkillToPosition as am, useMintEntityDomain as an, useMutuals as ao, useMyGithubPullRequests as ap, useMyRoadmapVotes as aq, useNetworkStreamCount as ar, useOrgClaim as as, useOrgDomainChallenge as at, useOrgDomainVerify as au, useOrgProfile as av, usePendingConfirmations as aw, useProfile as ax, useReactionStatus as ay, useRefreshOrcidPublications as az, type DeleteRecordVariables as b, useUnrevealMarqueDomain as b0, useUnsetExternalAccountPrimary as b1, useUnsetPositionPrimary as b2, useUpdateEducation as b3, useUpdateExternalAccount as b4, useUpdateOrgProfile as b5, useUpdatePosition as b6, useUpdateProfileLocation as b7, useUpdateProfileOverride as b8, useUpdateProfileSelf as b9, useUpdateRecord as ba, useUpdateSkill as bb, useUpdateSkillSubCategories as bc, useUploadAvatar as bd, useVerifyExternalAccount as be, useWipePreview as bf, type SifaProviderProps as c, type UpdateEducationVariables as d, type UpdateExternalAccountVariables as e, type UpdatePositionVariables as f, type UpdateProfileLocationVariables as g, type UpdateRecordVariables as h, type UpdateSkillSubCategoriesVariables as i, type UpdateSkillVariables as j, type UseEntitySearchOptions as k, type UseMyGithubPullRequestsParams as l, useActivityTeaser as m, useAddFeatureAllowlist as n, useAddOrgNotificationEmail as o, useAdminReviewQueues as p, useAppAccountCheck as q, useAppsRegistry as r, useAtFundLink as s, useBlueskySuggestions as t, useActivityFeed as u, useBulkHideProfileItems as v, useBulkHideStandardPublications as w, useBulkUnhideProfileItems as x, useBulkUnhideStandardPublications as y, useCanonicalSkillSearch as z };
@@ -1,7 +1,7 @@
1
- import { S as SifaApiConfig, A as ApiFetchOptions, C as CreateResult, W as WriteResult } from './org-Be0SH7dO.cjs';
2
- import { e as Profile, P as ProfileView, g as ProfilePosition, ac as SkillRef } from './adult-content-BUgP8bpf.cjs';
1
+ import { S as SifaApiConfig, A as ApiFetchOptions, C as CreateResult, W as WriteResult } from './org-xybLlTXW.cjs';
2
+ import { f as Profile, P as ProfileView, h as ProfilePosition, am as SkillRef } from './types-CmS4Argp.cjs';
3
3
  import { i as EntitySearchResponse, k as EntitySearchResult, c as EntityMintDomainResponse, g as EntityResolveDomainResponse, m as EntitySelectRequest, o as EntitySelectResponse } from './feed-dOSy_48Z.cjs';
4
- import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-DReI-P0i.cjs';
4
+ import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-jUtrgYrA.cjs';
5
5
 
6
6
  /**
7
7
  * Read the aggregated profile for a handle or DID.
@@ -1,9 +1,9 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode } from 'react';
3
- import { S as SifaApiConfig, s as sifaQueryKeys, W as WriteResult, aq as RefreshPdsResult, aG as UpdateProfileOverrideInput, aH as UpdateProfileSelfInput, aI as UploadAvatarResult, C as CreateResult, aD as SubCategoryBulkResult, ae as ProfileLocationInput, p as ExternalAccountInput, o as CreateExternalAccountResult, aJ as VerifyExternalAccountResult, E as EndorsementInput, m as ConfirmationInput, n as ConfirmationSubjectInput, Q as GivenConfirmation, ab as PendingConfirmationsPage, ap as RefreshOrcidPublicationsResult, B as BulkHideProfileItemInput, _ as HideProfileItemInput, aC as StatsResponse, j as AppRegistryEntry, X as HiddenApp, I as FilterOptions, ax as SearchFilters, ay as SearchResponse, aB as SkillSearchResult, q as FeaturedProfile, aA as SimilarProfile, H as FetchSuggestionsOptions, aF as SuggestionsResponse, M as FollowUserResult, u as FetchFollowListOptions, J as FollowListPage, N as FollowingResponse, w as FetchFollowingFeedOptions, v as FetchFollowProfilePageOptions, L as FollowProfilePageResponse, F as FeatureAllowlistResponse, h as AdminReviewQueues, r as FetchActivityFeedOptions, d as ActivityFeedResponse, g as ActivityTeaserResponse, V as HeatmapResponse, a0 as MyGithubPullRequestsResponse, c as AccountCheckResult, ao as ReactionStatus, an as ReactionResult, am as ReactionError, aw as RoadmapVotesResponse, k as CastRoadmapVoteResult, D as DeleteAccountResult, ar as ResetProfileResult, aK as WipePreview, a2 as OrgClaimResult, a8 as OrgProfileUpdateResult, a3 as OrgDomainChallengeResult, a4 as OrgDomainVerifyResult, a5 as OrgNotificationEmailAddResult, a6 as OrgNotificationEmailRemoveResult } from './org-8ysVY69a.js';
3
+ import { S as SifaApiConfig, s as sifaQueryKeys, W as WriteResult, aq as RefreshPdsResult, aH as UpdateProfileOverrideInput, aI as UpdateProfileSelfInput, aJ as UploadAvatarResult, C as CreateResult, aE as SubCategoryBulkResult, ae as ProfileLocationInput, p as ExternalAccountInput, o as CreateExternalAccountResult, aK as VerifyExternalAccountResult, E as EndorsementInput, m as ConfirmationInput, n as ConfirmationSubjectInput, Q as GivenConfirmation, ab as PendingConfirmationsPage, ap as RefreshOrcidPublicationsResult, B as BulkHideProfileItemInput, _ as HideProfileItemInput, aD as StatsResponse, j as AppRegistryEntry, X as HiddenApp, I as FilterOptions, ay as SearchFilters, az as SearchResponse, aC as SkillSearchResult, q as FeaturedProfile, aB as SimilarProfile, H as FetchSuggestionsOptions, aG as SuggestionsResponse, M as FollowUserResult, u as FetchFollowListOptions, J as FollowListPage, N as FollowingResponse, w as FetchFollowingFeedOptions, v as FetchFollowProfilePageOptions, L as FollowProfilePageResponse, F as FeatureAllowlistResponse, h as AdminReviewQueues, r as FetchActivityFeedOptions, d as ActivityFeedResponse, g as ActivityTeaserResponse, V as HeatmapResponse, a0 as MyGithubPullRequestsResponse, c as AccountCheckResult, ao as ReactionStatus, an as ReactionResult, am as ReactionError, ax as RoadmapVotesResponse, k as CastRoadmapVoteResult, D as DeleteAccountResult, as as ResetProfileResult, aL as WipePreview, ar as RepoDeleteInput, a2 as OrgClaimResult, a8 as OrgProfileUpdateResult, a3 as OrgDomainChallengeResult, a4 as OrgDomainVerifyResult, a5 as OrgNotificationEmailAddResult, a6 as OrgNotificationEmailRemoveResult } from './org-lRzEl8je.js';
4
4
  import * as _tanstack_react_query from '@tanstack/react-query';
5
5
  import { UseQueryOptions, UseMutationOptions, UseInfiniteQueryOptions, InfiniteData } from '@tanstack/react-query';
6
- import { e as Profile, P as ProfileView, g as ProfilePosition, ac as SkillRef, E as ExternalAccount, S as SkillSuggestion, Q as OrgFloorVerdict } from './adult-content-BUgP8bpf.js';
6
+ import { f as Profile, P as ProfileView, h as ProfilePosition, am as SkillRef, E as ExternalAccount, S as SkillSuggestion, R as RepoDeleteResult, b as RepoInventory, T as OrgFloorVerdict } from './types-CmS4Argp.js';
7
7
  import { i as EntitySearchResponse, k as EntitySearchResult, c as EntityMintDomainResponse, g as EntityResolveDomainResponse, o as EntitySelectResponse, m as EntitySelectRequest, y as FollowFeedPage, s as FeatureFlag } from './feed-dOSy_48Z.js';
8
8
  import { O as OrgClaimRequestInput, h as OrgProfileUpdateRequestInput, b as OrgDomainChallengeRequestInput, d as OrgDomainVerifyRequestInput, f as OrgNotificationEmailRequestInput } from './org-settings-B8e01iZx.js';
9
9
 
@@ -709,6 +709,30 @@ declare function useResetProfile(options?: Omit<UseMutationOptions<ResetProfileR
709
709
  */
710
710
  declare function useDeleteAccount(options?: Omit<UseMutationOptions<DeleteAccountResult, Error, boolean>, 'mutationFn'>): _tanstack_react_query.UseMutationResult<DeleteAccountResult, Error, boolean, unknown>;
711
711
 
712
+ /**
713
+ * Read the id.sifa.* records in the authenticated user's repo.
714
+ *
715
+ * Not cached client-side: this is a page about what exists right now, and a
716
+ * user who deletes a record, navigates away and comes back must not be shown
717
+ * it again from cache. The server caches the PDS read briefly, which is where
718
+ * that cost belongs.
719
+ */
720
+ declare function useRepoInventory(options?: Omit<UseQueryOptions<RepoInventory, Error, RepoInventory, ReturnType<typeof sifaQueryKeys.repoInventory.list>>, 'queryKey' | 'queryFn'>): _tanstack_react_query.UseQueryResult<NoInfer<RepoInventory>, Error>;
721
+ /**
722
+ * Delete records from the authenticated user's repo.
723
+ *
724
+ * Invalidates the whole Sifa key subtree, not just the inventory: the records
725
+ * being removed are the ones the profile is built from, so anything showing
726
+ * profile content is stale the moment this succeeds.
727
+ */
728
+ declare function useDeleteRepoRecords(options?: Omit<UseMutationOptions<RepoDeleteResult & {
729
+ success: boolean;
730
+ error?: string;
731
+ }, Error, RepoDeleteInput>, 'mutationFn'>): _tanstack_react_query.UseMutationResult<RepoDeleteResult & {
732
+ success: boolean;
733
+ error?: string;
734
+ }, Error, RepoDeleteInput, unknown>;
735
+
712
736
  /**
713
737
  * Read the server-computed org rendering-floor verdict for a handle or DID.
714
738
  *
@@ -793,4 +817,4 @@ declare function useRemoveOrgNotificationEmail(options?: Omit<UseMutationOptions
793
817
  email: string;
794
818
  }, unknown>;
795
819
 
796
- export { useDeleteSkill as $, type AddFeatureAllowlistVariables as A, useCastRoadmapVote as B, type CreateReactionVariables as C, type DeleteReactionVariables as D, useCreateConfirmation as E, type FollowVariables as F, useCreateEducation as G, useCreateEndorsement as H, useCreateExternalAccount as I, useCreatePosition as J, useCreateProfileLocation as K, useCreateReaction as L, useCreateRecord as M, useCreateSkill as N, useDebouncedValue as O, type PositionSkillLinkVariables as P, useDeleteAccount as Q, type RemoveFeatureAllowlistVariables as R, SifaProvider as S, useDeleteAvatarOverride as T, type UnfollowVariables as U, useDeleteEducation as V, useDeleteExternalAccount as W, useDeletePosition as X, useDeleteProfileLocation as Y, useDeleteReaction as Z, useDeleteRecord as _, type CreateRecordVariables as a, useUnsetExternalAccountPrimary as a$, useDismissConfirmation as a0, useEndorsementCount as a1, useEntitySearch as a2, useExternalAccounts as a3, useFeatureAllowlist as a4, useFeaturedProfile as a5, useFollow as a6, useFollowers as a7, useFollowing as a8, useFollowingFeed as a9, useRemoveFeatureAllowlist as aA, useRemoveOrgNotificationEmail as aB, useResetProfile as aC, useResolveEntityDomain as aD, useRetractRoadmapVote as aE, useRevealMarqueDomain as aF, useRevokeConfirmation as aG, useRoadmapVotes as aH, useSearchFilters as aI, useSearchProfiles as aJ, useSelectEntity as aK, useSetExternalAccountPrimary as aL, useSetPositionPrimary as aM, useSifaConfig as aN, useSimilarProfiles as aO, useSkillSuggestions as aP, useStats as aQ, useSuggestionCount as aR, useSuggestions as aS, useUnfollow as aT, useUnhideKeytraceClaim as aU, useUnhideOrcidPublication as aV, useUnhideProfileItem as aW, useUnhideSifaPublication as aX, useUnhideStandardPublication as aY, useUnlinkSkillFromPosition as aZ, useUnrevealMarqueDomain as a_, useFollowingList as aa, useGetProfileView as ab, useGivenConfirmations as ac, useHeatmapData as ad, useHiddenApps as ae, useHideKeytraceClaim as af, useHideOrcidPublication as ag, useHideProfileItem as ah, useHideSifaPublication as ai, useHideStandardPublication as aj, useImportSearchEntities as ak, useLinkSkillToPosition as al, useMintEntityDomain as am, useMutuals as an, useMyGithubPullRequests as ao, useMyRoadmapVotes as ap, useNetworkStreamCount as aq, useOrgClaim as ar, useOrgDomainChallenge as as, useOrgDomainVerify as at, useOrgProfile as au, usePendingConfirmations as av, useProfile as aw, useReactionStatus as ax, useRefreshOrcidPublications as ay, useRefreshPds as az, type DeleteRecordVariables as b, useUnsetPositionPrimary as b0, useUpdateEducation as b1, useUpdateExternalAccount as b2, useUpdateOrgProfile as b3, useUpdatePosition as b4, useUpdateProfileLocation as b5, useUpdateProfileOverride as b6, useUpdateProfileSelf as b7, useUpdateRecord as b8, useUpdateSkill as b9, useUpdateSkillSubCategories as ba, useUploadAvatar as bb, useVerifyExternalAccount as bc, useWipePreview as bd, type SifaProviderProps as c, type UpdateEducationVariables as d, type UpdateExternalAccountVariables as e, type UpdatePositionVariables as f, type UpdateProfileLocationVariables as g, type UpdateRecordVariables as h, type UpdateSkillSubCategoriesVariables as i, type UpdateSkillVariables as j, type UseEntitySearchOptions as k, type UseMyGithubPullRequestsParams as l, useActivityTeaser as m, useAddFeatureAllowlist as n, useAddOrgNotificationEmail as o, useAdminReviewQueues as p, useAppAccountCheck as q, useAppsRegistry as r, useAtFundLink as s, useBlueskySuggestions as t, useActivityFeed as u, useBulkHideProfileItems as v, useBulkHideStandardPublications as w, useBulkUnhideProfileItems as x, useBulkUnhideStandardPublications as y, useCanonicalSkillSearch as z };
820
+ export { useDeleteRepoRecords as $, type AddFeatureAllowlistVariables as A, useCastRoadmapVote as B, type CreateReactionVariables as C, type DeleteReactionVariables as D, useCreateConfirmation as E, type FollowVariables as F, useCreateEducation as G, useCreateEndorsement as H, useCreateExternalAccount as I, useCreatePosition as J, useCreateProfileLocation as K, useCreateReaction as L, useCreateRecord as M, useCreateSkill as N, useDebouncedValue as O, type PositionSkillLinkVariables as P, useDeleteAccount as Q, type RemoveFeatureAllowlistVariables as R, SifaProvider as S, useDeleteAvatarOverride as T, type UnfollowVariables as U, useDeleteEducation as V, useDeleteExternalAccount as W, useDeletePosition as X, useDeleteProfileLocation as Y, useDeleteReaction as Z, useDeleteRecord as _, type CreateRecordVariables as a, useUnlinkSkillFromPosition as a$, useDeleteSkill as a0, useDismissConfirmation as a1, useEndorsementCount as a2, useEntitySearch as a3, useExternalAccounts as a4, useFeatureAllowlist as a5, useFeaturedProfile as a6, useFollow as a7, useFollowers as a8, useFollowing as a9, useRefreshPds as aA, useRemoveFeatureAllowlist as aB, useRemoveOrgNotificationEmail as aC, useRepoInventory as aD, useResetProfile as aE, useResolveEntityDomain as aF, useRetractRoadmapVote as aG, useRevealMarqueDomain as aH, useRevokeConfirmation as aI, useRoadmapVotes as aJ, useSearchFilters as aK, useSearchProfiles as aL, useSelectEntity as aM, useSetExternalAccountPrimary as aN, useSetPositionPrimary as aO, useSifaConfig as aP, useSimilarProfiles as aQ, useSkillSuggestions as aR, useStats as aS, useSuggestionCount as aT, useSuggestions as aU, useUnfollow as aV, useUnhideKeytraceClaim as aW, useUnhideOrcidPublication as aX, useUnhideProfileItem as aY, useUnhideSifaPublication as aZ, useUnhideStandardPublication as a_, useFollowingFeed as aa, useFollowingList as ab, useGetProfileView as ac, useGivenConfirmations as ad, useHeatmapData as ae, useHiddenApps as af, useHideKeytraceClaim as ag, useHideOrcidPublication as ah, useHideProfileItem as ai, useHideSifaPublication as aj, useHideStandardPublication as ak, useImportSearchEntities as al, useLinkSkillToPosition as am, useMintEntityDomain as an, useMutuals as ao, useMyGithubPullRequests as ap, useMyRoadmapVotes as aq, useNetworkStreamCount as ar, useOrgClaim as as, useOrgDomainChallenge as at, useOrgDomainVerify as au, useOrgProfile as av, usePendingConfirmations as aw, useProfile as ax, useReactionStatus as ay, useRefreshOrcidPublications as az, type DeleteRecordVariables as b, useUnrevealMarqueDomain as b0, useUnsetExternalAccountPrimary as b1, useUnsetPositionPrimary as b2, useUpdateEducation as b3, useUpdateExternalAccount as b4, useUpdateOrgProfile as b5, useUpdatePosition as b6, useUpdateProfileLocation as b7, useUpdateProfileOverride as b8, useUpdateProfileSelf as b9, useUpdateRecord as ba, useUpdateSkill as bb, useUpdateSkillSubCategories as bc, useUploadAvatar as bd, useVerifyExternalAccount as be, useWipePreview as bf, type SifaProviderProps as c, type UpdateEducationVariables as d, type UpdateExternalAccountVariables as e, type UpdatePositionVariables as f, type UpdateProfileLocationVariables as g, type UpdateRecordVariables as h, type UpdateSkillSubCategoriesVariables as i, type UpdateSkillVariables as j, type UseEntitySearchOptions as k, type UseMyGithubPullRequestsParams as l, useActivityTeaser as m, useAddFeatureAllowlist as n, useAddOrgNotificationEmail as o, useAdminReviewQueues as p, useAppAccountCheck as q, useAppsRegistry as r, useAtFundLink as s, useBlueskySuggestions as t, useActivityFeed as u, useBulkHideProfileItems as v, useBulkHideStandardPublications as w, useBulkUnhideProfileItems as x, useBulkUnhideStandardPublications as y, useCanonicalSkillSearch as z };
@@ -1,7 +1,7 @@
1
- import { S as SifaApiConfig, A as ApiFetchOptions, C as CreateResult, W as WriteResult } from './org-8ysVY69a.js';
2
- import { e as Profile, P as ProfileView, g as ProfilePosition, ac as SkillRef } from './adult-content-BUgP8bpf.js';
1
+ import { S as SifaApiConfig, A as ApiFetchOptions, C as CreateResult, W as WriteResult } from './org-lRzEl8je.js';
2
+ import { f as Profile, P as ProfileView, h as ProfilePosition, am as SkillRef } from './types-CmS4Argp.js';
3
3
  import { i as EntitySearchResponse, k as EntitySearchResult, c as EntityMintDomainResponse, g as EntityResolveDomainResponse, m as EntitySelectRequest, o as EntitySelectResponse } from './feed-dOSy_48Z.js';
4
- import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-DyX9EJzZ.js';
4
+ import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-elBg0fG6.js';
5
5
 
6
6
  /**
7
7
  * Read the aggregated profile for a handle or DID.
package/dist/index.cjs CHANGED
@@ -5114,6 +5114,36 @@ var ProfileHonorRecordSchema = zod.z.object({
5114
5114
  awardedAt: partialDateSchema.optional(),
5115
5115
  createdAt: datetimeSchema
5116
5116
  });
5117
+ var projectMemberRefSchema = zod.z.object({
5118
+ did: didSchema,
5119
+ role: zod.z.string().optional(),
5120
+ title: zod.z.string().refine(maxGraphemes(128)).max(1280).optional()
5121
+ });
5122
+ var ProfileProjectRecordSchema = zod.z.object({
5123
+ name: zod.z.string().min(1).refine(maxGraphemes(256)).max(2560),
5124
+ description: zod.z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
5125
+ url: uriSchema.optional(),
5126
+ members: zod.z.array(projectMemberRefSchema).max(50).optional(),
5127
+ /**
5128
+ * The canonical `id.sifa.project.self` this personal entry corresponds to.
5129
+ * A composition link. For the same project recorded on someone else's
5130
+ * profile, see `sameAs`.
5131
+ */
5132
+ projectRef: strongRefSchema.optional(),
5133
+ /**
5134
+ * The same project as recorded on another person's profile. Each side stays
5135
+ * its own record; this only says the two describe one thing. Resolves by
5136
+ * AT-URI, since they will keep editing their copy.
5137
+ */
5138
+ sameAs: externalRecordRefSchema.optional(),
5139
+ position: strongRefSchema.optional(),
5140
+ startedAt: partialDateSchema.optional(),
5141
+ endedAt: partialDateSchema.optional(),
5142
+ labels: selfLabelsSchema.optional(),
5143
+ createdAt: datetimeSchema
5144
+ });
5145
+
5146
+ // src/schemas/profile-involvement.ts
5117
5147
  var PROFILE_INVOLVEMENT_NSID = "id.sifa.profile.involvement";
5118
5148
  var ArtifactLinkSchema = zod.z.object({
5119
5149
  url: uriSchema,
@@ -5138,6 +5168,8 @@ var ProfileInvolvementRecordSchema = zod.z.object({
5138
5168
  // id.sifa.defs#skillRef references (at-uri to a skill record in the same repo).
5139
5169
  skills: zod.z.array(zod.z.object({ uri: zod.z.string() })).max(50).optional(),
5140
5170
  labels: selfLabelsSchema.optional(),
5171
+ collaborators: zod.z.array(projectMemberRefSchema).max(50).optional(),
5172
+ sameAs: externalRecordRefSchema.optional(),
5141
5173
  createdAt: datetimeSchema
5142
5174
  }).passthrough();
5143
5175
  var ProfileLanguageRecordSchema = zod.z.object({
@@ -5220,34 +5252,6 @@ var ProfilePresentationDeliveryRecordSchema = zod.z.object({
5220
5252
  coSpeakers: zod.z.array(zod.z.string().regex(/^did:[a-z]+:[^\s]+$/, "must be a DID")).max(20).optional(),
5221
5253
  createdAt: datetimeSchema
5222
5254
  });
5223
- var projectMemberRefSchema = zod.z.object({
5224
- did: didSchema,
5225
- role: zod.z.string().optional(),
5226
- title: zod.z.string().refine(maxGraphemes(128)).max(1280).optional()
5227
- });
5228
- var ProfileProjectRecordSchema = zod.z.object({
5229
- name: zod.z.string().min(1).refine(maxGraphemes(256)).max(2560),
5230
- description: zod.z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
5231
- url: uriSchema.optional(),
5232
- members: zod.z.array(projectMemberRefSchema).max(50).optional(),
5233
- /**
5234
- * The canonical `id.sifa.project.self` this personal entry corresponds to.
5235
- * A composition link. For the same project recorded on someone else's
5236
- * profile, see `sameAs`.
5237
- */
5238
- projectRef: strongRefSchema.optional(),
5239
- /**
5240
- * The same project as recorded on another person's profile. Each side stays
5241
- * its own record; this only says the two describe one thing. Resolves by
5242
- * AT-URI, since they will keep editing their copy.
5243
- */
5244
- sameAs: externalRecordRefSchema.optional(),
5245
- position: strongRefSchema.optional(),
5246
- startedAt: partialDateSchema.optional(),
5247
- endedAt: partialDateSchema.optional(),
5248
- labels: selfLabelsSchema.optional(),
5249
- createdAt: datetimeSchema
5250
- });
5251
5255
  var PublicationAuthorSchema = zod.z.object({
5252
5256
  name: zod.z.string().min(1).refine(maxGraphemes(100)).max(1e3),
5253
5257
  did: didSchema.optional()
@@ -5392,8 +5396,190 @@ function roadmapIssueUrl(issue) {
5392
5396
  return `https://github.com/${ROADMAP_ISSUES_REPO}/issues/${issue}`;
5393
5397
  }
5394
5398
 
5399
+ // src/repo/groups.ts
5400
+ var SIFA_REPO_GROUPS = [
5401
+ {
5402
+ id: "profile-basics",
5403
+ collections: [
5404
+ "id.sifa.profile.self",
5405
+ "id.sifa.profile.location",
5406
+ "id.sifa.profile.language",
5407
+ "id.sifa.profile.externalAccount",
5408
+ "id.sifa.org.profile"
5409
+ ]
5410
+ },
5411
+ {
5412
+ id: "work-history",
5413
+ collections: [
5414
+ "id.sifa.profile.position",
5415
+ "id.sifa.profile.volunteering",
5416
+ "id.sifa.org.employmentAttestation"
5417
+ ]
5418
+ },
5419
+ {
5420
+ id: "education",
5421
+ collections: [
5422
+ "id.sifa.profile.education",
5423
+ "id.sifa.profile.course",
5424
+ "id.sifa.profile.certification"
5425
+ ]
5426
+ },
5427
+ {
5428
+ id: "skills-endorsements",
5429
+ collections: [
5430
+ "id.sifa.profile.skill",
5431
+ "id.sifa.endorsement",
5432
+ "id.sifa.endorsement.confirmation"
5433
+ ]
5434
+ },
5435
+ {
5436
+ id: "projects",
5437
+ collections: [
5438
+ "id.sifa.profile.project",
5439
+ "id.sifa.profile.involvement",
5440
+ "id.sifa.project.self",
5441
+ "id.sifa.project.member",
5442
+ "id.sifa.project.membership"
5443
+ ]
5444
+ },
5445
+ {
5446
+ id: "publications-talks",
5447
+ collections: [
5448
+ "id.sifa.profile.publication",
5449
+ "id.sifa.profile.presentation",
5450
+ "id.sifa.profile.presentationDelivery",
5451
+ "id.sifa.profile.honor"
5452
+ ]
5453
+ },
5454
+ {
5455
+ id: "connections",
5456
+ collections: ["id.sifa.graph.follow", "id.sifa.graph.connection", "id.sifa.confirmation"]
5457
+ },
5458
+ {
5459
+ id: "consents-access",
5460
+ collections: [
5461
+ "id.sifa.authProfile",
5462
+ "id.sifa.authProfileAccess",
5463
+ "id.sifa.authConnection",
5464
+ "id.sifa.authMeet",
5465
+ "id.sifa.authProject",
5466
+ "id.sifa.meeting"
5467
+ ]
5468
+ }
5469
+ ];
5470
+ var GROUP_BY_COLLECTION = new Map(
5471
+ SIFA_REPO_GROUPS.flatMap(
5472
+ (group) => group.collections.map((collection) => [collection, group.id])
5473
+ )
5474
+ );
5475
+ function repoGroupForCollection(collection) {
5476
+ return GROUP_BY_COLLECTION.get(collection) ?? "other";
5477
+ }
5478
+
5479
+ // src/repo/labels.ts
5480
+ var LABEL_RULES = {
5481
+ "id.sifa.profile.self": { primary: ["headline"] },
5482
+ "id.sifa.profile.location": { primary: ["locality", "region", "country"] },
5483
+ "id.sifa.profile.language": { primary: ["name"], secondary: ["proficiency"] },
5484
+ "id.sifa.profile.externalAccount": { primary: ["label", "platform"], secondary: ["url"] },
5485
+ "id.sifa.org.profile": { primary: ["name"] },
5486
+ "id.sifa.profile.position": {
5487
+ primary: ["title"],
5488
+ secondary: ["company"],
5489
+ date: ["startedAt"]
5490
+ },
5491
+ "id.sifa.profile.volunteering": {
5492
+ primary: ["role", "organization"],
5493
+ secondary: ["organization"],
5494
+ date: ["startedAt"]
5495
+ },
5496
+ "id.sifa.org.employmentAttestation": {
5497
+ primary: ["title"],
5498
+ date: ["startedAt"],
5499
+ subjectDid: ["subject"]
5500
+ },
5501
+ "id.sifa.profile.education": {
5502
+ primary: ["degree", "fieldOfStudy"],
5503
+ secondary: ["institution"],
5504
+ date: ["startedAt"]
5505
+ },
5506
+ "id.sifa.profile.course": {
5507
+ primary: ["name"],
5508
+ secondary: ["institution"],
5509
+ date: ["completedAt"]
5510
+ },
5511
+ "id.sifa.profile.certification": {
5512
+ primary: ["name"],
5513
+ secondary: ["authority"],
5514
+ date: ["issuedAt"]
5515
+ },
5516
+ "id.sifa.profile.skill": { primary: ["name"], secondary: ["category"] },
5517
+ "id.sifa.endorsement": { primary: ["skillName"], subjectDid: ["subject"] },
5518
+ "id.sifa.endorsement.confirmation": { primary: ["skill"] },
5519
+ "id.sifa.profile.project": {
5520
+ primary: ["title", "name"],
5521
+ secondary: ["role"],
5522
+ date: ["startedAt"]
5523
+ },
5524
+ "id.sifa.profile.involvement": {
5525
+ primary: ["role", "upstream"],
5526
+ secondary: ["upstream"],
5527
+ date: ["startedAt"]
5528
+ },
5529
+ "id.sifa.project.self": { primary: ["name", "title"] },
5530
+ "id.sifa.project.member": { primary: ["role"], subjectDid: ["subject", "did"] },
5531
+ "id.sifa.project.membership": { primary: ["role"], subjectDid: ["subject", "did"] },
5532
+ "id.sifa.profile.publication": {
5533
+ primary: ["title", "name"],
5534
+ secondary: ["publisher"],
5535
+ date: ["publishedAt"]
5536
+ },
5537
+ "id.sifa.profile.presentation": { primary: ["title", "label"] },
5538
+ "id.sifa.profile.presentationDelivery": {
5539
+ primary: ["title"],
5540
+ secondary: ["eventName"],
5541
+ date: ["date"]
5542
+ },
5543
+ "id.sifa.profile.honor": { primary: ["title"], secondary: ["issuer"], date: ["awardedAt"] },
5544
+ "id.sifa.graph.follow": { subjectDid: ["subject"] },
5545
+ "id.sifa.graph.connection": { subjectDid: ["subject"] },
5546
+ "id.sifa.confirmation": {
5547
+ primary: ["subjectName"],
5548
+ secondary: ["relation"],
5549
+ subjectDid: ["subject"]
5550
+ }
5551
+ };
5552
+ function collectionLeaf(collection) {
5553
+ return collection.slice(collection.lastIndexOf(".") + 1);
5554
+ }
5555
+ function pickString(record, fields) {
5556
+ for (const field of fields) {
5557
+ const raw = record[field];
5558
+ if (typeof raw !== "string") continue;
5559
+ const trimmed = raw.trim();
5560
+ if (trimmed.length > 0) return trimmed;
5561
+ }
5562
+ return void 0;
5563
+ }
5564
+ function describeSifaRecord(collection, value) {
5565
+ const leaf = collectionLeaf(collection);
5566
+ const rule = LABEL_RULES[collection];
5567
+ if (!rule || typeof value !== "object" || value === null) return { primary: leaf };
5568
+ const record = value;
5569
+ const label = {
5570
+ primary: (rule.primary && pickString(record, rule.primary)) ?? leaf
5571
+ };
5572
+ const secondary = rule.secondary && pickString(record, rule.secondary);
5573
+ if (secondary !== void 0 && secondary !== label.primary) label.secondary = secondary;
5574
+ const date = rule.date && pickString(record, rule.date);
5575
+ if (date !== void 0) label.date = date;
5576
+ const subjectDid = rule.subjectDid && pickString(record, rule.subjectDid);
5577
+ if (subjectDid !== void 0) label.subjectDid = subjectDid;
5578
+ return label;
5579
+ }
5580
+
5395
5581
  // src/index.ts
5396
- var SIFA_SDK_VERSION = "0.12.50";
5582
+ var SIFA_SDK_VERSION = "0.12.52";
5397
5583
 
5398
5584
  exports.ACTIVITY_TIERS = ACTIVITY_TIERS;
5399
5585
  exports.ACTIVITY_VERBS = ACTIVITY_VERBS;
@@ -5484,6 +5670,7 @@ exports.ROADMAP_ISSUES_REPO = ROADMAP_ISSUES_REPO;
5484
5670
  exports.ROADMAP_ITEM_META = ROADMAP_ITEM_META;
5485
5671
  exports.SECTION_GROUPS = SECTION_GROUPS;
5486
5672
  exports.SECTION_LABELS = SECTION_LABELS;
5673
+ exports.SIFA_REPO_GROUPS = SIFA_REPO_GROUPS;
5487
5674
  exports.SIFA_SDK_VERSION = SIFA_SDK_VERSION;
5488
5675
  exports.SKILL_CATEGORIES = SKILL_CATEGORIES;
5489
5676
  exports.STANDARD_PUBLISHER_ID = STANDARD_PUBLISHER_ID;
@@ -5507,6 +5694,7 @@ exports.dateRangeExtractor = dateRangeExtractor;
5507
5694
  exports.datetimeSchema = datetimeSchema;
5508
5695
  exports.decodeFeedCursor = decodeFeedCursor;
5509
5696
  exports.dedupeSkills = dedupeSkills;
5697
+ exports.describeSifaRecord = describeSifaRecord;
5510
5698
  exports.detectPdsProvider = detectPdsProvider;
5511
5699
  exports.didSchema = didSchema;
5512
5700
  exports.dimensionsFromInputs = dimensionsFromInputs;
@@ -5604,6 +5792,7 @@ exports.qualifiesAsOrg = qualifiesAsOrg;
5604
5792
  exports.relativeLuminance = relativeLuminance;
5605
5793
  exports.rendersCompanyProfile = rendersCompanyProfile;
5606
5794
  exports.rendersPersonalProfile = rendersPersonalProfile;
5795
+ exports.repoGroupForCollection = repoGroupForCollection;
5607
5796
  exports.resolveAccountFacetMode = resolveAccountFacetMode;
5608
5797
  exports.resolveCardHealth = resolveCardHealth;
5609
5798
  exports.resolveCardUrl = resolveCardUrl;