@singi-labs/sifa-sdk 0.18.8 → 0.18.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -2398,9 +2398,9 @@ declare const SECTION_GROUPS: readonly [{
2398
2398
  type SectionGroupId = (typeof SECTION_GROUPS)[number]['id'];
2399
2399
  /**
2400
2400
  * Profile body sections in render + nav order (evidence-first): identity and
2401
- * activity lead, then living work (career, skills, projects, talks,
2402
- * publications), then the formal record (credentials, education, courses), then
2403
- * the rest. `ns` selects the consumer's i18n namespace for `labelKey`; `group`
2401
+ * activity lead, then living work (career, projects, talks, publications, then
2402
+ * skills), then the formal record (credentials, education, courses), then the
2403
+ * rest. `ns` selects the consumer's i18n namespace for `labelKey`; `group`
2404
2404
  * ties the section to a {@link SECTION_GROUPS} header.
2405
2405
  */
2406
2406
  declare const ALL_SECTIONS: readonly [{
@@ -2413,11 +2413,6 @@ declare const ALL_SECTIONS: readonly [{
2413
2413
  readonly labelKey: "career";
2414
2414
  readonly ns: "sections";
2415
2415
  readonly group: "experience";
2416
- }, {
2417
- readonly id: "skills";
2418
- readonly labelKey: "skills";
2419
- readonly ns: "sections";
2420
- readonly group: "experience";
2421
2416
  }, {
2422
2417
  readonly id: "projects";
2423
2418
  readonly labelKey: "projects";
@@ -2433,6 +2428,11 @@ declare const ALL_SECTIONS: readonly [{
2433
2428
  readonly labelKey: "publications";
2434
2429
  readonly ns: "sections";
2435
2430
  readonly group: "experience";
2431
+ }, {
2432
+ readonly id: "skills";
2433
+ readonly labelKey: "skills";
2434
+ readonly ns: "sections";
2435
+ readonly group: "experience";
2436
2436
  }, {
2437
2437
  readonly id: "credentials";
2438
2438
  readonly labelKey: "credentials";
@@ -2562,8 +2562,11 @@ interface InvolvementGroup {
2562
2562
  }
2563
2563
  /**
2564
2564
  * Group involvement records by their kind's display heading, in the fixed order
2565
- * above, most-recent first within a group. Empty groups are omitted. An unknown
2566
- * kind falls under "Other" (via the shared heading map).
2565
+ * above. Within a group, ongoing entries (no `endedAt`) float to the top, then
2566
+ * by end date descending, then start date descending -- the same current-first
2567
+ * ordering positions and education use (`lexiconDateExtractor`), so a role that
2568
+ * ended recently no longer sorts above a long-running current one. Empty groups
2569
+ * are omitted. An unknown kind falls under "Other" (via the shared heading map).
2567
2570
  */
2568
2571
  declare function groupInvolvementByHeading(items: ProfileInvolvement[]): InvolvementGroup[];
2569
2572
 
package/dist/index.d.ts CHANGED
@@ -2398,9 +2398,9 @@ declare const SECTION_GROUPS: readonly [{
2398
2398
  type SectionGroupId = (typeof SECTION_GROUPS)[number]['id'];
2399
2399
  /**
2400
2400
  * Profile body sections in render + nav order (evidence-first): identity and
2401
- * activity lead, then living work (career, skills, projects, talks,
2402
- * publications), then the formal record (credentials, education, courses), then
2403
- * the rest. `ns` selects the consumer's i18n namespace for `labelKey`; `group`
2401
+ * activity lead, then living work (career, projects, talks, publications, then
2402
+ * skills), then the formal record (credentials, education, courses), then the
2403
+ * rest. `ns` selects the consumer's i18n namespace for `labelKey`; `group`
2404
2404
  * ties the section to a {@link SECTION_GROUPS} header.
2405
2405
  */
2406
2406
  declare const ALL_SECTIONS: readonly [{
@@ -2413,11 +2413,6 @@ declare const ALL_SECTIONS: readonly [{
2413
2413
  readonly labelKey: "career";
2414
2414
  readonly ns: "sections";
2415
2415
  readonly group: "experience";
2416
- }, {
2417
- readonly id: "skills";
2418
- readonly labelKey: "skills";
2419
- readonly ns: "sections";
2420
- readonly group: "experience";
2421
2416
  }, {
2422
2417
  readonly id: "projects";
2423
2418
  readonly labelKey: "projects";
@@ -2433,6 +2428,11 @@ declare const ALL_SECTIONS: readonly [{
2433
2428
  readonly labelKey: "publications";
2434
2429
  readonly ns: "sections";
2435
2430
  readonly group: "experience";
2431
+ }, {
2432
+ readonly id: "skills";
2433
+ readonly labelKey: "skills";
2434
+ readonly ns: "sections";
2435
+ readonly group: "experience";
2436
2436
  }, {
2437
2437
  readonly id: "credentials";
2438
2438
  readonly labelKey: "credentials";
@@ -2562,8 +2562,11 @@ interface InvolvementGroup {
2562
2562
  }
2563
2563
  /**
2564
2564
  * Group involvement records by their kind's display heading, in the fixed order
2565
- * above, most-recent first within a group. Empty groups are omitted. An unknown
2566
- * kind falls under "Other" (via the shared heading map).
2565
+ * above. Within a group, ongoing entries (no `endedAt`) float to the top, then
2566
+ * by end date descending, then start date descending -- the same current-first
2567
+ * ordering positions and education use (`lexiconDateExtractor`), so a role that
2568
+ * ended recently no longer sorts above a long-running current one. Empty groups
2569
+ * are omitted. An unknown kind falls under "Other" (via the shared heading map).
2567
2570
  */
2568
2571
  declare function groupInvolvementByHeading(items: ProfileInvolvement[]): InvolvementGroup[];
2569
2572
 
package/dist/index.js CHANGED
@@ -2916,7 +2916,6 @@ var SECTION_GROUPS = [
2916
2916
  var ALL_SECTIONS = [
2917
2917
  { id: "about", labelKey: "about", ns: "profile", group: "overview" },
2918
2918
  { id: "career", labelKey: "career", ns: "sections", group: "experience" },
2919
- { id: "skills", labelKey: "skills", ns: "sections", group: "experience" },
2920
2919
  { id: "projects", labelKey: "projects", ns: "sections", group: "experience" },
2921
2920
  {
2922
2921
  id: "presentations",
@@ -2930,6 +2929,7 @@ var ALL_SECTIONS = [
2930
2929
  ns: "sections",
2931
2930
  group: "experience"
2932
2931
  },
2932
+ { id: "skills", labelKey: "skills", ns: "sections", group: "experience" },
2933
2933
  {
2934
2934
  id: "credentials",
2935
2935
  labelKey: "credentials",
@@ -5365,13 +5365,11 @@ function groupInvolvementByHeading(items) {
5365
5365
  bucket.push(item);
5366
5366
  byHeading.set(heading, bucket);
5367
5367
  }
5368
- const recency = (i) => i.endedAt ?? i.startedAt ?? "";
5369
5368
  const groups = [];
5370
5369
  for (const heading of INVOLVEMENT_HEADING_ORDER) {
5371
5370
  const bucket = byHeading.get(heading);
5372
5371
  if (!bucket?.length) continue;
5373
- const sorted = [...bucket].sort((a, b) => recency(b).localeCompare(recency(a)));
5374
- groups.push({ heading, items: sorted });
5372
+ groups.push({ heading, items: sortByDateDesc(bucket, lexiconDateExtractor) });
5375
5373
  }
5376
5374
  return groups;
5377
5375
  }
@@ -6196,7 +6194,7 @@ function describeSifaRecord(collection, value) {
6196
6194
  }
6197
6195
 
6198
6196
  // src/index.ts
6199
- var SIFA_SDK_VERSION = "0.18.8";
6197
+ var SIFA_SDK_VERSION = "0.18.10";
6200
6198
 
6201
6199
  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, PUBLICATION_TYPE_LABELS, PUBLICATION_TYPE_OPTIONS, 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, SELF_APP_ID, 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, countRecentActivity, countryCodeToFlag, dateRangeExtractor, datetimeSchema, decodeFeedCursor, dedupeSkills, describeSifaRecord, detectPdsProvider, didSchema, dimensionsFromInputs, durationFromMinutes, encodeFeedCursor, entityDisambiguationLabel, entityResultKey, excludeSelfApp, externalRecordRefSchema, filterHidden, findIndustry, formatCompanyName, formatDateRange, formatDisplayUrl, 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, getPublicationTypeLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getVerificationProvider, getVisibleSectionIds, getWorkplaceTypeLabel, groupInvolvementByHeading, groupSkillsByCategory, groupSkillsBySubCategory, groupSkillsForDisplay, hasAdultContent, hasPersonalProfileContent, hoistPrimary, isAppCategory, isCompanyPageIndexable, isCompanyRequired, isKnownAppId, isKnownPlatform, isKnownVerificationProvider, isLinked, isOnBehalfOfApplicable, isPseudoEmployer, isRegistrableDomainHandle, isRoleLineRedundant, isSectionPopulated, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, locationSegments, looksLikeDomain, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, normalizeCompanyKey, normalizeDoi, 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 };
6202
6200
  //# sourceMappingURL=index.js.map