@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.cjs +60 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +60 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -914,6 +914,13 @@ var APP_CATEGORY_MAP = {
|
|
|
914
914
|
plyr: "Music",
|
|
915
915
|
anisota: "Posts",
|
|
916
916
|
atfund: "Endorsements",
|
|
917
|
+
crate: "Articles",
|
|
918
|
+
atmorsvp: "Events",
|
|
919
|
+
opensocial: "Social",
|
|
920
|
+
// Kevara speaker-directory listing — a professional speaking-availability
|
|
921
|
+
// declaration (talk topics, formats like keynote/panel/conference-talk).
|
|
922
|
+
// Grouped under Events as the closest fit (speaking engagements).
|
|
923
|
+
kevara: "Events",
|
|
917
924
|
// Web-only (rendered in pills/cards via sifa-web atproto-apps.ts;
|
|
918
925
|
// no backend scan collection yet)
|
|
919
926
|
linkat: "Links",
|
|
@@ -1629,6 +1636,30 @@ var APP_URL_PATTERNS = Object.freeze({
|
|
|
1629
1636
|
// and there's no public per-endorsement permalink. Profile fallback only,
|
|
1630
1637
|
// pointing at the main /give listing.
|
|
1631
1638
|
profileUrlPattern: "https://www.at.fund/give"
|
|
1639
|
+
},
|
|
1640
|
+
crate: {
|
|
1641
|
+
// Crate (app.crate.social) is an authoring dashboard with no public
|
|
1642
|
+
// per-record viewer or per-handle profile page — records are designed to
|
|
1643
|
+
// render on the maker's own site. `content` cards link out via
|
|
1644
|
+
// record.canonicalUrl (handled in resolveCardUrl); `note` records have no
|
|
1645
|
+
// public URL and render non-clickable. So no app-level pattern applies.
|
|
1646
|
+
},
|
|
1647
|
+
atmorsvp: {
|
|
1648
|
+
// atmo.rsvp events live at /p/{did}/e/{rkey}. The per-item pattern is used
|
|
1649
|
+
// for the event record itself; checkin records build their URL from the
|
|
1650
|
+
// referenced event uri in resolveCardUrl (mirrors smokesignal rsvp).
|
|
1651
|
+
urlPattern: "https://atmo.rsvp/p/{did}/e/{rkey}",
|
|
1652
|
+
profileUrlPattern: "https://atmo.rsvp/p/{did}"
|
|
1653
|
+
},
|
|
1654
|
+
opensocial: {
|
|
1655
|
+
// Open Social (opensocial.community) is community-management infrastructure
|
|
1656
|
+
// with no public per-membership permalink. Profile fallback only.
|
|
1657
|
+
profileUrlPattern: "https://opensocial.community"
|
|
1658
|
+
},
|
|
1659
|
+
kevara: {
|
|
1660
|
+
// Kevara (professional network) has no live public web surface yet — its
|
|
1661
|
+
// domain doesn't resolve and there's no per-record viewer. Recognized so
|
|
1662
|
+
// the speaker-directory card renders with the right pill, but non-clickable.
|
|
1632
1663
|
}
|
|
1633
1664
|
});
|
|
1634
1665
|
var COLLECTION_TO_APP = [
|
|
@@ -1670,7 +1701,11 @@ var COLLECTION_TO_APP = [
|
|
|
1670
1701
|
["community.nooki.", "nooki"],
|
|
1671
1702
|
["fyi.atstore.", "atstore"],
|
|
1672
1703
|
["fm.plyr.", "plyr"],
|
|
1673
|
-
["fund.at.", "atfund"]
|
|
1704
|
+
["fund.at.", "atfund"],
|
|
1705
|
+
["social.crate.", "crate"],
|
|
1706
|
+
["quest.atmo.", "atmorsvp"],
|
|
1707
|
+
["community.opensocial.", "opensocial"],
|
|
1708
|
+
["is.kevara.", "kevara"]
|
|
1674
1709
|
];
|
|
1675
1710
|
|
|
1676
1711
|
// src/cards/resolve-card-url.ts
|
|
@@ -1770,6 +1805,23 @@ function resolveCardUrl(item) {
|
|
|
1770
1805
|
}
|
|
1771
1806
|
return null;
|
|
1772
1807
|
}
|
|
1808
|
+
if (collection === "quest.atmo.event") {
|
|
1809
|
+
const parsed2 = parseAtUri(uri);
|
|
1810
|
+
if (parsed2) {
|
|
1811
|
+
return `https://atmo.rsvp/p/${parsed2.did}/e/${parsed2.rkey}`;
|
|
1812
|
+
}
|
|
1813
|
+
return null;
|
|
1814
|
+
}
|
|
1815
|
+
if (collection === "quest.atmo.checkin") {
|
|
1816
|
+
const eventUri = stringOrNull(record.event);
|
|
1817
|
+
if (eventUri) {
|
|
1818
|
+
const parsed2 = parseAtUri(eventUri);
|
|
1819
|
+
if (parsed2) {
|
|
1820
|
+
return `https://atmo.rsvp/p/${parsed2.did}/e/${parsed2.rkey}`;
|
|
1821
|
+
}
|
|
1822
|
+
}
|
|
1823
|
+
return null;
|
|
1824
|
+
}
|
|
1773
1825
|
if (collection === "fyi.atstore.listing.review") {
|
|
1774
1826
|
const listingMeta = record.listingMeta;
|
|
1775
1827
|
if (listingMeta != null && typeof listingMeta === "object") {
|
|
@@ -1778,6 +1830,12 @@ function resolveCardUrl(item) {
|
|
|
1778
1830
|
}
|
|
1779
1831
|
return APP_URL_PATTERNS.atstore?.profileUrlPattern ?? null;
|
|
1780
1832
|
}
|
|
1833
|
+
if (collection === "social.crate.content") {
|
|
1834
|
+
return stringOrNull(record.canonicalUrl);
|
|
1835
|
+
}
|
|
1836
|
+
if (collection === "social.crate.note") {
|
|
1837
|
+
return null;
|
|
1838
|
+
}
|
|
1781
1839
|
if (collection.startsWith("site.standard.")) {
|
|
1782
1840
|
const siteUrl = stringOrNull(record.siteUrl);
|
|
1783
1841
|
const path = stringOrNull(record.path);
|
|
@@ -2235,7 +2293,7 @@ var ProfileVolunteeringRecordSchema = zod.z.object({
|
|
|
2235
2293
|
});
|
|
2236
2294
|
|
|
2237
2295
|
// src/index.ts
|
|
2238
|
-
var SIFA_SDK_VERSION = "0.10.
|
|
2296
|
+
var SIFA_SDK_VERSION = "0.10.11";
|
|
2239
2297
|
|
|
2240
2298
|
exports.ACTIVITY_TIERS = ACTIVITY_TIERS;
|
|
2241
2299
|
exports.ACTIVITY_VISIBILITY_RULES = ACTIVITY_VISIBILITY_RULES;
|