@singi-labs/sifa-sdk 0.12.78 → 0.12.80

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 (33) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/{network-map-DMpXK9rM.d.cts → network-map-DMfaQ1UI.d.cts} +32 -2
  4. package/dist/{network-map-kR4Ndke4.d.ts → network-map-FK6emkhf.d.ts} +32 -2
  5. package/dist/{org-CnAMbO63.d.ts → org-Dg25S76d.d.ts} +2 -1
  6. package/dist/{org-DQyVyZ65.d.cts → org-gIoCYQNA.d.cts} +2 -1
  7. package/dist/query/fetchers/index.cjs +19 -1
  8. package/dist/query/fetchers/index.cjs.map +1 -1
  9. package/dist/query/fetchers/index.d.cts +3 -3
  10. package/dist/query/fetchers/index.d.ts +3 -3
  11. package/dist/query/fetchers/index.js +19 -2
  12. package/dist/query/fetchers/index.js.map +1 -1
  13. package/dist/query/hooks/index.cjs +2 -1
  14. package/dist/query/hooks/index.cjs.map +1 -1
  15. package/dist/query/hooks/index.d.cts +3 -3
  16. package/dist/query/hooks/index.d.ts +3 -3
  17. package/dist/query/hooks/index.js +2 -1
  18. package/dist/query/hooks/index.js.map +1 -1
  19. package/dist/query/index.cjs +30 -1
  20. package/dist/query/index.cjs.map +1 -1
  21. package/dist/query/index.d.cts +11 -6
  22. package/dist/query/index.d.ts +11 -6
  23. package/dist/query/index.js +29 -2
  24. package/dist/query/index.js.map +1 -1
  25. package/dist/schemas/write/index.cjs +12 -1
  26. package/dist/schemas/write/index.cjs.map +1 -1
  27. package/dist/schemas/write/index.d.cts +21 -1
  28. package/dist/schemas/write/index.d.ts +21 -1
  29. package/dist/schemas/write/index.js +12 -2
  30. package/dist/schemas/write/index.js.map +1 -1
  31. package/dist/{use-org-notification-emails-C45soS39.d.cts → use-org-notification-emails-CdPL2KHh.d.cts} +1 -1
  32. package/dist/{use-org-notification-emails-DaZqJMfA.d.ts → use-org-notification-emails-Dh34pNU7.d.ts} +1 -1
  33. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -5822,7 +5822,7 @@ function describeSifaRecord(collection, value) {
5822
5822
  }
5823
5823
 
5824
5824
  // src/index.ts
5825
- var SIFA_SDK_VERSION = "0.12.78";
5825
+ var SIFA_SDK_VERSION = "0.12.80";
5826
5826
 
5827
5827
  exports.ACTIVITY_TIERS = ACTIVITY_TIERS;
5828
5828
  exports.ACTIVITY_VERBS = ACTIVITY_VERBS;
package/dist/index.js CHANGED
@@ -5820,7 +5820,7 @@ function describeSifaRecord(collection, value) {
5820
5820
  }
5821
5821
 
5822
5822
  // src/index.ts
5823
- var SIFA_SDK_VERSION = "0.12.78";
5823
+ var SIFA_SDK_VERSION = "0.12.80";
5824
5824
 
5825
5825
  export { ACTIVITY_TIERS, ACTIVITY_VERBS, ACTIVITY_VISIBILITY_RULES, ADULT_CONTENT_LABELS, ALL_SECTIONS, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, ArtifactLinkSchema, AtmosphereFeedItemSchema, BlobRefSchema, CALENDAR_EVENT_MODE_LABELS, CALENDAR_EVENT_STATUS_LABELS, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPANY_OPTIONAL_EMPLOYMENT_TYPES, COMPANY_PAGE_MIN_FIRMOGRAPHIC_FIELDS, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, DIMENSIONS_MAX_SCORE, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, ENTITY_REF_ANCHORS, EndorsementConfirmationRecordSchema, EndorsementRecordSchema, EntityImportSearchResponseSchema, EntityMintDomainResponseSchema, EntityResolveDomainRequestSchema, EntityResolveDomainResponseSchema, EntitySearchResponseSchema, EntitySearchResultSchema, EntitySelectRequestSchema, EntitySelectResponseSchema, FEATURE_FLAGS, FeatureAllowlistEntrySchema, FeedActorSchema, FollowFeedItemSchema, FollowFeedPageSchema, FollowProfilePageSchema, FollowProfileSchema, GraphFollowRecordSchema, INDUSTRY_OPTIONS, INVESTMENT_ROLE_LABELS, INVESTMENT_ROLE_OPTIONS, INVESTMENT_STAGE_LABELS, INVESTMENT_STAGE_OPTIONS, INVESTMENT_STATUS_LABELS, INVESTMENT_STATUS_OPTIONS, INVOLVEMENT_HEADING_ORDER, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, InvestmentAmountSchema, MIN_SKILLS, ON_BEHALF_OF_EMPLOYMENT_TYPES, OPEN_TO_OPTIONS, OPEN_TO_TOKENS, OPEN_TO_TOKEN_TO_VALUE, OPEN_TO_VALUE_TO_TOKEN, OrgEmploymentAttestationRecordSchema, OrgProfileRecordSchema, PLATFORM_LABELS, PLATFORM_OPTIONS, PRESENTATION_LINK_TYPE_LABELS, PRESENTATION_LINK_TYPE_OPTIONS, PRESENTATION_ROLE_LABELS, PRESENTATION_ROLE_OPTIONS, PROFILE_INVESTMENT_NSID, PROFILE_INVOLVEMENT_NSID, PROJECT_ROLES, PUBLISHERS, PresentationDurationSchema, PresentationLinkSchema, ProfileCertificationRecordSchema, ProfileCourseRecordSchema, ProfileEducationRecordSchema, ProfileExternalAccountRecordSchema, ProfileHonorRecordSchema, ProfileInvestmentRecordSchema, ProfileInvolvementRecordSchema, ProfileLanguageRecordSchema, ProfilePositionRecordSchema, ProfilePresentationDeliveryRecordSchema, ProfilePresentationRecordSchema, ProfileProjectRecordSchema, ProfilePublicationRecordSchema, ProfileSelfRecordSchema, ProfileSkillRecordSchema, ProfileVolunteeringRecordSchema, PublicationAuthorSchema, ROADMAP_ISSUES_REPO, ROADMAP_ITEM_META, SECTION_GROUPS, SECTION_LABELS, SIFA_REPO_GROUPS, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, STREAM_VERBS, SifaFeedItemSchema, VERIFICATION_PROVIDERS, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, atUriSchema, buildMetaDescription, buildTalkSlug, categoryForApp, certDateExtractor, cidSchema, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, datetimeSchema, decodeFeedCursor, dedupeSkills, describeSifaRecord, detectPdsProvider, didSchema, dimensionsFromInputs, durationFromMinutes, encodeFeedCursor, entityDisambiguationLabel, entityResultKey, externalRecordRefSchema, filterHidden, findIndustry, formatCompanyName, formatDateRange, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, formatTimelineDate, getActivityTaxonomyVersion, getActivityTier, getActivityVerbsVersion, getAppCategoryIcon, getAppIdForCollection, getArtifactLinkKindLabel, getCalendarEventModeLabel, getCalendarEventStatusLabel, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getInvestmentRoleLabel, getInvestmentStageLabel, getInvestmentStatusLabel, getInvolvementKindHeading, getInvolvementKindLabel, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getVerificationProvider, getVisibleSectionIds, getWorkplaceTypeLabel, groupInvolvementByHeading, groupSkillsByCategory, groupSkillsBySubCategory, groupSkillsForDisplay, hasAdultContent, hasPersonalProfileContent, hoistPrimary, isAppCategory, isCompanyPageIndexable, isCompanyRequired, isKnownAppId, isKnownPlatform, isKnownVerificationProvider, isLinked, isOnBehalfOfApplicable, isPseudoEmployer, isRegistrableDomainHandle, isSectionPopulated, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, locationSegments, looksLikeDomain, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeSkillCategory, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, parseTalkRkey, partialDateSchema, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, primaryVerification, profileToDimensionInputs, qualifiesAsOrg, relativeLuminance, rendersCompanyProfile, rendersPersonalProfile, repoGroupForCollection, resolveAccountFacetMode, resolveCardHealth, resolveCardUrl, resolveEmbed, resolveVerifierProvider, rgbToString, roadmapIssueUrl, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, selfLabelsSchema, singleDateExtractor, skillRefSchema, slugifyTitle, sortByActiveDateRange, sortByDateDesc, sortCertifications, sortEducation, sortHonors, sortLanguages, sortLanguagesByProficiency, sortPositions, sortProjects, sortPublications, streamAddressSchema, streamAuthorSchema, streamCardBodySchema, streamCardSubjectSchema, streamCardVMSchema, streamExternalLinkSchema, streamGeoSchema, streamMediaSchema, streamRichSegmentSchema, streamSourceSchema, streamThemeSchema, streamVerbSchema, stripHtmlToText, strongRefSchema, summarizePresentationDeliveries, summarizeProfileView, toStreamCardVM, toStreamCardVMs, truncateGraphemes, uriSchema, verbForCollection, visibleItems, youtubeThumbnailUrl, youtubeVideoId };
5826
5826
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  import { c as Profile, d as ProfilePosition, S as SkillRef } from './index-Uj1NC0QC.cjs';
2
- import { S as SifaApiConfig, A as ApiFetchOptions, C as CreateResult, W as WriteResult } from './org-DQyVyZ65.cjs';
2
+ import { S as SifaApiConfig, A as ApiFetchOptions, C as CreateResult, W as WriteResult } from './org-gIoCYQNA.cjs';
3
3
  import { n as ProfileView } from './types-B3KOVEYy.cjs';
4
4
  import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-CbzSrQoE.cjs';
5
5
  import { j as EntitySearchResponse, E as EntitySearchResult, d as EntityMintDomainResponse, h as EntityResolveDomainResponse, m as EntitySelectRequest, o as EntitySelectResponse } from './feed-BMm9Pkew.cjs';
@@ -102,6 +102,36 @@ declare function updateRecord(config: SifaApiConfig, collection: string, rkey: s
102
102
  /** Generic record-delete escape hatch. See {@link createRecord}. */
103
103
  declare function deleteRecord(config: SifaApiConfig, collection: string, rkey: string, options?: ApiFetchOptions): Promise<WriteResult>;
104
104
 
105
+ interface ReceivedEndorsement {
106
+ endorserDid: string;
107
+ /** Absent when the endorser has no Sifa profile yet. */
108
+ endorserHandle?: string;
109
+ endorserDisplayName?: string;
110
+ endorserAvatar?: string;
111
+ skillUri?: string;
112
+ skillCid?: string;
113
+ skillName: string;
114
+ comment?: string;
115
+ createdAt: string;
116
+ }
117
+ interface ReceivedEndorsementsPage {
118
+ endorsements: ReceivedEndorsement[];
119
+ cursor?: string;
120
+ }
121
+ /**
122
+ * Confirmed endorsements a DID has received, newest first.
123
+ *
124
+ * Only confirmed ones exist here: the AppView inner-joins against the
125
+ * confirmation records, so an endorsement the subject has not accepted is
126
+ * absent rather than pending. Public -- no credentials needed.
127
+ *
128
+ * Returns an empty page on failure so a surface that merely decorates a page
129
+ * cannot break it.
130
+ */
131
+ declare function fetchReceivedEndorsements(config: SifaApiConfig, did: string, options?: {
132
+ limit?: number;
133
+ } & ApiFetchOptions): Promise<ReceivedEndorsementsPage>;
134
+
105
135
  interface ReciprocitySkill {
106
136
  name: string;
107
137
  uri: string;
@@ -361,4 +391,4 @@ declare function checkNetworkMapJobStatus(config: SifaApiConfig, jobId: string,
361
391
  */
362
392
  declare function fetchNetworkMap(config: SifaApiConfig, options?: ApiFetchOptions): Promise<NetworkMapResponse | null>;
363
393
 
364
- export { importSearchEntities as A, initiateNetworkMapGeneration as B, isNetworkMapResponse as C, type DismissEndorsementInput as D, linkSkillToPosition as E, type FetchNetworkStreamCountOptions as F, mintEntityDomain as G, resolveEntityDomain as H, revealMarqueDomain as I, selectEntity as J, setPositionPrimary as K, unhideKeytraceClaim as L, unlinkSkillFromPosition as M, type NetworkMapEdge as N, unrevealMarqueDomain as O, type PendingEndorsementsPage as P, unsetPositionPrimary as Q, type ReciprocityCandidate as R, updateEducation as S, updatePosition as T, updateRecord as U, type NetworkMapGenerationJob as a, type NetworkMapGraphData as b, type NetworkMapNode as c, type NetworkMapPendingJob as d, type NetworkMapResponse as e, type PendingEndorsement as f, type ReciprocitySkill as g, checkNetworkMapJobStatus as h, createEducation as i, createPosition as j, createRecord as k, deleteEducation as l, deletePosition as m, deleteRecord as n, dismissEndorsement as o, fetchAtFundLink as p, fetchEndorsementCount as q, fetchEntitySearch as r, fetchGetProfileView as s, fetchNetworkMap as t, fetchNetworkStreamCount as u, fetchPendingEndorsements as v, fetchProfile as w, fetchProfileSummary as x, fetchReciprocityCandidate as y, hideKeytraceClaim as z };
394
+ export { fetchReceivedEndorsements as A, fetchReciprocityCandidate as B, hideKeytraceClaim as C, type DismissEndorsementInput as D, importSearchEntities as E, type FetchNetworkStreamCountOptions as F, initiateNetworkMapGeneration as G, isNetworkMapResponse as H, linkSkillToPosition as I, mintEntityDomain as J, resolveEntityDomain as K, revealMarqueDomain as L, selectEntity as M, type NetworkMapEdge as N, setPositionPrimary as O, type PendingEndorsementsPage as P, unhideKeytraceClaim as Q, type ReceivedEndorsementsPage as R, unlinkSkillFromPosition as S, unrevealMarqueDomain as T, unsetPositionPrimary as U, updateEducation as V, updatePosition as W, updateRecord as X, type ReciprocityCandidate as a, type NetworkMapGenerationJob as b, type NetworkMapGraphData as c, type NetworkMapNode as d, type NetworkMapPendingJob as e, type NetworkMapResponse as f, type PendingEndorsement as g, type ReceivedEndorsement as h, type ReciprocitySkill as i, checkNetworkMapJobStatus as j, createEducation as k, createPosition as l, createRecord as m, deleteEducation as n, deletePosition as o, deleteRecord as p, dismissEndorsement as q, fetchAtFundLink as r, fetchEndorsementCount as s, fetchEntitySearch as t, fetchGetProfileView as u, fetchNetworkMap as v, fetchNetworkStreamCount as w, fetchPendingEndorsements as x, fetchProfile as y, fetchProfileSummary as z };
@@ -1,5 +1,5 @@
1
1
  import { c as Profile, d as ProfilePosition, S as SkillRef } from './index-Uj1NC0QC.js';
2
- import { S as SifaApiConfig, A as ApiFetchOptions, C as CreateResult, W as WriteResult } from './org-CnAMbO63.js';
2
+ import { S as SifaApiConfig, A as ApiFetchOptions, C as CreateResult, W as WriteResult } from './org-Dg25S76d.js';
3
3
  import { n as ProfileView } from './types-Ct7WNyn9.js';
4
4
  import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-Yq3_odUX.js';
5
5
  import { j as EntitySearchResponse, E as EntitySearchResult, d as EntityMintDomainResponse, h as EntityResolveDomainResponse, m as EntitySelectRequest, o as EntitySelectResponse } from './feed-BMm9Pkew.js';
@@ -102,6 +102,36 @@ declare function updateRecord(config: SifaApiConfig, collection: string, rkey: s
102
102
  /** Generic record-delete escape hatch. See {@link createRecord}. */
103
103
  declare function deleteRecord(config: SifaApiConfig, collection: string, rkey: string, options?: ApiFetchOptions): Promise<WriteResult>;
104
104
 
105
+ interface ReceivedEndorsement {
106
+ endorserDid: string;
107
+ /** Absent when the endorser has no Sifa profile yet. */
108
+ endorserHandle?: string;
109
+ endorserDisplayName?: string;
110
+ endorserAvatar?: string;
111
+ skillUri?: string;
112
+ skillCid?: string;
113
+ skillName: string;
114
+ comment?: string;
115
+ createdAt: string;
116
+ }
117
+ interface ReceivedEndorsementsPage {
118
+ endorsements: ReceivedEndorsement[];
119
+ cursor?: string;
120
+ }
121
+ /**
122
+ * Confirmed endorsements a DID has received, newest first.
123
+ *
124
+ * Only confirmed ones exist here: the AppView inner-joins against the
125
+ * confirmation records, so an endorsement the subject has not accepted is
126
+ * absent rather than pending. Public -- no credentials needed.
127
+ *
128
+ * Returns an empty page on failure so a surface that merely decorates a page
129
+ * cannot break it.
130
+ */
131
+ declare function fetchReceivedEndorsements(config: SifaApiConfig, did: string, options?: {
132
+ limit?: number;
133
+ } & ApiFetchOptions): Promise<ReceivedEndorsementsPage>;
134
+
105
135
  interface ReciprocitySkill {
106
136
  name: string;
107
137
  uri: string;
@@ -361,4 +391,4 @@ declare function checkNetworkMapJobStatus(config: SifaApiConfig, jobId: string,
361
391
  */
362
392
  declare function fetchNetworkMap(config: SifaApiConfig, options?: ApiFetchOptions): Promise<NetworkMapResponse | null>;
363
393
 
364
- export { importSearchEntities as A, initiateNetworkMapGeneration as B, isNetworkMapResponse as C, type DismissEndorsementInput as D, linkSkillToPosition as E, type FetchNetworkStreamCountOptions as F, mintEntityDomain as G, resolveEntityDomain as H, revealMarqueDomain as I, selectEntity as J, setPositionPrimary as K, unhideKeytraceClaim as L, unlinkSkillFromPosition as M, type NetworkMapEdge as N, unrevealMarqueDomain as O, type PendingEndorsementsPage as P, unsetPositionPrimary as Q, type ReciprocityCandidate as R, updateEducation as S, updatePosition as T, updateRecord as U, type NetworkMapGenerationJob as a, type NetworkMapGraphData as b, type NetworkMapNode as c, type NetworkMapPendingJob as d, type NetworkMapResponse as e, type PendingEndorsement as f, type ReciprocitySkill as g, checkNetworkMapJobStatus as h, createEducation as i, createPosition as j, createRecord as k, deleteEducation as l, deletePosition as m, deleteRecord as n, dismissEndorsement as o, fetchAtFundLink as p, fetchEndorsementCount as q, fetchEntitySearch as r, fetchGetProfileView as s, fetchNetworkMap as t, fetchNetworkStreamCount as u, fetchPendingEndorsements as v, fetchProfile as w, fetchProfileSummary as x, fetchReciprocityCandidate as y, hideKeytraceClaim as z };
394
+ export { fetchReceivedEndorsements as A, fetchReciprocityCandidate as B, hideKeytraceClaim as C, type DismissEndorsementInput as D, importSearchEntities as E, type FetchNetworkStreamCountOptions as F, initiateNetworkMapGeneration as G, isNetworkMapResponse as H, linkSkillToPosition as I, mintEntityDomain as J, resolveEntityDomain as K, revealMarqueDomain as L, selectEntity as M, type NetworkMapEdge as N, setPositionPrimary as O, type PendingEndorsementsPage as P, unhideKeytraceClaim as Q, type ReceivedEndorsementsPage as R, unlinkSkillFromPosition as S, unrevealMarqueDomain as T, unsetPositionPrimary as U, updateEducation as V, updatePosition as W, updateRecord as X, type ReciprocityCandidate as a, type NetworkMapGenerationJob as b, type NetworkMapGraphData as c, type NetworkMapNode as d, type NetworkMapPendingJob as e, type NetworkMapResponse as f, type PendingEndorsement as g, type ReceivedEndorsement as h, type ReciprocitySkill as i, checkNetworkMapJobStatus as j, createEducation as k, createPosition as l, createRecord as m, deleteEducation as n, deletePosition as o, deleteRecord as p, dismissEndorsement as q, fetchAtFundLink as r, fetchEndorsementCount as s, fetchEntitySearch as t, fetchGetProfileView as u, fetchNetworkMap as v, fetchNetworkStreamCount as w, fetchPendingEndorsements as x, fetchProfile as y, fetchProfileSummary as z };
@@ -1536,6 +1536,7 @@ declare const sifaQueryKeys: {
1536
1536
  readonly count: (did: string) => readonly ["sifa", "endorsement", "count", string];
1537
1537
  readonly pending: () => readonly ["sifa", "endorsement", "pending"];
1538
1538
  readonly reciprocity: () => readonly ["sifa", "endorsement", "reciprocity"];
1539
+ readonly received: (did: string) => readonly ["sifa", "endorsement", "received", string];
1539
1540
  };
1540
1541
  readonly confirmation: {
1541
1542
  readonly all: () => readonly ["sifa", "confirmation"];
@@ -1570,7 +1571,7 @@ declare const sifaQueryKeys: {
1570
1571
  readonly wipePreview: () => readonly ["sifa", "destructive", "wipe-preview"];
1571
1572
  };
1572
1573
  };
1573
- type SifaQueryKey = ReturnType<typeof sifaQueryKeys.all> | ReturnType<typeof sifaQueryKeys.profile.all> | ReturnType<typeof sifaQueryKeys.profile.byHandle> | ReturnType<typeof sifaQueryKeys.profile.atFundLink> | ReturnType<typeof sifaQueryKeys.profile.externalAccounts> | ReturnType<typeof sifaQueryKeys.position.all> | ReturnType<typeof sifaQueryKeys.position.byOwner> | ReturnType<typeof sifaQueryKeys.search.all> | ReturnType<typeof sifaQueryKeys.search.profiles> | ReturnType<typeof sifaQueryKeys.search.canonicalSkills> | ReturnType<typeof sifaQueryKeys.search.skills> | ReturnType<typeof sifaQueryKeys.search.filters> | ReturnType<typeof sifaQueryKeys.entity.all> | ReturnType<typeof sifaQueryKeys.entity.search> | ReturnType<typeof sifaQueryKeys.discovery.all> | ReturnType<typeof sifaQueryKeys.discovery.similar> | ReturnType<typeof sifaQueryKeys.discovery.suggestions> | ReturnType<typeof sifaQueryKeys.discovery.suggestionCount> | ReturnType<typeof sifaQueryKeys.discovery.featured> | ReturnType<typeof sifaQueryKeys.follow.all> | ReturnType<typeof sifaQueryKeys.follow.following> | ReturnType<typeof sifaQueryKeys.follow.followers> | ReturnType<typeof sifaQueryKeys.follow.followingOf> | ReturnType<typeof sifaQueryKeys.follow.feed> | ReturnType<typeof sifaQueryKeys.follow.mutuals> | ReturnType<typeof sifaQueryKeys.follow.blueskySuggestions> | ReturnType<typeof sifaQueryKeys.admin.all> | ReturnType<typeof sifaQueryKeys.admin.featureAllowlist> | ReturnType<typeof sifaQueryKeys.admin.reviewQueues> | ReturnType<typeof sifaQueryKeys.stats.all> | ReturnType<typeof sifaQueryKeys.stats.homepage> | ReturnType<typeof sifaQueryKeys.apps.all> | ReturnType<typeof sifaQueryKeys.apps.registry> | ReturnType<typeof sifaQueryKeys.apps.hidden> | ReturnType<typeof sifaQueryKeys.activity.all> | ReturnType<typeof sifaQueryKeys.activity.heatmap> | ReturnType<typeof sifaQueryKeys.activity.teaser> | ReturnType<typeof sifaQueryKeys.activity.feed> | ReturnType<typeof sifaQueryKeys.endorsement.all> | ReturnType<typeof sifaQueryKeys.endorsement.count> | ReturnType<typeof sifaQueryKeys.endorsement.pending> | ReturnType<typeof sifaQueryKeys.endorsement.reciprocity> | ReturnType<typeof sifaQueryKeys.confirmation.all> | ReturnType<typeof sifaQueryKeys.confirmation.pending> | ReturnType<typeof sifaQueryKeys.confirmation.given> | ReturnType<typeof sifaQueryKeys.stream.all> | ReturnType<typeof sifaQueryKeys.stream.networkCount> | ReturnType<typeof sifaQueryKeys.reactions.all> | ReturnType<typeof sifaQueryKeys.reactions.status> | ReturnType<typeof sifaQueryKeys.reactions.accountCheck> | ReturnType<typeof sifaQueryKeys.roadmap.all> | ReturnType<typeof sifaQueryKeys.roadmap.votes> | ReturnType<typeof sifaQueryKeys.roadmap.myVotes> | ReturnType<typeof sifaQueryKeys.bskyPreferences.all> | ReturnType<typeof sifaQueryKeys.bskyPreferences.contentLabels> | ReturnType<typeof sifaQueryKeys.destructive.all> | ReturnType<typeof sifaQueryKeys.destructive.wipePreview> | ReturnType<typeof sifaQueryKeys.repoInventory.all> | ReturnType<typeof sifaQueryKeys.repoInventory.list>;
1574
+ type SifaQueryKey = ReturnType<typeof sifaQueryKeys.all> | ReturnType<typeof sifaQueryKeys.profile.all> | ReturnType<typeof sifaQueryKeys.profile.byHandle> | ReturnType<typeof sifaQueryKeys.profile.atFundLink> | ReturnType<typeof sifaQueryKeys.profile.externalAccounts> | ReturnType<typeof sifaQueryKeys.position.all> | ReturnType<typeof sifaQueryKeys.position.byOwner> | ReturnType<typeof sifaQueryKeys.search.all> | ReturnType<typeof sifaQueryKeys.search.profiles> | ReturnType<typeof sifaQueryKeys.search.canonicalSkills> | ReturnType<typeof sifaQueryKeys.search.skills> | ReturnType<typeof sifaQueryKeys.search.filters> | ReturnType<typeof sifaQueryKeys.entity.all> | ReturnType<typeof sifaQueryKeys.entity.search> | ReturnType<typeof sifaQueryKeys.discovery.all> | ReturnType<typeof sifaQueryKeys.discovery.similar> | ReturnType<typeof sifaQueryKeys.discovery.suggestions> | ReturnType<typeof sifaQueryKeys.discovery.suggestionCount> | ReturnType<typeof sifaQueryKeys.discovery.featured> | ReturnType<typeof sifaQueryKeys.follow.all> | ReturnType<typeof sifaQueryKeys.follow.following> | ReturnType<typeof sifaQueryKeys.follow.followers> | ReturnType<typeof sifaQueryKeys.follow.followingOf> | ReturnType<typeof sifaQueryKeys.follow.feed> | ReturnType<typeof sifaQueryKeys.follow.mutuals> | ReturnType<typeof sifaQueryKeys.follow.blueskySuggestions> | ReturnType<typeof sifaQueryKeys.admin.all> | ReturnType<typeof sifaQueryKeys.admin.featureAllowlist> | ReturnType<typeof sifaQueryKeys.admin.reviewQueues> | ReturnType<typeof sifaQueryKeys.stats.all> | ReturnType<typeof sifaQueryKeys.stats.homepage> | ReturnType<typeof sifaQueryKeys.apps.all> | ReturnType<typeof sifaQueryKeys.apps.registry> | ReturnType<typeof sifaQueryKeys.apps.hidden> | ReturnType<typeof sifaQueryKeys.activity.all> | ReturnType<typeof sifaQueryKeys.activity.heatmap> | ReturnType<typeof sifaQueryKeys.activity.teaser> | ReturnType<typeof sifaQueryKeys.activity.feed> | ReturnType<typeof sifaQueryKeys.endorsement.all> | ReturnType<typeof sifaQueryKeys.endorsement.count> | ReturnType<typeof sifaQueryKeys.endorsement.pending> | ReturnType<typeof sifaQueryKeys.endorsement.reciprocity> | ReturnType<typeof sifaQueryKeys.endorsement.received> | ReturnType<typeof sifaQueryKeys.confirmation.all> | ReturnType<typeof sifaQueryKeys.confirmation.pending> | ReturnType<typeof sifaQueryKeys.confirmation.given> | ReturnType<typeof sifaQueryKeys.stream.all> | ReturnType<typeof sifaQueryKeys.stream.networkCount> | ReturnType<typeof sifaQueryKeys.reactions.all> | ReturnType<typeof sifaQueryKeys.reactions.status> | ReturnType<typeof sifaQueryKeys.reactions.accountCheck> | ReturnType<typeof sifaQueryKeys.roadmap.all> | ReturnType<typeof sifaQueryKeys.roadmap.votes> | ReturnType<typeof sifaQueryKeys.roadmap.myVotes> | ReturnType<typeof sifaQueryKeys.bskyPreferences.all> | ReturnType<typeof sifaQueryKeys.bskyPreferences.contentLabels> | ReturnType<typeof sifaQueryKeys.destructive.all> | ReturnType<typeof sifaQueryKeys.destructive.wipePreview> | ReturnType<typeof sifaQueryKeys.repoInventory.all> | ReturnType<typeof sifaQueryKeys.repoInventory.list>;
1574
1575
 
1575
1576
  /** How a single entity binding was resolved during a claim. */
1576
1577
  interface OrgClaimBinding {
@@ -1536,6 +1536,7 @@ declare const sifaQueryKeys: {
1536
1536
  readonly count: (did: string) => readonly ["sifa", "endorsement", "count", string];
1537
1537
  readonly pending: () => readonly ["sifa", "endorsement", "pending"];
1538
1538
  readonly reciprocity: () => readonly ["sifa", "endorsement", "reciprocity"];
1539
+ readonly received: (did: string) => readonly ["sifa", "endorsement", "received", string];
1539
1540
  };
1540
1541
  readonly confirmation: {
1541
1542
  readonly all: () => readonly ["sifa", "confirmation"];
@@ -1570,7 +1571,7 @@ declare const sifaQueryKeys: {
1570
1571
  readonly wipePreview: () => readonly ["sifa", "destructive", "wipe-preview"];
1571
1572
  };
1572
1573
  };
1573
- type SifaQueryKey = ReturnType<typeof sifaQueryKeys.all> | ReturnType<typeof sifaQueryKeys.profile.all> | ReturnType<typeof sifaQueryKeys.profile.byHandle> | ReturnType<typeof sifaQueryKeys.profile.atFundLink> | ReturnType<typeof sifaQueryKeys.profile.externalAccounts> | ReturnType<typeof sifaQueryKeys.position.all> | ReturnType<typeof sifaQueryKeys.position.byOwner> | ReturnType<typeof sifaQueryKeys.search.all> | ReturnType<typeof sifaQueryKeys.search.profiles> | ReturnType<typeof sifaQueryKeys.search.canonicalSkills> | ReturnType<typeof sifaQueryKeys.search.skills> | ReturnType<typeof sifaQueryKeys.search.filters> | ReturnType<typeof sifaQueryKeys.entity.all> | ReturnType<typeof sifaQueryKeys.entity.search> | ReturnType<typeof sifaQueryKeys.discovery.all> | ReturnType<typeof sifaQueryKeys.discovery.similar> | ReturnType<typeof sifaQueryKeys.discovery.suggestions> | ReturnType<typeof sifaQueryKeys.discovery.suggestionCount> | ReturnType<typeof sifaQueryKeys.discovery.featured> | ReturnType<typeof sifaQueryKeys.follow.all> | ReturnType<typeof sifaQueryKeys.follow.following> | ReturnType<typeof sifaQueryKeys.follow.followers> | ReturnType<typeof sifaQueryKeys.follow.followingOf> | ReturnType<typeof sifaQueryKeys.follow.feed> | ReturnType<typeof sifaQueryKeys.follow.mutuals> | ReturnType<typeof sifaQueryKeys.follow.blueskySuggestions> | ReturnType<typeof sifaQueryKeys.admin.all> | ReturnType<typeof sifaQueryKeys.admin.featureAllowlist> | ReturnType<typeof sifaQueryKeys.admin.reviewQueues> | ReturnType<typeof sifaQueryKeys.stats.all> | ReturnType<typeof sifaQueryKeys.stats.homepage> | ReturnType<typeof sifaQueryKeys.apps.all> | ReturnType<typeof sifaQueryKeys.apps.registry> | ReturnType<typeof sifaQueryKeys.apps.hidden> | ReturnType<typeof sifaQueryKeys.activity.all> | ReturnType<typeof sifaQueryKeys.activity.heatmap> | ReturnType<typeof sifaQueryKeys.activity.teaser> | ReturnType<typeof sifaQueryKeys.activity.feed> | ReturnType<typeof sifaQueryKeys.endorsement.all> | ReturnType<typeof sifaQueryKeys.endorsement.count> | ReturnType<typeof sifaQueryKeys.endorsement.pending> | ReturnType<typeof sifaQueryKeys.endorsement.reciprocity> | ReturnType<typeof sifaQueryKeys.confirmation.all> | ReturnType<typeof sifaQueryKeys.confirmation.pending> | ReturnType<typeof sifaQueryKeys.confirmation.given> | ReturnType<typeof sifaQueryKeys.stream.all> | ReturnType<typeof sifaQueryKeys.stream.networkCount> | ReturnType<typeof sifaQueryKeys.reactions.all> | ReturnType<typeof sifaQueryKeys.reactions.status> | ReturnType<typeof sifaQueryKeys.reactions.accountCheck> | ReturnType<typeof sifaQueryKeys.roadmap.all> | ReturnType<typeof sifaQueryKeys.roadmap.votes> | ReturnType<typeof sifaQueryKeys.roadmap.myVotes> | ReturnType<typeof sifaQueryKeys.bskyPreferences.all> | ReturnType<typeof sifaQueryKeys.bskyPreferences.contentLabels> | ReturnType<typeof sifaQueryKeys.destructive.all> | ReturnType<typeof sifaQueryKeys.destructive.wipePreview> | ReturnType<typeof sifaQueryKeys.repoInventory.all> | ReturnType<typeof sifaQueryKeys.repoInventory.list>;
1574
+ type SifaQueryKey = ReturnType<typeof sifaQueryKeys.all> | ReturnType<typeof sifaQueryKeys.profile.all> | ReturnType<typeof sifaQueryKeys.profile.byHandle> | ReturnType<typeof sifaQueryKeys.profile.atFundLink> | ReturnType<typeof sifaQueryKeys.profile.externalAccounts> | ReturnType<typeof sifaQueryKeys.position.all> | ReturnType<typeof sifaQueryKeys.position.byOwner> | ReturnType<typeof sifaQueryKeys.search.all> | ReturnType<typeof sifaQueryKeys.search.profiles> | ReturnType<typeof sifaQueryKeys.search.canonicalSkills> | ReturnType<typeof sifaQueryKeys.search.skills> | ReturnType<typeof sifaQueryKeys.search.filters> | ReturnType<typeof sifaQueryKeys.entity.all> | ReturnType<typeof sifaQueryKeys.entity.search> | ReturnType<typeof sifaQueryKeys.discovery.all> | ReturnType<typeof sifaQueryKeys.discovery.similar> | ReturnType<typeof sifaQueryKeys.discovery.suggestions> | ReturnType<typeof sifaQueryKeys.discovery.suggestionCount> | ReturnType<typeof sifaQueryKeys.discovery.featured> | ReturnType<typeof sifaQueryKeys.follow.all> | ReturnType<typeof sifaQueryKeys.follow.following> | ReturnType<typeof sifaQueryKeys.follow.followers> | ReturnType<typeof sifaQueryKeys.follow.followingOf> | ReturnType<typeof sifaQueryKeys.follow.feed> | ReturnType<typeof sifaQueryKeys.follow.mutuals> | ReturnType<typeof sifaQueryKeys.follow.blueskySuggestions> | ReturnType<typeof sifaQueryKeys.admin.all> | ReturnType<typeof sifaQueryKeys.admin.featureAllowlist> | ReturnType<typeof sifaQueryKeys.admin.reviewQueues> | ReturnType<typeof sifaQueryKeys.stats.all> | ReturnType<typeof sifaQueryKeys.stats.homepage> | ReturnType<typeof sifaQueryKeys.apps.all> | ReturnType<typeof sifaQueryKeys.apps.registry> | ReturnType<typeof sifaQueryKeys.apps.hidden> | ReturnType<typeof sifaQueryKeys.activity.all> | ReturnType<typeof sifaQueryKeys.activity.heatmap> | ReturnType<typeof sifaQueryKeys.activity.teaser> | ReturnType<typeof sifaQueryKeys.activity.feed> | ReturnType<typeof sifaQueryKeys.endorsement.all> | ReturnType<typeof sifaQueryKeys.endorsement.count> | ReturnType<typeof sifaQueryKeys.endorsement.pending> | ReturnType<typeof sifaQueryKeys.endorsement.reciprocity> | ReturnType<typeof sifaQueryKeys.endorsement.received> | ReturnType<typeof sifaQueryKeys.confirmation.all> | ReturnType<typeof sifaQueryKeys.confirmation.pending> | ReturnType<typeof sifaQueryKeys.confirmation.given> | ReturnType<typeof sifaQueryKeys.stream.all> | ReturnType<typeof sifaQueryKeys.stream.networkCount> | ReturnType<typeof sifaQueryKeys.reactions.all> | ReturnType<typeof sifaQueryKeys.reactions.status> | ReturnType<typeof sifaQueryKeys.reactions.accountCheck> | ReturnType<typeof sifaQueryKeys.roadmap.all> | ReturnType<typeof sifaQueryKeys.roadmap.votes> | ReturnType<typeof sifaQueryKeys.roadmap.myVotes> | ReturnType<typeof sifaQueryKeys.bskyPreferences.all> | ReturnType<typeof sifaQueryKeys.bskyPreferences.contentLabels> | ReturnType<typeof sifaQueryKeys.destructive.all> | ReturnType<typeof sifaQueryKeys.destructive.wipePreview> | ReturnType<typeof sifaQueryKeys.repoInventory.all> | ReturnType<typeof sifaQueryKeys.repoInventory.list>;
1574
1575
 
1575
1576
  /** How a single entity binding was resolved during a claim. */
1576
1577
  interface OrgClaimBinding {
@@ -389,6 +389,22 @@ function confirmEndorsement(config, data, options = {}) {
389
389
  );
390
390
  }
391
391
 
392
+ // src/query/fetchers/received-endorsements.ts
393
+ async function fetchReceivedEndorsements(config, did, options = {}) {
394
+ const { limit, ...fetchOptions } = options;
395
+ const qs = limit ? `?limit=${limit}` : "";
396
+ try {
397
+ const data = await apiFetch(
398
+ config,
399
+ `/api/endorsement/${encodeIdentifier(did)}${qs}`,
400
+ { cache: "no-store", timeoutMs: 5e3, ...fetchOptions }
401
+ );
402
+ return { endorsements: data?.endorsements ?? [], cursor: data?.cursor };
403
+ } catch {
404
+ return { endorsements: [] };
405
+ }
406
+ }
407
+
392
408
  // src/query/fetchers/reciprocity.ts
393
409
  async function fetchReciprocityCandidate(config, options = {}) {
394
410
  try {
@@ -1546,7 +1562,8 @@ var sifaQueryKeys = {
1546
1562
  pending: () => ["sifa", "endorsement", "pending"],
1547
1563
  // Also session-scoped: the AppView picks the candidate from the viewer's
1548
1564
  // own follows, dismissals and blocks.
1549
- reciprocity: () => ["sifa", "endorsement", "reciprocity"]
1565
+ reciprocity: () => ["sifa", "endorsement", "reciprocity"],
1566
+ received: (did) => ["sifa", "endorsement", "received", did]
1550
1567
  },
1551
1568
  confirmation: {
1552
1569
  all: () => ["sifa", "confirmation"],
@@ -1783,6 +1800,7 @@ exports.fetchPendingEndorsements = fetchPendingEndorsements;
1783
1800
  exports.fetchProfile = fetchProfile;
1784
1801
  exports.fetchProfileSummary = fetchProfileSummary;
1785
1802
  exports.fetchReactionStatus = fetchReactionStatus;
1803
+ exports.fetchReceivedEndorsements = fetchReceivedEndorsements;
1786
1804
  exports.fetchReciprocityCandidate = fetchReciprocityCandidate;
1787
1805
  exports.fetchRepoInventory = fetchRepoInventory;
1788
1806
  exports.fetchRoadmapVotes = fetchRoadmapVotes;