@singi-labs/sifa-sdk 0.12.35 → 0.12.37

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 (31) hide show
  1. package/dist/{adult-content-jthSA_zt.d.cts → adult-content-BQoId34F.d.cts} +18 -1
  2. package/dist/{adult-content-jthSA_zt.d.ts → adult-content-BQoId34F.d.ts} +18 -1
  3. package/dist/{index-D05PdLte.d.cts → index-C-TwdQWh.d.cts} +5 -3
  4. package/dist/{index-C93Bvwij.d.ts → index-DzjbfKwZ.d.ts} +5 -3
  5. package/dist/{index-Dw9QpdKf.d.cts → index-G5HiA-nk.d.cts} +3 -3
  6. package/dist/{index-B8ZxKVvn.d.ts → index-N0-ctbY1.d.ts} +3 -3
  7. package/dist/index.cjs +26 -2
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.d.cts +70 -5
  10. package/dist/index.d.ts +70 -5
  11. package/dist/index.js +24 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/{org-De4p7Blr.d.ts → org-BFi9g37U.d.ts} +2 -2
  14. package/dist/{org-CU6yud68.d.cts → org-OPyzh-oe.d.cts} +2 -2
  15. package/dist/{org-settings-CmaSX5ZI.d.cts → org-settings-B8e01iZx.d.cts} +2 -0
  16. package/dist/{org-settings-CmaSX5ZI.d.ts → org-settings-B8e01iZx.d.ts} +2 -0
  17. package/dist/{profile-summary-C-SxRTjI.d.cts → profile-summary-BmtnD3ix.d.cts} +1 -1
  18. package/dist/{profile-summary-C6uqYJB1.d.ts → profile-summary-cPc7uJVa.d.ts} +1 -1
  19. package/dist/query/fetchers/index.d.cts +5 -5
  20. package/dist/query/fetchers/index.d.ts +5 -5
  21. package/dist/query/hooks/index.d.cts +4 -4
  22. package/dist/query/hooks/index.d.ts +4 -4
  23. package/dist/query/index.d.cts +7 -7
  24. package/dist/query/index.d.ts +7 -7
  25. package/dist/schemas/write/index.cjs +9 -1
  26. package/dist/schemas/write/index.cjs.map +1 -1
  27. package/dist/schemas/write/index.d.cts +1 -1
  28. package/dist/schemas/write/index.d.ts +1 -1
  29. package/dist/schemas/write/index.js +9 -1
  30. package/dist/schemas/write/index.js.map +1 -1
  31. package/package.json +1 -1
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- import { b as ProfileSkill, c as ProfilePresentationDelivery, L as LocationValue, d as PdsProviderInfo, e as Profile, f as ProfilePosition, g as ProfileCertification, h as ProfileEducation, i as ProfileHonor, j as ProfileLanguage, k as ProfileProject, l as ProfilePublication, m as ProfileInvolvement } from './adult-content-jthSA_zt.cjs';
2
- export { n as ADULT_CONTENT_LABELS, o as ActiveApp, p as ActiveAppView, a as ActivityLabel, A as AdultContentLabel, q as AtfundLinkView, r as CertificationView, C as CoSpeaker, s as CoSpeakerView, t as ContributorView, u as CourseView, D as DurationView, v as EducationView, w as Endorsement, x as EndorsementData, E as ExternalAccount, y as ExternalAccountKeytraceClaim, z as ExternalAccountView, F as FeedItem, H as HonorView, I as IndustryDomain, B as InvolvementLinkView, G as InvolvementView, J as LanguageProficiency, K as LanguageView, O as OrgAddressView, M as OrgFloorVerdict, N as OrgLinkView, Q as OrgProfileView, R as PositionView, T as PresentationDeliveryView, U as PresentationLinkView, V as PresentationView, W as ProfileCourse, X as ProfileIndustry, Y as ProfileInvolvementLink, Z as ProfileLocation, _ as ProfileLocationView, $ as ProfileOverrideSource, a0 as ProfilePresentation, P as ProfileView, a1 as ProfileVolunteering, a2 as ProjectView, a3 as PublicationContributor, a4 as PublicationView, a5 as RecognizedEntity, a6 as SkillRef, S as SkillSuggestion, a7 as SkillView, a8 as TrustStat, a9 as VerifiedAccount, aa as VolunteeringView, ab as hasAdultContent } from './adult-content-jthSA_zt.cjs';
1
+ import { b as ProfileSkill, c as ProfilePresentationDelivery, L as LocationValue, d as PdsProviderInfo, e as Profile, f as AccountFacetMode, g as ProfilePosition, h as ProfileCertification, i as ProfileEducation, j as ProfileHonor, k as ProfileLanguage, l as ProfileProject, m as ProfilePublication, n as ProfileInvolvement } from './adult-content-BQoId34F.cjs';
2
+ export { o as ADULT_CONTENT_LABELS, p as ActiveApp, q as ActiveAppView, a as ActivityLabel, A as AdultContentLabel, r as AtfundLinkView, s as CertificationView, C as CoSpeaker, t as CoSpeakerView, u as ContributorView, v as CourseView, D as DurationView, w as EducationView, x as Endorsement, y as EndorsementData, E as ExternalAccount, z as ExternalAccountKeytraceClaim, B as ExternalAccountView, F as FeedItem, H as HonorView, I as IndustryDomain, G as InvolvementLinkView, J as InvolvementView, K as LanguageProficiency, M as LanguageView, O as OrgAddressView, N as OrgFloorVerdict, Q as OrgLinkView, R as OrgProfileView, T as PositionView, U as PresentationDeliveryView, V as PresentationLinkView, W as PresentationView, X as ProfileCourse, Y as ProfileIndustry, Z as ProfileInvolvementLink, _ as ProfileLocation, $ as ProfileLocationView, a0 as ProfileOverrideSource, a1 as ProfilePresentation, P as ProfileView, a2 as ProfileVolunteering, a3 as ProjectView, a4 as PublicationContributor, a5 as PublicationView, a6 as RecognizedEntity, a7 as SkillRef, S as SkillSuggestion, a8 as SkillView, a9 as TrustStat, aa as VerifiedAccount, ab as VolunteeringView, ac as hasAdultContent } from './adult-content-BQoId34F.cjs';
3
3
  import { PresentationDuration, ProfilePresentationDeliveryRecord, ProfilePresentationRecord, OrgProfileRecord } from './schemas/index.cjs';
4
4
  export { ArtifactLink, ArtifactLinkSchema, BlobRef, BlobRefSchema, EndorsementConfirmationRecord, EndorsementConfirmationRecordSchema, EndorsementRecord, EndorsementRecordSchema, GraphFollowRecord, GraphFollowRecordSchema, OrgEmploymentAttestationRecord, OrgEmploymentAttestationRecordSchema, OrgProfileRecordSchema, PROFILE_INVOLVEMENT_NSID, PresentationDurationSchema, PresentationLink, PresentationLinkSchema, ProfileCertificationRecord, ProfileCertificationRecordSchema, ProfileCourseRecord, ProfileCourseRecordSchema, ProfileEducationRecord, ProfileEducationRecordSchema, ProfileExternalAccountRecord, ProfileExternalAccountRecordSchema, ProfileHonorRecord, ProfileHonorRecordSchema, ProfileInvolvementRecord, ProfileInvolvementRecordSchema, ProfileLanguageRecord, ProfileLanguageRecordSchema, ProfilePositionRecord, ProfilePositionRecordSchema, ProfilePresentationDeliveryRecordSchema, ProfilePresentationRecordSchema, ProfileProjectRecord, ProfileProjectRecordSchema, ProfilePublicationRecord, ProfilePublicationRecordSchema, ProfileSelfRecord, ProfileSelfRecordSchema, ProfileSkillRecord, ProfileSkillRecordSchema, ProfileVolunteeringRecord, ProfileVolunteeringRecordSchema, PublicationAuthor, PublicationAuthorSchema, atUriSchema, cidSchema, datetimeSchema, didSchema, externalRecordRefSchema, languageTagSchema, makeGraphFollowRecordSchema, maxGraphemes, partialDateSchema, selfLabelsSchema, strongRefSchema, uriSchema } from './schemas/index.cjs';
5
5
  import { z } from 'zod';
6
- export { P as ProfileSummary, S as SummarizeProfileViewOptions, s as summarizeProfileView } from './profile-summary-C-SxRTjI.cjs';
6
+ export { P as ProfileSummary, S as SummarizeProfileViewOptions, s as summarizeProfileView } from './profile-summary-BmtnD3ix.cjs';
7
7
  import { E as EntitySearchResult } from './feed-C8aHEPw4.cjs';
8
8
  export { A as AtmosphereFeedItem, d as AtmosphereFeedItemSchema, e as EntityImportSearchResponse, f as EntityImportSearchResponseSchema, g as EntityMintDomainResponse, h as EntityMintDomainResponseSchema, i as EntityResolveDomainRequest, j as EntityResolveDomainRequestSchema, k as EntityResolveDomainResponse, l as EntityResolveDomainResponseSchema, m as EntitySearchResponse, n as EntitySearchResponseSchema, o as EntitySearchResultSchema, p as EntitySelectRequest, q as EntitySelectRequestSchema, r as EntitySelectResponse, s as EntitySelectResponseSchema, t as FEATURE_FLAGS, b as FeatureAllowlistEntry, u as FeatureAllowlistEntrySchema, c as FeatureFlag, v as FeedActor, w as FeedActorSchema, x as FeedCursor, y as FollowFeedItem, z as FollowFeedItemSchema, F as FollowFeedPage, B as FollowFeedPageSchema, a as FollowProfileItem, C as FollowProfilePage, D as FollowProfilePageSchema, G as FollowProfileSchema, S as SifaFeedItem, H as SifaFeedItemSchema, I as decodeFeedCursor, J as encodeFeedCursor } from './feed-C8aHEPw4.cjs';
9
9
 
@@ -228,6 +228,34 @@ declare function groupSkillsByCategory<T extends ProfileSkill>(skills: T[]): [st
228
228
  */
229
229
  declare function groupSkillsBySubCategory<T extends ProfileSkill>(skills: T[]): [string | null, T[]][];
230
230
 
231
+ interface SkillDisplayGroups<T extends ProfileSkill> {
232
+ /** Sub-groups for one category; a `null` label is the unlabelled bucket. */
233
+ groups: [string | null, T[]][];
234
+ /**
235
+ * Whether sub-category labels carry information here. False when the category
236
+ * has fewer than two distinct sub-categories, where a lone label says nothing
237
+ * the category heading does not already say.
238
+ */
239
+ showLabels: boolean;
240
+ }
241
+ interface SkillDisplayGroupsOptions {
242
+ /**
243
+ * Put the unlabelled bucket first instead of last. Inline chip rendering
244
+ * reads fine with it trailing, but in a linear document (markdown, docx,
245
+ * print) trailing unlabelled entries appear to belong to the sub-heading
246
+ * above them, so documents want it directly under the category heading.
247
+ */
248
+ ungroupedFirst?: boolean;
249
+ }
250
+ /**
251
+ * Prepares one category's skills for display: the sub-groups, plus whether to
252
+ * label them (the render rule from #314).
253
+ *
254
+ * Shared so the profile, print, markdown and docx surfaces group identically
255
+ * rather than each re-deriving the threshold.
256
+ */
257
+ declare function groupSkillsForDisplay<T extends ProfileSkill>(skills: T[], options?: SkillDisplayGroupsOptions): SkillDisplayGroups<T>;
258
+
231
259
  /**
232
260
  * App-category taxonomy for AT Protocol apps tracked by Sifa.
233
261
  *
@@ -1854,7 +1882,44 @@ declare function rendersPersonalProfile(org: {
1854
1882
  isOrg: boolean;
1855
1883
  recognized: boolean;
1856
1884
  personalProfileVisible?: boolean;
1857
- } | null | undefined): boolean;
1885
+ } | null | undefined, renderPreference?: 'person' | 'company' | null): boolean;
1886
+ /**
1887
+ * Should this account's company page render at `/c/`?
1888
+ *
1889
+ * The mirror of {@link rendersPersonalProfile}. True for any company account --
1890
+ * claimed or merely recognized -- EXCEPT when the owner explicitly chose to
1891
+ * present as a person, which suppresses the company page rather than deleting
1892
+ * anything. The org record stays in the PDS and the choice is reversible.
1893
+ *
1894
+ * Pure: no network, no I/O.
1895
+ */
1896
+ declare function rendersCompanyProfile(org: {
1897
+ isOrg: boolean;
1898
+ recognized: boolean;
1899
+ } | null | undefined, renderPreference?: 'person' | 'company' | null): boolean;
1900
+ /**
1901
+ * Resolve the three-way "are you a person, a company, or both?" answer that the
1902
+ * account settings switch presents, from the two places the answer is stored.
1903
+ *
1904
+ * Precedence, highest first:
1905
+ * 1. `renderPreference === 'person'` -- the owner's explicit local override.
1906
+ * Wins even over a claimed org record, which stays inert in the PDS.
1907
+ * 2. A claimed org that declared `personalProfileVisible` -- `'both'`, the
1908
+ * sole trader. Read from the PDS record, so it is portable.
1909
+ * 3. Any other company account (claimed, recognized, or `renderPreference`
1910
+ * `'company'`) -- `'company'`.
1911
+ * 4. Everything else -- `'person'`.
1912
+ *
1913
+ * Pure: no network, no I/O.
1914
+ */
1915
+ declare function resolveAccountFacetMode(profile: {
1916
+ org?: {
1917
+ isOrg: boolean;
1918
+ recognized: boolean;
1919
+ personalProfileVisible?: boolean;
1920
+ } | null;
1921
+ renderPreference?: 'person' | 'company' | null;
1922
+ }): AccountFacetMode;
1858
1923
 
1859
1924
  /**
1860
1925
  * Firmographic subset of a company profile that decides whether its `/c/` page
@@ -2135,4 +2200,4 @@ declare function roadmapIssueUrl(issue: number): string;
2135
2200
  */
2136
2201
  declare const SIFA_SDK_VERSION: string;
2137
2202
 
2138
- export { ACTIVITY_TIERS, ACTIVITY_VERBS, ACTIVITY_VISIBILITY_RULES, ALL_SECTIONS, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, type AccountVerification, type ActivityItem, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, type ActivityVerbMap, type AppCategoryId, type AppUrlPatterns, type ArtifactLinkKindOption, 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, type CardHealth, type CardHealthStrategy, type CompanyFirmographics, type ContinentCode, type CsvRow, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, type DisambiguationFields, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, ENTITY_REF_ANCHORS, type EmbedResult, type EmploymentTypeGroup, type EmploymentTypeOption, type EntityRefAnchor, EntitySearchResult, INDUSTRY_OPTIONS, INVOLVEMENT_HEADING_ORDER, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, type IndustryOption, type InvolvementGroup, type InvolvementKindOption, type KnownAppId, type LexiconEntry, LocationValue, MIN_SKILLS, type MergedProfileSkill, OPEN_TO_OPTIONS, OPEN_TO_TOKENS, OPEN_TO_TOKEN_TO_VALUE, OPEN_TO_VALUE_TO_TOKEN, type OpenToGroup, type OpenToOption, OrgProfileRecord, PLATFORM_LABELS, PLATFORM_OPTIONS, PRESENTATION_LINK_TYPE_LABELS, PRESENTATION_LINK_TYPE_OPTIONS, PRESENTATION_ROLE_LABELS, PRESENTATION_ROLE_OPTIONS, PUBLISHERS, type ParsedDelivery, type ParsedPresentation, type PdsProvider, PdsProviderInfo, type PersonalFacetContent, type PlatformId, type PresentationDeliverySummary, PresentationDuration, type PresentationLinkTypeOption, type PresentationRoleOption, type PrimaryPositionCandidate, Profile, ProfileCertification, type ProfileCompletion, type ProfileDimensionInputs, ProfileEducation, ProfileHonor, ProfileInvolvement, ProfileLanguage, ProfilePosition, ProfilePresentationDelivery, ProfilePresentationDeliveryRecord, ProfilePresentationRecord, ProfileProject, ProfilePublication, ProfileSkill, type Publisher, ROADMAP_ISSUES_REPO, ROADMAP_ITEM_META, type RgbColor, type RoadmapItemMeta, SECTION_GROUPS, SECTION_LABELS, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, STREAM_VERBS, type SectionGroupId, type SectionId, type SkillCategory, type StreamAddress, type StreamAuthor, type StreamCardBody, type StreamCardSubject, type StreamCardVM, type StreamExternalLink, type StreamGeo, type StreamMedia, type StreamMediaBase, type StreamMediaBlob, type StreamMediaResolved, type StreamRichSegment, type StreamSource, type StreamTheme, type StreamVerb, type TierMeta, type ToStreamCardVMOptions, VERIFICATION_PROVIDERS, type VerificationProvider, type VerificationProviderId, type VerificationSource, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, buildTalkSlug, categoryForApp, certDateExtractor, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, durationFromMinutes, entityDisambiguationLabel, entityResultKey, filterHidden, findIndustry, formatCompanyName, formatDateRange, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, formatTimelineDate, getActivityTaxonomyVersion, getActivityTier, getActivityVerbsVersion, getAppCategoryIcon, getAppIdForCollection, getArtifactLinkKindLabel, getCalendarEventModeLabel, getCalendarEventStatusLabel, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getInvolvementKindHeading, getInvolvementKindLabel, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getVerificationProvider, getVisibleSectionIds, getWorkplaceTypeLabel, groupInvolvementByHeading, groupSkillsByCategory, groupSkillsBySubCategory, hasPersonalProfileContent, hoistPrimary, isAppCategory, isCompanyPageIndexable, isCompanyRequired, isKnownAppId, isKnownPlatform, isKnownVerificationProvider, isLinked, isPseudoEmployer, isRegistrableDomainHandle, isSectionPopulated, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, looksLikeDomain, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, parseTalkRkey, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, primaryVerification, profileToDimensionInputs, qualifiesAsOrg, relativeLuminance, rendersPersonalProfile, resolveCardHealth, resolveCardUrl, resolveEmbed, resolveVerifierProvider, rgbToString, roadmapIssueUrl, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, singleDateExtractor, slugifyTitle, sortByActiveDateRange, sortByDateDesc, sortCertifications, sortEducation, sortHonors, sortLanguages, sortLanguagesByProficiency, sortPositions, sortProjects, sortPublications, streamAddressSchema, streamAuthorSchema, streamCardBodySchema, streamCardSubjectSchema, streamCardVMSchema, streamExternalLinkSchema, streamGeoSchema, streamMediaSchema, streamRichSegmentSchema, streamSourceSchema, streamThemeSchema, streamVerbSchema, stripHtmlToText, summarizePresentationDeliveries, toStreamCardVM, toStreamCardVMs, truncateGraphemes, verbForCollection, visibleItems, youtubeThumbnailUrl, youtubeVideoId };
2203
+ export { ACTIVITY_TIERS, ACTIVITY_VERBS, ACTIVITY_VISIBILITY_RULES, ALL_SECTIONS, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, AccountFacetMode, type AccountVerification, type ActivityItem, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, type ActivityVerbMap, type AppCategoryId, type AppUrlPatterns, type ArtifactLinkKindOption, 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, type CardHealth, type CardHealthStrategy, type CompanyFirmographics, type ContinentCode, type CsvRow, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, type DisambiguationFields, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, ENTITY_REF_ANCHORS, type EmbedResult, type EmploymentTypeGroup, type EmploymentTypeOption, type EntityRefAnchor, EntitySearchResult, INDUSTRY_OPTIONS, INVOLVEMENT_HEADING_ORDER, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, type IndustryOption, type InvolvementGroup, type InvolvementKindOption, type KnownAppId, type LexiconEntry, LocationValue, MIN_SKILLS, type MergedProfileSkill, OPEN_TO_OPTIONS, OPEN_TO_TOKENS, OPEN_TO_TOKEN_TO_VALUE, OPEN_TO_VALUE_TO_TOKEN, type OpenToGroup, type OpenToOption, OrgProfileRecord, PLATFORM_LABELS, PLATFORM_OPTIONS, PRESENTATION_LINK_TYPE_LABELS, PRESENTATION_LINK_TYPE_OPTIONS, PRESENTATION_ROLE_LABELS, PRESENTATION_ROLE_OPTIONS, PUBLISHERS, type ParsedDelivery, type ParsedPresentation, type PdsProvider, PdsProviderInfo, type PersonalFacetContent, type PlatformId, type PresentationDeliverySummary, PresentationDuration, type PresentationLinkTypeOption, type PresentationRoleOption, type PrimaryPositionCandidate, Profile, ProfileCertification, type ProfileCompletion, type ProfileDimensionInputs, ProfileEducation, ProfileHonor, ProfileInvolvement, ProfileLanguage, ProfilePosition, ProfilePresentationDelivery, ProfilePresentationDeliveryRecord, ProfilePresentationRecord, ProfileProject, ProfilePublication, ProfileSkill, type Publisher, ROADMAP_ISSUES_REPO, ROADMAP_ITEM_META, type RgbColor, type RoadmapItemMeta, SECTION_GROUPS, SECTION_LABELS, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, STREAM_VERBS, type SectionGroupId, type SectionId, type SkillCategory, type StreamAddress, type StreamAuthor, type StreamCardBody, type StreamCardSubject, type StreamCardVM, type StreamExternalLink, type StreamGeo, type StreamMedia, type StreamMediaBase, type StreamMediaBlob, type StreamMediaResolved, type StreamRichSegment, type StreamSource, type StreamTheme, type StreamVerb, type TierMeta, type ToStreamCardVMOptions, VERIFICATION_PROVIDERS, type VerificationProvider, type VerificationProviderId, type VerificationSource, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, buildTalkSlug, categoryForApp, certDateExtractor, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, durationFromMinutes, entityDisambiguationLabel, entityResultKey, filterHidden, findIndustry, formatCompanyName, formatDateRange, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, formatTimelineDate, getActivityTaxonomyVersion, getActivityTier, getActivityVerbsVersion, getAppCategoryIcon, getAppIdForCollection, getArtifactLinkKindLabel, getCalendarEventModeLabel, getCalendarEventStatusLabel, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getInvolvementKindHeading, getInvolvementKindLabel, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getVerificationProvider, getVisibleSectionIds, getWorkplaceTypeLabel, groupInvolvementByHeading, groupSkillsByCategory, groupSkillsBySubCategory, groupSkillsForDisplay, hasPersonalProfileContent, hoistPrimary, isAppCategory, isCompanyPageIndexable, isCompanyRequired, isKnownAppId, isKnownPlatform, isKnownVerificationProvider, isLinked, isPseudoEmployer, isRegistrableDomainHandle, isSectionPopulated, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, looksLikeDomain, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, parseTalkRkey, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, primaryVerification, profileToDimensionInputs, qualifiesAsOrg, relativeLuminance, rendersCompanyProfile, rendersPersonalProfile, resolveAccountFacetMode, resolveCardHealth, resolveCardUrl, resolveEmbed, resolveVerifierProvider, rgbToString, roadmapIssueUrl, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, singleDateExtractor, slugifyTitle, sortByActiveDateRange, sortByDateDesc, sortCertifications, sortEducation, sortHonors, sortLanguages, sortLanguagesByProficiency, sortPositions, sortProjects, sortPublications, streamAddressSchema, streamAuthorSchema, streamCardBodySchema, streamCardSubjectSchema, streamCardVMSchema, streamExternalLinkSchema, streamGeoSchema, streamMediaSchema, streamRichSegmentSchema, streamSourceSchema, streamThemeSchema, streamVerbSchema, stripHtmlToText, summarizePresentationDeliveries, toStreamCardVM, toStreamCardVMs, truncateGraphemes, verbForCollection, visibleItems, youtubeThumbnailUrl, youtubeVideoId };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { b as ProfileSkill, c as ProfilePresentationDelivery, L as LocationValue, d as PdsProviderInfo, e as Profile, f as ProfilePosition, g as ProfileCertification, h as ProfileEducation, i as ProfileHonor, j as ProfileLanguage, k as ProfileProject, l as ProfilePublication, m as ProfileInvolvement } from './adult-content-jthSA_zt.js';
2
- export { n as ADULT_CONTENT_LABELS, o as ActiveApp, p as ActiveAppView, a as ActivityLabel, A as AdultContentLabel, q as AtfundLinkView, r as CertificationView, C as CoSpeaker, s as CoSpeakerView, t as ContributorView, u as CourseView, D as DurationView, v as EducationView, w as Endorsement, x as EndorsementData, E as ExternalAccount, y as ExternalAccountKeytraceClaim, z as ExternalAccountView, F as FeedItem, H as HonorView, I as IndustryDomain, B as InvolvementLinkView, G as InvolvementView, J as LanguageProficiency, K as LanguageView, O as OrgAddressView, M as OrgFloorVerdict, N as OrgLinkView, Q as OrgProfileView, R as PositionView, T as PresentationDeliveryView, U as PresentationLinkView, V as PresentationView, W as ProfileCourse, X as ProfileIndustry, Y as ProfileInvolvementLink, Z as ProfileLocation, _ as ProfileLocationView, $ as ProfileOverrideSource, a0 as ProfilePresentation, P as ProfileView, a1 as ProfileVolunteering, a2 as ProjectView, a3 as PublicationContributor, a4 as PublicationView, a5 as RecognizedEntity, a6 as SkillRef, S as SkillSuggestion, a7 as SkillView, a8 as TrustStat, a9 as VerifiedAccount, aa as VolunteeringView, ab as hasAdultContent } from './adult-content-jthSA_zt.js';
1
+ import { b as ProfileSkill, c as ProfilePresentationDelivery, L as LocationValue, d as PdsProviderInfo, e as Profile, f as AccountFacetMode, g as ProfilePosition, h as ProfileCertification, i as ProfileEducation, j as ProfileHonor, k as ProfileLanguage, l as ProfileProject, m as ProfilePublication, n as ProfileInvolvement } from './adult-content-BQoId34F.js';
2
+ export { o as ADULT_CONTENT_LABELS, p as ActiveApp, q as ActiveAppView, a as ActivityLabel, A as AdultContentLabel, r as AtfundLinkView, s as CertificationView, C as CoSpeaker, t as CoSpeakerView, u as ContributorView, v as CourseView, D as DurationView, w as EducationView, x as Endorsement, y as EndorsementData, E as ExternalAccount, z as ExternalAccountKeytraceClaim, B as ExternalAccountView, F as FeedItem, H as HonorView, I as IndustryDomain, G as InvolvementLinkView, J as InvolvementView, K as LanguageProficiency, M as LanguageView, O as OrgAddressView, N as OrgFloorVerdict, Q as OrgLinkView, R as OrgProfileView, T as PositionView, U as PresentationDeliveryView, V as PresentationLinkView, W as PresentationView, X as ProfileCourse, Y as ProfileIndustry, Z as ProfileInvolvementLink, _ as ProfileLocation, $ as ProfileLocationView, a0 as ProfileOverrideSource, a1 as ProfilePresentation, P as ProfileView, a2 as ProfileVolunteering, a3 as ProjectView, a4 as PublicationContributor, a5 as PublicationView, a6 as RecognizedEntity, a7 as SkillRef, S as SkillSuggestion, a8 as SkillView, a9 as TrustStat, aa as VerifiedAccount, ab as VolunteeringView, ac as hasAdultContent } from './adult-content-BQoId34F.js';
3
3
  import { PresentationDuration, ProfilePresentationDeliveryRecord, ProfilePresentationRecord, OrgProfileRecord } from './schemas/index.js';
4
4
  export { ArtifactLink, ArtifactLinkSchema, BlobRef, BlobRefSchema, EndorsementConfirmationRecord, EndorsementConfirmationRecordSchema, EndorsementRecord, EndorsementRecordSchema, GraphFollowRecord, GraphFollowRecordSchema, OrgEmploymentAttestationRecord, OrgEmploymentAttestationRecordSchema, OrgProfileRecordSchema, PROFILE_INVOLVEMENT_NSID, PresentationDurationSchema, PresentationLink, PresentationLinkSchema, ProfileCertificationRecord, ProfileCertificationRecordSchema, ProfileCourseRecord, ProfileCourseRecordSchema, ProfileEducationRecord, ProfileEducationRecordSchema, ProfileExternalAccountRecord, ProfileExternalAccountRecordSchema, ProfileHonorRecord, ProfileHonorRecordSchema, ProfileInvolvementRecord, ProfileInvolvementRecordSchema, ProfileLanguageRecord, ProfileLanguageRecordSchema, ProfilePositionRecord, ProfilePositionRecordSchema, ProfilePresentationDeliveryRecordSchema, ProfilePresentationRecordSchema, ProfileProjectRecord, ProfileProjectRecordSchema, ProfilePublicationRecord, ProfilePublicationRecordSchema, ProfileSelfRecord, ProfileSelfRecordSchema, ProfileSkillRecord, ProfileSkillRecordSchema, ProfileVolunteeringRecord, ProfileVolunteeringRecordSchema, PublicationAuthor, PublicationAuthorSchema, atUriSchema, cidSchema, datetimeSchema, didSchema, externalRecordRefSchema, languageTagSchema, makeGraphFollowRecordSchema, maxGraphemes, partialDateSchema, selfLabelsSchema, strongRefSchema, uriSchema } from './schemas/index.js';
5
5
  import { z } from 'zod';
6
- export { P as ProfileSummary, S as SummarizeProfileViewOptions, s as summarizeProfileView } from './profile-summary-C6uqYJB1.js';
6
+ export { P as ProfileSummary, S as SummarizeProfileViewOptions, s as summarizeProfileView } from './profile-summary-cPc7uJVa.js';
7
7
  import { E as EntitySearchResult } from './feed-C8aHEPw4.js';
8
8
  export { A as AtmosphereFeedItem, d as AtmosphereFeedItemSchema, e as EntityImportSearchResponse, f as EntityImportSearchResponseSchema, g as EntityMintDomainResponse, h as EntityMintDomainResponseSchema, i as EntityResolveDomainRequest, j as EntityResolveDomainRequestSchema, k as EntityResolveDomainResponse, l as EntityResolveDomainResponseSchema, m as EntitySearchResponse, n as EntitySearchResponseSchema, o as EntitySearchResultSchema, p as EntitySelectRequest, q as EntitySelectRequestSchema, r as EntitySelectResponse, s as EntitySelectResponseSchema, t as FEATURE_FLAGS, b as FeatureAllowlistEntry, u as FeatureAllowlistEntrySchema, c as FeatureFlag, v as FeedActor, w as FeedActorSchema, x as FeedCursor, y as FollowFeedItem, z as FollowFeedItemSchema, F as FollowFeedPage, B as FollowFeedPageSchema, a as FollowProfileItem, C as FollowProfilePage, D as FollowProfilePageSchema, G as FollowProfileSchema, S as SifaFeedItem, H as SifaFeedItemSchema, I as decodeFeedCursor, J as encodeFeedCursor } from './feed-C8aHEPw4.js';
9
9
 
@@ -228,6 +228,34 @@ declare function groupSkillsByCategory<T extends ProfileSkill>(skills: T[]): [st
228
228
  */
229
229
  declare function groupSkillsBySubCategory<T extends ProfileSkill>(skills: T[]): [string | null, T[]][];
230
230
 
231
+ interface SkillDisplayGroups<T extends ProfileSkill> {
232
+ /** Sub-groups for one category; a `null` label is the unlabelled bucket. */
233
+ groups: [string | null, T[]][];
234
+ /**
235
+ * Whether sub-category labels carry information here. False when the category
236
+ * has fewer than two distinct sub-categories, where a lone label says nothing
237
+ * the category heading does not already say.
238
+ */
239
+ showLabels: boolean;
240
+ }
241
+ interface SkillDisplayGroupsOptions {
242
+ /**
243
+ * Put the unlabelled bucket first instead of last. Inline chip rendering
244
+ * reads fine with it trailing, but in a linear document (markdown, docx,
245
+ * print) trailing unlabelled entries appear to belong to the sub-heading
246
+ * above them, so documents want it directly under the category heading.
247
+ */
248
+ ungroupedFirst?: boolean;
249
+ }
250
+ /**
251
+ * Prepares one category's skills for display: the sub-groups, plus whether to
252
+ * label them (the render rule from #314).
253
+ *
254
+ * Shared so the profile, print, markdown and docx surfaces group identically
255
+ * rather than each re-deriving the threshold.
256
+ */
257
+ declare function groupSkillsForDisplay<T extends ProfileSkill>(skills: T[], options?: SkillDisplayGroupsOptions): SkillDisplayGroups<T>;
258
+
231
259
  /**
232
260
  * App-category taxonomy for AT Protocol apps tracked by Sifa.
233
261
  *
@@ -1854,7 +1882,44 @@ declare function rendersPersonalProfile(org: {
1854
1882
  isOrg: boolean;
1855
1883
  recognized: boolean;
1856
1884
  personalProfileVisible?: boolean;
1857
- } | null | undefined): boolean;
1885
+ } | null | undefined, renderPreference?: 'person' | 'company' | null): boolean;
1886
+ /**
1887
+ * Should this account's company page render at `/c/`?
1888
+ *
1889
+ * The mirror of {@link rendersPersonalProfile}. True for any company account --
1890
+ * claimed or merely recognized -- EXCEPT when the owner explicitly chose to
1891
+ * present as a person, which suppresses the company page rather than deleting
1892
+ * anything. The org record stays in the PDS and the choice is reversible.
1893
+ *
1894
+ * Pure: no network, no I/O.
1895
+ */
1896
+ declare function rendersCompanyProfile(org: {
1897
+ isOrg: boolean;
1898
+ recognized: boolean;
1899
+ } | null | undefined, renderPreference?: 'person' | 'company' | null): boolean;
1900
+ /**
1901
+ * Resolve the three-way "are you a person, a company, or both?" answer that the
1902
+ * account settings switch presents, from the two places the answer is stored.
1903
+ *
1904
+ * Precedence, highest first:
1905
+ * 1. `renderPreference === 'person'` -- the owner's explicit local override.
1906
+ * Wins even over a claimed org record, which stays inert in the PDS.
1907
+ * 2. A claimed org that declared `personalProfileVisible` -- `'both'`, the
1908
+ * sole trader. Read from the PDS record, so it is portable.
1909
+ * 3. Any other company account (claimed, recognized, or `renderPreference`
1910
+ * `'company'`) -- `'company'`.
1911
+ * 4. Everything else -- `'person'`.
1912
+ *
1913
+ * Pure: no network, no I/O.
1914
+ */
1915
+ declare function resolveAccountFacetMode(profile: {
1916
+ org?: {
1917
+ isOrg: boolean;
1918
+ recognized: boolean;
1919
+ personalProfileVisible?: boolean;
1920
+ } | null;
1921
+ renderPreference?: 'person' | 'company' | null;
1922
+ }): AccountFacetMode;
1858
1923
 
1859
1924
  /**
1860
1925
  * Firmographic subset of a company profile that decides whether its `/c/` page
@@ -2135,4 +2200,4 @@ declare function roadmapIssueUrl(issue: number): string;
2135
2200
  */
2136
2201
  declare const SIFA_SDK_VERSION: string;
2137
2202
 
2138
- export { ACTIVITY_TIERS, ACTIVITY_VERBS, ACTIVITY_VISIBILITY_RULES, ALL_SECTIONS, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, type AccountVerification, type ActivityItem, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, type ActivityVerbMap, type AppCategoryId, type AppUrlPatterns, type ArtifactLinkKindOption, 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, type CardHealth, type CardHealthStrategy, type CompanyFirmographics, type ContinentCode, type CsvRow, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, type DisambiguationFields, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, ENTITY_REF_ANCHORS, type EmbedResult, type EmploymentTypeGroup, type EmploymentTypeOption, type EntityRefAnchor, EntitySearchResult, INDUSTRY_OPTIONS, INVOLVEMENT_HEADING_ORDER, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, type IndustryOption, type InvolvementGroup, type InvolvementKindOption, type KnownAppId, type LexiconEntry, LocationValue, MIN_SKILLS, type MergedProfileSkill, OPEN_TO_OPTIONS, OPEN_TO_TOKENS, OPEN_TO_TOKEN_TO_VALUE, OPEN_TO_VALUE_TO_TOKEN, type OpenToGroup, type OpenToOption, OrgProfileRecord, PLATFORM_LABELS, PLATFORM_OPTIONS, PRESENTATION_LINK_TYPE_LABELS, PRESENTATION_LINK_TYPE_OPTIONS, PRESENTATION_ROLE_LABELS, PRESENTATION_ROLE_OPTIONS, PUBLISHERS, type ParsedDelivery, type ParsedPresentation, type PdsProvider, PdsProviderInfo, type PersonalFacetContent, type PlatformId, type PresentationDeliverySummary, PresentationDuration, type PresentationLinkTypeOption, type PresentationRoleOption, type PrimaryPositionCandidate, Profile, ProfileCertification, type ProfileCompletion, type ProfileDimensionInputs, ProfileEducation, ProfileHonor, ProfileInvolvement, ProfileLanguage, ProfilePosition, ProfilePresentationDelivery, ProfilePresentationDeliveryRecord, ProfilePresentationRecord, ProfileProject, ProfilePublication, ProfileSkill, type Publisher, ROADMAP_ISSUES_REPO, ROADMAP_ITEM_META, type RgbColor, type RoadmapItemMeta, SECTION_GROUPS, SECTION_LABELS, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, STREAM_VERBS, type SectionGroupId, type SectionId, type SkillCategory, type StreamAddress, type StreamAuthor, type StreamCardBody, type StreamCardSubject, type StreamCardVM, type StreamExternalLink, type StreamGeo, type StreamMedia, type StreamMediaBase, type StreamMediaBlob, type StreamMediaResolved, type StreamRichSegment, type StreamSource, type StreamTheme, type StreamVerb, type TierMeta, type ToStreamCardVMOptions, VERIFICATION_PROVIDERS, type VerificationProvider, type VerificationProviderId, type VerificationSource, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, buildTalkSlug, categoryForApp, certDateExtractor, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, durationFromMinutes, entityDisambiguationLabel, entityResultKey, filterHidden, findIndustry, formatCompanyName, formatDateRange, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, formatTimelineDate, getActivityTaxonomyVersion, getActivityTier, getActivityVerbsVersion, getAppCategoryIcon, getAppIdForCollection, getArtifactLinkKindLabel, getCalendarEventModeLabel, getCalendarEventStatusLabel, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getInvolvementKindHeading, getInvolvementKindLabel, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getVerificationProvider, getVisibleSectionIds, getWorkplaceTypeLabel, groupInvolvementByHeading, groupSkillsByCategory, groupSkillsBySubCategory, hasPersonalProfileContent, hoistPrimary, isAppCategory, isCompanyPageIndexable, isCompanyRequired, isKnownAppId, isKnownPlatform, isKnownVerificationProvider, isLinked, isPseudoEmployer, isRegistrableDomainHandle, isSectionPopulated, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, looksLikeDomain, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, parseTalkRkey, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, primaryVerification, profileToDimensionInputs, qualifiesAsOrg, relativeLuminance, rendersPersonalProfile, resolveCardHealth, resolveCardUrl, resolveEmbed, resolveVerifierProvider, rgbToString, roadmapIssueUrl, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, singleDateExtractor, slugifyTitle, sortByActiveDateRange, sortByDateDesc, sortCertifications, sortEducation, sortHonors, sortLanguages, sortLanguagesByProficiency, sortPositions, sortProjects, sortPublications, streamAddressSchema, streamAuthorSchema, streamCardBodySchema, streamCardSubjectSchema, streamCardVMSchema, streamExternalLinkSchema, streamGeoSchema, streamMediaSchema, streamRichSegmentSchema, streamSourceSchema, streamThemeSchema, streamVerbSchema, stripHtmlToText, summarizePresentationDeliveries, toStreamCardVM, toStreamCardVMs, truncateGraphemes, verbForCollection, visibleItems, youtubeThumbnailUrl, youtubeVideoId };
2203
+ export { ACTIVITY_TIERS, ACTIVITY_VERBS, ACTIVITY_VISIBILITY_RULES, ALL_SECTIONS, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, AccountFacetMode, type AccountVerification, type ActivityItem, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, type ActivityVerbMap, type AppCategoryId, type AppUrlPatterns, type ArtifactLinkKindOption, 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, type CardHealth, type CardHealthStrategy, type CompanyFirmographics, type ContinentCode, type CsvRow, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, type DisambiguationFields, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, ENTITY_REF_ANCHORS, type EmbedResult, type EmploymentTypeGroup, type EmploymentTypeOption, type EntityRefAnchor, EntitySearchResult, INDUSTRY_OPTIONS, INVOLVEMENT_HEADING_ORDER, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, type IndustryOption, type InvolvementGroup, type InvolvementKindOption, type KnownAppId, type LexiconEntry, LocationValue, MIN_SKILLS, type MergedProfileSkill, OPEN_TO_OPTIONS, OPEN_TO_TOKENS, OPEN_TO_TOKEN_TO_VALUE, OPEN_TO_VALUE_TO_TOKEN, type OpenToGroup, type OpenToOption, OrgProfileRecord, PLATFORM_LABELS, PLATFORM_OPTIONS, PRESENTATION_LINK_TYPE_LABELS, PRESENTATION_LINK_TYPE_OPTIONS, PRESENTATION_ROLE_LABELS, PRESENTATION_ROLE_OPTIONS, PUBLISHERS, type ParsedDelivery, type ParsedPresentation, type PdsProvider, PdsProviderInfo, type PersonalFacetContent, type PlatformId, type PresentationDeliverySummary, PresentationDuration, type PresentationLinkTypeOption, type PresentationRoleOption, type PrimaryPositionCandidate, Profile, ProfileCertification, type ProfileCompletion, type ProfileDimensionInputs, ProfileEducation, ProfileHonor, ProfileInvolvement, ProfileLanguage, ProfilePosition, ProfilePresentationDelivery, ProfilePresentationDeliveryRecord, ProfilePresentationRecord, ProfileProject, ProfilePublication, ProfileSkill, type Publisher, ROADMAP_ISSUES_REPO, ROADMAP_ITEM_META, type RgbColor, type RoadmapItemMeta, SECTION_GROUPS, SECTION_LABELS, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, STREAM_VERBS, type SectionGroupId, type SectionId, type SkillCategory, type StreamAddress, type StreamAuthor, type StreamCardBody, type StreamCardSubject, type StreamCardVM, type StreamExternalLink, type StreamGeo, type StreamMedia, type StreamMediaBase, type StreamMediaBlob, type StreamMediaResolved, type StreamRichSegment, type StreamSource, type StreamTheme, type StreamVerb, type TierMeta, type ToStreamCardVMOptions, VERIFICATION_PROVIDERS, type VerificationProvider, type VerificationProviderId, type VerificationSource, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, buildTalkSlug, categoryForApp, certDateExtractor, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, durationFromMinutes, entityDisambiguationLabel, entityResultKey, filterHidden, findIndustry, formatCompanyName, formatDateRange, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, formatTimelineDate, getActivityTaxonomyVersion, getActivityTier, getActivityVerbsVersion, getAppCategoryIcon, getAppIdForCollection, getArtifactLinkKindLabel, getCalendarEventModeLabel, getCalendarEventStatusLabel, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getInvolvementKindHeading, getInvolvementKindLabel, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getVerificationProvider, getVisibleSectionIds, getWorkplaceTypeLabel, groupInvolvementByHeading, groupSkillsByCategory, groupSkillsBySubCategory, groupSkillsForDisplay, hasPersonalProfileContent, hoistPrimary, isAppCategory, isCompanyPageIndexable, isCompanyRequired, isKnownAppId, isKnownPlatform, isKnownVerificationProvider, isLinked, isPseudoEmployer, isRegistrableDomainHandle, isSectionPopulated, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, looksLikeDomain, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, parseTalkRkey, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, primaryVerification, profileToDimensionInputs, qualifiesAsOrg, relativeLuminance, rendersCompanyProfile, rendersPersonalProfile, resolveAccountFacetMode, resolveCardHealth, resolveCardUrl, resolveEmbed, resolveVerifierProvider, rgbToString, roadmapIssueUrl, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, singleDateExtractor, slugifyTitle, sortByActiveDateRange, sortByDateDesc, sortCertifications, sortEducation, sortHonors, sortLanguages, sortLanguagesByProficiency, sortPositions, sortProjects, sortPublications, streamAddressSchema, streamAuthorSchema, streamCardBodySchema, streamCardSubjectSchema, streamCardVMSchema, streamExternalLinkSchema, streamGeoSchema, streamMediaSchema, streamRichSegmentSchema, streamSourceSchema, streamThemeSchema, streamVerbSchema, stripHtmlToText, summarizePresentationDeliveries, toStreamCardVM, toStreamCardVMs, truncateGraphemes, verbForCollection, visibleItems, youtubeThumbnailUrl, youtubeVideoId };
package/dist/index.js CHANGED
@@ -928,6 +928,14 @@ function groupSkillsBySubCategory(skills) {
928
928
  return ordered;
929
929
  }
930
930
 
931
+ // src/taxonomy/skill-display-groups.ts
932
+ function groupSkillsForDisplay(skills, options = {}) {
933
+ const grouped = groupSkillsBySubCategory(skills);
934
+ const labelled = grouped.filter(([label]) => label !== null);
935
+ const groups = options.ungroupedFirst ? [...grouped.filter(([label]) => label === null), ...labelled] : grouped;
936
+ return { groups, showLabels: labelled.length >= 2 };
937
+ }
938
+
931
939
  // src/taxonomy/app-categories.ts
932
940
  var APP_CATEGORIES = {
933
941
  Articles: { phosphorIcon: "Article" },
@@ -4105,11 +4113,24 @@ function hasPersonalProfileContent(profile) {
4105
4113
  ];
4106
4114
  return sections.some((section) => Array.isArray(section) && section.length > 0);
4107
4115
  }
4108
- function rendersPersonalProfile(org) {
4116
+ function rendersPersonalProfile(org, renderPreference) {
4117
+ if (renderPreference === "person") return true;
4109
4118
  if (org === null || org === void 0) return true;
4110
4119
  if (!org.isOrg && !org.recognized) return true;
4111
4120
  return org.isOrg && org.personalProfileVisible === true;
4112
4121
  }
4122
+ function rendersCompanyProfile(org, renderPreference) {
4123
+ if (renderPreference === "person") return false;
4124
+ if (org === null || org === void 0) return false;
4125
+ return org.isOrg || org.recognized;
4126
+ }
4127
+ function resolveAccountFacetMode(profile) {
4128
+ if (profile.renderPreference === "person") return "person";
4129
+ const org = profile.org;
4130
+ if (org?.isOrg && org.personalProfileVisible === true) return "both";
4131
+ if (org?.isOrg || org?.recognized || profile.renderPreference === "company") return "company";
4132
+ return "person";
4133
+ }
4113
4134
 
4114
4135
  // src/logic/company-page-indexable.ts
4115
4136
  var COMPANY_PAGE_MIN_FIRMOGRAPHIC_FIELDS = 2;
@@ -4855,8 +4876,8 @@ function roadmapIssueUrl(issue) {
4855
4876
  }
4856
4877
 
4857
4878
  // src/index.ts
4858
- var SIFA_SDK_VERSION = "0.12.35";
4879
+ var SIFA_SDK_VERSION = "0.12.37";
4859
4880
 
4860
- 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, INVOLVEMENT_HEADING_ORDER, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, MIN_SKILLS, 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_INVOLVEMENT_NSID, PUBLISHERS, PresentationDurationSchema, PresentationLinkSchema, ProfileCertificationRecordSchema, ProfileCourseRecordSchema, ProfileEducationRecordSchema, ProfileExternalAccountRecordSchema, ProfileHonorRecordSchema, ProfileInvolvementRecordSchema, ProfileLanguageRecordSchema, ProfilePositionRecordSchema, ProfilePresentationDeliveryRecordSchema, ProfilePresentationRecordSchema, ProfileProjectRecordSchema, ProfilePublicationRecordSchema, ProfileSelfRecordSchema, ProfileSkillRecordSchema, ProfileVolunteeringRecordSchema, PublicationAuthorSchema, ROADMAP_ISSUES_REPO, ROADMAP_ITEM_META, SECTION_GROUPS, SECTION_LABELS, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, STREAM_VERBS, SifaFeedItemSchema, VERIFICATION_PROVIDERS, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, atUriSchema, buildTalkSlug, categoryForApp, certDateExtractor, cidSchema, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, datetimeSchema, decodeFeedCursor, dedupeSkills, 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, getInvolvementKindHeading, getInvolvementKindLabel, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getVerificationProvider, getVisibleSectionIds, getWorkplaceTypeLabel, groupInvolvementByHeading, groupSkillsByCategory, groupSkillsBySubCategory, hasAdultContent, hasPersonalProfileContent, hoistPrimary, isAppCategory, isCompanyPageIndexable, isCompanyRequired, isKnownAppId, isKnownPlatform, isKnownVerificationProvider, isLinked, isPseudoEmployer, isRegistrableDomainHandle, isSectionPopulated, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, looksLikeDomain, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, parseTalkRkey, partialDateSchema, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, primaryVerification, profileToDimensionInputs, qualifiesAsOrg, relativeLuminance, rendersPersonalProfile, resolveCardHealth, resolveCardUrl, resolveEmbed, resolveVerifierProvider, rgbToString, roadmapIssueUrl, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, selfLabelsSchema, singleDateExtractor, 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 };
4881
+ 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, INVOLVEMENT_HEADING_ORDER, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, MIN_SKILLS, 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_INVOLVEMENT_NSID, PUBLISHERS, PresentationDurationSchema, PresentationLinkSchema, ProfileCertificationRecordSchema, ProfileCourseRecordSchema, ProfileEducationRecordSchema, ProfileExternalAccountRecordSchema, ProfileHonorRecordSchema, ProfileInvolvementRecordSchema, ProfileLanguageRecordSchema, ProfilePositionRecordSchema, ProfilePresentationDeliveryRecordSchema, ProfilePresentationRecordSchema, ProfileProjectRecordSchema, ProfilePublicationRecordSchema, ProfileSelfRecordSchema, ProfileSkillRecordSchema, ProfileVolunteeringRecordSchema, PublicationAuthorSchema, ROADMAP_ISSUES_REPO, ROADMAP_ITEM_META, SECTION_GROUPS, SECTION_LABELS, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, STREAM_VERBS, SifaFeedItemSchema, VERIFICATION_PROVIDERS, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, atUriSchema, buildTalkSlug, categoryForApp, certDateExtractor, cidSchema, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, datetimeSchema, decodeFeedCursor, dedupeSkills, 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, 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, isPseudoEmployer, isRegistrableDomainHandle, isSectionPopulated, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, looksLikeDomain, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, parseTalkRkey, partialDateSchema, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, primaryVerification, profileToDimensionInputs, qualifiesAsOrg, relativeLuminance, rendersCompanyProfile, rendersPersonalProfile, resolveAccountFacetMode, resolveCardHealth, resolveCardUrl, resolveEmbed, resolveVerifierProvider, rgbToString, roadmapIssueUrl, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, selfLabelsSchema, singleDateExtractor, 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 };
4861
4882
  //# sourceMappingURL=index.js.map
4862
4883
  //# sourceMappingURL=index.js.map