@singi-labs/sifa-sdk 0.11.7 → 0.11.9

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
@@ -287,12 +287,18 @@ declare const APP_CATEGORIES: {
287
287
  readonly 'Q&A': {
288
288
  readonly phosphorIcon: "Question";
289
289
  };
290
+ readonly Recipes: {
291
+ readonly phosphorIcon: "CookingPot";
292
+ };
290
293
  readonly Research: {
291
294
  readonly phosphorIcon: "Path";
292
295
  };
293
296
  readonly Reviews: {
294
297
  readonly phosphorIcon: "Star";
295
298
  };
299
+ readonly Slides: {
300
+ readonly phosphorIcon: "Presentation";
301
+ };
296
302
  readonly Social: {
297
303
  readonly phosphorIcon: "UsersThree";
298
304
  };
@@ -355,10 +361,27 @@ declare const APP_CATEGORY_MAP: {
355
361
  readonly kevara: "Events";
356
362
  readonly marque: "Domains";
357
363
  readonly atcr: "Code";
364
+ readonly mcp: "Code";
365
+ readonly userinput: "Social";
366
+ readonly minomobi: "Music";
367
+ readonly voxport: "Video";
368
+ readonly badges: "Verification";
369
+ readonly atvouch: "Endorsements";
370
+ readonly watsm: "Code";
371
+ readonly plonk: "Pastes";
372
+ readonly alternativeproto: "Links";
373
+ readonly papili: "Links";
374
+ readonly vit: "Code";
375
+ readonly lifepo: "Social";
376
+ readonly streamthought: "Posts";
377
+ readonly waow: "Photos";
378
+ readonly lichen: "Pages";
379
+ readonly aetherdocs: "Slides";
380
+ readonly kich: "Recipes";
381
+ readonly margin: "Research";
358
382
  readonly linkat: "Links";
359
383
  readonly kipclip: "Links";
360
384
  readonly statusphere: "Social";
361
- readonly margin: "Research";
362
385
  };
363
386
  type KnownAppId = keyof typeof APP_CATEGORY_MAP;
364
387
  declare function isKnownAppId(appId: string): appId is KnownAppId;
package/dist/index.d.ts CHANGED
@@ -287,12 +287,18 @@ declare const APP_CATEGORIES: {
287
287
  readonly 'Q&A': {
288
288
  readonly phosphorIcon: "Question";
289
289
  };
290
+ readonly Recipes: {
291
+ readonly phosphorIcon: "CookingPot";
292
+ };
290
293
  readonly Research: {
291
294
  readonly phosphorIcon: "Path";
292
295
  };
293
296
  readonly Reviews: {
294
297
  readonly phosphorIcon: "Star";
295
298
  };
299
+ readonly Slides: {
300
+ readonly phosphorIcon: "Presentation";
301
+ };
296
302
  readonly Social: {
297
303
  readonly phosphorIcon: "UsersThree";
298
304
  };
@@ -355,10 +361,27 @@ declare const APP_CATEGORY_MAP: {
355
361
  readonly kevara: "Events";
356
362
  readonly marque: "Domains";
357
363
  readonly atcr: "Code";
364
+ readonly mcp: "Code";
365
+ readonly userinput: "Social";
366
+ readonly minomobi: "Music";
367
+ readonly voxport: "Video";
368
+ readonly badges: "Verification";
369
+ readonly atvouch: "Endorsements";
370
+ readonly watsm: "Code";
371
+ readonly plonk: "Pastes";
372
+ readonly alternativeproto: "Links";
373
+ readonly papili: "Links";
374
+ readonly vit: "Code";
375
+ readonly lifepo: "Social";
376
+ readonly streamthought: "Posts";
377
+ readonly waow: "Photos";
378
+ readonly lichen: "Pages";
379
+ readonly aetherdocs: "Slides";
380
+ readonly kich: "Recipes";
381
+ readonly margin: "Research";
358
382
  readonly linkat: "Links";
359
383
  readonly kipclip: "Links";
360
384
  readonly statusphere: "Social";
361
- readonly margin: "Research";
362
385
  };
363
386
  type KnownAppId = keyof typeof APP_CATEGORY_MAP;
364
387
  declare function isKnownAppId(appId: string): appId is KnownAppId;
package/dist/index.js CHANGED
@@ -909,8 +909,10 @@ var APP_CATEGORIES = {
909
909
  Places: { phosphorIcon: "MapPin" },
910
910
  Posts: { phosphorIcon: "ChatCircle" },
911
911
  "Q&A": { phosphorIcon: "Question" },
912
+ Recipes: { phosphorIcon: "CookingPot" },
912
913
  Research: { phosphorIcon: "Path" },
913
914
  Reviews: { phosphorIcon: "Star" },
915
+ Slides: { phosphorIcon: "Presentation" },
914
916
  Social: { phosphorIcon: "UsersThree" },
915
917
  Verification: { phosphorIcon: "Key" },
916
918
  Video: { phosphorIcon: "VideoCamera" }
@@ -970,12 +972,50 @@ var APP_CATEGORY_MAP = {
970
972
  // is io.atcr.repo.page (a published repository with a markdown README);
971
973
  // manifests and tags are low-level artifacts excluded backend-side.
972
974
  atcr: "Code",
975
+ // Batch onboard — apps surfaced on high-volume profiles. Each gives its
976
+ // collections a named pill + category icon instead of a raw NSID.
977
+ mcp: "Code",
978
+ // app.mcp.server — published MCP servers (name/tools/language)
979
+ userinput: "Social",
980
+ // app.userinput — roadmap discussions + replies
981
+ minomobi: "Music",
982
+ // com.minomobi.music.composition — authored music
983
+ voxport: "Video",
984
+ // com.voxport.podcast.series — podcast series
985
+ badges: "Verification",
986
+ // community.lexicon.badge.award — signed earned credentials
987
+ atvouch: "Endorsements",
988
+ // dev.atvouch.graph.vouch — trust vouches
989
+ watsm: "Code",
990
+ // io.calabro.watsm.program — published WASM programs
991
+ plonk: "Pastes",
992
+ // li.plonk.paste — text pastes
993
+ alternativeproto: "Links",
994
+ // net.alternativeproto.submission — app-directory listings
995
+ papili: "Links",
996
+ // one.papili.post — link posts
997
+ vit: "Code",
998
+ // org.v-it.skill — published agent skills
999
+ lifepo: "Social",
1000
+ // st.lifepo.lifeEvent — life-event timeline
1001
+ streamthought: "Posts",
1002
+ // stream.thought.blip — microblog thoughts
1003
+ waow: "Photos",
1004
+ // tech.waow.* — doodl drawings (dominant), polls, slides
1005
+ lichen: "Pages",
1006
+ // wiki.lichen — wiki notes + wikis
1007
+ // Onboard from aramzs.xyz profile audit — new named pills.
1008
+ aetherdocs: "Slides",
1009
+ // os.aether.docs.presentation — authored slide decks
1010
+ kich: "Recipes",
1011
+ // io.kich.recipe.recipe — authored recipes
1012
+ margin: "Research",
1013
+ // at.margin.{note,annotation} — web-annotation notes with a body
973
1014
  // Web-only (rendered in pills/cards via sifa-web atproto-apps.ts;
974
1015
  // no backend scan collection yet)
975
1016
  linkat: "Links",
976
1017
  kipclip: "Links",
977
- statusphere: "Social",
978
- margin: "Research"
1018
+ statusphere: "Social"
979
1019
  };
980
1020
  function isKnownAppId(appId) {
981
1021
  return Object.prototype.hasOwnProperty.call(APP_CATEGORY_MAP, appId);
@@ -1913,6 +1953,19 @@ var APP_URL_PATTERNS = Object.freeze({
1913
1953
  // /r/{handle}/{rkey} and /u/{handle} both return 200.
1914
1954
  urlPattern: "https://atcr.io/r/{handle}/{rkey}",
1915
1955
  profileUrlPattern: "https://atcr.io/u/{handle}"
1956
+ },
1957
+ kich: {
1958
+ // Kich recipe viewer. Verified: GET /recipes/{rkey} returns 200 (the SPA
1959
+ // renders the recipe by rkey); /recipe/{rkey} 404s. No public per-handle
1960
+ // profile page, so the profile fallback points at the app root.
1961
+ urlPattern: "https://kich.io/recipes/{rkey}",
1962
+ profileUrlPattern: "https://kich.io"
1963
+ },
1964
+ aetherdocs: {
1965
+ // Aether OS is a browser OS — presentations open inside it and there's no
1966
+ // public per-record viewer. The card embeds the deck from the record; the
1967
+ // outbound link points at the author's Aether OS space (mirrors aetheros).
1968
+ profileUrlPattern: "https://aetheros.computer/{handle}"
1916
1969
  }
1917
1970
  });
1918
1971
  var COLLECTION_TO_APP = [
@@ -1959,7 +2012,26 @@ var COLLECTION_TO_APP = [
1959
2012
  ["quest.atmo.", "atmorsvp"],
1960
2013
  ["community.opensocial.", "opensocial"],
1961
2014
  ["is.kevara.", "kevara"],
1962
- ["io.atcr.", "atcr"]
2015
+ ["io.atcr.", "atcr"],
2016
+ // Batch onboard — named pills for apps that were leaking as raw NSIDs.
2017
+ ["app.mcp.", "mcp"],
2018
+ ["app.userinput.", "userinput"],
2019
+ ["com.minomobi.", "minomobi"],
2020
+ ["com.voxport.", "voxport"],
2021
+ ["community.lexicon.badge.", "badges"],
2022
+ ["dev.atvouch.", "atvouch"],
2023
+ ["io.calabro.watsm.", "watsm"],
2024
+ ["li.plonk.", "plonk"],
2025
+ ["net.alternativeproto.", "alternativeproto"],
2026
+ ["one.papili.", "papili"],
2027
+ ["org.v-it.", "vit"],
2028
+ ["st.lifepo.", "lifepo"],
2029
+ ["stream.thought.", "streamthought"],
2030
+ ["tech.waow.", "waow"],
2031
+ ["wiki.lichen.", "lichen"],
2032
+ // Onboard from aramzs.xyz profile audit.
2033
+ ["os.aether.", "aetherdocs"],
2034
+ ["io.kich.recipe.recipe", "kich"]
1963
2035
  ];
1964
2036
 
1965
2037
  // src/cards/resolve-card-url.ts
@@ -2031,7 +2103,7 @@ function resolveCardUrl(item) {
2031
2103
  if (source) return source;
2032
2104
  return null;
2033
2105
  }
2034
- if (collection === "at.margin.annotation") {
2106
+ if (collection === "at.margin.annotation" || collection === "at.margin.note") {
2035
2107
  const target = record.target;
2036
2108
  if (target != null && typeof target === "object") {
2037
2109
  const source = stringOrNull(target.source);
@@ -2096,6 +2168,9 @@ function resolveCardUrl(item) {
2096
2168
  if (siteUrl && path) return `${siteUrl}${path}`;
2097
2169
  if (siteUrl) return siteUrl;
2098
2170
  }
2171
+ if (collection === "io.kich.recipe.recipe") {
2172
+ return patternUrl("kich", { handle: authorHandle, did: authorDid, rkey }, collection);
2173
+ }
2099
2174
  const recordUrl = stringOrNull(record.url);
2100
2175
  if (recordUrl) return recordUrl;
2101
2176
  return patternUrl(appId, { handle: authorHandle, did: authorDid, rkey }, collection);
@@ -2594,7 +2669,7 @@ var ProfileVolunteeringRecordSchema = z.object({
2594
2669
  });
2595
2670
 
2596
2671
  // src/index.ts
2597
- var SIFA_SDK_VERSION = "0.11.7";
2672
+ var SIFA_SDK_VERSION = "0.11.9";
2598
2673
 
2599
2674
  export { ACTIVITY_TIERS, ACTIVITY_VISIBILITY_RULES, ADULT_CONTENT_LABELS, APP_CATEGORIES, APP_CATEGORY_IDS, APP_CATEGORY_MAP, APP_URL_PATTERNS, AtmosphereFeedItemSchema, CALENDAR_EVENT_MODE_LABELS, CALENDAR_EVENT_STATUS_LABELS, CATEGORY_LABELS, CATEGORY_ORDER, COLLECTION_TO_APP, COMPANY_OPTIONAL_EMPLOYMENT_TYPES, 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, PRESENTATION_LINK_TYPE_LABELS, PRESENTATION_LINK_TYPE_OPTIONS, PRESENTATION_ROLE_LABELS, PRESENTATION_ROLE_OPTIONS, PUBLISHERS, PresentationDurationSchema, PresentationLinkSchema, ProfileCertificationRecordSchema, ProfileCourseRecordSchema, ProfileEducationRecordSchema, ProfileExternalAccountRecordSchema, ProfileHonorRecordSchema, ProfileLanguageRecordSchema, ProfilePositionRecordSchema, ProfilePresentationDeliveryRecordSchema, ProfilePresentationRecordSchema, 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, durationFromMinutes, encodeFeedCursor, externalRecordRefSchema, findIndustry, formatDistanceToNow, formatLocation, formatPresentationDuration, formatRelativeTime, getActivityTaxonomyVersion, getActivityTier, getAppCategoryIcon, getAppIdForCollection, getCalendarEventModeLabel, getCalendarEventStatusLabel, getContinent, getDisplayLabel, getEmploymentTypeLabel, getFaviconUrl, getFilledDimensionsMap, getHandleStem, getIndustryLabelKey, getLexiconEntry, getOpenToLabelKey, getPdsDisplayName, getPlatformLabel, getPresentationLinkTypeLabel, getPresentationRoleLabel, getPublisherByHost, getPublisherById, getPublisherFromSiteUrl, getTierMeta, getWorkplaceTypeLabel, groupSkillsByCategory, hasAdultContent, isAppCategory, isCompanyRequired, isKnownAppId, isKnownPlatform, isValidRgbColor, isVisibleActivityItem, languageTagSchema, lexiconDateExtractor, limitCombiningMarks, makeGraphFollowRecordSchema, maxGraphemes, meetsContrastAA, normalizeOpenTo, normalizePlatformId, normalizePresentationMode, normalizePresentationRole, normalizeWorkplaceTypes, openToTokenToValue, openToValueToToken, parseIntendedAudiences, parseLocationString, parsePresentationDuration, pdsProviderFromApi, pickPrimaryPosition, presentationCsvRowToRecord, presentationDeliveryCsvRowToRecord, profileToDimensionInputs, relativeLuminance, resolveCardUrl, rgbToString, sanitizeDisplayText, sanitizeHandleInput, selfLabelsSchema, singleDateExtractor, sortByDateDesc, stripHtmlToText, strongRefSchema, summarizePresentationDeliveries, truncateGraphemes, uriSchema };
2600
2675
  //# sourceMappingURL=index.js.map