@singi-labs/sifa-sdk 0.19.13 → 0.19.14
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 +67 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -5
- package/dist/index.d.ts +11 -5
- package/dist/index.js +67 -24
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1610,19 +1610,25 @@ interface ActivityItem {
|
|
|
1610
1610
|
* standard-site; "posted" spans Bluesky and Picosky) so a day-grouped feed
|
|
1611
1611
|
* reads like sentences.
|
|
1612
1612
|
*/
|
|
1613
|
-
declare const STREAM_VERBS: readonly ["posted", "reposted", "published", "presented", "endorsed", "joined", "shipped", "reviewed", "created"];
|
|
1613
|
+
declare const STREAM_VERBS: readonly ["posted", "reposted", "published", "presented", "endorsed", "joined", "shipped", "reviewed", "created", "commented", "replied", "rsvped", "liked", "followed", "bookmarked"];
|
|
1614
1614
|
type StreamVerb = (typeof STREAM_VERBS)[number];
|
|
1615
1615
|
/** Zod enum for a {@link StreamVerb}, shared with the view-model schema. */
|
|
1616
1616
|
declare const streamVerbSchema: z.ZodEnum<{
|
|
1617
1617
|
created: "created";
|
|
1618
|
+
joined: "joined";
|
|
1619
|
+
replied: "replied";
|
|
1618
1620
|
posted: "posted";
|
|
1619
|
-
reviewed: "reviewed";
|
|
1620
1621
|
reposted: "reposted";
|
|
1622
|
+
shipped: "shipped";
|
|
1623
|
+
bookmarked: "bookmarked";
|
|
1624
|
+
followed: "followed";
|
|
1625
|
+
reviewed: "reviewed";
|
|
1621
1626
|
published: "published";
|
|
1622
|
-
|
|
1627
|
+
rsvped: "rsvped";
|
|
1628
|
+
commented: "commented";
|
|
1623
1629
|
endorsed: "endorsed";
|
|
1624
|
-
|
|
1625
|
-
|
|
1630
|
+
presented: "presented";
|
|
1631
|
+
liked: "liked";
|
|
1626
1632
|
}>;
|
|
1627
1633
|
interface ActivityVerbMap {
|
|
1628
1634
|
version: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -1610,19 +1610,25 @@ interface ActivityItem {
|
|
|
1610
1610
|
* standard-site; "posted" spans Bluesky and Picosky) so a day-grouped feed
|
|
1611
1611
|
* reads like sentences.
|
|
1612
1612
|
*/
|
|
1613
|
-
declare const STREAM_VERBS: readonly ["posted", "reposted", "published", "presented", "endorsed", "joined", "shipped", "reviewed", "created"];
|
|
1613
|
+
declare const STREAM_VERBS: readonly ["posted", "reposted", "published", "presented", "endorsed", "joined", "shipped", "reviewed", "created", "commented", "replied", "rsvped", "liked", "followed", "bookmarked"];
|
|
1614
1614
|
type StreamVerb = (typeof STREAM_VERBS)[number];
|
|
1615
1615
|
/** Zod enum for a {@link StreamVerb}, shared with the view-model schema. */
|
|
1616
1616
|
declare const streamVerbSchema: z.ZodEnum<{
|
|
1617
1617
|
created: "created";
|
|
1618
|
+
joined: "joined";
|
|
1619
|
+
replied: "replied";
|
|
1618
1620
|
posted: "posted";
|
|
1619
|
-
reviewed: "reviewed";
|
|
1620
1621
|
reposted: "reposted";
|
|
1622
|
+
shipped: "shipped";
|
|
1623
|
+
bookmarked: "bookmarked";
|
|
1624
|
+
followed: "followed";
|
|
1625
|
+
reviewed: "reviewed";
|
|
1621
1626
|
published: "published";
|
|
1622
|
-
|
|
1627
|
+
rsvped: "rsvped";
|
|
1628
|
+
commented: "commented";
|
|
1623
1629
|
endorsed: "endorsed";
|
|
1624
|
-
|
|
1625
|
-
|
|
1630
|
+
presented: "presented";
|
|
1631
|
+
liked: "liked";
|
|
1626
1632
|
}>;
|
|
1627
1633
|
interface ActivityVerbMap {
|
|
1628
1634
|
version: string;
|
package/dist/index.js
CHANGED
|
@@ -4012,37 +4012,48 @@ function getPublisherFromSiteUrl(siteUrl) {
|
|
|
4012
4012
|
// src/stream/verbs.json
|
|
4013
4013
|
var verbs_default = {
|
|
4014
4014
|
$schema: "https://sifa.id/schemas/activity-verbs/v1.json",
|
|
4015
|
-
version: "1.
|
|
4016
|
-
updated: "2026-
|
|
4015
|
+
version: "1.2.0",
|
|
4016
|
+
updated: "2026-09-18",
|
|
4017
4017
|
defaultVerb: "created",
|
|
4018
4018
|
verbs: {
|
|
4019
|
+
"agency.portable.membership": "joined",
|
|
4020
|
+
"app.atmobb.discussion.reply": "replied",
|
|
4019
4021
|
"app.bsky.feed.post": "posted",
|
|
4022
|
+
"app.bsky.feed.repost": "reposted",
|
|
4023
|
+
"app.sidetrail.trail": "shipped",
|
|
4024
|
+
"app.sidetrail.walk": "shipped",
|
|
4025
|
+
"app.userinput.reply": "replied",
|
|
4026
|
+
"at.margin.bookmark": "bookmarked",
|
|
4027
|
+
"at.youandme.connection": "followed",
|
|
4020
4028
|
"blue.flashes.feed.post": "posted",
|
|
4021
|
-
"social.psky.feed.post": "posted",
|
|
4022
|
-
"social.popfeed.feed.post": "posted",
|
|
4023
|
-
"social.popfeed.feed.note": "posted",
|
|
4024
|
-
"social.popfeed.feed.review": "reviewed",
|
|
4025
4029
|
"buzz.bookhive.book": "reviewed",
|
|
4026
|
-
"fyi.unravel.frontpage.post": "posted",
|
|
4027
|
-
"forum.barazo.post": "posted",
|
|
4028
|
-
"app.bsky.feed.repost": "reposted",
|
|
4029
4030
|
"com.whtwnd.blog.entry": "published",
|
|
4030
|
-
"
|
|
4031
|
+
"community.lexicon.calendar.rsvp": "rsvped",
|
|
4032
|
+
"community.nooki.comments": "commented",
|
|
4033
|
+
"community.nooki.membership": "joined",
|
|
4034
|
+
"community.opensocial.membership": "joined",
|
|
4031
4035
|
"computer.aetheros.page": "published",
|
|
4032
|
-
"
|
|
4033
|
-
"
|
|
4036
|
+
"eu.atcommons.member": "joined",
|
|
4037
|
+
"fm.plyr.comment": "commented",
|
|
4038
|
+
"forum.barazo.post": "posted",
|
|
4039
|
+
"fyi.unravel.frontpage.post": "posted",
|
|
4040
|
+
"id.sifa.endorsement": "endorsed",
|
|
4041
|
+
"id.sifa.graph.connection": "joined",
|
|
4034
4042
|
"id.sifa.profile.presentation": "presented",
|
|
4035
4043
|
"id.sifa.profile.presentationDelivery": "presented",
|
|
4036
|
-
"
|
|
4044
|
+
"link.pastesphere.snippet": "published",
|
|
4045
|
+
"org.impactindexer.review.comment": "commented",
|
|
4046
|
+
"pub.leaflet.comment": "commented",
|
|
4037
4047
|
"sh.tangled.repo": "shipped",
|
|
4038
4048
|
"sh.tangled.repo.issue": "shipped",
|
|
4039
4049
|
"sh.tangled.repo.pull": "shipped",
|
|
4040
|
-
"
|
|
4041
|
-
"app.sidetrail.walk": "shipped",
|
|
4050
|
+
"site.standard.document": "published",
|
|
4042
4051
|
"social.colibri.membership": "joined",
|
|
4043
|
-
"
|
|
4044
|
-
"
|
|
4045
|
-
"
|
|
4052
|
+
"social.kut.community.membership": "joined",
|
|
4053
|
+
"social.popfeed.feed.note": "posted",
|
|
4054
|
+
"social.popfeed.feed.post": "posted",
|
|
4055
|
+
"social.popfeed.feed.review": "reviewed",
|
|
4056
|
+
"social.psky.feed.post": "posted"
|
|
4046
4057
|
}
|
|
4047
4058
|
};
|
|
4048
4059
|
|
|
@@ -4056,7 +4067,16 @@ var STREAM_VERBS = [
|
|
|
4056
4067
|
"joined",
|
|
4057
4068
|
"shipped",
|
|
4058
4069
|
"reviewed",
|
|
4059
|
-
"created"
|
|
4070
|
+
"created",
|
|
4071
|
+
// Relational verbs: a reaction or reference to someone else's thing. These
|
|
4072
|
+
// read with the subject the two-tier line renders after them ("Commented on
|
|
4073
|
+
// {doc}", "Followed {person}").
|
|
4074
|
+
"commented",
|
|
4075
|
+
"replied",
|
|
4076
|
+
"rsvped",
|
|
4077
|
+
"liked",
|
|
4078
|
+
"followed",
|
|
4079
|
+
"bookmarked"
|
|
4060
4080
|
];
|
|
4061
4081
|
var streamVerbSchema = z.enum(STREAM_VERBS);
|
|
4062
4082
|
var verbMapSchema = z.object({
|
|
@@ -4505,10 +4525,33 @@ var TITLE_BY_VERB = {
|
|
|
4505
4525
|
joined: (label) => `Joined ${label}`,
|
|
4506
4526
|
shipped: (label) => `Shipped on ${label}`,
|
|
4507
4527
|
reviewed: (label) => `Reviewed on ${label}`,
|
|
4508
|
-
created: (label) => `Shared on ${label}
|
|
4528
|
+
created: (label) => `Shared on ${label}`,
|
|
4529
|
+
commented: (_label, hasSubject) => hasSubject ? "Commented on" : "Commented",
|
|
4530
|
+
replied: (_label, hasSubject) => hasSubject ? "Replied to" : "Replied",
|
|
4531
|
+
rsvped: (_label, hasSubject) => hasSubject ? "RSVP'd to" : "RSVP'd",
|
|
4532
|
+
liked: () => "Liked",
|
|
4533
|
+
followed: () => "Followed",
|
|
4534
|
+
bookmarked: () => "Bookmarked"
|
|
4509
4535
|
};
|
|
4510
|
-
function buildTitle(verb, label) {
|
|
4511
|
-
return TITLE_BY_VERB[verb](label);
|
|
4536
|
+
function buildTitle(verb, label, hasSubject) {
|
|
4537
|
+
return TITLE_BY_VERB[verb](label, hasSubject);
|
|
4538
|
+
}
|
|
4539
|
+
function recordHasSubjectRef(record) {
|
|
4540
|
+
if (!record) return false;
|
|
4541
|
+
const subject = record.subject;
|
|
4542
|
+
if (typeof subject === "string" && subject.startsWith("at://")) return true;
|
|
4543
|
+
if (subject && typeof subject === "object") {
|
|
4544
|
+
const uri = subject.uri;
|
|
4545
|
+
if (typeof uri === "string" && uri.length > 0) return true;
|
|
4546
|
+
}
|
|
4547
|
+
const reply = record.reply;
|
|
4548
|
+
if (reply && typeof reply === "object") {
|
|
4549
|
+
for (const key of ["parent", "root"]) {
|
|
4550
|
+
const ref = reply[key];
|
|
4551
|
+
if (ref && typeof ref === "object" && typeof ref.uri === "string") return true;
|
|
4552
|
+
}
|
|
4553
|
+
}
|
|
4554
|
+
return false;
|
|
4512
4555
|
}
|
|
4513
4556
|
function resolveSourceUrl(item, record) {
|
|
4514
4557
|
const authorDid = didFromUri(item.uri);
|
|
@@ -5036,7 +5079,7 @@ function toStreamCardVM(item, options = {}) {
|
|
|
5036
5079
|
source,
|
|
5037
5080
|
tier: getActivityTier(item.collection),
|
|
5038
5081
|
timestamp,
|
|
5039
|
-
title: buildTitle(verb, source.label)
|
|
5082
|
+
title: buildTitle(verb, source.label, recordHasSubjectRef(record))
|
|
5040
5083
|
};
|
|
5041
5084
|
const author = buildAuthor(item);
|
|
5042
5085
|
if (author) vm.author = author;
|
|
@@ -6523,7 +6566,7 @@ function describeSifaRecord(collection, value) {
|
|
|
6523
6566
|
}
|
|
6524
6567
|
|
|
6525
6568
|
// src/index.ts
|
|
6526
|
-
var SIFA_SDK_VERSION = "0.19.
|
|
6569
|
+
var SIFA_SDK_VERSION = "0.19.14";
|
|
6527
6570
|
|
|
6528
6571
|
export { ACTIVITY_TIERS, ACTIVITY_VERBS, ACTIVITY_VISIBILITY_RULES, ADULT_CONTENT_LABELS, ALL_SECTIONS, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, ArtifactLinkSchema, AtmosphereFeedItemSchema, BlobRefSchema, CALENDAR_EVENT_MODE_LABELS, CALENDAR_EVENT_STATUS_LABELS, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPANY_OPTIONAL_EMPLOYMENT_TYPES, COMPANY_PAGE_MIN_FIRMOGRAPHIC_FIELDS, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, DIMENSIONS_MAX_SCORE, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, ENTITY_REF_ANCHORS, EndorsementConfirmationRecordSchema, EndorsementRecordSchema, EntityImportSearchResponseSchema, EntityMintDomainResponseSchema, EntityResolveDomainRequestSchema, EntityResolveDomainResponseSchema, EntitySearchResponseSchema, EntitySearchResultSchema, EntitySelectRequestSchema, EntitySelectResponseSchema, FEATURE_FLAGS, FeatureAllowlistEntrySchema, FeedActorSchema, FollowFeedItemSchema, FollowFeedPageSchema, FollowProfilePageSchema, FollowProfileSchema, GraphFollowRecordSchema, INDUSTRY_OPTIONS, INVESTMENT_ROLE_LABELS, INVESTMENT_ROLE_OPTIONS, INVESTMENT_STAGE_LABELS, INVESTMENT_STAGE_OPTIONS, INVESTMENT_STATUS_LABELS, INVESTMENT_STATUS_OPTIONS, INVOLVEMENT_HEADING_ORDER, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, InvestmentAmountSchema, MIN_SKILLS, ON_BEHALF_OF_EMPLOYMENT_TYPES, OPEN_TO_OPTIONS, OPEN_TO_TOKENS, OPEN_TO_TOKEN_TO_VALUE, OPEN_TO_VALUE_TO_TOKEN, OrgEmploymentAttestationRecordSchema, OrgProfileRecordSchema, PLATFORM_LABELS, PLATFORM_OPTIONS, PRESENTATION_LINK_TYPE_LABELS, PRESENTATION_LINK_TYPE_OPTIONS, PRESENTATION_ROLE_LABELS, PRESENTATION_ROLE_OPTIONS, PROFILE_INVESTMENT_NSID, PROFILE_INVOLVEMENT_NSID, PROJECT_ROLES, PUBLICATION_TYPE_LABELS, PUBLICATION_TYPE_OPTIONS, PUBLISHERS, PresentationDurationSchema, PresentationLinkSchema, ProfileCertificationRecordSchema, ProfileCourseRecordSchema, ProfileEducationRecordSchema, ProfileExternalAccountRecordSchema, ProfileHonorRecordSchema, ProfileInvestmentRecordSchema, ProfileInvolvementRecordSchema, ProfileLanguageRecordSchema, ProfilePositionRecordSchema, ProfilePresentationDeliveryRecordSchema, ProfilePresentationRecordSchema, ProfileProjectRecordSchema, ProfilePublicationRecordSchema, ProfileSelfRecordSchema, ProfileSkillRecordSchema, ProfileVolunteeringRecordSchema, PublicationAuthorSchema, ROADMAP_ISSUES_REPO, ROADMAP_ITEM_META, SECTION_GROUPS, SECTION_LABELS, SELF_APP_ID, SIFA_REPO_GROUPS, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, STREAM_VERBS, SifaFeedItemSchema, VERIFICATION_PROVIDERS, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, actorShowsIdentity, agentRefSchema, atUriSchema, buildMetaDescription, buildProfileHighlights, buildTalkSlug, categoryForApp, certDateExtractor, cidSchema, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countRecentActivity, countryCodeToFlag, dateRangeExtractor, datetimeSchema, decodeFeedCursor, dedupeSkills, describeSifaRecord, detectPdsProvider, didSchema, dimensionsFromInputs, durationFromMinutes, encodeFeedCursor, entityDisambiguationLabel, entityResultKey, excludeSelfApp, externalRecordRefSchema, filterHidden, findIndustry, formatCompanyName, formatDateRange, formatDisplayUrl, formatDistanceToNow, formatEventDate, formatLocation, formatPresentationDuration, formatRelationship, formatRelativeTime, formatSingleDate, formatSpanDate, formatTimelineDate, getActivityTaxonomyVersion, getActivityTier, getActivityVerbsVersion, getAppCategoryIcon, getAppIdForCollection, getArtifactLinkKindLabel, getCalendarEventModeLabel, getCalendarEventStatusLabel, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getInvestmentRoleLabel, getInvestmentStageLabel, getInvestmentStatusLabel, getInvolvementKindHeading, getInvolvementKindLabel, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublicationTypeLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getVerificationProvider, getVisibleSectionIds, getWorkplaceTypeLabel, groupInvolvementByHeading, groupSkillsByCategory, groupSkillsBySubCategory, groupSkillsForDisplay, hasAdultContent, hasPersonalProfileContent, hoistPrimary, isAppCategory, isCompanyPageIndexable, isCompanyRequired, isKnownAppId, isKnownPlatform, isKnownVerificationProvider, isLinked, isOnBehalfOfApplicable, isPseudoEmployer, isRegistrableDomainHandle, isRelationalActivity, isRoleLineRedundant, isSectionPopulated, isSelfAuthoredRich, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, locationSegments, looksLikeDomain, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, normalizeCompanyKey, normalizeDoi, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeSkillCategory, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseEndorsementComment, parseIntendedAudiences, parseLocationString, parsePresentationDuration, parseTalkRkey, partialDateSchema, pdsProviderFromApi, pickPrimaryFlagged, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, primaryVerification, profileToDimensionInputs, qualifiesAsOrg, relativeLuminance, renderAsLine, rendersCompanyProfile, rendersPersonalProfile, repoGroupForCollection, resolveAccountFacetMode, resolveAgentRef, resolveCardHealth, resolveCardUrl, resolveEmbed, resolveVerifierProvider, rgbToString, roadmapIssueUrl, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, selfLabelsSchema, shouldRenderHighlights, singleDateExtractor, skillRefSchema, slugifyTitle, sortByActiveDateRange, sortByDateDesc, sortCertifications, sortEducation, sortHonors, sortLanguages, sortLanguagesByProficiency, sortPositions, sortProjects, sortPublications, streamAddressSchema, streamAuthorSchema, streamCardBodySchema, streamCardSubjectSchema, streamCardVMSchema, streamExternalLinkSchema, streamGeoSchema, streamMediaSchema, streamRichSegmentSchema, streamSourceSchema, streamThemeSchema, streamVerbSchema, stripHtmlToText, strongRefSchema, summarizePresentationDeliveries, summarizeProfileView, toStreamCardVM, toStreamCardVMs, truncateGraphemes, uriSchema, verbForCollection, visibleItems, youtubeThumbnailUrl, youtubeVideoId };
|
|
6529
6572
|
//# sourceMappingURL=index.js.map
|