@singi-labs/sifa-sdk 0.18.6 → 0.18.8

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
@@ -464,6 +464,9 @@ declare const APP_CATEGORY_MAP: {
464
464
  readonly askeverything: "Q&A";
465
465
  readonly greengale: "Articles";
466
466
  readonly kut: "Social";
467
+ readonly atmob: "Pastes";
468
+ readonly tokono: "Video";
469
+ readonly portable: "Social";
467
470
  readonly linkat: "Links";
468
471
  readonly kipclip: "Links";
469
472
  readonly statusphere: "Social";
package/dist/index.d.ts CHANGED
@@ -464,6 +464,9 @@ declare const APP_CATEGORY_MAP: {
464
464
  readonly askeverything: "Q&A";
465
465
  readonly greengale: "Articles";
466
466
  readonly kut: "Social";
467
+ readonly atmob: "Pastes";
468
+ readonly tokono: "Video";
469
+ readonly portable: "Social";
467
470
  readonly linkat: "Links";
468
471
  readonly kipclip: "Links";
469
472
  readonly statusphere: "Social";
package/dist/index.js CHANGED
@@ -1146,6 +1146,13 @@ var APP_CATEGORY_MAP = {
1146
1146
  // app.greengale.blog.entry — authored blog posts (title, subtitle, Markdown body)
1147
1147
  kut: "Social",
1148
1148
  // social.kut.community.membership — joining a Kut community (a commitment)
1149
+ // Onboard from the upcoming profile-of-the-day audit.
1150
+ atmob: "Pastes",
1151
+ // in.atmob.paste.{document,bundle} — authored text/code pastes on atmob.in
1152
+ tokono: "Video",
1153
+ // ma.tokono.byov.video — authored videos hosted via the tokono.ma "bring your own video" feature
1154
+ portable: "Social",
1155
+ // agency.portable.membership — joining a community (a commitment), attested by another actor
1149
1156
  // Web-only (rendered in pills/cards via sifa-web atproto-apps.ts;
1150
1157
  // no backend scan collection yet)
1151
1158
  linkat: "Links",
@@ -1162,8 +1169,8 @@ function categoryForApp(appId) {
1162
1169
  // src/taxonomy/activity-tiers.json
1163
1170
  var activity_tiers_default = {
1164
1171
  $schema: "https://sifa.id/schemas/activity-tiers/v1.json",
1165
- version: "1.3.0",
1166
- updated: "2026-08-25",
1172
+ version: "1.4.0",
1173
+ updated: "2026-09-04",
1167
1174
  tiers: {
1168
1175
  creation: {
1169
1176
  label: "Made",
@@ -1182,6 +1189,23 @@ var activity_tiers_default = {
1182
1189
  }
1183
1190
  },
1184
1191
  lexicons: {
1192
+ "agency.portable.membership": {
1193
+ tier: "creation",
1194
+ app: "portable",
1195
+ notes: "Joining a community (a commitment), attested by another actor."
1196
+ },
1197
+ "in.atmob.paste.document": {
1198
+ tier: "creation",
1199
+ app: "atmob"
1200
+ },
1201
+ "in.atmob.paste.bundle": {
1202
+ tier: "creation",
1203
+ app: "atmob"
1204
+ },
1205
+ "ma.tokono.byov.video": {
1206
+ tier: "creation",
1207
+ app: "tokono"
1208
+ },
1185
1209
  "app.atmobb.discussion.reply": {
1186
1210
  tier: "creation",
1187
1211
  app: "atmobb",
@@ -3483,6 +3507,22 @@ var APP_URL_PATTERNS = Object.freeze({
3483
3507
  // its own; the card links to the community it joined, built from the
3484
3508
  // membership's community.uri in resolve-card-url. Homepage fallback only.
3485
3509
  profileUrlPattern: "https://kut.social"
3510
+ },
3511
+ atmob: {
3512
+ // atmob (atmob.in) is a paste app. Its SPA viewer renders any paste by its
3513
+ // full at-uri via a `?uri=` query param (verified in the app's app.js:
3514
+ // `location.search = ?uri=${encodeURIComponent(uri)}`). Both paste.document
3515
+ // and paste.bundle share that viewer, so the per-record URL is built
3516
+ // bespoke from the item's own uri in resolve-card-url. No pattern here.
3517
+ },
3518
+ tokono: {
3519
+ // tokono (tokono.ma) hosts "bring your own video" records, but tokono.ma is
3520
+ // the owner's static personal site with no public per-video viewer route.
3521
+ // Cards render non-clickable.
3522
+ },
3523
+ portable: {
3524
+ // agency.portable (handle portable.agency) has no resolving website, and a
3525
+ // membership record has no page of its own. Cards render non-clickable.
3486
3526
  }
3487
3527
  });
3488
3528
  var COLLECTION_TO_APP = [
@@ -3570,7 +3610,11 @@ var COLLECTION_TO_APP = [
3570
3610
  // Onboard from angrydutchman.houseofmadness.org profile audit.
3571
3611
  ["app.askeverything.", "askeverything"],
3572
3612
  ["app.greengale.", "greengale"],
3573
- ["social.kut.", "kut"]
3613
+ ["social.kut.", "kut"],
3614
+ // Onboard from the upcoming profile-of-the-day audit.
3615
+ ["in.atmob.paste.", "atmob"],
3616
+ ["ma.tokono.byov.", "tokono"],
3617
+ ["agency.portable.", "portable"]
3574
3618
  ];
3575
3619
 
3576
3620
  // src/cards/resolve-card-url.ts
@@ -3753,6 +3797,10 @@ function resolveCardHealth(item) {
3753
3797
  if (collection === "exchange.recipe.recipe") {
3754
3798
  return patternHealth("recipe", { handle: authorHandle, did: authorDid, rkey }, collection);
3755
3799
  }
3800
+ if (collection.startsWith("in.atmob.paste.")) {
3801
+ if (uri) return recordHealth(`https://atmob.in/?uri=${encodeURIComponent(uri)}`);
3802
+ return { url: null, strategy: "none" };
3803
+ }
3756
3804
  const recordUrl = stringOrNull(record.url);
3757
3805
  if (recordUrl) return urlHealth(recordUrl);
3758
3806
  return patternHealth(appId, { handle: authorHandle, did: authorDid, rkey }, collection);
@@ -6148,7 +6196,7 @@ function describeSifaRecord(collection, value) {
6148
6196
  }
6149
6197
 
6150
6198
  // src/index.ts
6151
- var SIFA_SDK_VERSION = "0.18.6";
6199
+ var SIFA_SDK_VERSION = "0.18.8";
6152
6200
 
6153
6201
  export { ACTIVITY_TIERS, ACTIVITY_VERBS, ACTIVITY_VISIBILITY_RULES, ADULT_CONTENT_LABELS, ALL_SECTIONS, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, ARTIFACT_LINK_KIND_LABELS, ARTIFACT_LINK_KIND_OPTIONS, ArtifactLinkSchema, AtmosphereFeedItemSchema, BlobRefSchema, CALENDAR_EVENT_MODE_LABELS, CALENDAR_EVENT_STATUS_LABELS, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPANY_OPTIONAL_EMPLOYMENT_TYPES, COMPANY_PAGE_MIN_FIRMOGRAPHIC_FIELDS, COMPLETENESS_MAX_SCORE, CONTINENTS, COUNTRIES, DIMENSIONS_MAX_SCORE, EMPLOYMENT_TYPE_GROUPS, EMPLOYMENT_TYPE_LABELS, ENTITY_REF_ANCHORS, EndorsementConfirmationRecordSchema, EndorsementRecordSchema, EntityImportSearchResponseSchema, EntityMintDomainResponseSchema, EntityResolveDomainRequestSchema, EntityResolveDomainResponseSchema, EntitySearchResponseSchema, EntitySearchResultSchema, EntitySelectRequestSchema, EntitySelectResponseSchema, FEATURE_FLAGS, FeatureAllowlistEntrySchema, FeedActorSchema, FollowFeedItemSchema, FollowFeedPageSchema, FollowProfilePageSchema, FollowProfileSchema, GraphFollowRecordSchema, INDUSTRY_OPTIONS, INVESTMENT_ROLE_LABELS, INVESTMENT_ROLE_OPTIONS, INVESTMENT_STAGE_LABELS, INVESTMENT_STAGE_OPTIONS, INVESTMENT_STATUS_LABELS, INVESTMENT_STATUS_OPTIONS, INVOLVEMENT_HEADING_ORDER, INVOLVEMENT_KIND_HEADINGS, INVOLVEMENT_KIND_LABELS, INVOLVEMENT_KIND_OPTIONS, InvestmentAmountSchema, MIN_SKILLS, ON_BEHALF_OF_EMPLOYMENT_TYPES, OPEN_TO_OPTIONS, OPEN_TO_TOKENS, OPEN_TO_TOKEN_TO_VALUE, OPEN_TO_VALUE_TO_TOKEN, OrgEmploymentAttestationRecordSchema, OrgProfileRecordSchema, PLATFORM_LABELS, PLATFORM_OPTIONS, PRESENTATION_LINK_TYPE_LABELS, PRESENTATION_LINK_TYPE_OPTIONS, PRESENTATION_ROLE_LABELS, PRESENTATION_ROLE_OPTIONS, PROFILE_INVESTMENT_NSID, PROFILE_INVOLVEMENT_NSID, PROJECT_ROLES, PUBLICATION_TYPE_LABELS, PUBLICATION_TYPE_OPTIONS, PUBLISHERS, PresentationDurationSchema, PresentationLinkSchema, ProfileCertificationRecordSchema, ProfileCourseRecordSchema, ProfileEducationRecordSchema, ProfileExternalAccountRecordSchema, ProfileHonorRecordSchema, ProfileInvestmentRecordSchema, ProfileInvolvementRecordSchema, ProfileLanguageRecordSchema, ProfilePositionRecordSchema, ProfilePresentationDeliveryRecordSchema, ProfilePresentationRecordSchema, ProfileProjectRecordSchema, ProfilePublicationRecordSchema, ProfileSelfRecordSchema, ProfileSkillRecordSchema, ProfileVolunteeringRecordSchema, PublicationAuthorSchema, ROADMAP_ISSUES_REPO, ROADMAP_ITEM_META, SECTION_GROUPS, SECTION_LABELS, SELF_APP_ID, SIFA_REPO_GROUPS, SIFA_SDK_VERSION, SKILL_CATEGORIES, STANDARD_PUBLISHER_ID, STREAM_VERBS, SifaFeedItemSchema, VERIFICATION_PROVIDERS, WORKPLACE_TYPE_LABELS, WORKPLACE_TYPE_OPTIONS, atUriSchema, buildMetaDescription, buildTalkSlug, categoryForApp, certDateExtractor, cidSchema, classifyEntityRef, completenessPercent, completenessScore, contrastRatio, countFilledDimensions, countRecentActivity, countryCodeToFlag, dateRangeExtractor, datetimeSchema, decodeFeedCursor, dedupeSkills, describeSifaRecord, detectPdsProvider, didSchema, dimensionsFromInputs, durationFromMinutes, encodeFeedCursor, entityDisambiguationLabel, entityResultKey, excludeSelfApp, externalRecordRefSchema, filterHidden, findIndustry, formatCompanyName, formatDateRange, formatDisplayUrl, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, formatTimelineDate, getActivityTaxonomyVersion, getActivityTier, getActivityVerbsVersion, getAppCategoryIcon, getAppIdForCollection, getArtifactLinkKindLabel, getCalendarEventModeLabel, getCalendarEventStatusLabel, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getInvestmentRoleLabel, getInvestmentStageLabel, getInvestmentStatusLabel, getInvolvementKindHeading, getInvolvementKindLabel, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublicationTypeLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getVerificationProvider, getVisibleSectionIds, getWorkplaceTypeLabel, groupInvolvementByHeading, groupSkillsByCategory, groupSkillsBySubCategory, groupSkillsForDisplay, hasAdultContent, hasPersonalProfileContent, hoistPrimary, isAppCategory, isCompanyPageIndexable, isCompanyRequired, isKnownAppId, isKnownPlatform, isKnownVerificationProvider, isLinked, isOnBehalfOfApplicable, isPseudoEmployer, isRegistrableDomainHandle, isRoleLineRedundant, isSectionPopulated, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, locationSegments, looksLikeDomain, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, normalizeCompanyKey, normalizeDoi, normalizeLegalForm, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeSkillCategory, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, parseTalkRkey, partialDateSchema, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, primaryVerification, profileToDimensionInputs, qualifiesAsOrg, relativeLuminance, rendersCompanyProfile, rendersPersonalProfile, repoGroupForCollection, resolveAccountFacetMode, resolveCardHealth, resolveCardUrl, resolveEmbed, resolveVerifierProvider, rgbToString, roadmapIssueUrl, sanitizeDisplayText, sanitizeHandleInput, searchResultDisambiguation, selfLabelsSchema, singleDateExtractor, skillRefSchema, slugifyTitle, sortByActiveDateRange, sortByDateDesc, sortCertifications, sortEducation, sortHonors, sortLanguages, sortLanguagesByProficiency, sortPositions, sortProjects, sortPublications, streamAddressSchema, streamAuthorSchema, streamCardBodySchema, streamCardSubjectSchema, streamCardVMSchema, streamExternalLinkSchema, streamGeoSchema, streamMediaSchema, streamRichSegmentSchema, streamSourceSchema, streamThemeSchema, streamVerbSchema, stripHtmlToText, strongRefSchema, summarizePresentationDeliveries, summarizeProfileView, toStreamCardVM, toStreamCardVMs, truncateGraphemes, uriSchema, verbForCollection, visibleItems, youtubeThumbnailUrl, youtubeVideoId };
6154
6202
  //# sourceMappingURL=index.js.map