@singi-labs/sifa-sdk 0.11.31 → 0.12.0
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.cjs +83 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +73 -2
- package/dist/index.d.ts +73 -2
- package/dist/index.js +78 -33
- package/dist/index.js.map +1 -1
- package/dist/publishing/index.cjs +1 -0
- package/dist/publishing/index.cjs.map +1 -1
- package/dist/publishing/index.js +1 -0
- package/dist/publishing/index.js.map +1 -1
- package/dist/schemas/index.cjs +15 -31
- package/dist/schemas/index.cjs.map +1 -1
- package/dist/schemas/index.d.cts +11 -1
- package/dist/schemas/index.d.ts +11 -1
- package/dist/schemas/index.js +15 -32
- package/dist/schemas/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { P as ProfileSkill, b as ProfilePresentationDelivery, L as LocationValue, c as PdsProviderInfo, d as Profile } from './adult-content-BO4nea-m.cjs';
|
|
2
2
|
export { e as ADULT_CONTENT_LABELS, f as ActiveApp, a as ActivityLabel, A as AdultContentLabel, C as CoSpeaker, g as Endorsement, h as EndorsementData, E as ExternalAccount, i as ExternalAccountKeytraceClaim, F as FeedItem, j as LanguageProficiency, k as PresentationLinkView, l as ProfileCertification, m as ProfileCourse, n as ProfileEducation, o as ProfileHonor, p as ProfileIndustry, q as ProfileInvolvement, r as ProfileInvolvementLink, s as ProfileLanguage, t as ProfileLocation, u as ProfileOverrideSource, v as ProfilePosition, w as ProfilePresentation, x as ProfileProject, y as ProfilePublication, z as ProfileVolunteering, B as PublicationContributor, D as SkillRef, S as SkillSuggestion, T as TrustStat, V as VerifiedAccount, G as hasAdultContent } from './adult-content-BO4nea-m.cjs';
|
|
3
3
|
import { PresentationDuration, ProfilePresentationDeliveryRecord, ProfilePresentationRecord } from './schemas/index.cjs';
|
|
4
|
-
export { ArtifactLink, ArtifactLinkSchema, EndorsementConfirmationRecord, EndorsementConfirmationRecordSchema, EndorsementRecord, EndorsementRecordSchema, GraphFollowRecord, GraphFollowRecordSchema, 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, selfLabelsSchema, strongRefSchema, uriSchema } from './schemas/index.cjs';
|
|
4
|
+
export { ArtifactLink, ArtifactLinkSchema, EndorsementConfirmationRecord, EndorsementConfirmationRecordSchema, EndorsementRecord, EndorsementRecordSchema, GraphFollowRecord, GraphFollowRecordSchema, 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 { E as EntitySearchResult } from './feed-D2ZV8Eaj.cjs';
|
|
6
6
|
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-D2ZV8Eaj.cjs';
|
|
7
7
|
import 'zod';
|
|
@@ -507,6 +507,77 @@ declare const ARTIFACT_LINK_KIND_LABELS: Record<string, string>;
|
|
|
507
507
|
/** Resolve a label for an artifact-link-kind value. Falls back to the raw value. */
|
|
508
508
|
declare function getArtifactLinkKindLabel(value: string | undefined | null): string | undefined;
|
|
509
509
|
|
|
510
|
+
/**
|
|
511
|
+
* Verification providers -- the trust roots Sifa recognizes for AT Protocol
|
|
512
|
+
* `app.bsky.graph.verification` records.
|
|
513
|
+
*
|
|
514
|
+
* Framing (see decisions/2026-07-13-third-party-verification-providers.md, D4):
|
|
515
|
+
* a verification checkmark is ONE low-tier trust layer, not Sifa's headline.
|
|
516
|
+
* Most of what it certifies is "this account is who they claim to be" -- useful,
|
|
517
|
+
* and worth carrying because it's an already-recognized network signal, but low
|
|
518
|
+
* value on its own. It sits among Sifa's other trust signals and never becomes a
|
|
519
|
+
* score or a gate. This registry only decides which issuers Sifa displays and
|
|
520
|
+
* with what provenance.
|
|
521
|
+
*
|
|
522
|
+
* Data-only: badge colors and icons are consumer concerns (React DOM on web,
|
|
523
|
+
* React Native on mobile), same split as {@link PLATFORM_LABELS}. Consumers map
|
|
524
|
+
* a provider id to a token/color.
|
|
525
|
+
*/
|
|
526
|
+
type VerificationProviderId = 'bluesky' | 'mu';
|
|
527
|
+
/** How Sifa learns about a provider's verifications. */
|
|
528
|
+
type VerificationSource = 'bluesky-api' | 'firehose';
|
|
529
|
+
interface VerificationProvider {
|
|
530
|
+
id: VerificationProviderId;
|
|
531
|
+
/** Human label for the badge popover, e.g. "Bluesky", "mu (Eurosky)". */
|
|
532
|
+
label: string;
|
|
533
|
+
/**
|
|
534
|
+
* Primary-display priority (D1): when an account holds verifications from
|
|
535
|
+
* multiple providers, the lowest number wins the single inline badge and the
|
|
536
|
+
* rest move into the popover. Must be unique across providers.
|
|
537
|
+
*/
|
|
538
|
+
priority: number;
|
|
539
|
+
/**
|
|
540
|
+
* - `bluesky-api`: sourced from Bluesky's public-API `verifiedStatus`. Bluesky
|
|
541
|
+
* maintains its own trusted-verifier set, so Sifa keeps no local DID list.
|
|
542
|
+
* - `firehose`: sourced from the Jetstream, gated on {@link verifierDids}.
|
|
543
|
+
*/
|
|
544
|
+
source: VerificationSource;
|
|
545
|
+
/**
|
|
546
|
+
* Trusted verifier DIDs for firehose-sourced providers. A verification record
|
|
547
|
+
* counts only if its ISSUER DID is in this list. Empty for `bluesky-api`
|
|
548
|
+
* providers (Bluesky's AppView owns that decision). DIDs, not handles: a handle
|
|
549
|
+
* takeover must never confer verifier status.
|
|
550
|
+
*/
|
|
551
|
+
verifierDids: readonly string[];
|
|
552
|
+
}
|
|
553
|
+
/**
|
|
554
|
+
* A verification held by an account, as surfaced to the UI. `issuerDid` is
|
|
555
|
+
* present for firehose-sourced providers and absent for `bluesky-api`.
|
|
556
|
+
*/
|
|
557
|
+
interface AccountVerification {
|
|
558
|
+
provider: VerificationProviderId;
|
|
559
|
+
verifiedAt?: string | null;
|
|
560
|
+
issuerDid?: string | null;
|
|
561
|
+
}
|
|
562
|
+
declare const VERIFICATION_PROVIDERS: Record<VerificationProviderId, VerificationProvider>;
|
|
563
|
+
declare function isKnownVerificationProvider(id: string): id is VerificationProviderId;
|
|
564
|
+
declare function getVerificationProvider(id: string): VerificationProvider | undefined;
|
|
565
|
+
/**
|
|
566
|
+
* The firehose issuer gate: given the DID that authored an
|
|
567
|
+
* `app.bsky.graph.verification` record, return the provider it verifies for, or
|
|
568
|
+
* `null` if the issuer is not a recognized firehose verifier. API-sourced
|
|
569
|
+
* providers (Bluesky) are never matched here -- their verifications do not enter
|
|
570
|
+
* through the firehose, so a self-issued record cannot resolve to them.
|
|
571
|
+
*/
|
|
572
|
+
declare function resolveVerifierProvider(issuerDid: string): VerificationProviderId | null;
|
|
573
|
+
/**
|
|
574
|
+
* D1 primary-provider selection: from all verifications an account holds, pick
|
|
575
|
+
* the one whose provider has the highest priority (lowest `priority` number) for
|
|
576
|
+
* the single inline badge. The rest belong in the popover. Verifications from
|
|
577
|
+
* unknown providers are ignored. Returns `null` when nothing is displayable.
|
|
578
|
+
*/
|
|
579
|
+
declare function primaryVerification(verifications: readonly AccountVerification[]): AccountVerification | null;
|
|
580
|
+
|
|
510
581
|
/**
|
|
511
582
|
* Best-effort title-case for a company display name.
|
|
512
583
|
*
|
|
@@ -1196,4 +1267,4 @@ declare function isLinked(entityRef: string | null | undefined): boolean;
|
|
|
1196
1267
|
*/
|
|
1197
1268
|
declare const SIFA_SDK_VERSION: string;
|
|
1198
1269
|
|
|
1199
|
-
export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, 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, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, type CardHealth, type CardHealthStrategy, type ContinentCode, type CsvRow, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, type DisambiguationFields, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, ENTITY_REF_ANCHORS, type EmploymentTypeGroup, type EmploymentTypeOption, type EntityRefAnchor, EntitySearchResult, INDUSTRY_OPTIONS, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, type IndustryOption, 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, 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 PlatformId, type PresentationDeliverySummary, PresentationDuration, type PresentationLinkTypeOption, type PresentationRoleOption, type PrimaryPositionCandidate, Profile, type ProfileCompletion, type ProfileDimensionInputs, ProfilePresentationDelivery, ProfilePresentationDeliveryRecord, ProfilePresentationRecord, 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, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, durationFromMinutes, entityDisambiguationLabel, entityResultKey, findIndustry, formatCompanyName, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppCategoryIcon, getAppIdForCollection, getArtifactLinkKindLabel, getCalendarEventModeLabel, getCalendarEventStatusLabel, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getInvolvementKindHeading, getInvolvementKindLabel, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isLinked, isPseudoEmployer, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, looksLikeDomain, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, profileToDimensionInputs, relativeLuminance, resolveCardHealth, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, singleDateExtractor, sortByDateDesc, stripHtmlToText, summarizePresentationDeliveries, truncateGraphemes };
|
|
1270
|
+
export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, type AccountVerification, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, 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, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, type CardHealth, type CardHealthStrategy, type ContinentCode, type CsvRow, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, type DisambiguationFields, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, ENTITY_REF_ANCHORS, type EmploymentTypeGroup, type EmploymentTypeOption, type EntityRefAnchor, EntitySearchResult, INDUSTRY_OPTIONS, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, type IndustryOption, 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, 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 PlatformId, type PresentationDeliverySummary, PresentationDuration, type PresentationLinkTypeOption, type PresentationRoleOption, type PrimaryPositionCandidate, Profile, type ProfileCompletion, type ProfileDimensionInputs, ProfilePresentationDelivery, ProfilePresentationDeliveryRecord, ProfilePresentationRecord, ProfileSkill, type Publisher, type RgbColor, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, type SkillCategory, type TierMeta, VERIFICATION_PROVIDERS, type VerificationProvider, type VerificationProviderId, type VerificationSource, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, categoryForApp, certDateExtractor, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, durationFromMinutes, entityDisambiguationLabel, entityResultKey, findIndustry, formatCompanyName, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, 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, getWorkplaceTypeLabel, groupSkillsByCategory, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isKnownVerificationProvider, isLinked, isPseudoEmployer, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, looksLikeDomain, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, primaryVerification, profileToDimensionInputs, relativeLuminance, resolveCardHealth, resolveCardUrl, resolveVerifierProvider, rgbToString, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, singleDateExtractor, sortByDateDesc, stripHtmlToText, summarizePresentationDeliveries, truncateGraphemes };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { P as ProfileSkill, b as ProfilePresentationDelivery, L as LocationValue, c as PdsProviderInfo, d as Profile } from './adult-content-BO4nea-m.js';
|
|
2
2
|
export { e as ADULT_CONTENT_LABELS, f as ActiveApp, a as ActivityLabel, A as AdultContentLabel, C as CoSpeaker, g as Endorsement, h as EndorsementData, E as ExternalAccount, i as ExternalAccountKeytraceClaim, F as FeedItem, j as LanguageProficiency, k as PresentationLinkView, l as ProfileCertification, m as ProfileCourse, n as ProfileEducation, o as ProfileHonor, p as ProfileIndustry, q as ProfileInvolvement, r as ProfileInvolvementLink, s as ProfileLanguage, t as ProfileLocation, u as ProfileOverrideSource, v as ProfilePosition, w as ProfilePresentation, x as ProfileProject, y as ProfilePublication, z as ProfileVolunteering, B as PublicationContributor, D as SkillRef, S as SkillSuggestion, T as TrustStat, V as VerifiedAccount, G as hasAdultContent } from './adult-content-BO4nea-m.js';
|
|
3
3
|
import { PresentationDuration, ProfilePresentationDeliveryRecord, ProfilePresentationRecord } from './schemas/index.js';
|
|
4
|
-
export { ArtifactLink, ArtifactLinkSchema, EndorsementConfirmationRecord, EndorsementConfirmationRecordSchema, EndorsementRecord, EndorsementRecordSchema, GraphFollowRecord, GraphFollowRecordSchema, 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, selfLabelsSchema, strongRefSchema, uriSchema } from './schemas/index.js';
|
|
4
|
+
export { ArtifactLink, ArtifactLinkSchema, EndorsementConfirmationRecord, EndorsementConfirmationRecordSchema, EndorsementRecord, EndorsementRecordSchema, GraphFollowRecord, GraphFollowRecordSchema, 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 { E as EntitySearchResult } from './feed-D2ZV8Eaj.js';
|
|
6
6
|
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-D2ZV8Eaj.js';
|
|
7
7
|
import 'zod';
|
|
@@ -507,6 +507,77 @@ declare const ARTIFACT_LINK_KIND_LABELS: Record<string, string>;
|
|
|
507
507
|
/** Resolve a label for an artifact-link-kind value. Falls back to the raw value. */
|
|
508
508
|
declare function getArtifactLinkKindLabel(value: string | undefined | null): string | undefined;
|
|
509
509
|
|
|
510
|
+
/**
|
|
511
|
+
* Verification providers -- the trust roots Sifa recognizes for AT Protocol
|
|
512
|
+
* `app.bsky.graph.verification` records.
|
|
513
|
+
*
|
|
514
|
+
* Framing (see decisions/2026-07-13-third-party-verification-providers.md, D4):
|
|
515
|
+
* a verification checkmark is ONE low-tier trust layer, not Sifa's headline.
|
|
516
|
+
* Most of what it certifies is "this account is who they claim to be" -- useful,
|
|
517
|
+
* and worth carrying because it's an already-recognized network signal, but low
|
|
518
|
+
* value on its own. It sits among Sifa's other trust signals and never becomes a
|
|
519
|
+
* score or a gate. This registry only decides which issuers Sifa displays and
|
|
520
|
+
* with what provenance.
|
|
521
|
+
*
|
|
522
|
+
* Data-only: badge colors and icons are consumer concerns (React DOM on web,
|
|
523
|
+
* React Native on mobile), same split as {@link PLATFORM_LABELS}. Consumers map
|
|
524
|
+
* a provider id to a token/color.
|
|
525
|
+
*/
|
|
526
|
+
type VerificationProviderId = 'bluesky' | 'mu';
|
|
527
|
+
/** How Sifa learns about a provider's verifications. */
|
|
528
|
+
type VerificationSource = 'bluesky-api' | 'firehose';
|
|
529
|
+
interface VerificationProvider {
|
|
530
|
+
id: VerificationProviderId;
|
|
531
|
+
/** Human label for the badge popover, e.g. "Bluesky", "mu (Eurosky)". */
|
|
532
|
+
label: string;
|
|
533
|
+
/**
|
|
534
|
+
* Primary-display priority (D1): when an account holds verifications from
|
|
535
|
+
* multiple providers, the lowest number wins the single inline badge and the
|
|
536
|
+
* rest move into the popover. Must be unique across providers.
|
|
537
|
+
*/
|
|
538
|
+
priority: number;
|
|
539
|
+
/**
|
|
540
|
+
* - `bluesky-api`: sourced from Bluesky's public-API `verifiedStatus`. Bluesky
|
|
541
|
+
* maintains its own trusted-verifier set, so Sifa keeps no local DID list.
|
|
542
|
+
* - `firehose`: sourced from the Jetstream, gated on {@link verifierDids}.
|
|
543
|
+
*/
|
|
544
|
+
source: VerificationSource;
|
|
545
|
+
/**
|
|
546
|
+
* Trusted verifier DIDs for firehose-sourced providers. A verification record
|
|
547
|
+
* counts only if its ISSUER DID is in this list. Empty for `bluesky-api`
|
|
548
|
+
* providers (Bluesky's AppView owns that decision). DIDs, not handles: a handle
|
|
549
|
+
* takeover must never confer verifier status.
|
|
550
|
+
*/
|
|
551
|
+
verifierDids: readonly string[];
|
|
552
|
+
}
|
|
553
|
+
/**
|
|
554
|
+
* A verification held by an account, as surfaced to the UI. `issuerDid` is
|
|
555
|
+
* present for firehose-sourced providers and absent for `bluesky-api`.
|
|
556
|
+
*/
|
|
557
|
+
interface AccountVerification {
|
|
558
|
+
provider: VerificationProviderId;
|
|
559
|
+
verifiedAt?: string | null;
|
|
560
|
+
issuerDid?: string | null;
|
|
561
|
+
}
|
|
562
|
+
declare const VERIFICATION_PROVIDERS: Record<VerificationProviderId, VerificationProvider>;
|
|
563
|
+
declare function isKnownVerificationProvider(id: string): id is VerificationProviderId;
|
|
564
|
+
declare function getVerificationProvider(id: string): VerificationProvider | undefined;
|
|
565
|
+
/**
|
|
566
|
+
* The firehose issuer gate: given the DID that authored an
|
|
567
|
+
* `app.bsky.graph.verification` record, return the provider it verifies for, or
|
|
568
|
+
* `null` if the issuer is not a recognized firehose verifier. API-sourced
|
|
569
|
+
* providers (Bluesky) are never matched here -- their verifications do not enter
|
|
570
|
+
* through the firehose, so a self-issued record cannot resolve to them.
|
|
571
|
+
*/
|
|
572
|
+
declare function resolveVerifierProvider(issuerDid: string): VerificationProviderId | null;
|
|
573
|
+
/**
|
|
574
|
+
* D1 primary-provider selection: from all verifications an account holds, pick
|
|
575
|
+
* the one whose provider has the highest priority (lowest `priority` number) for
|
|
576
|
+
* the single inline badge. The rest belong in the popover. Verifications from
|
|
577
|
+
* unknown providers are ignored. Returns `null` when nothing is displayable.
|
|
578
|
+
*/
|
|
579
|
+
declare function primaryVerification(verifications: readonly AccountVerification[]): AccountVerification | null;
|
|
580
|
+
|
|
510
581
|
/**
|
|
511
582
|
* Best-effort title-case for a company display name.
|
|
512
583
|
*
|
|
@@ -1196,4 +1267,4 @@ declare function isLinked(entityRef: string | null | undefined): boolean;
|
|
|
1196
1267
|
*/
|
|
1197
1268
|
declare const SIFA_SDK_VERSION: string;
|
|
1198
1269
|
|
|
1199
|
-
export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, 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, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, type CardHealth, type CardHealthStrategy, type ContinentCode, type CsvRow, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, type DisambiguationFields, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, ENTITY_REF_ANCHORS, type EmploymentTypeGroup, type EmploymentTypeOption, type EntityRefAnchor, EntitySearchResult, INDUSTRY_OPTIONS, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, type IndustryOption, 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, 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 PlatformId, type PresentationDeliverySummary, PresentationDuration, type PresentationLinkTypeOption, type PresentationRoleOption, type PrimaryPositionCandidate, Profile, type ProfileCompletion, type ProfileDimensionInputs, ProfilePresentationDelivery, ProfilePresentationDeliveryRecord, ProfilePresentationRecord, 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, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, durationFromMinutes, entityDisambiguationLabel, entityResultKey, findIndustry, formatCompanyName, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppCategoryIcon, getAppIdForCollection, getArtifactLinkKindLabel, getCalendarEventModeLabel, getCalendarEventStatusLabel, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getInvolvementKindHeading, getInvolvementKindLabel, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isLinked, isPseudoEmployer, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, looksLikeDomain, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, profileToDimensionInputs, relativeLuminance, resolveCardHealth, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, singleDateExtractor, sortByDateDesc, stripHtmlToText, summarizePresentationDeliveries, truncateGraphemes };
|
|
1270
|
+
export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, type AccountVerification, type ActivityItemForUrl, type ActivityTaxonomy, type ActivityTier, 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, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, type CardHealth, type CardHealthStrategy, type ContinentCode, type CsvRow, DIMENSIONS_MAX_SCORE, type DimensionKey, type DimensionMap, type DisambiguationFields, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, ENTITY_REF_ANCHORS, type EmploymentTypeGroup, type EmploymentTypeOption, type EntityRefAnchor, EntitySearchResult, INDUSTRY_OPTIONS, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, type IndustryOption, 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, 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 PlatformId, type PresentationDeliverySummary, PresentationDuration, type PresentationLinkTypeOption, type PresentationRoleOption, type PrimaryPositionCandidate, Profile, type ProfileCompletion, type ProfileDimensionInputs, ProfilePresentationDelivery, ProfilePresentationDeliveryRecord, ProfilePresentationRecord, ProfileSkill, type Publisher, type RgbColor, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, type SkillCategory, type TierMeta, VERIFICATION_PROVIDERS, type VerificationProvider, type VerificationProviderId, type VerificationSource, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, type WorkplaceTypeOption, categoryForApp, certDateExtractor, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, dedupeSkills, detectPdsProvider, dimensionsFromInputs, durationFromMinutes, entityDisambiguationLabel, entityResultKey, findIndustry, formatCompanyName, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, 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, getWorkplaceTypeLabel, groupSkillsByCategory, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isKnownVerificationProvider, isLinked, isPseudoEmployer, isValidRgbColor, isVisibleActivityItem, lexiconDateExtractor, limitCombiningMarks, looksLikeDomain, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, primaryVerification, profileToDimensionInputs, relativeLuminance, resolveCardHealth, resolveCardUrl, resolveVerifierProvider, rgbToString, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, singleDateExtractor, sortByDateDesc, stripHtmlToText, summarizePresentationDeliveries, truncateGraphemes };
|
package/dist/index.js
CHANGED
|
@@ -1479,6 +1479,68 @@ function getArtifactLinkKindLabel(value) {
|
|
|
1479
1479
|
return ARTIFACT_LINK_KIND_LABELS[value] ?? value;
|
|
1480
1480
|
}
|
|
1481
1481
|
|
|
1482
|
+
// src/taxonomy/verification-providers.ts
|
|
1483
|
+
var MU_VERIFIER_DIDS = [
|
|
1484
|
+
"did:plc:ooensn4mr5mhznzypvxelfa3",
|
|
1485
|
+
// eurosky.social -- coordinates the trusted-verifier program
|
|
1486
|
+
"did:plc:durcipmx2rwgzzagbiumobs5",
|
|
1487
|
+
// france-atmosphe.re
|
|
1488
|
+
"did:plc:zsf5p7rqilz2qvyd7ezmxrfj",
|
|
1489
|
+
// belgium-atmosphe.re
|
|
1490
|
+
"did:plc:hd564mpf6bekrwzyhvujs54b",
|
|
1491
|
+
// medsky.network
|
|
1492
|
+
"did:plc:u5zp7npt5kpueado77kuihyz",
|
|
1493
|
+
// npmx.dev
|
|
1494
|
+
"did:plc:6tndl5lqrzjrx7ahjom2gjbq",
|
|
1495
|
+
// stewardshiplab.org
|
|
1496
|
+
"did:plc:vnycpb2e4lh4tc7oyr3n2jvh",
|
|
1497
|
+
// newsmastfoundation.org
|
|
1498
|
+
"did:plc:dsiqe4pszk5ldbjk66fyryjv"
|
|
1499
|
+
// cpesr.fr
|
|
1500
|
+
];
|
|
1501
|
+
var VERIFICATION_PROVIDERS = {
|
|
1502
|
+
bluesky: {
|
|
1503
|
+
id: "bluesky",
|
|
1504
|
+
label: "Bluesky",
|
|
1505
|
+
priority: 0,
|
|
1506
|
+
source: "bluesky-api",
|
|
1507
|
+
verifierDids: []
|
|
1508
|
+
},
|
|
1509
|
+
mu: {
|
|
1510
|
+
id: "mu",
|
|
1511
|
+
label: "mu (Eurosky)",
|
|
1512
|
+
priority: 1,
|
|
1513
|
+
source: "firehose",
|
|
1514
|
+
verifierDids: MU_VERIFIER_DIDS
|
|
1515
|
+
}
|
|
1516
|
+
};
|
|
1517
|
+
function isKnownVerificationProvider(id) {
|
|
1518
|
+
return Object.hasOwn(VERIFICATION_PROVIDERS, id);
|
|
1519
|
+
}
|
|
1520
|
+
function getVerificationProvider(id) {
|
|
1521
|
+
return isKnownVerificationProvider(id) ? VERIFICATION_PROVIDERS[id] : void 0;
|
|
1522
|
+
}
|
|
1523
|
+
function resolveVerifierProvider(issuerDid) {
|
|
1524
|
+
for (const provider of Object.values(VERIFICATION_PROVIDERS)) {
|
|
1525
|
+
if (provider.source !== "firehose") continue;
|
|
1526
|
+
if (provider.verifierDids.includes(issuerDid)) return provider.id;
|
|
1527
|
+
}
|
|
1528
|
+
return null;
|
|
1529
|
+
}
|
|
1530
|
+
function primaryVerification(verifications) {
|
|
1531
|
+
let best = null;
|
|
1532
|
+
let bestPriority = Number.POSITIVE_INFINITY;
|
|
1533
|
+
for (const verification of verifications) {
|
|
1534
|
+
const provider = getVerificationProvider(verification.provider);
|
|
1535
|
+
if (!provider) continue;
|
|
1536
|
+
if (provider.priority < bestPriority) {
|
|
1537
|
+
best = verification;
|
|
1538
|
+
bestPriority = provider.priority;
|
|
1539
|
+
}
|
|
1540
|
+
}
|
|
1541
|
+
return best;
|
|
1542
|
+
}
|
|
1543
|
+
|
|
1482
1544
|
// src/format/company-name.ts
|
|
1483
1545
|
var SMALL_WORDS = /* @__PURE__ */ new Set([
|
|
1484
1546
|
"a",
|
|
@@ -2717,6 +2779,7 @@ function maxGraphemes(max) {
|
|
|
2717
2779
|
}
|
|
2718
2780
|
var didSchema = z.string().regex(/^did:[a-z]+:[a-zA-Z0-9._:%-]+$/, "Invalid DID");
|
|
2719
2781
|
var datetimeSchema = z.string().datetime({ offset: true });
|
|
2782
|
+
var partialDateSchema = z.string().regex(/^\d{4}(-\d{2}(-\d{2}(T.+)?)?)?$/, "Expected YYYY, YYYY-MM, YYYY-MM-DD, or a datetime");
|
|
2720
2783
|
var atUriSchema = z.string().regex(/^at:\/\/[^\s]+$/, "Invalid AT-URI");
|
|
2721
2784
|
var cidSchema = z.string().regex(/^(Qm[1-9A-HJ-NP-Za-km-z]{44}|b[A-Za-z0-9+/=]+)$/, "Invalid CID");
|
|
2722
2785
|
var languageTagSchema = z.string().regex(/^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/, "Invalid BCP 47 language tag");
|
|
@@ -2901,10 +2964,8 @@ var ProfileCertificationRecordSchema = z.object({
|
|
|
2901
2964
|
entityRef: z.string().url().refine((s) => /^https?:\/\//i.test(s), { message: "entityRef must be an http(s) URL" }).max(2048).optional(),
|
|
2902
2965
|
credentialId: z.string().refine(maxGraphemes(100)).max(1e3).optional(),
|
|
2903
2966
|
credentialUrl: uriSchema.optional(),
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
issuedAt: z.string().optional(),
|
|
2907
|
-
expiresAt: z.string().optional(),
|
|
2967
|
+
issuedAt: partialDateSchema.optional(),
|
|
2968
|
+
expiresAt: partialDateSchema.optional(),
|
|
2908
2969
|
labels: selfLabelsSchema.optional(),
|
|
2909
2970
|
createdAt: datetimeSchema
|
|
2910
2971
|
});
|
|
@@ -2919,10 +2980,7 @@ var ProfileCourseRecordSchema = z.object({
|
|
|
2919
2980
|
// AT-URI of the associated id.sifa.profile.certification record. Plain
|
|
2920
2981
|
// at-uri (not a strongRef) so the link tracks the live certification.
|
|
2921
2982
|
credential: atUriSchema.optional(),
|
|
2922
|
-
|
|
2923
|
-
// datetime) so month-granularity and partial dates are accepted. See
|
|
2924
|
-
// sifa-lexicons#256.
|
|
2925
|
-
completedAt: z.string().optional(),
|
|
2983
|
+
completedAt: partialDateSchema.optional(),
|
|
2926
2984
|
createdAt: datetimeSchema
|
|
2927
2985
|
});
|
|
2928
2986
|
var ProfileEducationRecordSchema = z.object({
|
|
@@ -2937,10 +2995,8 @@ var ProfileEducationRecordSchema = z.object({
|
|
|
2937
2995
|
activities: z.string().refine(maxGraphemes(1e3)).max(1e4).optional(),
|
|
2938
2996
|
description: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
|
|
2939
2997
|
location: z.unknown().optional(),
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
startedAt: z.string().optional(),
|
|
2943
|
-
endedAt: z.string().optional(),
|
|
2998
|
+
startedAt: partialDateSchema.optional(),
|
|
2999
|
+
endedAt: partialDateSchema.optional(),
|
|
2944
3000
|
labels: selfLabelsSchema.optional(),
|
|
2945
3001
|
createdAt: datetimeSchema
|
|
2946
3002
|
});
|
|
@@ -2960,13 +3016,10 @@ var ProfileHonorRecordSchema = z.object({
|
|
|
2960
3016
|
// Constrained to http(s) so a script-bearing scheme is never a valid ref (#159).
|
|
2961
3017
|
entityRef: z.string().url().refine((s) => /^https?:\/\//i.test(s), { message: "entityRef must be an http(s) URL" }).max(2048).optional(),
|
|
2962
3018
|
description: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
|
|
2963
|
-
|
|
2964
|
-
// and LinkedIn-importer writes are accepted. See sifa-lexicons#256.
|
|
2965
|
-
awardedAt: z.string().optional(),
|
|
3019
|
+
awardedAt: partialDateSchema.optional(),
|
|
2966
3020
|
createdAt: datetimeSchema
|
|
2967
3021
|
});
|
|
2968
3022
|
var PROFILE_INVOLVEMENT_NSID = "id.sifa.profile.involvement";
|
|
2969
|
-
var partialDateSchema = z.string().regex(/^\d{4}(-\d{2}(-\d{2}(T.+)?)?)?$/, "Expected YYYY, YYYY-MM, YYYY-MM-DD, or a datetime");
|
|
2970
3023
|
var ArtifactLinkSchema = z.object({
|
|
2971
3024
|
url: uriSchema,
|
|
2972
3025
|
kind: z.string().optional(),
|
|
@@ -3008,10 +3061,8 @@ var ProfilePositionRecordSchema = z.object({
|
|
|
3008
3061
|
employmentType: z.string().optional(),
|
|
3009
3062
|
workplaceType: z.string().optional(),
|
|
3010
3063
|
location: z.unknown().optional(),
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
startedAt: z.string(),
|
|
3014
|
-
endedAt: z.string().optional(),
|
|
3064
|
+
startedAt: partialDateSchema,
|
|
3065
|
+
endedAt: partialDateSchema.optional(),
|
|
3015
3066
|
skills: z.array(strongRefSchema).max(50).optional(),
|
|
3016
3067
|
labels: selfLabelsSchema.optional(),
|
|
3017
3068
|
createdAt: datetimeSchema
|
|
@@ -3063,10 +3114,8 @@ var ProfileProjectRecordSchema = z.object({
|
|
|
3063
3114
|
description: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
|
|
3064
3115
|
url: uriSchema.optional(),
|
|
3065
3116
|
position: strongRefSchema.optional(),
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
startedAt: z.string().optional(),
|
|
3069
|
-
endedAt: z.string().optional(),
|
|
3117
|
+
startedAt: partialDateSchema.optional(),
|
|
3118
|
+
endedAt: partialDateSchema.optional(),
|
|
3070
3119
|
labels: selfLabelsSchema.optional(),
|
|
3071
3120
|
createdAt: datetimeSchema
|
|
3072
3121
|
});
|
|
@@ -3081,9 +3130,7 @@ var ProfilePublicationRecordSchema = z.object({
|
|
|
3081
3130
|
url: uriSchema.optional(),
|
|
3082
3131
|
description: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
|
|
3083
3132
|
authors: z.array(PublicationAuthorSchema).max(50).optional(),
|
|
3084
|
-
|
|
3085
|
-
// and LinkedIn-importer writes are accepted. See sifa-lexicons#256.
|
|
3086
|
-
publishedAt: z.string().optional(),
|
|
3133
|
+
publishedAt: partialDateSchema.optional(),
|
|
3087
3134
|
createdAt: datetimeSchema
|
|
3088
3135
|
});
|
|
3089
3136
|
var ProfileSelfRecordSchema = z.object({
|
|
@@ -3114,16 +3161,14 @@ var ProfileVolunteeringRecordSchema = z.object({
|
|
|
3114
3161
|
role: z.string().refine(maxGraphemes(100)).max(1e3).optional(),
|
|
3115
3162
|
cause: z.string().refine(maxGraphemes(100)).max(1e3).optional(),
|
|
3116
3163
|
description: z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
startedAt: z.string().optional(),
|
|
3120
|
-
endedAt: z.string().optional(),
|
|
3164
|
+
startedAt: partialDateSchema.optional(),
|
|
3165
|
+
endedAt: partialDateSchema.optional(),
|
|
3121
3166
|
createdAt: datetimeSchema
|
|
3122
3167
|
});
|
|
3123
3168
|
|
|
3124
3169
|
// src/index.ts
|
|
3125
|
-
var SIFA_SDK_VERSION = "0.
|
|
3170
|
+
var SIFA_SDK_VERSION = "0.12.0";
|
|
3126
3171
|
|
|
3127
|
-
export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, ADULT_CONTENT_LABELS, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, ArtifactLinkSchema, 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, 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_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, 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, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, SifaFeedItemSchema, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, atUriSchema, categoryForApp, certDateExtractor, cidSchema, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, datetimeSchema, decodeFeedCursor, dedupeSkills, detectPdsProvider, didSchema, dimensionsFromInputs, durationFromMinutes, encodeFeedCursor, entityDisambiguationLabel, entityResultKey, externalRecordRefSchema, findIndustry, formatCompanyName, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppCategoryIcon, getAppIdForCollection, getArtifactLinkKindLabel, getCalendarEventModeLabel, getCalendarEventStatusLabel, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getInvolvementKindHeading, getInvolvementKindLabel, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, hasAdultContent, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isLinked, isPseudoEmployer, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, looksLikeDomain, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, profileToDimensionInputs, relativeLuminance, resolveCardHealth, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, selfLabelsSchema, singleDateExtractor, sortByDateDesc, stripHtmlToText, strongRefSchema, summarizePresentationDeliveries, truncateGraphemes, uriSchema };
|
|
3172
|
+
export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, ADULT_CONTENT_LABELS, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, ArtifactLinkSchema, 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, 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_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, 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, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, SifaFeedItemSchema, VERIFICATION_PROVIDERS, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, atUriSchema, categoryForApp, certDateExtractor, cidSchema, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countryCodeToFlag, dateRangeExtractor, datetimeSchema, decodeFeedCursor, dedupeSkills, detectPdsProvider, didSchema, dimensionsFromInputs, durationFromMinutes, encodeFeedCursor, entityDisambiguationLabel, entityResultKey, externalRecordRefSchema, findIndustry, formatCompanyName, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, 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, getWorkplaceTypeLabel, groupSkillsByCategory, hasAdultContent, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isKnownVerificationProvider, isLinked, isPseudoEmployer, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, looksLikeDomain, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, normalizeCompanyKey, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, partialDateSchema, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, primaryVerification, profileToDimensionInputs, relativeLuminance, resolveCardHealth, resolveCardUrl, resolveVerifierProvider, rgbToString, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, selfLabelsSchema, singleDateExtractor, sortByDateDesc, stripHtmlToText, strongRefSchema, summarizePresentationDeliveries, truncateGraphemes, uriSchema };
|
|
3128
3173
|
//# sourceMappingURL=index.js.map
|
|
3129
3174
|
//# sourceMappingURL=index.js.map
|