@singi-labs/sifa-sdk 0.14.7 → 0.16.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 +108 -29
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +108 -29
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -979,12 +979,14 @@ function groupSkillsForDisplay(skills, options = {}) {
|
|
|
979
979
|
|
|
980
980
|
// src/taxonomy/app-categories.ts
|
|
981
981
|
var APP_CATEGORIES = {
|
|
982
|
+
Art: { phosphorIcon: "PaintBrush" },
|
|
982
983
|
Articles: { phosphorIcon: "Article" },
|
|
983
984
|
Chat: { phosphorIcon: "ChatsCircle" },
|
|
984
985
|
Code: { phosphorIcon: "Code" },
|
|
985
986
|
Domains: { phosphorIcon: "Globe" },
|
|
986
987
|
Endorsements: { phosphorIcon: "HandHeart" },
|
|
987
988
|
Events: { phosphorIcon: "CalendarBlank" },
|
|
989
|
+
Impact: { phosphorIcon: "Certificate" },
|
|
988
990
|
Links: { phosphorIcon: "LinkSimple" },
|
|
989
991
|
Lists: { phosphorIcon: "ListBullets" },
|
|
990
992
|
Music: { phosphorIcon: "MusicNote" },
|
|
@@ -1127,6 +1129,15 @@ var APP_CATEGORY_MAP = {
|
|
|
1127
1129
|
// at.locale.{project,translation} — localization projects and authored translation strings on locale.at
|
|
1128
1130
|
pckt: "Posts",
|
|
1129
1131
|
// blog.pckt.mini.post — microblog posts with no site.standard.document twin
|
|
1132
|
+
// Onboard from the holke.xyz profile audit (impact-funding ecosystem).
|
|
1133
|
+
hypercerts: "Impact",
|
|
1134
|
+
// org.hypercerts.{claim.activity,collection} — authored claims of work done, and the project collections that group them
|
|
1135
|
+
certified: "Endorsements",
|
|
1136
|
+
// app.certified.{badge.award,actor.membership} — endorsements issued to another DID, and group memberships
|
|
1137
|
+
impactindexer: "Reviews",
|
|
1138
|
+
// org.impactindexer.review.comment — written reviews of a hypercert claim
|
|
1139
|
+
pinksea: "Art",
|
|
1140
|
+
// com.shinolabs.pinksea.oekaki — hand-drawn artwork posted to the PinkSea oekaki BBS
|
|
1130
1141
|
// Web-only (rendered in pills/cards via sifa-web atproto-apps.ts;
|
|
1131
1142
|
// no backend scan collection yet)
|
|
1132
1143
|
linkat: "Links",
|
|
@@ -1143,8 +1154,8 @@ function categoryForApp(appId) {
|
|
|
1143
1154
|
// src/taxonomy/activity-tiers.json
|
|
1144
1155
|
var activity_tiers_default = {
|
|
1145
1156
|
$schema: "https://sifa.id/schemas/activity-tiers/v1.json",
|
|
1146
|
-
version: "1.
|
|
1147
|
-
updated: "2026-
|
|
1157
|
+
version: "1.2.0",
|
|
1158
|
+
updated: "2026-08-25",
|
|
1148
1159
|
tiers: {
|
|
1149
1160
|
creation: {
|
|
1150
1161
|
label: "Made",
|
|
@@ -1172,26 +1183,6 @@ var activity_tiers_default = {
|
|
|
1172
1183
|
tier: "creation",
|
|
1173
1184
|
app: "atmobb"
|
|
1174
1185
|
},
|
|
1175
|
-
"at.locale.project": {
|
|
1176
|
-
tier: "creation",
|
|
1177
|
-
app: "locale",
|
|
1178
|
-
notes: "A localization project the actor owns: git source, source and target locales."
|
|
1179
|
-
},
|
|
1180
|
-
"at.locale.translation": {
|
|
1181
|
-
tier: "creation",
|
|
1182
|
-
app: "locale",
|
|
1183
|
-
notes: "One authored translated string for a message key in a target locale."
|
|
1184
|
-
},
|
|
1185
|
-
"blog.pckt.mini.post": {
|
|
1186
|
-
tier: "creation",
|
|
1187
|
-
app: "pckt",
|
|
1188
|
-
notes: "A pckt microblog post. Long-form pckt posts are site.standard.document instead."
|
|
1189
|
-
},
|
|
1190
|
-
"app.photosky.collection": {
|
|
1191
|
-
tier: "creation",
|
|
1192
|
-
app: "zeens",
|
|
1193
|
-
notes: "A curated photo collection on Zeens (still the app.photosky namespace)."
|
|
1194
|
-
},
|
|
1195
1186
|
"app.beaconbits.beacon": {
|
|
1196
1187
|
tier: "creation",
|
|
1197
1188
|
app: "beaconbits"
|
|
@@ -1257,6 +1248,16 @@ var activity_tiers_default = {
|
|
|
1257
1248
|
app: "bluesky",
|
|
1258
1249
|
notes: "Diverges from app.bsky.graph.follow (action) on purpose: verifying another account's handle is a deliberate trust statement the actor authors, not a tap. Sifa renders it with its own card."
|
|
1259
1250
|
},
|
|
1251
|
+
"app.certified.actor.membership": {
|
|
1252
|
+
tier: "creation",
|
|
1253
|
+
app: "certified",
|
|
1254
|
+
notes: "Joining a group is a commitment, same shape as a Colibri or Open Social membership."
|
|
1255
|
+
},
|
|
1256
|
+
"app.certified.badge.award": {
|
|
1257
|
+
tier: "creation",
|
|
1258
|
+
app: "certified",
|
|
1259
|
+
notes: "An endorsement issued to another DID. A trust signal the actor contributes, like a Bluesky verification."
|
|
1260
|
+
},
|
|
1260
1261
|
"app.collectivesocial.feed.list": {
|
|
1261
1262
|
tier: "creation",
|
|
1262
1263
|
app: "collectivesocial",
|
|
@@ -1266,6 +1267,11 @@ var activity_tiers_default = {
|
|
|
1266
1267
|
tier: "creation",
|
|
1267
1268
|
app: "mcp"
|
|
1268
1269
|
},
|
|
1270
|
+
"app.photosky.collection": {
|
|
1271
|
+
tier: "creation",
|
|
1272
|
+
app: "zeens",
|
|
1273
|
+
notes: "A curated photo collection on Zeens (still the app.photosky namespace)."
|
|
1274
|
+
},
|
|
1269
1275
|
"app.sidetrail.trail": {
|
|
1270
1276
|
tier: "creation",
|
|
1271
1277
|
app: "semble"
|
|
@@ -1283,6 +1289,16 @@ var activity_tiers_default = {
|
|
|
1283
1289
|
app: "userinput",
|
|
1284
1290
|
notes: "Replies are authored text, consistent with app.bsky.feed.post covering replies."
|
|
1285
1291
|
},
|
|
1292
|
+
"at.locale.project": {
|
|
1293
|
+
tier: "creation",
|
|
1294
|
+
app: "locale",
|
|
1295
|
+
notes: "A localization project the actor owns: git source, source and target locales."
|
|
1296
|
+
},
|
|
1297
|
+
"at.locale.translation": {
|
|
1298
|
+
tier: "creation",
|
|
1299
|
+
app: "locale",
|
|
1300
|
+
notes: "One authored translated string for a message key in a target locale."
|
|
1301
|
+
},
|
|
1286
1302
|
"at.margin.annotation": {
|
|
1287
1303
|
tier: "creation",
|
|
1288
1304
|
app: "margin",
|
|
@@ -1310,6 +1326,11 @@ var activity_tiers_default = {
|
|
|
1310
1326
|
tier: "creation",
|
|
1311
1327
|
app: "youandme"
|
|
1312
1328
|
},
|
|
1329
|
+
"blog.pckt.mini.post": {
|
|
1330
|
+
tier: "creation",
|
|
1331
|
+
app: "pckt",
|
|
1332
|
+
notes: "A pckt microblog post. Long-form pckt posts are site.standard.document instead."
|
|
1333
|
+
},
|
|
1313
1334
|
"blue.flashes.feed.post": {
|
|
1314
1335
|
tier: "creation",
|
|
1315
1336
|
app: "flashes"
|
|
@@ -1327,6 +1348,11 @@ var activity_tiers_default = {
|
|
|
1327
1348
|
tier: "creation",
|
|
1328
1349
|
app: "minomobi"
|
|
1329
1350
|
},
|
|
1351
|
+
"com.shinolabs.pinksea.oekaki": {
|
|
1352
|
+
tier: "creation",
|
|
1353
|
+
app: "pinksea",
|
|
1354
|
+
notes: "A drawing made in PinkSea's canvas, stored as an image blob with alt text and tags."
|
|
1355
|
+
},
|
|
1330
1356
|
"com.voxport.podcast.series": {
|
|
1331
1357
|
tier: "creation",
|
|
1332
1358
|
app: "voxport"
|
|
@@ -1488,6 +1514,11 @@ var activity_tiers_default = {
|
|
|
1488
1514
|
app: "sifa",
|
|
1489
1515
|
notes: "OAuth scope record."
|
|
1490
1516
|
},
|
|
1517
|
+
"id.sifa.confirmation": {
|
|
1518
|
+
tier: "action",
|
|
1519
|
+
app: "sifa",
|
|
1520
|
+
notes: "Confirmation that a record naming the actor is accurate (co-speaker credit, project membership)."
|
|
1521
|
+
},
|
|
1491
1522
|
"id.sifa.endorsement": {
|
|
1492
1523
|
tier: "creation",
|
|
1493
1524
|
app: "sifa",
|
|
@@ -1498,11 +1529,6 @@ var activity_tiers_default = {
|
|
|
1498
1529
|
app: "sifa",
|
|
1499
1530
|
notes: "Confirmation/acceptance of an endorsement received."
|
|
1500
1531
|
},
|
|
1501
|
-
"id.sifa.confirmation": {
|
|
1502
|
-
tier: "action",
|
|
1503
|
-
app: "sifa",
|
|
1504
|
-
notes: "Confirmation that a record naming the actor is accurate (co-speaker credit, project membership)."
|
|
1505
|
-
},
|
|
1506
1532
|
"id.sifa.graph.connection": {
|
|
1507
1533
|
tier: "creation",
|
|
1508
1534
|
app: "sifa",
|
|
@@ -1663,6 +1689,31 @@ var activity_tiers_default = {
|
|
|
1663
1689
|
tier: "creation",
|
|
1664
1690
|
app: "papili"
|
|
1665
1691
|
},
|
|
1692
|
+
"org.hypercerts.claim.activity": {
|
|
1693
|
+
tier: "creation",
|
|
1694
|
+
app: "hypercerts",
|
|
1695
|
+
notes: "A hypercert: an authored claim of work done, with title, description, and weighted contributors."
|
|
1696
|
+
},
|
|
1697
|
+
"org.hypercerts.claim.collection": {
|
|
1698
|
+
tier: "creation",
|
|
1699
|
+
app: "hypercerts",
|
|
1700
|
+
notes: "Older shape of the project container that groups claims. Superseded by org.hypercerts.collection."
|
|
1701
|
+
},
|
|
1702
|
+
"org.hypercerts.claim.evaluation": {
|
|
1703
|
+
tier: "creation",
|
|
1704
|
+
app: "hypercerts",
|
|
1705
|
+
notes: "An assessment of a claim carrying a score and a written summary. An opinion with a body."
|
|
1706
|
+
},
|
|
1707
|
+
"org.hypercerts.collection": {
|
|
1708
|
+
tier: "creation",
|
|
1709
|
+
app: "hypercerts",
|
|
1710
|
+
notes: "An authored project container grouping hypercert claims, with its own title, banner, and description."
|
|
1711
|
+
},
|
|
1712
|
+
"org.impactindexer.review.comment": {
|
|
1713
|
+
tier: "creation",
|
|
1714
|
+
app: "impactindexer",
|
|
1715
|
+
notes: "A written review of a hypercert claim, like a Popfeed or BookHive review."
|
|
1716
|
+
},
|
|
1666
1717
|
"org.v-it.skill": {
|
|
1667
1718
|
tier: "creation",
|
|
1668
1719
|
app: "vit"
|
|
@@ -3325,6 +3376,29 @@ var APP_URL_PATTERNS = Object.freeze({
|
|
|
3325
3376
|
urlPattern: "https://kich.io/recipes/{rkey}",
|
|
3326
3377
|
profileUrlPattern: "https://kich.io"
|
|
3327
3378
|
},
|
|
3379
|
+
pinksea: {
|
|
3380
|
+
// PinkSea oekaki viewer. Verified live: GET /{did}/oekaki/{rkey} returns
|
|
3381
|
+
// 200 AND its og:image resolves to harbor.pinksea.art/{did}/{blobCid}
|
|
3382
|
+
// carrying the same CID as the record, so the route really is per-record
|
|
3383
|
+
// and not just an SPA catch-all.
|
|
3384
|
+
urlPattern: "https://pinksea.art/{did}/oekaki/{rkey}",
|
|
3385
|
+
profileUrlPattern: "https://pinksea.art/{did}"
|
|
3386
|
+
},
|
|
3387
|
+
hypercerts: {
|
|
3388
|
+
// No confirmed public per-record viewer. hyperscan.dev is a network-wide
|
|
3389
|
+
// search explorer (its input takes "DID, handle, AT-URI, or PDS host"),
|
|
3390
|
+
// and hypercerts.org 404s on every claim route tried. Recognized so the
|
|
3391
|
+
// pill renders, but cards stay non-clickable.
|
|
3392
|
+
},
|
|
3393
|
+
certified: {
|
|
3394
|
+
// certified.app is fully client-rendered and returns an identical
|
|
3395
|
+
// "Loading" shell for a real DID and a nonsense one, so no per-record
|
|
3396
|
+
// route could be verified. Non-clickable until one is confirmed.
|
|
3397
|
+
},
|
|
3398
|
+
impactindexer: {
|
|
3399
|
+
// Reviews are surfaced through hyperscan.dev/review, which has no
|
|
3400
|
+
// per-record route. Non-clickable.
|
|
3401
|
+
},
|
|
3328
3402
|
recipe: {
|
|
3329
3403
|
// recipe.exchange viewer. Verified: GET /recipes/{rkey} returns 200 (rkey
|
|
3330
3404
|
// alone; no did needed) and /profiles/{handle} returns 200 for the author
|
|
@@ -3427,7 +3501,12 @@ var COLLECTION_TO_APP = [
|
|
|
3427
3501
|
// Onboard from aaronstevenwhite.io profile audit.
|
|
3428
3502
|
["pub.chive.", "chive"],
|
|
3429
3503
|
// Onboard from helene-cook.eu profile audit. Zeens kept its old NSID.
|
|
3430
|
-
["app.photosky.", "zeens"]
|
|
3504
|
+
["app.photosky.", "zeens"],
|
|
3505
|
+
// Onboard from the holke.xyz profile audit.
|
|
3506
|
+
["org.hypercerts.", "hypercerts"],
|
|
3507
|
+
["app.certified.", "certified"],
|
|
3508
|
+
["org.impactindexer.", "impactindexer"],
|
|
3509
|
+
["com.shinolabs.pinksea.", "pinksea"]
|
|
3431
3510
|
];
|
|
3432
3511
|
|
|
3433
3512
|
// src/cards/resolve-card-url.ts
|
|
@@ -5945,7 +6024,7 @@ function describeSifaRecord(collection, value) {
|
|
|
5945
6024
|
}
|
|
5946
6025
|
|
|
5947
6026
|
// src/index.ts
|
|
5948
|
-
var SIFA_SDK_VERSION = "0.
|
|
6027
|
+
var SIFA_SDK_VERSION = "0.16.0";
|
|
5949
6028
|
|
|
5950
6029
|
exports.ACTIVITY_TIERS = ACTIVITY_TIERS;
|
|
5951
6030
|
exports.ACTIVITY_VERBS = ACTIVITY_VERBS;
|