@singi-labs/sifa-sdk 0.11.1 → 0.11.3

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
@@ -1,6 +1,6 @@
1
- import { P as ProfileSkill, L as LocationValue, b as PdsProviderInfo, c as Profile } from './adult-content-o0BxhFzc.cjs';
2
- export { d as ADULT_CONTENT_LABELS, e as ActiveApp, a as ActivityLabel, A as AdultContentLabel, f as Endorsement, g as EndorsementData, E as ExternalAccount, h as ExternalAccountKeytraceClaim, F as FeedItem, i as LanguageProficiency, j as ProfileCertification, k as ProfileCourse, l as ProfileEducation, m as ProfileHonor, n as ProfileIndustry, o as ProfileLanguage, p as ProfileLocation, q as ProfileOverrideSource, r as ProfilePosition, s as ProfileProject, t as ProfilePublication, u as ProfileVolunteering, v as PublicationContributor, w as SkillRef, S as SkillSuggestion, T as TrustStat, V as VerifiedAccount, x as hasAdultContent } from './adult-content-o0BxhFzc.cjs';
3
- export { EndorsementConfirmationRecord, EndorsementConfirmationRecordSchema, EndorsementRecord, EndorsementRecordSchema, GraphFollowRecord, GraphFollowRecordSchema, ProfileCertificationRecord, ProfileCertificationRecordSchema, ProfileCourseRecord, ProfileCourseRecordSchema, ProfileEducationRecord, ProfileEducationRecordSchema, ProfileExternalAccountRecord, ProfileExternalAccountRecordSchema, ProfileHonorRecord, ProfileHonorRecordSchema, ProfileLanguageRecord, ProfileLanguageRecordSchema, ProfilePositionRecord, ProfilePositionRecordSchema, ProfileProjectRecord, ProfileProjectRecordSchema, ProfilePublicationRecord, ProfilePublicationRecordSchema, ProfileSelfRecord, ProfileSelfRecordSchema, ProfileSkillRecord, ProfileSkillRecordSchema, ProfileVolunteeringRecord, ProfileVolunteeringRecordSchema, PublicationAuthor, PublicationAuthorSchema, atUriSchema, cidSchema, datetimeSchema, didSchema, languageTagSchema, makeGraphFollowRecordSchema, maxGraphemes, selfLabelsSchema, strongRefSchema, uriSchema } from './schemas/index.cjs';
1
+ import { P as ProfileSkill, L as LocationValue, b as PdsProviderInfo, c as Profile } from './adult-content-CC8eR44a.cjs';
2
+ export { d as ADULT_CONTENT_LABELS, e as ActiveApp, a as ActivityLabel, A as AdultContentLabel, f as Endorsement, g as EndorsementData, E as ExternalAccount, h as ExternalAccountKeytraceClaim, F as FeedItem, i as LanguageProficiency, j as ProfileCertification, k as ProfileCourse, l as ProfileEducation, m as ProfileHonor, n as ProfileIndustry, o as ProfileLanguage, p as ProfileLocation, q as ProfileOverrideSource, r as ProfilePosition, s as ProfileProject, t as ProfilePublication, u as ProfileVolunteering, v as PublicationContributor, w as SkillRef, S as SkillSuggestion, T as TrustStat, V as VerifiedAccount, x as hasAdultContent } from './adult-content-CC8eR44a.cjs';
3
+ export { EndorsementConfirmationRecord, EndorsementConfirmationRecordSchema, EndorsementRecord, EndorsementRecordSchema, GraphFollowRecord, GraphFollowRecordSchema, PresentationDuration, PresentationDurationSchema, PresentationLink, PresentationLinkSchema, ProfileCertificationRecord, ProfileCertificationRecordSchema, ProfileCourseRecord, ProfileCourseRecordSchema, ProfileEducationRecord, ProfileEducationRecordSchema, ProfileExternalAccountRecord, ProfileExternalAccountRecordSchema, ProfileHonorRecord, ProfileHonorRecordSchema, ProfileLanguageRecord, ProfileLanguageRecordSchema, ProfilePositionRecord, ProfilePositionRecordSchema, ProfilePresentationDeliveryRecord, ProfilePresentationDeliveryRecordSchema, ProfilePresentationRecord, ProfilePresentationRecordSchema, ProfileProjectRecord, ProfileProjectRecordSchema, ProfilePublicationRecord, ProfilePublicationRecordSchema, ProfileSelfRecord, ProfileSelfRecordSchema, ProfileSkillRecord, ProfileSkillRecordSchema, ProfileVolunteeringRecord, ProfileVolunteeringRecordSchema, PublicationAuthor, PublicationAuthorSchema, atUriSchema, cidSchema, datetimeSchema, didSchema, externalRecordRefSchema, languageTagSchema, makeGraphFollowRecordSchema, maxGraphemes, selfLabelsSchema, strongRefSchema, uriSchema } from './schemas/index.cjs';
4
4
  export { A as AtmosphereFeedItem, d as AtmosphereFeedItemSchema, e as FEATURE_FLAGS, b as FeatureAllowlistEntry, f as FeatureAllowlistEntrySchema, c as FeatureFlag, g as FeedActor, h as FeedActorSchema, i as FeedCursor, j as FollowFeedItem, k as FollowFeedItemSchema, F as FollowFeedPage, l as FollowFeedPageSchema, a as FollowProfileItem, m as FollowProfilePage, n as FollowProfilePageSchema, o as FollowProfileSchema, S as SifaFeedItem, p as SifaFeedItemSchema, q as decodeFeedCursor, r as encodeFeedCursor } from './feed-DHTy7fUN.cjs';
5
5
  import 'zod';
6
6
 
@@ -403,6 +403,46 @@ declare function getActivityTaxonomyVersion(): {
403
403
  updated: string;
404
404
  };
405
405
 
406
+ /**
407
+ * Presentation-role taxonomy. Mirrors `id.sifa.defs#presentationRole.knownValues`
408
+ * from sifa-lexicons. The role describes how the person took part in a single
409
+ * delivery (it can differ between deliveries of the same presentation).
410
+ */
411
+ interface PresentationRoleOption {
412
+ value: string;
413
+ label: string;
414
+ }
415
+ declare const PRESENTATION_ROLE_OPTIONS: PresentationRoleOption[];
416
+ declare const PRESENTATION_ROLE_LABELS: Record<string, string>;
417
+ /** Resolve a label for a presentation-role token. Falls back to the raw value. */
418
+ declare function getPresentationRoleLabel(value: string | undefined | null): string | undefined;
419
+
420
+ /**
421
+ * Presentation link-type taxonomy. Mirrors
422
+ * `id.sifa.defs#presentationLinkType.knownValues` from sifa-lexicons. Used to
423
+ * pick an icon and a default label for a presentation or delivery link.
424
+ */
425
+ interface PresentationLinkTypeOption {
426
+ value: string;
427
+ label: string;
428
+ }
429
+ declare const PRESENTATION_LINK_TYPE_OPTIONS: PresentationLinkTypeOption[];
430
+ declare const PRESENTATION_LINK_TYPE_LABELS: Record<string, string>;
431
+ /** Resolve a label for a presentation link-type token. Falls back to the raw value. */
432
+ declare function getPresentationLinkTypeLabel(value: string | undefined | null): string | undefined;
433
+
434
+ /**
435
+ * Display labels for `community.lexicon.calendar.event` mode and status tokens.
436
+ * A presentation delivery stores the full upstream token (so it stays faithful
437
+ * to the source event); these maps turn the token into a human label.
438
+ */
439
+ declare const CALENDAR_EVENT_MODE_LABELS: Record<string, string>;
440
+ /** Resolve a label for a calendar-event mode token. Falls back to the raw value. */
441
+ declare function getCalendarEventModeLabel(value: string | undefined | null): string | undefined;
442
+ declare const CALENDAR_EVENT_STATUS_LABELS: Record<string, string>;
443
+ /** Resolve a label for a calendar-event status token. Falls back to the raw value. */
444
+ declare function getCalendarEventStatusLabel(value: string | undefined | null): string | undefined;
445
+
406
446
  /**
407
447
  * Format a date string as a relative time (e.g. "5m ago", "3d ago").
408
448
  * Returns an empty string for invalid or future dates.
@@ -848,4 +888,4 @@ declare function pickPrimaryPosition<T extends PrimaryPositionCandidate>(positio
848
888
  */
849
889
  declare const SIFA_SDK_VERSION: string;
850
890
 
851
- export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, type AppCategoryId, type AppUrlPatterns, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPANY_OPTIONAL_EMPLOYMENT_TYPES, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, type ContinentCode, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, type EmploymentTypeGroup, type EmploymentTypeOption, INDUSTRY_OPTIONS, type IndustryOption, 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, PLATFORM_LABELS, PLATFORM_OPTIONS, PUBLISHERS, type PdsProvider, PdsProviderInfo, type PlatformId, type PrimaryPositionCandidate, Profile, type ProfileCompletion, type ProfileDimensionInputs, ProfileSkill, type Publisher, type RgbColor, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, type SkillCategory, type TierMeta, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, categoryForApp, certDateExtractor, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, findIndustry, formatDistanceToNow, formatLocation, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppCategoryIcon, getAppIdForCollection, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, meetsContrastAA, normalizeOpenTo, normalizePlatformId, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, singleDateExtractor, sortByDateDesc, truncateGraphemes };
891
+ export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, type AppCategoryId, type AppUrlPatterns, CALENDAR_EVENT_MODE_LABELS, CALENDAR_EVENT_STATUS_LABELS, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPANY_OPTIONAL_EMPLOYMENT_TYPES, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, type ContinentCode, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, type EmploymentTypeGroup, type EmploymentTypeOption, INDUSTRY_OPTIONS, type IndustryOption, 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, PLATFORM_LABELS, PLATFORM_OPTIONS, PRESENTATION_LINK_TYPE_LABELS, PRESENTATION_LINK_TYPE_OPTIONS, PRESENTATION_ROLE_LABELS, PRESENTATION_ROLE_OPTIONS, PUBLISHERS, type PdsProvider, PdsProviderInfo, type PlatformId, type PresentationLinkTypeOption, type PresentationRoleOption, type PrimaryPositionCandidate, Profile, type ProfileCompletion, type ProfileDimensionInputs, ProfileSkill, type Publisher, type RgbColor, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, type SkillCategory, type TierMeta, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, categoryForApp, certDateExtractor, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, findIndustry, formatDistanceToNow, formatLocation, 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, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, meetsContrastAA, normalizeOpenTo, normalizePlatformId, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, singleDateExtractor, sortByDateDesc, truncateGraphemes };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { P as ProfileSkill, L as LocationValue, b as PdsProviderInfo, c as Profile } from './adult-content-o0BxhFzc.js';
2
- export { d as ADULT_CONTENT_LABELS, e as ActiveApp, a as ActivityLabel, A as AdultContentLabel, f as Endorsement, g as EndorsementData, E as ExternalAccount, h as ExternalAccountKeytraceClaim, F as FeedItem, i as LanguageProficiency, j as ProfileCertification, k as ProfileCourse, l as ProfileEducation, m as ProfileHonor, n as ProfileIndustry, o as ProfileLanguage, p as ProfileLocation, q as ProfileOverrideSource, r as ProfilePosition, s as ProfileProject, t as ProfilePublication, u as ProfileVolunteering, v as PublicationContributor, w as SkillRef, S as SkillSuggestion, T as TrustStat, V as VerifiedAccount, x as hasAdultContent } from './adult-content-o0BxhFzc.js';
3
- export { EndorsementConfirmationRecord, EndorsementConfirmationRecordSchema, EndorsementRecord, EndorsementRecordSchema, GraphFollowRecord, GraphFollowRecordSchema, ProfileCertificationRecord, ProfileCertificationRecordSchema, ProfileCourseRecord, ProfileCourseRecordSchema, ProfileEducationRecord, ProfileEducationRecordSchema, ProfileExternalAccountRecord, ProfileExternalAccountRecordSchema, ProfileHonorRecord, ProfileHonorRecordSchema, ProfileLanguageRecord, ProfileLanguageRecordSchema, ProfilePositionRecord, ProfilePositionRecordSchema, ProfileProjectRecord, ProfileProjectRecordSchema, ProfilePublicationRecord, ProfilePublicationRecordSchema, ProfileSelfRecord, ProfileSelfRecordSchema, ProfileSkillRecord, ProfileSkillRecordSchema, ProfileVolunteeringRecord, ProfileVolunteeringRecordSchema, PublicationAuthor, PublicationAuthorSchema, atUriSchema, cidSchema, datetimeSchema, didSchema, languageTagSchema, makeGraphFollowRecordSchema, maxGraphemes, selfLabelsSchema, strongRefSchema, uriSchema } from './schemas/index.js';
1
+ import { P as ProfileSkill, L as LocationValue, b as PdsProviderInfo, c as Profile } from './adult-content-CC8eR44a.js';
2
+ export { d as ADULT_CONTENT_LABELS, e as ActiveApp, a as ActivityLabel, A as AdultContentLabel, f as Endorsement, g as EndorsementData, E as ExternalAccount, h as ExternalAccountKeytraceClaim, F as FeedItem, i as LanguageProficiency, j as ProfileCertification, k as ProfileCourse, l as ProfileEducation, m as ProfileHonor, n as ProfileIndustry, o as ProfileLanguage, p as ProfileLocation, q as ProfileOverrideSource, r as ProfilePosition, s as ProfileProject, t as ProfilePublication, u as ProfileVolunteering, v as PublicationContributor, w as SkillRef, S as SkillSuggestion, T as TrustStat, V as VerifiedAccount, x as hasAdultContent } from './adult-content-CC8eR44a.js';
3
+ export { EndorsementConfirmationRecord, EndorsementConfirmationRecordSchema, EndorsementRecord, EndorsementRecordSchema, GraphFollowRecord, GraphFollowRecordSchema, PresentationDuration, PresentationDurationSchema, PresentationLink, PresentationLinkSchema, ProfileCertificationRecord, ProfileCertificationRecordSchema, ProfileCourseRecord, ProfileCourseRecordSchema, ProfileEducationRecord, ProfileEducationRecordSchema, ProfileExternalAccountRecord, ProfileExternalAccountRecordSchema, ProfileHonorRecord, ProfileHonorRecordSchema, ProfileLanguageRecord, ProfileLanguageRecordSchema, ProfilePositionRecord, ProfilePositionRecordSchema, ProfilePresentationDeliveryRecord, ProfilePresentationDeliveryRecordSchema, ProfilePresentationRecord, ProfilePresentationRecordSchema, ProfileProjectRecord, ProfileProjectRecordSchema, ProfilePublicationRecord, ProfilePublicationRecordSchema, ProfileSelfRecord, ProfileSelfRecordSchema, ProfileSkillRecord, ProfileSkillRecordSchema, ProfileVolunteeringRecord, ProfileVolunteeringRecordSchema, PublicationAuthor, PublicationAuthorSchema, atUriSchema, cidSchema, datetimeSchema, didSchema, externalRecordRefSchema, languageTagSchema, makeGraphFollowRecordSchema, maxGraphemes, selfLabelsSchema, strongRefSchema, uriSchema } from './schemas/index.js';
4
4
  export { A as AtmosphereFeedItem, d as AtmosphereFeedItemSchema, e as FEATURE_FLAGS, b as FeatureAllowlistEntry, f as FeatureAllowlistEntrySchema, c as FeatureFlag, g as FeedActor, h as FeedActorSchema, i as FeedCursor, j as FollowFeedItem, k as FollowFeedItemSchema, F as FollowFeedPage, l as FollowFeedPageSchema, a as FollowProfileItem, m as FollowProfilePage, n as FollowProfilePageSchema, o as FollowProfileSchema, S as SifaFeedItem, p as SifaFeedItemSchema, q as decodeFeedCursor, r as encodeFeedCursor } from './feed-DHTy7fUN.js';
5
5
  import 'zod';
6
6
 
@@ -403,6 +403,46 @@ declare function getActivityTaxonomyVersion(): {
403
403
  updated: string;
404
404
  };
405
405
 
406
+ /**
407
+ * Presentation-role taxonomy. Mirrors `id.sifa.defs#presentationRole.knownValues`
408
+ * from sifa-lexicons. The role describes how the person took part in a single
409
+ * delivery (it can differ between deliveries of the same presentation).
410
+ */
411
+ interface PresentationRoleOption {
412
+ value: string;
413
+ label: string;
414
+ }
415
+ declare const PRESENTATION_ROLE_OPTIONS: PresentationRoleOption[];
416
+ declare const PRESENTATION_ROLE_LABELS: Record<string, string>;
417
+ /** Resolve a label for a presentation-role token. Falls back to the raw value. */
418
+ declare function getPresentationRoleLabel(value: string | undefined | null): string | undefined;
419
+
420
+ /**
421
+ * Presentation link-type taxonomy. Mirrors
422
+ * `id.sifa.defs#presentationLinkType.knownValues` from sifa-lexicons. Used to
423
+ * pick an icon and a default label for a presentation or delivery link.
424
+ */
425
+ interface PresentationLinkTypeOption {
426
+ value: string;
427
+ label: string;
428
+ }
429
+ declare const PRESENTATION_LINK_TYPE_OPTIONS: PresentationLinkTypeOption[];
430
+ declare const PRESENTATION_LINK_TYPE_LABELS: Record<string, string>;
431
+ /** Resolve a label for a presentation link-type token. Falls back to the raw value. */
432
+ declare function getPresentationLinkTypeLabel(value: string | undefined | null): string | undefined;
433
+
434
+ /**
435
+ * Display labels for `community.lexicon.calendar.event` mode and status tokens.
436
+ * A presentation delivery stores the full upstream token (so it stays faithful
437
+ * to the source event); these maps turn the token into a human label.
438
+ */
439
+ declare const CALENDAR_EVENT_MODE_LABELS: Record<string, string>;
440
+ /** Resolve a label for a calendar-event mode token. Falls back to the raw value. */
441
+ declare function getCalendarEventModeLabel(value: string | undefined | null): string | undefined;
442
+ declare const CALENDAR_EVENT_STATUS_LABELS: Record<string, string>;
443
+ /** Resolve a label for a calendar-event status token. Falls back to the raw value. */
444
+ declare function getCalendarEventStatusLabel(value: string | undefined | null): string | undefined;
445
+
406
446
  /**
407
447
  * Format a date string as a relative time (e.g. "5m ago", "3d ago").
408
448
  * Returns an empty string for invalid or future dates.
@@ -848,4 +888,4 @@ declare function pickPrimaryPosition<T extends PrimaryPositionCandidate>(positio
848
888
  */
849
889
  declare const SIFA_SDK_VERSION: string;
850
890
 
851
- export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, type AppCategoryId, type AppUrlPatterns, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPANY_OPTIONAL_EMPLOYMENT_TYPES, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, type ContinentCode, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, type EmploymentTypeGroup, type EmploymentTypeOption, INDUSTRY_OPTIONS, type IndustryOption, 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, PLATFORM_LABELS, PLATFORM_OPTIONS, PUBLISHERS, type PdsProvider, PdsProviderInfo, type PlatformId, type PrimaryPositionCandidate, Profile, type ProfileCompletion, type ProfileDimensionInputs, ProfileSkill, type Publisher, type RgbColor, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, type SkillCategory, type TierMeta, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, categoryForApp, certDateExtractor, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, findIndustry, formatDistanceToNow, formatLocation, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppCategoryIcon, getAppIdForCollection, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, meetsContrastAA, normalizeOpenTo, normalizePlatformId, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, singleDateExtractor, sortByDateDesc, truncateGraphemes };
891
+ export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, type AppCategoryId, type AppUrlPatterns, CALENDAR_EVENT_MODE_LABELS, CALENDAR_EVENT_STATUS_LABELS, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPANY_OPTIONAL_EMPLOYMENT_TYPES, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, type ContinentCode, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, type EmploymentTypeGroup, type EmploymentTypeOption, INDUSTRY_OPTIONS, type IndustryOption, 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, PLATFORM_LABELS, PLATFORM_OPTIONS, PRESENTATION_LINK_TYPE_LABELS, PRESENTATION_LINK_TYPE_OPTIONS, PRESENTATION_ROLE_LABELS, PRESENTATION_ROLE_OPTIONS, PUBLISHERS, type PdsProvider, PdsProviderInfo, type PlatformId, type PresentationLinkTypeOption, type PresentationRoleOption, type PrimaryPositionCandidate, Profile, type ProfileCompletion, type ProfileDimensionInputs, ProfileSkill, type Publisher, type RgbColor, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, type SkillCategory, type TierMeta, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, categoryForApp, certDateExtractor, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, findIndustry, formatDistanceToNow, formatLocation, 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, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, meetsContrastAA, normalizeOpenTo, normalizePlatformId, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, singleDateExtractor, sortByDateDesc, truncateGraphemes };
package/dist/index.js CHANGED
@@ -1242,6 +1242,8 @@ var activity_tiers_default = {
1242
1242
  "id.sifa.profile.language": { tier: "creation", app: "sifa" },
1243
1243
  "id.sifa.profile.externalAccount": { tier: "creation", app: "sifa" },
1244
1244
  "id.sifa.profile.location": { tier: "creation", app: "sifa" },
1245
+ "id.sifa.profile.presentation": { tier: "creation", app: "sifa" },
1246
+ "id.sifa.profile.presentationDelivery": { tier: "creation", app: "sifa" },
1245
1247
  "id.sifa.endorsement": {
1246
1248
  tier: "creation",
1247
1249
  app: "sifa",
@@ -1324,6 +1326,61 @@ function getActivityTaxonomyVersion() {
1324
1326
  return { version: ACTIVITY_TIERS.version, updated: ACTIVITY_TIERS.updated };
1325
1327
  }
1326
1328
 
1329
+ // src/taxonomy/presentation-role.ts
1330
+ var PRESENTATION_ROLE_OPTIONS = [
1331
+ { value: "id.sifa.defs#presenter", label: "Presenter" },
1332
+ { value: "id.sifa.defs#panelist", label: "Panelist" },
1333
+ { value: "id.sifa.defs#keynote", label: "Keynote" },
1334
+ { value: "id.sifa.defs#workshop", label: "Workshop" },
1335
+ { value: "id.sifa.defs#host", label: "Host" }
1336
+ ];
1337
+ var PRESENTATION_ROLE_LABELS = Object.fromEntries(
1338
+ PRESENTATION_ROLE_OPTIONS.map((o) => [o.value, o.label])
1339
+ );
1340
+ function getPresentationRoleLabel(value) {
1341
+ if (!value) return void 0;
1342
+ return PRESENTATION_ROLE_LABELS[value] ?? value;
1343
+ }
1344
+
1345
+ // src/taxonomy/presentation-link-type.ts
1346
+ var PRESENTATION_LINK_TYPE_OPTIONS = [
1347
+ { value: "id.sifa.defs#linkSlides", label: "Slides" },
1348
+ { value: "id.sifa.defs#linkRecording", label: "Recording" },
1349
+ { value: "id.sifa.defs#linkEvent", label: "Event page" },
1350
+ { value: "id.sifa.defs#linkRegistration", label: "Registration" },
1351
+ { value: "id.sifa.defs#linkWriteup", label: "Write-up" },
1352
+ { value: "id.sifa.defs#linkOther", label: "Link" }
1353
+ ];
1354
+ var PRESENTATION_LINK_TYPE_LABELS = Object.fromEntries(
1355
+ PRESENTATION_LINK_TYPE_OPTIONS.map((o) => [o.value, o.label])
1356
+ );
1357
+ function getPresentationLinkTypeLabel(value) {
1358
+ if (!value) return void 0;
1359
+ return PRESENTATION_LINK_TYPE_LABELS[value] ?? value;
1360
+ }
1361
+
1362
+ // src/taxonomy/calendar-event.ts
1363
+ var CALENDAR_EVENT_MODE_LABELS = {
1364
+ "community.lexicon.calendar.event#inperson": "In person",
1365
+ "community.lexicon.calendar.event#virtual": "Virtual",
1366
+ "community.lexicon.calendar.event#hybrid": "Hybrid"
1367
+ };
1368
+ function getCalendarEventModeLabel(value) {
1369
+ if (!value) return void 0;
1370
+ return CALENDAR_EVENT_MODE_LABELS[value] ?? value;
1371
+ }
1372
+ var CALENDAR_EVENT_STATUS_LABELS = {
1373
+ "community.lexicon.calendar.event#scheduled": "Scheduled",
1374
+ "community.lexicon.calendar.event#cancelled": "Cancelled",
1375
+ "community.lexicon.calendar.event#postponed": "Postponed",
1376
+ "community.lexicon.calendar.event#rescheduled": "Rescheduled",
1377
+ "community.lexicon.calendar.event#planned": "Planned"
1378
+ };
1379
+ function getCalendarEventStatusLabel(value) {
1380
+ if (!value) return void 0;
1381
+ return CALENDAR_EVENT_STATUS_LABELS[value] ?? value;
1382
+ }
1383
+
1327
1384
  // src/format/format-time.ts
1328
1385
  function formatRelativeTime(dateString) {
1329
1386
  const date = new Date(dateString);
@@ -2107,6 +2164,10 @@ var strongRefSchema = z.object({
2107
2164
  uri: atUriSchema,
2108
2165
  cid: cidSchema
2109
2166
  });
2167
+ var externalRecordRefSchema = z.object({
2168
+ uri: atUriSchema,
2169
+ cid: cidSchema.optional()
2170
+ });
2110
2171
  var selfLabelsSchema = z.object({
2111
2172
  $type: z.literal("com.atproto.label.defs#selfLabels").optional(),
2112
2173
  values: z.array(z.object({ val: z.string() }))
@@ -2233,6 +2294,9 @@ var ProfileCourseRecordSchema = z.object({
2233
2294
  number: z.string().refine(maxGraphemes(50)).max(500).optional(),
2234
2295
  institution: z.string().refine(maxGraphemes(100)).max(1e3).optional(),
2235
2296
  education: strongRefSchema.optional(),
2297
+ // AT-URI of the associated id.sifa.profile.certification record. Plain
2298
+ // at-uri (not a strongRef) so the link tracks the live certification.
2299
+ credential: atUriSchema.optional(),
2236
2300
  createdAt: datetimeSchema
2237
2301
  });
2238
2302
  var ProfileEducationRecordSchema = z.object({
@@ -2284,6 +2348,46 @@ var ProfilePositionRecordSchema = z.object({
2284
2348
  labels: selfLabelsSchema.optional(),
2285
2349
  createdAt: datetimeSchema
2286
2350
  });
2351
+ var PresentationDurationSchema = z.object({
2352
+ minMinutes: z.number().int().min(1),
2353
+ maxMinutes: z.number().int().min(1).optional()
2354
+ }).refine((d) => d.maxMinutes === void 0 || d.maxMinutes >= d.minMinutes, {
2355
+ message: "maxMinutes must be greater than or equal to minMinutes",
2356
+ path: ["maxMinutes"]
2357
+ });
2358
+ var PresentationLinkSchema = z.object({
2359
+ uri: uriSchema,
2360
+ label: z.string().refine(maxGraphemes(64)).max(640).optional(),
2361
+ type: z.string().optional()
2362
+ });
2363
+ var ProfilePresentationRecordSchema = z.object({
2364
+ title: z.string().min(1).refine(maxGraphemes(300)).max(3e3),
2365
+ description: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
2366
+ duration: PresentationDurationSchema.optional(),
2367
+ intendedAudiences: z.array(z.string().refine(maxGraphemes(100)).max(1e3)).max(20).optional(),
2368
+ links: z.array(PresentationLinkSchema).max(20).optional(),
2369
+ // Optional reference to a long-form write-up (pub.leaflet.document or
2370
+ // site.standard.document). Plain at-uri + optional cid so it tracks edits.
2371
+ writeupRef: externalRecordRefSchema.optional(),
2372
+ createdAt: datetimeSchema
2373
+ });
2374
+ var ProfilePresentationDeliveryRecordSchema = z.object({
2375
+ // Optional reference to the id.sifa.profile.presentation delivered here.
2376
+ presentationRef: externalRecordRefSchema.optional(),
2377
+ // Fallback title used when there is no presentationRef.
2378
+ title: z.string().refine(maxGraphemes(300)).max(3e3).optional(),
2379
+ role: z.string().refine(maxGraphemes(64)).max(640).optional(),
2380
+ eventName: z.string().refine(maxGraphemes(300)).max(3e3).optional(),
2381
+ // Calendar date as YYYY-MM-DD (day only).
2382
+ date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "date must be YYYY-MM-DD").optional(),
2383
+ location: z.string().refine(maxGraphemes(256)).max(2560).optional(),
2384
+ mode: z.string().optional(),
2385
+ status: z.string().optional(),
2386
+ links: z.array(PresentationLinkSchema).max(20).optional(),
2387
+ // Optional reference to a community.lexicon.calendar.event for this occasion.
2388
+ eventRef: externalRecordRefSchema.optional(),
2389
+ createdAt: datetimeSchema
2390
+ });
2287
2391
  var ProfileProjectRecordSchema = z.object({
2288
2392
  name: z.string().min(1).refine(maxGraphemes(100)).max(1e3),
2289
2393
  description: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
@@ -2338,8 +2442,8 @@ var ProfileVolunteeringRecordSchema = z.object({
2338
2442
  });
2339
2443
 
2340
2444
  // src/index.ts
2341
- var SIFA_SDK_VERSION = "0.11.1";
2445
+ var SIFA_SDK_VERSION = "0.11.3";
2342
2446
 
2343
- export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, ADULT_CONTENT_LABELS, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, AtmosphereFeedItemSchema, 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, PUBLISHERS, ProfileCertificationRecordSchema, ProfileCourseRecordSchema, ProfileEducationRecordSchema, ProfileExternalAccountRecordSchema, ProfileHonorRecordSchema, ProfileLanguageRecordSchema, ProfilePositionRecordSchema, 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, encodeFeedCursor, findIndustry, formatDistanceToNow, formatLocation, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppCategoryIcon, getAppIdForCollection, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, hasAdultContent, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, normalizeOpenTo, normalizePlatformId, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, selfLabelsSchema, singleDateExtractor, sortByDateDesc, strongRefSchema, truncateGraphemes, uriSchema };
2447
+ 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, encodeFeedCursor, externalRecordRefSchema, findIndustry, formatDistanceToNow, formatLocation, 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, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, selfLabelsSchema, singleDateExtractor, sortByDateDesc, strongRefSchema, truncateGraphemes, uriSchema };
2344
2448
  //# sourceMappingURL=index.js.map
2345
2449
  //# sourceMappingURL=index.js.map