@singi-labs/sifa-sdk 0.19.109 → 0.19.111

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.
Files changed (42) hide show
  1. package/dist/cards/app-url-patterns.js +37 -1
  2. package/dist/cards/app-url-patterns.js.map +1 -1
  3. package/dist/cards/resolve-card-url.js +15 -0
  4. package/dist/cards/resolve-card-url.js.map +1 -1
  5. package/dist/index.cjs +122 -6
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.d.cts +12 -4
  8. package/dist/index.d.ts +12 -4
  9. package/dist/index.js +1 -1
  10. package/dist/{network-map-DsxrigjL.d.cts → network-map-BwM-Wvxt.d.cts} +9 -4
  11. package/dist/{network-map-DVzGiX2h.d.ts → network-map-CrkLq2Gz.d.ts} +9 -4
  12. package/dist/{profile-summary-0T0VS7Rz.d.ts → profile-summary-CwJymH9d.d.ts} +1 -1
  13. package/dist/{profile-summary-C5LlxPKK.d.cts → profile-summary-TkVxvll4.d.cts} +1 -1
  14. package/dist/query/fetchers/germ.js +3 -3
  15. package/dist/query/fetchers/germ.js.map +1 -1
  16. package/dist/query/fetchers/index.cjs +3 -3
  17. package/dist/query/fetchers/index.cjs.map +1 -1
  18. package/dist/query/fetchers/index.d.cts +5 -5
  19. package/dist/query/fetchers/index.d.ts +5 -5
  20. package/dist/query/hooks/index.d.cts +3 -3
  21. package/dist/query/hooks/index.d.ts +3 -3
  22. package/dist/query/index.cjs +3 -3
  23. package/dist/query/index.cjs.map +1 -1
  24. package/dist/query/index.d.cts +8 -8
  25. package/dist/query/index.d.ts +8 -8
  26. package/dist/stream/to-stream-card-vm.js +26 -0
  27. package/dist/stream/to-stream-card-vm.js.map +1 -1
  28. package/dist/stream/verbs.js +5 -3
  29. package/dist/stream/verbs.js.map +1 -1
  30. package/dist/taxonomy/activity-tiers.js +25 -0
  31. package/dist/taxonomy/activity-tiers.js.map +1 -1
  32. package/dist/taxonomy/app-categories.js +1 -0
  33. package/dist/taxonomy/app-categories.js.map +1 -1
  34. package/dist/taxonomy/app-category-map.js +12 -1
  35. package/dist/taxonomy/app-category-map.js.map +1 -1
  36. package/dist/{types-B0zZiWDH.d.ts → types-CQA_vO39.d.ts} +1 -1
  37. package/dist/{types-jE1ofoPI.d.cts → types-DMTHqi2m.d.cts} +1 -1
  38. package/dist/{use-user-settings-CCAw3_Q2.d.ts → use-user-settings-1zgi6qwl.d.ts} +2 -2
  39. package/dist/{use-user-settings-DjnTECGe.d.cts → use-user-settings-BmuAd8D4.d.cts} +2 -2
  40. package/dist/{user-settings-D_DjukR6.d.ts → user-settings-Btvrox4G.d.ts} +1 -1
  41. package/dist/{user-settings-C5sOgvhL.d.cts → user-settings-D4vdBf0A.d.cts} +1 -1
  42. package/package.json +1 -1
package/dist/index.d.cts CHANGED
@@ -1,13 +1,13 @@
1
1
  import { P as ProfileSkill, a as ProfilePresentationDelivery, L as LocationValue, b as PdsProviderInfo, c as Profile, A as AccountFacetMode, d as ProfilePosition, e as ProfileCertification, f as ProfileEducation, g as ProfileHonor, h as ProfileLanguage, i as ProfileProject, j as ProfilePublication, k as ProfileInvolvement, R as RelatedIdentifier } from './index-BQAKeEoj.cjs';
2
2
  export { l as ActiveApp, m as ActorCard, n as AuthorSuggestion, C as CoSpeaker, E as Endorsement, o as EndorsementData, p as ExternalAccount, q as ExternalAccountKeytraceClaim, F as FeedItem, r as LanguageProficiency, O as OrgAddressView, s as OrgFloorVerdict, t as OrgLinkView, u as OrgProfileView, v as PROJECT_ROLES, w as PositionConfirmations, x as PositionEmailVerification, y as PositionOrgVerification, z as PositionPeerVerification, B as PositionViewerConfirmation, D as PresentationLinkView, G as ProfileCourse, H as ProfileIndustry, I as ProfileInvestment, J as ProfileInvestmentLink, K as ProfileInvolvementLink, M as ProfileLocation, N as ProfileOverrideSource, Q as ProfilePresentation, S as ProfileVolunteering, T as ProjectEventView, U as ProjectMemberCard, V as ProjectRole, W as PublicationContributor, X as RecognizedEntity, Y as SkillRef, Z as SkillSuggestion, _ as TrustStat, $ as VerifiedAccount } from './index-BQAKeEoj.cjs';
3
- import { S as SearchFilters } from './types-jE1ofoPI.cjs';
4
- export { A as ADULT_CONTENT_LABELS, a as ActiveAppView, b as ActivityLabel, c as AdultContentLabel, d as AtfundLinkView, C as CertificationView, e as CoSpeakerView, f as ContributorView, g as CourseView, D as DurationView, E as EMPTY_SITE_ACTIVITY_PRESET, h as EducationView, i as ExternalAccountView, H as HonorView, I as IndustryDomain, j as InvolvementLinkView, k as InvolvementView, L as LanguageView, P as PositionView, l as PresentationDeliveryView, m as PresentationView, n as ProfileLocationView, o as ProfileView, p as ProjectMemberView, q as ProjectView, r as PublicationView, R as RepoCollectionGroup, s as RepoDeleteOutcome, t as RepoDeleteRecordResult, u as RepoDeleteResult, v as RepoGroupDefinition, w as RepoGroupId, x as RepoInventory, y as RepoRecordLabel, z as RepoRecordSummary, B as SIFA_REPO_GROUPS, F as SITE_PRESET_MAX_TAGS, G as SITE_PRESET_MAX_TAG_LENGTH, J as SITE_PRESET_TAG_CATEGORY, K as SiteActivityPreset, M as SkillView, V as VolunteeringView, N as describeSifaRecord, O as hasAdultContent, Q as isSiteActivityPresetActive, T as matchesSiteActivityPreset, U as matchesSitePresetTags, W as normalizeSitePresetTag, X as parseSitePresetTags, Y as recordTags, Z as repoGroupForCollection, _ as siteActivityPresetSchema, $ as siteActivityPresetUpdateSchema } from './types-jE1ofoPI.cjs';
3
+ import { S as SearchFilters } from './types-DMTHqi2m.cjs';
4
+ export { A as ADULT_CONTENT_LABELS, a as ActiveAppView, b as ActivityLabel, c as AdultContentLabel, d as AtfundLinkView, C as CertificationView, e as CoSpeakerView, f as ContributorView, g as CourseView, D as DurationView, E as EMPTY_SITE_ACTIVITY_PRESET, h as EducationView, i as ExternalAccountView, H as HonorView, I as IndustryDomain, j as InvolvementLinkView, k as InvolvementView, L as LanguageView, P as PositionView, l as PresentationDeliveryView, m as PresentationView, n as ProfileLocationView, o as ProfileView, p as ProjectMemberView, q as ProjectView, r as PublicationView, R as RepoCollectionGroup, s as RepoDeleteOutcome, t as RepoDeleteRecordResult, u as RepoDeleteResult, v as RepoGroupDefinition, w as RepoGroupId, x as RepoInventory, y as RepoRecordLabel, z as RepoRecordSummary, B as SIFA_REPO_GROUPS, F as SITE_PRESET_MAX_TAGS, G as SITE_PRESET_MAX_TAG_LENGTH, J as SITE_PRESET_TAG_CATEGORY, K as SiteActivityPreset, M as SkillView, V as VolunteeringView, N as describeSifaRecord, O as hasAdultContent, Q as isSiteActivityPresetActive, T as matchesSiteActivityPreset, U as matchesSitePresetTags, W as normalizeSitePresetTag, X as parseSitePresetTags, Y as recordTags, Z as repoGroupForCollection, _ as siteActivityPresetSchema, $ as siteActivityPresetUpdateSchema } from './types-DMTHqi2m.cjs';
5
5
  import { A as AgentRef } from './verification-providers-DeyGqaoC.cjs';
6
6
  export { a as AccountVerification, V as VERIFICATION_PROVIDERS, b as VerificationProvider, c as VerificationProviderId, d as VerificationSource, e as VerifierListItem, f as agentRefSchema, g as atUriSchema, h as buildVerifierListMembers, i as cidSchema, j as datetimeSchema, k as didSchema, l as externalRecordRefSchema, m as getVerificationProvider, n as isKnownVerificationProvider, o as languageTagSchema, p as maxGraphemes, q as partialDateSchema, r as primaryVerification, s as resolveVerificationBadges, t as resolveVerifierProvider, u as selfLabelsSchema, v as skillRefSchema, w as strongRefSchema, x as uriSchema, y as verificationLabel } from './verification-providers-DeyGqaoC.cjs';
7
7
  import { P as PresentationDuration, a as ProfilePresentationDeliveryRecord, b as ProfilePresentationRecord, O as OrgProfileRecord } from './profile-investment-QSwX2GL5.cjs';
8
8
  export { A as ArtifactLink, c as ArtifactLinkSchema, d as AtmosphereFeedItem, e as AtmosphereFeedItemSchema, B as BlobRef, f as BlobRefSchema, E as EMPLOYMENT_STATUS_TOKENS, g as EmploymentVerificationRecord, h as EmploymentVerificationRecordSchema, i as EmploymentVerificationResolution, j as EndorsementConfirmationRecord, k as EndorsementConfirmationRecordSchema, l as EndorsementRecord, m as EndorsementRecordSchema, F as FeedActor, n as FeedActorSchema, o as FeedCursor, p as FollowFeedItem, q as FollowFeedItemSchema, r as FollowFeedPage, s as FollowFeedPageSchema, G as GraphFollowRecord, t as GraphFollowRecordSchema, I as InvestmentAmountSchema, u as OrgEmploymentAttestationRecord, v as OrgEmploymentAttestationRecordSchema, w as OrgProfileRecordSchema, x as PROFILE_INVESTMENT_NSID, y as PROFILE_INVOLVEMENT_NSID, z as PresentationDurationSchema, C as PresentationLink, D as PresentationLinkSchema, H as ProfileCertificationRecord, J as ProfileCertificationRecordSchema, K as ProfileCourseRecord, L as ProfileCourseRecordSchema, M as ProfileEducationRecord, N as ProfileEducationRecordSchema, Q as ProfileExternalAccountRecord, R as ProfileExternalAccountRecordSchema, S as ProfileHonorRecord, T as ProfileHonorRecordSchema, U as ProfileInvestmentRecordSchema, V as ProfileInvolvementRecord, W as ProfileInvolvementRecordSchema, X as ProfileLanguageRecord, Y as ProfileLanguageRecordSchema, Z as ProfilePositionRecord, _ as ProfilePositionRecordSchema, $ as ProfilePresentationDeliveryRecordSchema, a0 as ProfilePresentationRecordSchema, a1 as ProfileProjectRecord, a2 as ProfileProjectRecordSchema, a3 as ProfilePublicationRecord, a4 as ProfilePublicationRecordSchema, a5 as ProfileSelfRecord, a6 as ProfileSelfRecordSchema, a7 as ProfileSkillRecord, a8 as ProfileSkillRecordSchema, a9 as ProfileVolunteeringRecord, aa as ProfileVolunteeringRecordSchema, ab as PublicationAuthor, ac as PublicationAuthorSchema, ad as RelatedIdentifierSchema, ae as ResolveEmploymentVerificationOptions, af as SifaFeedItem, ag as SifaFeedItemSchema, ah as VERIFICATION_METHOD_TOKENS, ai as decodeFeedCursor, aj as encodeFeedCursor, ak as makeGraphFollowRecordSchema, al as resolveEmploymentVerification } from './profile-investment-QSwX2GL5.cjs';
9
9
  import { z } from 'zod';
10
- export { P as ProfileSummary, S as SummarizeProfileViewOptions, s as summarizeProfileView } from './profile-summary-C5LlxPKK.cjs';
10
+ export { P as ProfileSummary, S as SummarizeProfileViewOptions, s as summarizeProfileView } from './profile-summary-TkVxvll4.cjs';
11
11
  import { E as EntitySearchResult } from './follow-profile-CgLLLQtJ.cjs';
12
12
  export { a as EntityImportSearchResponse, b as EntityImportSearchResponseSchema, c as EntityMintDomainResponse, d as EntityMintDomainResponseSchema, e as EntityResolveDomainRequest, f as EntityResolveDomainRequestSchema, g as EntityResolveDomainResponse, h as EntityResolveDomainResponseSchema, i as EntitySearchResponse, j as EntitySearchResponseSchema, k as EntitySearchResultSchema, l as EntitySelectRequest, m as EntitySelectRequestSchema, n as EntitySelectResponse, o as EntitySelectResponseSchema, F as FEATURE_FLAGS, p as FeatureAllowlistEntry, q as FeatureAllowlistEntrySchema, r as FeatureFlag, s as FollowProfileItem, t as FollowProfilePage, u as FollowProfilePageSchema, v as FollowProfileSchema } from './follow-profile-CgLLLQtJ.cjs';
13
13
  import { G as GermDeclarationRecord } from './germ-declaration-BQBocGww.cjs';
@@ -432,6 +432,9 @@ declare const APP_CATEGORIES: {
432
432
  readonly Events: {
433
433
  readonly phosphorIcon: "CalendarBlank";
434
434
  };
435
+ readonly Flashcards: {
436
+ readonly phosphorIcon: "Cards";
437
+ };
435
438
  readonly Impact: {
436
439
  readonly phosphorIcon: "Certificate";
437
440
  };
@@ -589,6 +592,11 @@ declare const APP_CATEGORY_MAP: {
589
592
  readonly skillz: "Code";
590
593
  readonly birdsplace: "Places";
591
594
  readonly skymap: "Places";
595
+ readonly opendeck: "Flashcards";
596
+ readonly chiverecipes: "Recipes";
597
+ readonly atbb: "Posts";
598
+ readonly passingreads: "Reviews";
599
+ readonly isnot: "Reviews";
592
600
  };
593
601
  type KnownAppId = keyof typeof APP_CATEGORY_MAP;
594
602
  declare function isKnownAppId(appId: string): appId is KnownAppId;
@@ -1909,12 +1917,12 @@ declare const streamVerbSchema: z.ZodEnum<{
1909
1917
  posted: "posted";
1910
1918
  reposted: "reposted";
1911
1919
  shipped: "shipped";
1920
+ reviewed: "reviewed";
1912
1921
  annotated: "annotated";
1913
1922
  bookmarked: "bookmarked";
1914
1923
  registered: "registered";
1915
1924
  metWith: "metWith";
1916
1925
  wrote: "wrote";
1917
- reviewed: "reviewed";
1918
1926
  published: "published";
1919
1927
  rsvped: "rsvped";
1920
1928
  commented: "commented";
package/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  import { P as ProfileSkill, a as ProfilePresentationDelivery, L as LocationValue, b as PdsProviderInfo, c as Profile, A as AccountFacetMode, d as ProfilePosition, e as ProfileCertification, f as ProfileEducation, g as ProfileHonor, h as ProfileLanguage, i as ProfileProject, j as ProfilePublication, k as ProfileInvolvement, R as RelatedIdentifier } from './index-DDh2RLvx.js';
2
2
  export { l as ActiveApp, m as ActorCard, n as AuthorSuggestion, C as CoSpeaker, E as Endorsement, o as EndorsementData, p as ExternalAccount, q as ExternalAccountKeytraceClaim, F as FeedItem, r as LanguageProficiency, O as OrgAddressView, s as OrgFloorVerdict, t as OrgLinkView, u as OrgProfileView, v as PROJECT_ROLES, w as PositionConfirmations, x as PositionEmailVerification, y as PositionOrgVerification, z as PositionPeerVerification, B as PositionViewerConfirmation, D as PresentationLinkView, G as ProfileCourse, H as ProfileIndustry, I as ProfileInvestment, J as ProfileInvestmentLink, K as ProfileInvolvementLink, M as ProfileLocation, N as ProfileOverrideSource, Q as ProfilePresentation, S as ProfileVolunteering, T as ProjectEventView, U as ProjectMemberCard, V as ProjectRole, W as PublicationContributor, X as RecognizedEntity, Y as SkillRef, Z as SkillSuggestion, _ as TrustStat, $ as VerifiedAccount } from './index-DDh2RLvx.js';
3
- import { S as SearchFilters } from './types-B0zZiWDH.js';
4
- export { A as ADULT_CONTENT_LABELS, a as ActiveAppView, b as ActivityLabel, c as AdultContentLabel, d as AtfundLinkView, C as CertificationView, e as CoSpeakerView, f as ContributorView, g as CourseView, D as DurationView, E as EMPTY_SITE_ACTIVITY_PRESET, h as EducationView, i as ExternalAccountView, H as HonorView, I as IndustryDomain, j as InvolvementLinkView, k as InvolvementView, L as LanguageView, P as PositionView, l as PresentationDeliveryView, m as PresentationView, n as ProfileLocationView, o as ProfileView, p as ProjectMemberView, q as ProjectView, r as PublicationView, R as RepoCollectionGroup, s as RepoDeleteOutcome, t as RepoDeleteRecordResult, u as RepoDeleteResult, v as RepoGroupDefinition, w as RepoGroupId, x as RepoInventory, y as RepoRecordLabel, z as RepoRecordSummary, B as SIFA_REPO_GROUPS, F as SITE_PRESET_MAX_TAGS, G as SITE_PRESET_MAX_TAG_LENGTH, J as SITE_PRESET_TAG_CATEGORY, K as SiteActivityPreset, M as SkillView, V as VolunteeringView, N as describeSifaRecord, O as hasAdultContent, Q as isSiteActivityPresetActive, T as matchesSiteActivityPreset, U as matchesSitePresetTags, W as normalizeSitePresetTag, X as parseSitePresetTags, Y as recordTags, Z as repoGroupForCollection, _ as siteActivityPresetSchema, $ as siteActivityPresetUpdateSchema } from './types-B0zZiWDH.js';
3
+ import { S as SearchFilters } from './types-CQA_vO39.js';
4
+ export { A as ADULT_CONTENT_LABELS, a as ActiveAppView, b as ActivityLabel, c as AdultContentLabel, d as AtfundLinkView, C as CertificationView, e as CoSpeakerView, f as ContributorView, g as CourseView, D as DurationView, E as EMPTY_SITE_ACTIVITY_PRESET, h as EducationView, i as ExternalAccountView, H as HonorView, I as IndustryDomain, j as InvolvementLinkView, k as InvolvementView, L as LanguageView, P as PositionView, l as PresentationDeliveryView, m as PresentationView, n as ProfileLocationView, o as ProfileView, p as ProjectMemberView, q as ProjectView, r as PublicationView, R as RepoCollectionGroup, s as RepoDeleteOutcome, t as RepoDeleteRecordResult, u as RepoDeleteResult, v as RepoGroupDefinition, w as RepoGroupId, x as RepoInventory, y as RepoRecordLabel, z as RepoRecordSummary, B as SIFA_REPO_GROUPS, F as SITE_PRESET_MAX_TAGS, G as SITE_PRESET_MAX_TAG_LENGTH, J as SITE_PRESET_TAG_CATEGORY, K as SiteActivityPreset, M as SkillView, V as VolunteeringView, N as describeSifaRecord, O as hasAdultContent, Q as isSiteActivityPresetActive, T as matchesSiteActivityPreset, U as matchesSitePresetTags, W as normalizeSitePresetTag, X as parseSitePresetTags, Y as recordTags, Z as repoGroupForCollection, _ as siteActivityPresetSchema, $ as siteActivityPresetUpdateSchema } from './types-CQA_vO39.js';
5
5
  import { A as AgentRef } from './verification-providers-DeyGqaoC.js';
6
6
  export { a as AccountVerification, V as VERIFICATION_PROVIDERS, b as VerificationProvider, c as VerificationProviderId, d as VerificationSource, e as VerifierListItem, f as agentRefSchema, g as atUriSchema, h as buildVerifierListMembers, i as cidSchema, j as datetimeSchema, k as didSchema, l as externalRecordRefSchema, m as getVerificationProvider, n as isKnownVerificationProvider, o as languageTagSchema, p as maxGraphemes, q as partialDateSchema, r as primaryVerification, s as resolveVerificationBadges, t as resolveVerifierProvider, u as selfLabelsSchema, v as skillRefSchema, w as strongRefSchema, x as uriSchema, y as verificationLabel } from './verification-providers-DeyGqaoC.js';
7
7
  import { P as PresentationDuration, a as ProfilePresentationDeliveryRecord, b as ProfilePresentationRecord, O as OrgProfileRecord } from './profile-investment-QSwX2GL5.js';
8
8
  export { A as ArtifactLink, c as ArtifactLinkSchema, d as AtmosphereFeedItem, e as AtmosphereFeedItemSchema, B as BlobRef, f as BlobRefSchema, E as EMPLOYMENT_STATUS_TOKENS, g as EmploymentVerificationRecord, h as EmploymentVerificationRecordSchema, i as EmploymentVerificationResolution, j as EndorsementConfirmationRecord, k as EndorsementConfirmationRecordSchema, l as EndorsementRecord, m as EndorsementRecordSchema, F as FeedActor, n as FeedActorSchema, o as FeedCursor, p as FollowFeedItem, q as FollowFeedItemSchema, r as FollowFeedPage, s as FollowFeedPageSchema, G as GraphFollowRecord, t as GraphFollowRecordSchema, I as InvestmentAmountSchema, u as OrgEmploymentAttestationRecord, v as OrgEmploymentAttestationRecordSchema, w as OrgProfileRecordSchema, x as PROFILE_INVESTMENT_NSID, y as PROFILE_INVOLVEMENT_NSID, z as PresentationDurationSchema, C as PresentationLink, D as PresentationLinkSchema, H as ProfileCertificationRecord, J as ProfileCertificationRecordSchema, K as ProfileCourseRecord, L as ProfileCourseRecordSchema, M as ProfileEducationRecord, N as ProfileEducationRecordSchema, Q as ProfileExternalAccountRecord, R as ProfileExternalAccountRecordSchema, S as ProfileHonorRecord, T as ProfileHonorRecordSchema, U as ProfileInvestmentRecordSchema, V as ProfileInvolvementRecord, W as ProfileInvolvementRecordSchema, X as ProfileLanguageRecord, Y as ProfileLanguageRecordSchema, Z as ProfilePositionRecord, _ as ProfilePositionRecordSchema, $ as ProfilePresentationDeliveryRecordSchema, a0 as ProfilePresentationRecordSchema, a1 as ProfileProjectRecord, a2 as ProfileProjectRecordSchema, a3 as ProfilePublicationRecord, a4 as ProfilePublicationRecordSchema, a5 as ProfileSelfRecord, a6 as ProfileSelfRecordSchema, a7 as ProfileSkillRecord, a8 as ProfileSkillRecordSchema, a9 as ProfileVolunteeringRecord, aa as ProfileVolunteeringRecordSchema, ab as PublicationAuthor, ac as PublicationAuthorSchema, ad as RelatedIdentifierSchema, ae as ResolveEmploymentVerificationOptions, af as SifaFeedItem, ag as SifaFeedItemSchema, ah as VERIFICATION_METHOD_TOKENS, ai as decodeFeedCursor, aj as encodeFeedCursor, ak as makeGraphFollowRecordSchema, al as resolveEmploymentVerification } from './profile-investment-QSwX2GL5.js';
9
9
  import { z } from 'zod';
10
- export { P as ProfileSummary, S as SummarizeProfileViewOptions, s as summarizeProfileView } from './profile-summary-0T0VS7Rz.js';
10
+ export { P as ProfileSummary, S as SummarizeProfileViewOptions, s as summarizeProfileView } from './profile-summary-CwJymH9d.js';
11
11
  import { E as EntitySearchResult } from './follow-profile-CVcA2w1v.js';
12
12
  export { a as EntityImportSearchResponse, b as EntityImportSearchResponseSchema, c as EntityMintDomainResponse, d as EntityMintDomainResponseSchema, e as EntityResolveDomainRequest, f as EntityResolveDomainRequestSchema, g as EntityResolveDomainResponse, h as EntityResolveDomainResponseSchema, i as EntitySearchResponse, j as EntitySearchResponseSchema, k as EntitySearchResultSchema, l as EntitySelectRequest, m as EntitySelectRequestSchema, n as EntitySelectResponse, o as EntitySelectResponseSchema, F as FEATURE_FLAGS, p as FeatureAllowlistEntry, q as FeatureAllowlistEntrySchema, r as FeatureFlag, s as FollowProfileItem, t as FollowProfilePage, u as FollowProfilePageSchema, v as FollowProfileSchema } from './follow-profile-CVcA2w1v.js';
13
13
  import { G as GermDeclarationRecord } from './germ-declaration-BQBocGww.js';
@@ -432,6 +432,9 @@ declare const APP_CATEGORIES: {
432
432
  readonly Events: {
433
433
  readonly phosphorIcon: "CalendarBlank";
434
434
  };
435
+ readonly Flashcards: {
436
+ readonly phosphorIcon: "Cards";
437
+ };
435
438
  readonly Impact: {
436
439
  readonly phosphorIcon: "Certificate";
437
440
  };
@@ -589,6 +592,11 @@ declare const APP_CATEGORY_MAP: {
589
592
  readonly skillz: "Code";
590
593
  readonly birdsplace: "Places";
591
594
  readonly skymap: "Places";
595
+ readonly opendeck: "Flashcards";
596
+ readonly chiverecipes: "Recipes";
597
+ readonly atbb: "Posts";
598
+ readonly passingreads: "Reviews";
599
+ readonly isnot: "Reviews";
592
600
  };
593
601
  type KnownAppId = keyof typeof APP_CATEGORY_MAP;
594
602
  declare function isKnownAppId(appId: string): appId is KnownAppId;
@@ -1909,12 +1917,12 @@ declare const streamVerbSchema: z.ZodEnum<{
1909
1917
  posted: "posted";
1910
1918
  reposted: "reposted";
1911
1919
  shipped: "shipped";
1920
+ reviewed: "reviewed";
1912
1921
  annotated: "annotated";
1913
1922
  bookmarked: "bookmarked";
1914
1923
  registered: "registered";
1915
1924
  metWith: "metWith";
1916
1925
  wrote: "wrote";
1917
- reviewed: "reviewed";
1918
1926
  published: "published";
1919
1927
  rsvped: "rsvped";
1920
1928
  commented: "commented";
package/dist/index.js CHANGED
@@ -393,7 +393,7 @@ import {
393
393
  roadmapIssueUrl
394
394
  } from "./roadmap/index.js";
395
395
  import { SIFA_REPO_GROUPS, describeSifaRecord, repoGroupForCollection } from "./repo/index.js";
396
- var SIFA_SDK_VERSION = "0.19.109";
396
+ var SIFA_SDK_VERSION = "0.19.111";
397
397
  export {
398
398
  ACTIVITY_TIERS,
399
399
  ACTIVITY_VERBS,
@@ -1,7 +1,7 @@
1
1
  import { c as Profile, d as ProfilePosition, Y as SkillRef, D as PresentationLinkView } from './index-BQAKeEoj.cjs';
2
- import { a1 as SifaApiConfig, a0 as ApiFetchOptions, o as ProfileView, a3 as CreateResult, a2 as WriteResult } from './types-jE1ofoPI.cjs';
2
+ import { a1 as SifaApiConfig, a0 as ApiFetchOptions, o as ProfileView, a3 as CreateResult, a2 as WriteResult } from './types-DMTHqi2m.cjs';
3
3
  import { c as GermShowButtonTo } from './germ-declaration-BQBocGww.cjs';
4
- import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-C5LlxPKK.cjs';
4
+ import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-TkVxvll4.cjs';
5
5
  import { i as EntitySearchResponse, E as EntitySearchResult, c as EntityMintDomainResponse, g as EntityResolveDomainResponse, l as EntitySelectRequest, n as EntitySelectResponse } from './follow-profile-CgLLLQtJ.cjs';
6
6
 
7
7
  /**
@@ -40,11 +40,16 @@ type GermMessageLink = {
40
40
  interface FetchGermMessageLinkOptions extends ApiFetchOptions {
41
41
  /** Raw `Cookie` header for RSC calls, so the API sees the viewer's session. */
42
42
  cookieHeader?: string;
43
+ /**
44
+ * The visitor's User-Agent, for RSC calls. The API uses it for the platform
45
+ * hint, the iPhone/iPad-only mode and bot-free show counts.
46
+ */
47
+ viewerUserAgent?: string;
43
48
  }
44
49
  /**
45
50
  * Germ DM state for a profile (see {@link GermMessageLink}). Pass the viewer's
46
- * `cookieHeader` from server components; without it the result is the
47
- * logged-out view and may be cached. Returns `null` on any error.
51
+ * `cookieHeader` and `viewerUserAgent` from server components; without a
52
+ * cookie the result is the logged-out view. Returns `null` on any error.
48
53
  */
49
54
  declare function fetchGermMessageLink(config: SifaApiConfig, did: string, options?: FetchGermMessageLinkOptions): Promise<GermMessageLink | null>;
50
55
  /**
@@ -1,7 +1,7 @@
1
1
  import { c as Profile, d as ProfilePosition, Y as SkillRef, D as PresentationLinkView } from './index-DDh2RLvx.js';
2
- import { a1 as SifaApiConfig, a0 as ApiFetchOptions, o as ProfileView, a3 as CreateResult, a2 as WriteResult } from './types-B0zZiWDH.js';
2
+ import { a1 as SifaApiConfig, a0 as ApiFetchOptions, o as ProfileView, a3 as CreateResult, a2 as WriteResult } from './types-CQA_vO39.js';
3
3
  import { c as GermShowButtonTo } from './germ-declaration-BQBocGww.js';
4
- import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-0T0VS7Rz.js';
4
+ import { S as SummarizeProfileViewOptions, P as ProfileSummary } from './profile-summary-CwJymH9d.js';
5
5
  import { i as EntitySearchResponse, E as EntitySearchResult, c as EntityMintDomainResponse, g as EntityResolveDomainResponse, l as EntitySelectRequest, n as EntitySelectResponse } from './follow-profile-CVcA2w1v.js';
6
6
 
7
7
  /**
@@ -40,11 +40,16 @@ type GermMessageLink = {
40
40
  interface FetchGermMessageLinkOptions extends ApiFetchOptions {
41
41
  /** Raw `Cookie` header for RSC calls, so the API sees the viewer's session. */
42
42
  cookieHeader?: string;
43
+ /**
44
+ * The visitor's User-Agent, for RSC calls. The API uses it for the platform
45
+ * hint, the iPhone/iPad-only mode and bot-free show counts.
46
+ */
47
+ viewerUserAgent?: string;
43
48
  }
44
49
  /**
45
50
  * Germ DM state for a profile (see {@link GermMessageLink}). Pass the viewer's
46
- * `cookieHeader` from server components; without it the result is the
47
- * logged-out view and may be cached. Returns `null` on any error.
51
+ * `cookieHeader` and `viewerUserAgent` from server components; without a
52
+ * cookie the result is the logged-out view. Returns `null` on any error.
48
53
  */
49
54
  declare function fetchGermMessageLink(config: SifaApiConfig, did: string, options?: FetchGermMessageLinkOptions): Promise<GermMessageLink | null>;
50
55
  /**
@@ -1,4 +1,4 @@
1
- import { o as ProfileView } from './types-B0zZiWDH.js';
1
+ import { o as ProfileView } from './types-CQA_vO39.js';
2
2
 
3
3
  /**
4
4
  * Compact professional summary derived from a {@link ProfileView}.
@@ -1,4 +1,4 @@
1
- import { o as ProfileView } from './types-jE1ofoPI.cjs';
1
+ import { o as ProfileView } from './types-DMTHqi2m.cjs';
2
2
 
3
3
  /**
4
4
  * Compact professional summary derived from a {@link ProfileView}.
@@ -4,7 +4,6 @@ import {
4
4
  } from "../../schemas/germ-declaration.js";
5
5
  import { apiFetch, encodeIdentifier } from "../client.js";
6
6
  var GERM_LINK_TIMEOUT_MS = 1500;
7
- var LOGGED_OUT_REVALIDATE_S = 900;
8
7
  function isShowButtonTo(value) {
9
8
  return GERM_SHOW_BUTTON_TO_VALUES.includes(value);
10
9
  }
@@ -21,10 +20,11 @@ function parseGermMessageLink(data) {
21
20
  return null;
22
21
  }
23
22
  async function fetchGermMessageLink(config, did, options = {}) {
24
- const { cookieHeader, ...rest } = options;
23
+ const { cookieHeader, viewerUserAgent, ...rest } = options;
25
24
  const headers = { ...rest.headers ?? {} };
26
25
  if (cookieHeader) headers.cookie = cookieHeader;
27
- const caching = cookieHeader ? { cache: "no-store", next: void 0 } : { next: { revalidate: LOGGED_OUT_REVALIDATE_S } };
26
+ if (viewerUserAgent) headers["x-viewer-user-agent"] = viewerUserAgent;
27
+ const caching = { cache: "no-store", next: void 0 };
28
28
  try {
29
29
  const data = await apiFetch(
30
30
  config,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/query/fetchers/germ.ts"],"sourcesContent":["import {\n GERM_SHOW_BUTTON_TO_VALUES,\n type GermShowButtonTo,\n} from '../../schemas/germ-declaration.js';\nimport { apiFetch, encodeIdentifier, type ApiFetchOptions, type SifaApiConfig } from '../client.js';\n\n/**\n * Germ DM state of a profile, as seen by the current viewer.\n *\n * - `eligible`: render the \"Message on Germ\" button. Its `href` is\n * {@link germRedirectPath}, which counts the click and forwards to Germ.\n * - `owner`: the viewer looks at their own profile. `showButtonTo` is the\n * owner's Germ setting, for a status note; `null` when the record has no\n * `messageMe` or the value is not one Sifa knows.\n *\n * `null` means no button and no note.\n */\nexport type GermMessageLink =\n { status: 'eligible' } | { status: 'owner'; showButtonTo: GermShowButtonTo | null };\n\nexport interface FetchGermMessageLinkOptions extends ApiFetchOptions {\n /** Raw `Cookie` header for RSC calls, so the API sees the viewer's session. */\n cookieHeader?: string;\n}\n\n// Below the profile page's patience: a slow lookup drops the button, not the page.\nconst GERM_LINK_TIMEOUT_MS = 1500;\n// Logged-out results depend only on the owner, so they can be shared.\nconst LOGGED_OUT_REVALIDATE_S = 900;\n\nfunction isShowButtonTo(value: unknown): value is GermShowButtonTo {\n return (GERM_SHOW_BUTTON_TO_VALUES as readonly unknown[]).includes(value);\n}\n\nfunction parseGermMessageLink(data: unknown): GermMessageLink | null {\n if (typeof data !== 'object' || data === null) return null;\n const { status, showButtonTo } = data as { status?: unknown; showButtonTo?: unknown };\n if (status === 'eligible') return { status: 'eligible' };\n if (status === 'owner') {\n if (showButtonTo === undefined || showButtonTo === null) {\n return { status: 'owner', showButtonTo: null };\n }\n if (isShowButtonTo(showButtonTo)) return { status: 'owner', showButtonTo };\n }\n return null;\n}\n\n/**\n * Germ DM state for a profile (see {@link GermMessageLink}). Pass the viewer's\n * `cookieHeader` from server components; without it the result is the\n * logged-out view and may be cached. Returns `null` on any error.\n */\nexport async function fetchGermMessageLink(\n config: SifaApiConfig,\n did: string,\n options: FetchGermMessageLinkOptions = {},\n): Promise<GermMessageLink | null> {\n const { cookieHeader, ...rest } = options;\n const headers: Record<string, string> = { ...(rest.headers ?? {}) };\n if (cookieHeader) headers.cookie = cookieHeader;\n // Applied last: a viewer-specific answer must never land in a shared cache.\n const caching: ApiFetchOptions = cookieHeader\n ? { cache: 'no-store', next: undefined }\n : { next: { revalidate: LOGGED_OUT_REVALIDATE_S } };\n try {\n const data = await apiFetch<unknown>(\n config,\n `/api/profiles/${encodeIdentifier(did)}/germ-message-link`,\n { timeoutMs: GERM_LINK_TIMEOUT_MS, credentials: 'include', ...rest, ...caching, headers },\n );\n return parseGermMessageLink(data);\n } catch {\n return null;\n }\n}\n\n/**\n * Path of the click route the button links to. The route re-checks the\n * viewer, counts the click and redirects to Germ, so clicks are counted\n * without client-side JavaScript. Prefix it with the API origin.\n */\nexport function germRedirectPath(did: string): string {\n return `/api/profiles/${encodeIdentifier(did)}/germ-redirect`;\n}\n"],"mappings":";AAAA;AAAA,EACE;AAAA,OAEK;AACP,SAAS,UAAU,wBAAkE;AAsBrF,IAAM,uBAAuB;AAE7B,IAAM,0BAA0B;AAEhC,SAAS,eAAe,OAA2C;AACjE,SAAQ,2BAAkD,SAAS,KAAK;AAC1E;AAEA,SAAS,qBAAqB,MAAuC;AACnE,MAAI,OAAO,SAAS,YAAY,SAAS,KAAM,QAAO;AACtD,QAAM,EAAE,QAAQ,aAAa,IAAI;AACjC,MAAI,WAAW,WAAY,QAAO,EAAE,QAAQ,WAAW;AACvD,MAAI,WAAW,SAAS;AACtB,QAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACvD,aAAO,EAAE,QAAQ,SAAS,cAAc,KAAK;AAAA,IAC/C;AACA,QAAI,eAAe,YAAY,EAAG,QAAO,EAAE,QAAQ,SAAS,aAAa;AAAA,EAC3E;AACA,SAAO;AACT;AAOA,eAAsB,qBACpB,QACA,KACA,UAAuC,CAAC,GACP;AACjC,QAAM,EAAE,cAAc,GAAG,KAAK,IAAI;AAClC,QAAM,UAAkC,EAAE,GAAI,KAAK,WAAW,CAAC,EAAG;AAClE,MAAI,aAAc,SAAQ,SAAS;AAEnC,QAAM,UAA2B,eAC7B,EAAE,OAAO,YAAY,MAAM,OAAU,IACrC,EAAE,MAAM,EAAE,YAAY,wBAAwB,EAAE;AACpD,MAAI;AACF,UAAM,OAAO,MAAM;AAAA,MACjB;AAAA,MACA,iBAAiB,iBAAiB,GAAG,CAAC;AAAA,MACtC,EAAE,WAAW,sBAAsB,aAAa,WAAW,GAAG,MAAM,GAAG,SAAS,QAAQ;AAAA,IAC1F;AACA,WAAO,qBAAqB,IAAI;AAAA,EAClC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAOO,SAAS,iBAAiB,KAAqB;AACpD,SAAO,iBAAiB,iBAAiB,GAAG,CAAC;AAC/C;","names":[]}
1
+ {"version":3,"sources":["../../../src/query/fetchers/germ.ts"],"sourcesContent":["import {\n GERM_SHOW_BUTTON_TO_VALUES,\n type GermShowButtonTo,\n} from '../../schemas/germ-declaration.js';\nimport { apiFetch, encodeIdentifier, type ApiFetchOptions, type SifaApiConfig } from '../client.js';\n\n/**\n * Germ DM state of a profile, as seen by the current viewer.\n *\n * - `eligible`: render the \"Message on Germ\" button. Its `href` is\n * {@link germRedirectPath}, which counts the click and forwards to Germ.\n * - `owner`: the viewer looks at their own profile. `showButtonTo` is the\n * owner's Germ setting, for a status note; `null` when the record has no\n * `messageMe` or the value is not one Sifa knows.\n *\n * `null` means no button and no note.\n */\nexport type GermMessageLink =\n { status: 'eligible' } | { status: 'owner'; showButtonTo: GermShowButtonTo | null };\n\nexport interface FetchGermMessageLinkOptions extends ApiFetchOptions {\n /** Raw `Cookie` header for RSC calls, so the API sees the viewer's session. */\n cookieHeader?: string;\n /**\n * The visitor's User-Agent, for RSC calls. The API uses it for the platform\n * hint, the iPhone/iPad-only mode and bot-free show counts.\n */\n viewerUserAgent?: string;\n}\n\n// Below the profile page's patience: a slow lookup drops the button, not the page.\nconst GERM_LINK_TIMEOUT_MS = 1500;\n\nfunction isShowButtonTo(value: unknown): value is GermShowButtonTo {\n return (GERM_SHOW_BUTTON_TO_VALUES as readonly unknown[]).includes(value);\n}\n\nfunction parseGermMessageLink(data: unknown): GermMessageLink | null {\n if (typeof data !== 'object' || data === null) return null;\n const { status, showButtonTo } = data as { status?: unknown; showButtonTo?: unknown };\n if (status === 'eligible') return { status: 'eligible' };\n if (status === 'owner') {\n if (showButtonTo === undefined || showButtonTo === null) {\n return { status: 'owner', showButtonTo: null };\n }\n if (isShowButtonTo(showButtonTo)) return { status: 'owner', showButtonTo };\n }\n return null;\n}\n\n/**\n * Germ DM state for a profile (see {@link GermMessageLink}). Pass the viewer's\n * `cookieHeader` and `viewerUserAgent` from server components; without a\n * cookie the result is the logged-out view. Returns `null` on any error.\n */\nexport async function fetchGermMessageLink(\n config: SifaApiConfig,\n did: string,\n options: FetchGermMessageLinkOptions = {},\n): Promise<GermMessageLink | null> {\n const { cookieHeader, viewerUserAgent, ...rest } = options;\n const headers: Record<string, string> = { ...(rest.headers ?? {}) };\n if (cookieHeader) headers.cookie = cookieHeader;\n if (viewerUserAgent) headers['x-viewer-user-agent'] = viewerUserAgent;\n // Applied last, never cached: the answer depends on the viewer and device,\n // and each call counts as a shown button. The API caches the lookups.\n const caching: ApiFetchOptions = { cache: 'no-store', next: undefined };\n try {\n const data = await apiFetch<unknown>(\n config,\n `/api/profiles/${encodeIdentifier(did)}/germ-message-link`,\n { timeoutMs: GERM_LINK_TIMEOUT_MS, credentials: 'include', ...rest, ...caching, headers },\n );\n return parseGermMessageLink(data);\n } catch {\n return null;\n }\n}\n\n/**\n * Path of the click route the button links to. The route re-checks the\n * viewer, counts the click and redirects to Germ, so clicks are counted\n * without client-side JavaScript. Prefix it with the API origin.\n */\nexport function germRedirectPath(did: string): string {\n return `/api/profiles/${encodeIdentifier(did)}/germ-redirect`;\n}\n"],"mappings":";AAAA;AAAA,EACE;AAAA,OAEK;AACP,SAAS,UAAU,wBAAkE;AA2BrF,IAAM,uBAAuB;AAE7B,SAAS,eAAe,OAA2C;AACjE,SAAQ,2BAAkD,SAAS,KAAK;AAC1E;AAEA,SAAS,qBAAqB,MAAuC;AACnE,MAAI,OAAO,SAAS,YAAY,SAAS,KAAM,QAAO;AACtD,QAAM,EAAE,QAAQ,aAAa,IAAI;AACjC,MAAI,WAAW,WAAY,QAAO,EAAE,QAAQ,WAAW;AACvD,MAAI,WAAW,SAAS;AACtB,QAAI,iBAAiB,UAAa,iBAAiB,MAAM;AACvD,aAAO,EAAE,QAAQ,SAAS,cAAc,KAAK;AAAA,IAC/C;AACA,QAAI,eAAe,YAAY,EAAG,QAAO,EAAE,QAAQ,SAAS,aAAa;AAAA,EAC3E;AACA,SAAO;AACT;AAOA,eAAsB,qBACpB,QACA,KACA,UAAuC,CAAC,GACP;AACjC,QAAM,EAAE,cAAc,iBAAiB,GAAG,KAAK,IAAI;AACnD,QAAM,UAAkC,EAAE,GAAI,KAAK,WAAW,CAAC,EAAG;AAClE,MAAI,aAAc,SAAQ,SAAS;AACnC,MAAI,gBAAiB,SAAQ,qBAAqB,IAAI;AAGtD,QAAM,UAA2B,EAAE,OAAO,YAAY,MAAM,OAAU;AACtE,MAAI;AACF,UAAM,OAAO,MAAM;AAAA,MACjB;AAAA,MACA,iBAAiB,iBAAiB,GAAG,CAAC;AAAA,MACtC,EAAE,WAAW,sBAAsB,aAAa,WAAW,GAAG,MAAM,GAAG,SAAS,QAAQ;AAAA,IAC1F;AACA,WAAO,qBAAqB,IAAI;AAAA,EAClC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAOO,SAAS,iBAAiB,KAAqB;AACpD,SAAO,iBAAiB,iBAAiB,GAAG,CAAC;AAC/C;","names":[]}
@@ -167,7 +167,6 @@ zod.z.object({
167
167
 
168
168
  // src/query/fetchers/germ.ts
169
169
  var GERM_LINK_TIMEOUT_MS = 1500;
170
- var LOGGED_OUT_REVALIDATE_S = 900;
171
170
  function isShowButtonTo(value) {
172
171
  return GERM_SHOW_BUTTON_TO_VALUES.includes(value);
173
172
  }
@@ -184,10 +183,11 @@ function parseGermMessageLink(data) {
184
183
  return null;
185
184
  }
186
185
  async function fetchGermMessageLink(config, did, options = {}) {
187
- const { cookieHeader, ...rest } = options;
186
+ const { cookieHeader, viewerUserAgent, ...rest } = options;
188
187
  const headers = { ...rest.headers ?? {} };
189
188
  if (cookieHeader) headers.cookie = cookieHeader;
190
- const caching = cookieHeader ? { cache: "no-store", next: void 0 } : { next: { revalidate: LOGGED_OUT_REVALIDATE_S } };
189
+ if (viewerUserAgent) headers["x-viewer-user-agent"] = viewerUserAgent;
190
+ const caching = { cache: "no-store", next: void 0 };
191
191
  try {
192
192
  const data = await apiFetch(
193
193
  config,