@singi-labs/sifa-sdk 0.11.12 → 0.11.13

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
@@ -690,7 +690,14 @@ declare function parseIntendedAudiences(input: string | undefined, delimiter?: s
690
690
  * only to produce readable text.
691
691
  */
692
692
  declare function stripHtmlToText(input: string | undefined): string;
693
- /** Map a friendly role value to its token; passes through an existing token or an unknown value. */
693
+ /**
694
+ * Map a friendly role value to its token. An existing token passes through.
695
+ * Free-text or compound values (e.g. "Organizer & co-host/moderator") are
696
+ * mapped to the nearest token by keyword. An organizer-only value has no
697
+ * speaking token, so it, and any other unrecognized value, is dropped rather
698
+ * than stored raw -- matching normalizePresentationMode's drop-unknown
699
+ * behavior, so a fixed role dropdown never has to render arbitrary strings.
700
+ */
694
701
  declare function normalizePresentationRole(value: string | undefined): string | undefined;
695
702
  /** Map a friendly mode value to the community calendar token; drops an unknown value. */
696
703
  declare function normalizePresentationMode(value: string | undefined): string | undefined;
package/dist/index.d.ts CHANGED
@@ -690,7 +690,14 @@ declare function parseIntendedAudiences(input: string | undefined, delimiter?: s
690
690
  * only to produce readable text.
691
691
  */
692
692
  declare function stripHtmlToText(input: string | undefined): string;
693
- /** Map a friendly role value to its token; passes through an existing token or an unknown value. */
693
+ /**
694
+ * Map a friendly role value to its token. An existing token passes through.
695
+ * Free-text or compound values (e.g. "Organizer & co-host/moderator") are
696
+ * mapped to the nearest token by keyword. An organizer-only value has no
697
+ * speaking token, so it, and any other unrecognized value, is dropped rather
698
+ * than stored raw -- matching normalizePresentationMode's drop-unknown
699
+ * behavior, so a fixed role dropdown never has to render arbitrary strings.
700
+ */
694
701
  declare function normalizePresentationRole(value: string | undefined): string | undefined;
695
702
  /** Map a friendly mode value to the community calendar token; drops an unknown value. */
696
703
  declare function normalizePresentationMode(value: string | undefined): string | undefined;
package/dist/index.js CHANGED
@@ -1752,7 +1752,17 @@ function normalizePresentationRole(value) {
1752
1752
  const v = clean(value).toLowerCase();
1753
1753
  if (!v) return void 0;
1754
1754
  if (v.startsWith("id.sifa.defs#")) return v;
1755
- return ROLE_TOKENS[v] ?? v;
1755
+ const exact = ROLE_TOKENS[v];
1756
+ if (exact) return exact;
1757
+ if (v.includes("keynote")) return ROLE_TOKENS.keynote;
1758
+ if (v.includes("workshop") || v.includes("masterclass") || v.includes("training"))
1759
+ return ROLE_TOKENS.workshop;
1760
+ if (v.includes("panel")) return ROLE_TOKENS.panelist;
1761
+ if (v.includes("host") || v.includes("moderat") || v.includes("emcee") || v.includes("chair"))
1762
+ return ROLE_TOKENS.host;
1763
+ if (v.includes("speaker") || v.includes("present") || v.includes("talk"))
1764
+ return ROLE_TOKENS.presenter;
1765
+ return void 0;
1756
1766
  }
1757
1767
  var MODE_FRAGMENTS = {
1758
1768
  inperson: "#inperson",
@@ -2693,7 +2703,7 @@ var ProfileVolunteeringRecordSchema = z.object({
2693
2703
  });
2694
2704
 
2695
2705
  // src/index.ts
2696
- var SIFA_SDK_VERSION = "0.11.12";
2706
+ var SIFA_SDK_VERSION = "0.11.13";
2697
2707
 
2698
2708
  export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, ADULT_CONTENT_LABELS, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, AtmosphereFeedItemSchema, CALENDAR_EVENT_MODE_LABELS, CALENDAR_EVENT_STATUS_LABELS, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPANY_OPTIONAL_EMPLOYMENT_TYPES, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, DIMENSIONS_MAX_SCORE, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, EndorsementConfirmationRecordSchema, EndorsementRecordSchema, FEATURE_FLAGS, FeatureAllowlistEntrySchema, FeedActorSchema, FollowFeedItemSchema, FollowFeedPageSchema, FollowProfilePageSchema, FollowProfileSchema, GraphFollowRecordSchema, INDUSTRY_OPTIONS, MIN_SKILLS, OPEN_TO_OPTIONS, OPEN_TO_TOKENS, OPEN_TO_TOKEN_TO_VALUE, OPEN_TO_VALUE_TO_TOKEN, PLATFORM_LABELS, PLATFORM_OPTIONS, PRESENTATION_LINK_TYPE_LABELS, PRESENTATION_LINK_TYPE_OPTIONS, PRESENTATION_ROLE_LABELS, PRESENTATION_ROLE_OPTIONS, PUBLISHERS, PresentationDurationSchema, PresentationLinkSchema, ProfileCertificationRecordSchema, ProfileCourseRecordSchema, ProfileEducationRecordSchema, ProfileExternalAccountRecordSchema, ProfileHonorRecordSchema, ProfileLanguageRecordSchema, ProfilePositionRecordSchema, ProfilePresentationDeliveryRecordSchema, ProfilePresentationRecordSchema, ProfileProjectRecordSchema, ProfilePublicationRecordSchema, ProfileSelfRecordSchema, ProfileSkillRecordSchema, ProfileVolunteeringRecordSchema, PublicationAuthorSchema, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, SifaFeedItemSchema, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, atUriSchema, categoryForApp, certDateExtractor, cidSchema, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, datetimeSchema, decodeFeedCursor, dedupeSkills, detectPdsProvider, didSchema, dimensionsFromInputs, durationFromMinutes, encodeFeedCursor, externalRecordRefSchema, findIndustry, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppCategoryIcon, getAppIdForCollection, getCalendarEventModeLabel, getCalendarEventStatusLabel, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, hasAdultContent, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, profileToDimensionInputs, relativeLuminance, resolveCardHealth, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, selfLabelsSchema, singleDateExtractor, sortByDateDesc, stripHtmlToText, strongRefSchema, summarizePresentationDeliveries, truncateGraphemes, uriSchema };
2699
2709
  //# sourceMappingURL=index.js.map