@singi-labs/sifa-sdk 0.10.9 → 0.10.11

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
@@ -305,6 +305,10 @@ declare const APP_CATEGORY_MAP: {
305
305
  readonly plyr: "Music";
306
306
  readonly anisota: "Posts";
307
307
  readonly atfund: "Endorsements";
308
+ readonly crate: "Articles";
309
+ readonly atmorsvp: "Events";
310
+ readonly opensocial: "Social";
311
+ readonly kevara: "Events";
308
312
  readonly linkat: "Links";
309
313
  readonly kipclip: "Links";
310
314
  readonly statusphere: "Social";
package/dist/index.d.ts CHANGED
@@ -305,6 +305,10 @@ declare const APP_CATEGORY_MAP: {
305
305
  readonly plyr: "Music";
306
306
  readonly anisota: "Posts";
307
307
  readonly atfund: "Endorsements";
308
+ readonly crate: "Articles";
309
+ readonly atmorsvp: "Events";
310
+ readonly opensocial: "Social";
311
+ readonly kevara: "Events";
308
312
  readonly linkat: "Links";
309
313
  readonly kipclip: "Links";
310
314
  readonly statusphere: "Social";
package/dist/index.js CHANGED
@@ -912,6 +912,13 @@ var APP_CATEGORY_MAP = {
912
912
  plyr: "Music",
913
913
  anisota: "Posts",
914
914
  atfund: "Endorsements",
915
+ crate: "Articles",
916
+ atmorsvp: "Events",
917
+ opensocial: "Social",
918
+ // Kevara speaker-directory listing — a professional speaking-availability
919
+ // declaration (talk topics, formats like keynote/panel/conference-talk).
920
+ // Grouped under Events as the closest fit (speaking engagements).
921
+ kevara: "Events",
915
922
  // Web-only (rendered in pills/cards via sifa-web atproto-apps.ts;
916
923
  // no backend scan collection yet)
917
924
  linkat: "Links",
@@ -1627,6 +1634,30 @@ var APP_URL_PATTERNS = Object.freeze({
1627
1634
  // and there's no public per-endorsement permalink. Profile fallback only,
1628
1635
  // pointing at the main /give listing.
1629
1636
  profileUrlPattern: "https://www.at.fund/give"
1637
+ },
1638
+ crate: {
1639
+ // Crate (app.crate.social) is an authoring dashboard with no public
1640
+ // per-record viewer or per-handle profile page — records are designed to
1641
+ // render on the maker's own site. `content` cards link out via
1642
+ // record.canonicalUrl (handled in resolveCardUrl); `note` records have no
1643
+ // public URL and render non-clickable. So no app-level pattern applies.
1644
+ },
1645
+ atmorsvp: {
1646
+ // atmo.rsvp events live at /p/{did}/e/{rkey}. The per-item pattern is used
1647
+ // for the event record itself; checkin records build their URL from the
1648
+ // referenced event uri in resolveCardUrl (mirrors smokesignal rsvp).
1649
+ urlPattern: "https://atmo.rsvp/p/{did}/e/{rkey}",
1650
+ profileUrlPattern: "https://atmo.rsvp/p/{did}"
1651
+ },
1652
+ opensocial: {
1653
+ // Open Social (opensocial.community) is community-management infrastructure
1654
+ // with no public per-membership permalink. Profile fallback only.
1655
+ profileUrlPattern: "https://opensocial.community"
1656
+ },
1657
+ kevara: {
1658
+ // Kevara (professional network) has no live public web surface yet — its
1659
+ // domain doesn't resolve and there's no per-record viewer. Recognized so
1660
+ // the speaker-directory card renders with the right pill, but non-clickable.
1630
1661
  }
1631
1662
  });
1632
1663
  var COLLECTION_TO_APP = [
@@ -1668,7 +1699,11 @@ var COLLECTION_TO_APP = [
1668
1699
  ["community.nooki.", "nooki"],
1669
1700
  ["fyi.atstore.", "atstore"],
1670
1701
  ["fm.plyr.", "plyr"],
1671
- ["fund.at.", "atfund"]
1702
+ ["fund.at.", "atfund"],
1703
+ ["social.crate.", "crate"],
1704
+ ["quest.atmo.", "atmorsvp"],
1705
+ ["community.opensocial.", "opensocial"],
1706
+ ["is.kevara.", "kevara"]
1672
1707
  ];
1673
1708
 
1674
1709
  // src/cards/resolve-card-url.ts
@@ -1768,6 +1803,23 @@ function resolveCardUrl(item) {
1768
1803
  }
1769
1804
  return null;
1770
1805
  }
1806
+ if (collection === "quest.atmo.event") {
1807
+ const parsed2 = parseAtUri(uri);
1808
+ if (parsed2) {
1809
+ return `https://atmo.rsvp/p/${parsed2.did}/e/${parsed2.rkey}`;
1810
+ }
1811
+ return null;
1812
+ }
1813
+ if (collection === "quest.atmo.checkin") {
1814
+ const eventUri = stringOrNull(record.event);
1815
+ if (eventUri) {
1816
+ const parsed2 = parseAtUri(eventUri);
1817
+ if (parsed2) {
1818
+ return `https://atmo.rsvp/p/${parsed2.did}/e/${parsed2.rkey}`;
1819
+ }
1820
+ }
1821
+ return null;
1822
+ }
1771
1823
  if (collection === "fyi.atstore.listing.review") {
1772
1824
  const listingMeta = record.listingMeta;
1773
1825
  if (listingMeta != null && typeof listingMeta === "object") {
@@ -1776,6 +1828,12 @@ function resolveCardUrl(item) {
1776
1828
  }
1777
1829
  return APP_URL_PATTERNS.atstore?.profileUrlPattern ?? null;
1778
1830
  }
1831
+ if (collection === "social.crate.content") {
1832
+ return stringOrNull(record.canonicalUrl);
1833
+ }
1834
+ if (collection === "social.crate.note") {
1835
+ return null;
1836
+ }
1779
1837
  if (collection.startsWith("site.standard.")) {
1780
1838
  const siteUrl = stringOrNull(record.siteUrl);
1781
1839
  const path = stringOrNull(record.path);
@@ -2233,7 +2291,7 @@ var ProfileVolunteeringRecordSchema = z.object({
2233
2291
  });
2234
2292
 
2235
2293
  // src/index.ts
2236
- var SIFA_SDK_VERSION = "0.10.9";
2294
+ var SIFA_SDK_VERSION = "0.10.11";
2237
2295
 
2238
2296
  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, 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, isKnownAppId, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, openToTokenToValue, openToValueToToken, parseLocationString, pdsProviderFromApi, pickPrimaryPosition, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, selfLabelsSchema, singleDateExtractor, sortByDateDesc, strongRefSchema, truncateGraphemes, uriSchema };
2239
2297
  //# sourceMappingURL=index.js.map