@singi-labs/sifa-sdk 0.19.43 → 0.19.45

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 (579) hide show
  1. package/dist/atproto/index.js +9 -3
  2. package/dist/atproto/index.js.map +1 -1
  3. package/dist/badge/index.js +5 -141
  4. package/dist/badge/index.js.map +1 -1
  5. package/dist/cards/adult-content.js +14 -0
  6. package/dist/cards/adult-content.js.map +1 -0
  7. package/dist/cards/app-url-patterns.js +369 -0
  8. package/dist/cards/app-url-patterns.js.map +1 -0
  9. package/dist/cards/index.js +24 -0
  10. package/dist/cards/index.js.map +1 -0
  11. package/dist/cards/resolve-card-url.js +198 -0
  12. package/dist/cards/resolve-card-url.js.map +1 -0
  13. package/dist/cards/visibility.js +45 -0
  14. package/dist/cards/visibility.js.map +1 -0
  15. package/dist/flags/index.js +4 -3
  16. package/dist/flags/index.js.map +1 -1
  17. package/dist/format/collapse-contributors.js +19 -0
  18. package/dist/format/collapse-contributors.js.map +1 -0
  19. package/dist/format/company-name.js +61 -0
  20. package/dist/format/company-name.js.map +1 -0
  21. package/dist/format/compare-text.js +9 -0
  22. package/dist/format/compare-text.js.map +1 -0
  23. package/dist/format/doi.js +8 -0
  24. package/dist/format/doi.js.map +1 -0
  25. package/dist/format/embed.js +131 -0
  26. package/dist/format/embed.js.map +1 -0
  27. package/dist/format/endorsement-context.js +35 -0
  28. package/dist/format/endorsement-context.js.map +1 -0
  29. package/dist/format/format-display-url.js +42 -0
  30. package/dist/format/format-display-url.js.map +1 -0
  31. package/dist/format/format-duration.js +13 -0
  32. package/dist/format/format-duration.js.map +1 -0
  33. package/dist/format/format-time.js +30 -0
  34. package/dist/format/format-time.js.map +1 -0
  35. package/dist/format/handle-utils.js +19 -0
  36. package/dist/format/handle-utils.js.map +1 -0
  37. package/dist/format/index.js +100 -0
  38. package/dist/format/index.js.map +1 -0
  39. package/dist/format/location-segments.js +29 -0
  40. package/dist/format/location-segments.js.map +1 -0
  41. package/dist/format/location-utils.js +42 -0
  42. package/dist/format/location-utils.js.map +1 -0
  43. package/dist/format/meta-description.js +35 -0
  44. package/dist/format/meta-description.js.map +1 -0
  45. package/dist/format/normalize-company-key.js +12 -0
  46. package/dist/format/normalize-company-key.js.map +1 -0
  47. package/dist/format/normalize-legal-form.js +71 -0
  48. package/dist/format/normalize-legal-form.js.map +1 -0
  49. package/dist/format/pds-utils.js +73 -0
  50. package/dist/format/pds-utils.js.map +1 -0
  51. package/dist/format/sort-by-date.js +39 -0
  52. package/dist/format/sort-by-date.js.map +1 -0
  53. package/dist/format/summarize-deliveries.js +37 -0
  54. package/dist/format/summarize-deliveries.js.map +1 -0
  55. package/dist/format/talk-slug.js +21 -0
  56. package/dist/format/talk-slug.js.map +1 -0
  57. package/dist/format/text-sanitize.js +29 -0
  58. package/dist/format/text-sanitize.js.map +1 -0
  59. package/dist/format/text-truncate.js +14 -0
  60. package/dist/format/text-truncate.js.map +1 -0
  61. package/dist/format/time-utils.js +19 -0
  62. package/dist/format/time-utils.js.map +1 -0
  63. package/dist/format/timeline.js +29 -0
  64. package/dist/format/timeline.js.map +1 -0
  65. package/dist/format/wcag-contrast.js +34 -0
  66. package/dist/format/wcag-contrast.js.map +1 -0
  67. package/dist/import/index.js +22 -0
  68. package/dist/import/index.js.map +1 -0
  69. package/dist/import/presentation-csv.js +116 -0
  70. package/dist/import/presentation-csv.js.map +1 -0
  71. package/dist/index.cjs +8 -1
  72. package/dist/index.cjs.map +1 -1
  73. package/dist/index.d.cts +11 -1
  74. package/dist/index.d.ts +11 -1
  75. package/dist/index.js +675 -7080
  76. package/dist/index.js.map +1 -1
  77. package/dist/jev/index.js +18 -5
  78. package/dist/jev/index.js.map +1 -1
  79. package/dist/jsonld/index.cjs.map +1 -1
  80. package/dist/jsonld/index.js +30 -987
  81. package/dist/jsonld/index.js.map +1 -1
  82. package/dist/jsonld/profile.js +222 -0
  83. package/dist/jsonld/profile.js.map +1 -0
  84. package/dist/jsonld/terms.js +496 -0
  85. package/dist/jsonld/terms.js.map +1 -0
  86. package/dist/jsonld/url.js +17 -0
  87. package/dist/jsonld/url.js.map +1 -0
  88. package/dist/jsonld/works-graph.js +41 -0
  89. package/dist/jsonld/works-graph.js.map +1 -0
  90. package/dist/jsonld/works.js +178 -0
  91. package/dist/jsonld/works.js.map +1 -0
  92. package/dist/logic/actor-identity.js +8 -0
  93. package/dist/logic/actor-identity.js.map +1 -0
  94. package/dist/logic/agent-ref.js +24 -0
  95. package/dist/logic/agent-ref.js.map +1 -0
  96. package/dist/logic/company-page-indexable.js +23 -0
  97. package/dist/logic/company-page-indexable.js.map +1 -0
  98. package/dist/logic/date-lookahead.js +31 -0
  99. package/dist/logic/date-lookahead.js.map +1 -0
  100. package/dist/logic/domain-detect.js +43 -0
  101. package/dist/logic/domain-detect.js.map +1 -0
  102. package/dist/logic/entity-disambiguation.js +24 -0
  103. package/dist/logic/entity-disambiguation.js.map +1 -0
  104. package/dist/logic/entity-ref-anchor.js +33 -0
  105. package/dist/logic/entity-ref-anchor.js.map +1 -0
  106. package/dist/logic/index.js +91 -0
  107. package/dist/logic/index.js.map +1 -0
  108. package/dist/logic/org-floor.js +66 -0
  109. package/dist/logic/org-floor.js.map +1 -0
  110. package/dist/logic/primary-item.js +9 -0
  111. package/dist/logic/primary-item.js.map +1 -0
  112. package/dist/logic/primary-position.js +16 -0
  113. package/dist/logic/primary-position.js.map +1 -0
  114. package/dist/logic/profile-completeness.js +21 -0
  115. package/dist/logic/profile-completeness.js.map +1 -0
  116. package/dist/logic/profile-dimensions.js +50 -0
  117. package/dist/logic/profile-dimensions.js.map +1 -0
  118. package/dist/logic/profile-summary.js +23 -0
  119. package/dist/logic/profile-summary.js.map +1 -0
  120. package/dist/logic/pseudo-employer.js +34 -0
  121. package/dist/logic/pseudo-employer.js.map +1 -0
  122. package/dist/logic/recent-activity.js +10 -0
  123. package/dist/logic/recent-activity.js.map +1 -0
  124. package/dist/logic/self-app.js +10 -0
  125. package/dist/logic/self-app.js.map +1 -0
  126. package/dist/{org-BCrvebcf.d.ts → org-CxTEjjrm.d.ts} +1 -1
  127. package/dist/{org-settings-C73Sin5E.d.ts → org-settings-BShvhyFp.d.ts} +1 -1
  128. package/dist/profile/headline-role-dedupe.js +12 -0
  129. package/dist/profile/headline-role-dedupe.js.map +1 -0
  130. package/dist/profile/highlights.js +200 -0
  131. package/dist/profile/highlights.js.map +1 -0
  132. package/dist/profile/index.js +66 -0
  133. package/dist/profile/index.js.map +1 -0
  134. package/dist/profile/involvement-grouping.js +31 -0
  135. package/dist/profile/involvement-grouping.js.map +1 -0
  136. package/dist/profile/language-sort.js +24 -0
  137. package/dist/profile/language-sort.js.map +1 -0
  138. package/dist/profile/publication-versions.js +98 -0
  139. package/dist/profile/publication-versions.js.map +1 -0
  140. package/dist/profile/range-sort.js +14 -0
  141. package/dist/profile/range-sort.js.map +1 -0
  142. package/dist/profile/section-model.js +122 -0
  143. package/dist/profile/section-model.js.map +1 -0
  144. package/dist/profile/section-sorts.js +33 -0
  145. package/dist/profile/section-sorts.js.map +1 -0
  146. package/dist/publishers/index.js +16 -0
  147. package/dist/publishers/index.js.map +1 -0
  148. package/dist/publishers/registry.js +87 -0
  149. package/dist/publishers/registry.js.map +1 -0
  150. package/dist/publishing/index.js +46 -184
  151. package/dist/publishing/index.js.map +1 -1
  152. package/dist/publishing/linkblog.js +42 -0
  153. package/dist/publishing/linkblog.js.map +1 -0
  154. package/dist/publishing/registry.js +32 -0
  155. package/dist/publishing/registry.js.map +1 -0
  156. package/dist/publishing/schemas.js +74 -0
  157. package/dist/publishing/schemas.js.map +1 -0
  158. package/dist/publishing/types.js +32 -0
  159. package/dist/publishing/types.js.map +1 -0
  160. package/dist/query/client.js +119 -0
  161. package/dist/query/client.js.map +1 -0
  162. package/dist/query/config.js +23 -0
  163. package/dist/query/config.js.map +1 -0
  164. package/dist/query/fetchers/accounts.js +29 -0
  165. package/dist/query/fetchers/accounts.js.map +1 -0
  166. package/dist/query/fetchers/activity-items-hide.js +31 -0
  167. package/dist/query/fetchers/activity-items-hide.js.map +1 -0
  168. package/dist/query/fetchers/activity.js +61 -0
  169. package/dist/query/fetchers/activity.js.map +1 -0
  170. package/dist/query/fetchers/actor.js +30 -0
  171. package/dist/query/fetchers/actor.js.map +1 -0
  172. package/dist/query/fetchers/admin-feature-allowlists.js +41 -0
  173. package/dist/query/fetchers/admin-feature-allowlists.js.map +1 -0
  174. package/dist/query/fetchers/admin-review-queues.js +30 -0
  175. package/dist/query/fetchers/admin-review-queues.js.map +1 -0
  176. package/dist/query/fetchers/apps.js +31 -0
  177. package/dist/query/fetchers/apps.js.map +1 -0
  178. package/dist/query/fetchers/bsky-preferences.js +55 -0
  179. package/dist/query/fetchers/bsky-preferences.js.map +1 -0
  180. package/dist/query/fetchers/confirmations.js +55 -0
  181. package/dist/query/fetchers/confirmations.js.map +1 -0
  182. package/dist/query/fetchers/destructive.js +34 -0
  183. package/dist/query/fetchers/destructive.js.map +1 -0
  184. package/dist/query/fetchers/discovery.js +67 -0
  185. package/dist/query/fetchers/discovery.js.map +1 -0
  186. package/dist/query/fetchers/education.js +23 -0
  187. package/dist/query/fetchers/education.js.map +1 -0
  188. package/dist/query/fetchers/endorsement-inbox.js +36 -0
  189. package/dist/query/fetchers/endorsement-inbox.js.map +1 -0
  190. package/dist/query/fetchers/endorsement.js +23 -0
  191. package/dist/query/fetchers/endorsement.js.map +1 -0
  192. package/dist/query/fetchers/endorsements.js +20 -0
  193. package/dist/query/fetchers/endorsements.js.map +1 -0
  194. package/dist/query/fetchers/entities.js +65 -0
  195. package/dist/query/fetchers/entities.js.map +1 -0
  196. package/dist/query/fetchers/external-accounts.js +74 -0
  197. package/dist/query/fetchers/external-accounts.js.map +1 -0
  198. package/dist/query/fetchers/follow-extras.js +38 -0
  199. package/dist/query/fetchers/follow-extras.js.map +1 -0
  200. package/dist/query/fetchers/follow.js +105 -0
  201. package/dist/query/fetchers/follow.js.map +1 -0
  202. package/dist/query/fetchers/get-profile-view.js +21 -0
  203. package/dist/query/fetchers/get-profile-view.js.map +1 -0
  204. package/dist/query/fetchers/github-prs.js +45 -0
  205. package/dist/query/fetchers/github-prs.js.map +1 -0
  206. package/dist/query/fetchers/inbox.js +29 -0
  207. package/dist/query/fetchers/inbox.js.map +1 -0
  208. package/dist/query/fetchers/index.d.ts +2 -2
  209. package/dist/query/fetchers/index.js +360 -2045
  210. package/dist/query/fetchers/index.js.map +1 -1
  211. package/dist/query/fetchers/investments.js +18 -0
  212. package/dist/query/fetchers/investments.js.map +1 -0
  213. package/dist/query/fetchers/keytrace-claims.js +23 -0
  214. package/dist/query/fetchers/keytrace-claims.js.map +1 -0
  215. package/dist/query/fetchers/marque-domains.js +23 -0
  216. package/dist/query/fetchers/marque-domains.js.map +1 -0
  217. package/dist/query/fetchers/network-map.js +36 -0
  218. package/dist/query/fetchers/network-map.js.map +1 -0
  219. package/dist/query/fetchers/org.js +48 -0
  220. package/dist/query/fetchers/org.js.map +1 -0
  221. package/dist/query/fetchers/positions.js +77 -0
  222. package/dist/query/fetchers/positions.js.map +1 -0
  223. package/dist/query/fetchers/profile-completeness.js +45 -0
  224. package/dist/query/fetchers/profile-completeness.js.map +1 -0
  225. package/dist/query/fetchers/profile-items-hide.js +36 -0
  226. package/dist/query/fetchers/profile-items-hide.js.map +1 -0
  227. package/dist/query/fetchers/profile-locations.js +23 -0
  228. package/dist/query/fetchers/profile-locations.js.map +1 -0
  229. package/dist/query/fetchers/profile-mutations.js +82 -0
  230. package/dist/query/fetchers/profile-mutations.js.map +1 -0
  231. package/dist/query/fetchers/profile-summary.js +14 -0
  232. package/dist/query/fetchers/profile-summary.js.map +1 -0
  233. package/dist/query/fetchers/profile.js +31 -0
  234. package/dist/query/fetchers/profile.js.map +1 -0
  235. package/dist/query/fetchers/publications.js +66 -0
  236. package/dist/query/fetchers/publications.js.map +1 -0
  237. package/dist/query/fetchers/quoted-posts.js +40 -0
  238. package/dist/query/fetchers/quoted-posts.js.map +1 -0
  239. package/dist/query/fetchers/reactions.js +85 -0
  240. package/dist/query/fetchers/reactions.js.map +1 -0
  241. package/dist/query/fetchers/received-endorsements.js +20 -0
  242. package/dist/query/fetchers/received-endorsements.js.map +1 -0
  243. package/dist/query/fetchers/reciprocity.js +23 -0
  244. package/dist/query/fetchers/reciprocity.js.map +1 -0
  245. package/dist/query/fetchers/records.js +27 -0
  246. package/dist/query/fetchers/records.js.map +1 -0
  247. package/dist/query/fetchers/repo-inventory.js +23 -0
  248. package/dist/query/fetchers/repo-inventory.js.map +1 -0
  249. package/dist/query/fetchers/roadmap.js +73 -0
  250. package/dist/query/fetchers/roadmap.js.map +1 -0
  251. package/dist/query/fetchers/rpg.js +36 -0
  252. package/dist/query/fetchers/rpg.js.map +1 -0
  253. package/dist/query/fetchers/search.js +78 -0
  254. package/dist/query/fetchers/search.js.map +1 -0
  255. package/dist/query/fetchers/section-primary.js +23 -0
  256. package/dist/query/fetchers/section-primary.js.map +1 -0
  257. package/dist/query/fetchers/skills.js +30 -0
  258. package/dist/query/fetchers/skills.js.map +1 -0
  259. package/dist/query/fetchers/speakers.js +42 -0
  260. package/dist/query/fetchers/speakers.js.map +1 -0
  261. package/dist/query/fetchers/stats.js +16 -0
  262. package/dist/query/fetchers/stats.js.map +1 -0
  263. package/dist/query/fetchers/stream.js +30 -0
  264. package/dist/query/fetchers/stream.js.map +1 -0
  265. package/dist/query/fetchers/unlinked-positions.js +30 -0
  266. package/dist/query/fetchers/unlinked-positions.js.map +1 -0
  267. package/dist/query/hooks/index.d.ts +3 -3
  268. package/dist/query/hooks/index.js +283 -3555
  269. package/dist/query/hooks/index.js.map +1 -1
  270. package/dist/query/hooks/use-accounts.js +19 -0
  271. package/dist/query/hooks/use-accounts.js.map +1 -0
  272. package/dist/query/hooks/use-activity-items-hide.js +52 -0
  273. package/dist/query/hooks/use-activity-items-hide.js.map +1 -0
  274. package/dist/query/hooks/use-activity.js +44 -0
  275. package/dist/query/hooks/use-activity.js.map +1 -0
  276. package/dist/query/hooks/use-admin-review-queues.js +21 -0
  277. package/dist/query/hooks/use-admin-review-queues.js.map +1 -0
  278. package/dist/query/hooks/use-apps.js +31 -0
  279. package/dist/query/hooks/use-apps.js.map +1 -0
  280. package/dist/query/hooks/use-bsky-content-prefs.js +45 -0
  281. package/dist/query/hooks/use-bsky-content-prefs.js.map +1 -0
  282. package/dist/query/hooks/use-confirmations.js +121 -0
  283. package/dist/query/hooks/use-confirmations.js.map +1 -0
  284. package/dist/query/hooks/use-create-position.js +28 -0
  285. package/dist/query/hooks/use-create-position.js.map +1 -0
  286. package/dist/query/hooks/use-destructive.js +63 -0
  287. package/dist/query/hooks/use-destructive.js.map +1 -0
  288. package/dist/query/hooks/use-discovery.js +53 -0
  289. package/dist/query/hooks/use-discovery.js.map +1 -0
  290. package/dist/query/hooks/use-education-mutations.js +67 -0
  291. package/dist/query/hooks/use-education-mutations.js.map +1 -0
  292. package/dist/query/hooks/use-endorsement-inbox.js +80 -0
  293. package/dist/query/hooks/use-endorsement-inbox.js.map +1 -0
  294. package/dist/query/hooks/use-endorsement-mutations.js +33 -0
  295. package/dist/query/hooks/use-endorsement-mutations.js.map +1 -0
  296. package/dist/query/hooks/use-endorsement.js +20 -0
  297. package/dist/query/hooks/use-endorsement.js.map +1 -0
  298. package/dist/query/hooks/use-entity-search.js +73 -0
  299. package/dist/query/hooks/use-entity-search.js.map +1 -0
  300. package/dist/query/hooks/use-external-accounts.js +143 -0
  301. package/dist/query/hooks/use-external-accounts.js.map +1 -0
  302. package/dist/query/hooks/use-feature-allowlist.js +104 -0
  303. package/dist/query/hooks/use-feature-allowlist.js.map +1 -0
  304. package/dist/query/hooks/use-follow-extras.js +38 -0
  305. package/dist/query/hooks/use-follow-extras.js.map +1 -0
  306. package/dist/query/hooks/use-follow.js +113 -0
  307. package/dist/query/hooks/use-follow.js.map +1 -0
  308. package/dist/query/hooks/use-get-profile-view.js +20 -0
  309. package/dist/query/hooks/use-get-profile-view.js.map +1 -0
  310. package/dist/query/hooks/use-github-prs.js +21 -0
  311. package/dist/query/hooks/use-github-prs.js.map +1 -0
  312. package/dist/query/hooks/use-inbox.js +19 -0
  313. package/dist/query/hooks/use-inbox.js.map +1 -0
  314. package/dist/query/hooks/use-investment-mutations.js +65 -0
  315. package/dist/query/hooks/use-investment-mutations.js.map +1 -0
  316. package/dist/query/hooks/use-keytrace-claims.js +50 -0
  317. package/dist/query/hooks/use-keytrace-claims.js.map +1 -0
  318. package/dist/query/hooks/use-location-mutations.js +71 -0
  319. package/dist/query/hooks/use-location-mutations.js.map +1 -0
  320. package/dist/query/hooks/use-marque-domains.js +50 -0
  321. package/dist/query/hooks/use-marque-domains.js.map +1 -0
  322. package/dist/query/hooks/use-org-claim.js +29 -0
  323. package/dist/query/hooks/use-org-claim.js.map +1 -0
  324. package/dist/query/hooks/use-org-domains.js +28 -0
  325. package/dist/query/hooks/use-org-domains.js.map +1 -0
  326. package/dist/query/hooks/use-org-notification-emails.js +28 -0
  327. package/dist/query/hooks/use-org-notification-emails.js.map +1 -0
  328. package/dist/query/hooks/use-org-profile-settings.js +29 -0
  329. package/dist/query/hooks/use-org-profile-settings.js.map +1 -0
  330. package/dist/query/hooks/use-org-profile.js +21 -0
  331. package/dist/query/hooks/use-org-profile.js.map +1 -0
  332. package/dist/query/hooks/use-position-mutations.js +128 -0
  333. package/dist/query/hooks/use-position-mutations.js.map +1 -0
  334. package/dist/query/hooks/use-profile-completeness.js +21 -0
  335. package/dist/query/hooks/use-profile-completeness.js.map +1 -0
  336. package/dist/query/hooks/use-profile-items-hide.js +53 -0
  337. package/dist/query/hooks/use-profile-items-hide.js.map +1 -0
  338. package/dist/query/hooks/use-profile-mutations.js +143 -0
  339. package/dist/query/hooks/use-profile-mutations.js.map +1 -0
  340. package/dist/query/hooks/use-profile.js +30 -0
  341. package/dist/query/hooks/use-profile.js.map +1 -0
  342. package/dist/query/hooks/use-publication-mutations.js +90 -0
  343. package/dist/query/hooks/use-publication-mutations.js.map +1 -0
  344. package/dist/query/hooks/use-reaction-mutations.js +48 -0
  345. package/dist/query/hooks/use-reaction-mutations.js.map +1 -0
  346. package/dist/query/hooks/use-reactions.js +32 -0
  347. package/dist/query/hooks/use-reactions.js.map +1 -0
  348. package/dist/query/hooks/use-received-endorsements.js +23 -0
  349. package/dist/query/hooks/use-received-endorsements.js.map +1 -0
  350. package/dist/query/hooks/use-reciprocity.js +19 -0
  351. package/dist/query/hooks/use-reciprocity.js.map +1 -0
  352. package/dist/query/hooks/use-record-mutations.js +67 -0
  353. package/dist/query/hooks/use-record-mutations.js.map +1 -0
  354. package/dist/query/hooks/use-repo-inventory.js +43 -0
  355. package/dist/query/hooks/use-repo-inventory.js.map +1 -0
  356. package/dist/query/hooks/use-roadmap-mutations.js +51 -0
  357. package/dist/query/hooks/use-roadmap-mutations.js.map +1 -0
  358. package/dist/query/hooks/use-roadmap.js +31 -0
  359. package/dist/query/hooks/use-roadmap.js.map +1 -0
  360. package/dist/query/hooks/use-search.js +63 -0
  361. package/dist/query/hooks/use-search.js.map +1 -0
  362. package/dist/query/hooks/use-section-primary-mutations.js +53 -0
  363. package/dist/query/hooks/use-section-primary-mutations.js.map +1 -0
  364. package/dist/query/hooks/use-skill-mutations.js +91 -0
  365. package/dist/query/hooks/use-skill-mutations.js.map +1 -0
  366. package/dist/query/hooks/use-stats.js +19 -0
  367. package/dist/query/hooks/use-stats.js.map +1 -0
  368. package/dist/query/hooks/use-stream.js +20 -0
  369. package/dist/query/hooks/use-stream.js.map +1 -0
  370. package/dist/query/hooks/use-unlinked-positions.js +45 -0
  371. package/dist/query/hooks/use-unlinked-positions.js.map +1 -0
  372. package/dist/query/index.d.ts +4 -4
  373. package/dist/query/index.js +685 -3744
  374. package/dist/query/index.js.map +1 -1
  375. package/dist/query/keys.js +138 -0
  376. package/dist/query/keys.js.map +1 -0
  377. package/dist/repo/groups.js +81 -0
  378. package/dist/repo/groups.js.map +1 -0
  379. package/dist/repo/index.js +9 -0
  380. package/dist/repo/index.js.map +1 -0
  381. package/dist/repo/labels.js +121 -0
  382. package/dist/repo/labels.js.map +1 -0
  383. package/dist/repo/types.js +1 -0
  384. package/dist/repo/types.js.map +1 -0
  385. package/dist/resume/index.js +5 -179
  386. package/dist/resume/index.js.map +1 -1
  387. package/dist/resume/json-resume.js +153 -0
  388. package/dist/resume/json-resume.js.map +1 -0
  389. package/dist/roadmap/index.js +101 -0
  390. package/dist/roadmap/index.js.map +1 -0
  391. package/dist/rpg/catalog.js +101 -0
  392. package/dist/rpg/catalog.js.map +1 -0
  393. package/dist/rpg/index.js +13 -116
  394. package/dist/rpg/index.js.map +1 -1
  395. package/dist/rpg/unlocks.js +21 -0
  396. package/dist/rpg/unlocks.js.map +1 -0
  397. package/dist/schemas/blob-ref.js +12 -0
  398. package/dist/schemas/blob-ref.js.map +1 -0
  399. package/dist/schemas/confirmation.js +23 -0
  400. package/dist/schemas/confirmation.js.map +1 -0
  401. package/dist/schemas/endorsement-confirmation.js +18 -0
  402. package/dist/schemas/endorsement-confirmation.js.map +1 -0
  403. package/dist/schemas/endorsement.js +19 -0
  404. package/dist/schemas/endorsement.js.map +1 -0
  405. package/dist/schemas/entity.js +74 -0
  406. package/dist/schemas/entity.js.map +1 -0
  407. package/dist/schemas/feed.js +73 -0
  408. package/dist/schemas/feed.js.map +1 -0
  409. package/dist/schemas/follow-profile.js +32 -0
  410. package/dist/schemas/follow-profile.js.map +1 -0
  411. package/dist/schemas/graph-follow.js +19 -0
  412. package/dist/schemas/graph-follow.js.map +1 -0
  413. package/dist/schemas/index.js +164 -629
  414. package/dist/schemas/index.js.map +1 -1
  415. package/dist/schemas/org-employment-attestation.js +28 -0
  416. package/dist/schemas/org-employment-attestation.js.map +1 -0
  417. package/dist/schemas/org-profile.js +64 -0
  418. package/dist/schemas/org-profile.js.map +1 -0
  419. package/dist/schemas/profile-certification.js +28 -0
  420. package/dist/schemas/profile-certification.js.map +1 -0
  421. package/dist/schemas/profile-course.js +32 -0
  422. package/dist/schemas/profile-course.js.map +1 -0
  423. package/dist/schemas/profile-education.js +33 -0
  424. package/dist/schemas/profile-education.js.map +1 -0
  425. package/dist/schemas/profile-external-account.js +15 -0
  426. package/dist/schemas/profile-external-account.js.map +1 -0
  427. package/dist/schemas/profile-honor.js +18 -0
  428. package/dist/schemas/profile-honor.js.map +1 -0
  429. package/dist/schemas/profile-investment.js +48 -0
  430. package/dist/schemas/profile-investment.js.map +1 -0
  431. package/dist/schemas/profile-involvement.js +47 -0
  432. package/dist/schemas/profile-involvement.js.map +1 -0
  433. package/dist/schemas/profile-language.js +12 -0
  434. package/dist/schemas/profile-language.js.map +1 -0
  435. package/dist/schemas/profile-position.js +42 -0
  436. package/dist/schemas/profile-position.js.map +1 -0
  437. package/dist/schemas/profile-presentation-delivery.js +38 -0
  438. package/dist/schemas/profile-presentation-delivery.js.map +1 -0
  439. package/dist/schemas/profile-presentation.js +36 -0
  440. package/dist/schemas/profile-presentation.js.map +1 -0
  441. package/dist/schemas/profile-project.js +48 -0
  442. package/dist/schemas/profile-project.js.map +1 -0
  443. package/dist/schemas/profile-publication.js +30 -0
  444. package/dist/schemas/profile-publication.js.map +1 -0
  445. package/dist/schemas/profile-self.js +22 -0
  446. package/dist/schemas/profile-self.js.map +1 -0
  447. package/dist/schemas/profile-skill.js +13 -0
  448. package/dist/schemas/profile-skill.js.map +1 -0
  449. package/dist/schemas/profile-volunteering.js +20 -0
  450. package/dist/schemas/profile-volunteering.js.map +1 -0
  451. package/dist/schemas/shared.js +56 -0
  452. package/dist/schemas/shared.js.map +1 -0
  453. package/dist/schemas/write/certification.js +16 -0
  454. package/dist/schemas/write/certification.js.map +1 -0
  455. package/dist/schemas/write/course.js +36 -0
  456. package/dist/schemas/write/course.js.map +1 -0
  457. package/dist/schemas/write/education.js +18 -0
  458. package/dist/schemas/write/education.js.map +1 -0
  459. package/dist/schemas/write/external-account.js +13 -0
  460. package/dist/schemas/write/external-account.js.map +1 -0
  461. package/dist/schemas/write/honor.js +14 -0
  462. package/dist/schemas/write/honor.js.map +1 -0
  463. package/dist/schemas/write/index.d.ts +1 -1
  464. package/dist/schemas/write/index.js +89 -593
  465. package/dist/schemas/write/index.js.map +1 -1
  466. package/dist/schemas/write/investment.js +32 -0
  467. package/dist/schemas/write/investment.js.map +1 -0
  468. package/dist/schemas/write/involvement.js +34 -0
  469. package/dist/schemas/write/involvement.js.map +1 -0
  470. package/dist/schemas/write/language.js +10 -0
  471. package/dist/schemas/write/language.js.map +1 -0
  472. package/dist/schemas/write/org-claim.js +56 -0
  473. package/dist/schemas/write/org-claim.js.map +1 -0
  474. package/dist/schemas/write/org-employment-attestation.js +19 -0
  475. package/dist/schemas/write/org-employment-attestation.js.map +1 -0
  476. package/dist/schemas/write/org-profile.js +54 -0
  477. package/dist/schemas/write/org-profile.js.map +1 -0
  478. package/dist/schemas/write/org-settings.js +81 -0
  479. package/dist/schemas/write/org-settings.js.map +1 -0
  480. package/dist/schemas/write/position.js +24 -0
  481. package/dist/schemas/write/position.js.map +1 -0
  482. package/dist/schemas/write/presentation-delivery.js +34 -0
  483. package/dist/schemas/write/presentation-delivery.js.map +1 -0
  484. package/dist/schemas/write/presentation.js +23 -0
  485. package/dist/schemas/write/presentation.js.map +1 -0
  486. package/dist/schemas/write/profile-location.js +21 -0
  487. package/dist/schemas/write/profile-location.js.map +1 -0
  488. package/dist/schemas/write/profile-self.js +27 -0
  489. package/dist/schemas/write/profile-self.js.map +1 -0
  490. package/dist/schemas/write/project.js +27 -0
  491. package/dist/schemas/write/project.js.map +1 -0
  492. package/dist/schemas/write/publication.js +41 -0
  493. package/dist/schemas/write/publication.js.map +1 -0
  494. package/dist/schemas/write/shared.js +96 -0
  495. package/dist/schemas/write/shared.js.map +1 -0
  496. package/dist/schemas/write/skill.js +18 -0
  497. package/dist/schemas/write/skill.js.map +1 -0
  498. package/dist/schemas/write/volunteering.js +16 -0
  499. package/dist/schemas/write/volunteering.js.map +1 -0
  500. package/dist/stream/activity-item.js +1 -0
  501. package/dist/stream/activity-item.js.map +1 -0
  502. package/dist/stream/index.js +49 -0
  503. package/dist/stream/index.js.map +1 -0
  504. package/dist/stream/stream-card-vm-schema.js +265 -0
  505. package/dist/stream/stream-card-vm-schema.js.map +1 -0
  506. package/dist/stream/stream-card-vm.js +1 -0
  507. package/dist/stream/stream-card-vm.js.map +1 -0
  508. package/dist/stream/to-stream-card-vm.js +793 -0
  509. package/dist/stream/to-stream-card-vm.js.map +1 -0
  510. package/dist/stream/two-tier.js +30 -0
  511. package/dist/stream/two-tier.js.map +1 -0
  512. package/dist/stream/verbs.js +120 -0
  513. package/dist/stream/verbs.js.map +1 -0
  514. package/dist/taxonomy/activity-tiers.js +956 -0
  515. package/dist/taxonomy/activity-tiers.js.map +1 -0
  516. package/dist/taxonomy/app-categories.js +42 -0
  517. package/dist/taxonomy/app-categories.js.map +1 -0
  518. package/dist/taxonomy/app-category-map.js +166 -0
  519. package/dist/taxonomy/app-category-map.js.map +1 -0
  520. package/dist/taxonomy/artifact-link-kind.js +29 -0
  521. package/dist/taxonomy/artifact-link-kind.js.map +1 -0
  522. package/dist/taxonomy/calendar-event.js +28 -0
  523. package/dist/taxonomy/calendar-event.js.map +1 -0
  524. package/dist/taxonomy/continents.js +215 -0
  525. package/dist/taxonomy/continents.js.map +1 -0
  526. package/dist/taxonomy/countries.js +203 -0
  527. package/dist/taxonomy/countries.js.map +1 -0
  528. package/dist/taxonomy/course-role.js +37 -0
  529. package/dist/taxonomy/course-role.js.map +1 -0
  530. package/dist/taxonomy/employment-type.js +82 -0
  531. package/dist/taxonomy/employment-type.js.map +1 -0
  532. package/dist/taxonomy/eqf-level.js +59 -0
  533. package/dist/taxonomy/eqf-level.js.map +1 -0
  534. package/dist/taxonomy/index.js +263 -0
  535. package/dist/taxonomy/index.js.map +1 -0
  536. package/dist/taxonomy/industry-taxonomy.js +281 -0
  537. package/dist/taxonomy/industry-taxonomy.js.map +1 -0
  538. package/dist/taxonomy/investment.js +54 -0
  539. package/dist/taxonomy/investment.js.map +1 -0
  540. package/dist/taxonomy/involvement-kind.js +30 -0
  541. package/dist/taxonomy/involvement-kind.js.map +1 -0
  542. package/dist/taxonomy/open-to.js +128 -0
  543. package/dist/taxonomy/open-to.js.map +1 -0
  544. package/dist/taxonomy/platforms.js +56 -0
  545. package/dist/taxonomy/platforms.js.map +1 -0
  546. package/dist/taxonomy/presentation-link-type.js +22 -0
  547. package/dist/taxonomy/presentation-link-type.js.map +1 -0
  548. package/dist/taxonomy/presentation-role.js +21 -0
  549. package/dist/taxonomy/presentation-role.js.map +1 -0
  550. package/dist/taxonomy/publication-type.js +54 -0
  551. package/dist/taxonomy/publication-type.js.map +1 -0
  552. package/dist/taxonomy/relational.js +25 -0
  553. package/dist/taxonomy/relational.js.map +1 -0
  554. package/dist/taxonomy/search-filter-defs.js +66 -0
  555. package/dist/taxonomy/search-filter-defs.js.map +1 -0
  556. package/dist/taxonomy/skill-categories.js +28 -0
  557. package/dist/taxonomy/skill-categories.js.map +1 -0
  558. package/dist/taxonomy/skill-display-groups.js +12 -0
  559. package/dist/taxonomy/skill-display-groups.js.map +1 -0
  560. package/dist/taxonomy/skill-grouping.js +90 -0
  561. package/dist/taxonomy/skill-grouping.js.map +1 -0
  562. package/dist/taxonomy/verification-providers.js +69 -0
  563. package/dist/taxonomy/verification-providers.js.map +1 -0
  564. package/dist/taxonomy/workplace-type.js +38 -0
  565. package/dist/taxonomy/workplace-type.js.map +1 -0
  566. package/dist/tokens/colors.js +11 -0
  567. package/dist/tokens/colors.js.map +1 -0
  568. package/dist/tokens/icons.js +15 -0
  569. package/dist/tokens/icons.js.map +1 -0
  570. package/dist/tokens/index.js +10 -39
  571. package/dist/tokens/index.js.map +1 -1
  572. package/dist/tokens/typography.js +23 -0
  573. package/dist/tokens/typography.js.map +1 -0
  574. package/dist/types/index.js +10 -0
  575. package/dist/types/index.js.map +1 -0
  576. package/dist/types/profile-view.js +1 -0
  577. package/dist/types/profile-view.js.map +1 -0
  578. package/dist/{use-org-notification-emails-0hjt-dEw.d.ts → use-org-notification-emails-CWWi1D8t.d.ts} +2 -2
  579. package/package.json +4 -3
@@ -0,0 +1,30 @@
1
+ // src/query/fetchers/skills.ts
2
+ import {
3
+ apiWrite,
4
+ apiWriteCreate
5
+ } from "../client.js";
6
+ function createSkill(config, data, options = {}) {
7
+ return apiWriteCreate(config, "/api/profile/skill", data, options);
8
+ }
9
+ function updateSkill(config, rkey, data, options = {}) {
10
+ return apiWrite(config, `/api/profile/skill/${encodeURIComponent(rkey)}`, "PUT", {
11
+ body: data,
12
+ ...options
13
+ });
14
+ }
15
+ function updateSkillSubCategories(config, rkeys, subCategory, options = {}) {
16
+ return apiWrite(config, "/api/profile/skills/subcategory", "POST", {
17
+ body: { rkeys, subCategory },
18
+ ...options
19
+ });
20
+ }
21
+ function deleteSkill(config, rkey, options = {}) {
22
+ return apiWrite(config, `/api/profile/skill/${encodeURIComponent(rkey)}`, "DELETE", options);
23
+ }
24
+ export {
25
+ createSkill,
26
+ deleteSkill,
27
+ updateSkill,
28
+ updateSkillSubCategories
29
+ };
30
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/query/fetchers/skills.ts"],"sourcesContent":["import {\n apiWrite,\n apiWriteCreate,\n type ApiFetchOptions,\n type CreateResult,\n type SifaApiConfig,\n type WriteResult,\n} from '../client.js';\n\n/**\n * Create a new `id.sifa.profile.skill` record on the authenticated\n * user's PDS.\n */\nexport function createSkill(\n config: SifaApiConfig,\n data: Record<string, unknown>,\n options: ApiFetchOptions = {},\n): Promise<CreateResult> {\n return apiWriteCreate(config, '/api/profile/skill', data, options);\n}\n\n/** Update an existing skill record by `rkey`. */\nexport function updateSkill(\n config: SifaApiConfig,\n rkey: string,\n data: Record<string, unknown>,\n options: ApiFetchOptions = {},\n): Promise<WriteResult> {\n return apiWrite(config, `/api/profile/skill/${encodeURIComponent(rkey)}`, 'PUT', {\n body: data,\n ...options,\n });\n}\n\n/** Outcome of a bulk sub-category assign. */\nexport interface SubCategoryBulkResult {\n /** Records written. */\n updated: number;\n /** Records that already carried the label, so no write was needed. */\n unchanged: number;\n /** Requested rkeys with no matching record on the PDS. */\n skipped: string[];\n}\n\n/**\n * Set (or clear) the sub-category on many skills in one request.\n *\n * A single call replaces one PUT per skill, which tripped the AppView's\n * per-IP rate limit on any sizeable profile (#324). An empty `subCategory`\n * clears the field.\n */\nexport function updateSkillSubCategories(\n config: SifaApiConfig,\n rkeys: string[],\n subCategory: string,\n options: ApiFetchOptions = {},\n): Promise<WriteResult & SubCategoryBulkResult> {\n return apiWrite<SubCategoryBulkResult>(config, '/api/profile/skills/subcategory', 'POST', {\n body: { rkeys, subCategory },\n ...options,\n });\n}\n\n/** Delete a skill record by `rkey`. */\nexport function deleteSkill(\n config: SifaApiConfig,\n rkey: string,\n options: ApiFetchOptions = {},\n): Promise<WriteResult> {\n return apiWrite(config, `/api/profile/skill/${encodeURIComponent(rkey)}`, 'DELETE', options);\n}\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAKK;AAMA,SAAS,YACd,QACA,MACA,UAA2B,CAAC,GACL;AACvB,SAAO,eAAe,QAAQ,sBAAsB,MAAM,OAAO;AACnE;AAGO,SAAS,YACd,QACA,MACA,MACA,UAA2B,CAAC,GACN;AACtB,SAAO,SAAS,QAAQ,sBAAsB,mBAAmB,IAAI,CAAC,IAAI,OAAO;AAAA,IAC/E,MAAM;AAAA,IACN,GAAG;AAAA,EACL,CAAC;AACH;AAmBO,SAAS,yBACd,QACA,OACA,aACA,UAA2B,CAAC,GACkB;AAC9C,SAAO,SAAgC,QAAQ,mCAAmC,QAAQ;AAAA,IACxF,MAAM,EAAE,OAAO,YAAY;AAAA,IAC3B,GAAG;AAAA,EACL,CAAC;AACH;AAGO,SAAS,YACd,QACA,MACA,UAA2B,CAAC,GACN;AACtB,SAAO,SAAS,QAAQ,sBAAsB,mBAAmB,IAAI,CAAC,IAAI,UAAU,OAAO;AAC7F;","names":[]}
@@ -0,0 +1,42 @@
1
+ // src/query/fetchers/speakers.ts
2
+ import { apiFetch } from "../client.js";
3
+ var EMPTY_SPEAKERS = { speakers: [] };
4
+ var EMPTY_TALKS = { talks: [] };
5
+ function buildParams(filters) {
6
+ const params = new URLSearchParams();
7
+ const topic = filters.topic?.trim();
8
+ if (topic) params.set("topic", topic);
9
+ if (filters.limit !== void 0) params.set("limit", String(filters.limit));
10
+ return params;
11
+ }
12
+ async function fetchSpeakers(config, filters = {}, options = {}) {
13
+ const params = buildParams(filters);
14
+ const query = params.toString();
15
+ const path = query ? `/api/speakers?${query}` : "/api/speakers";
16
+ try {
17
+ return await apiFetch(config, path, {
18
+ cache: "no-store",
19
+ ...options
20
+ });
21
+ } catch {
22
+ return EMPTY_SPEAKERS;
23
+ }
24
+ }
25
+ async function fetchTalks(config, filters = {}, options = {}) {
26
+ const params = buildParams(filters);
27
+ const query = params.toString();
28
+ const path = query ? `/api/talks?${query}` : "/api/talks";
29
+ try {
30
+ return await apiFetch(config, path, {
31
+ cache: "no-store",
32
+ ...options
33
+ });
34
+ } catch {
35
+ return EMPTY_TALKS;
36
+ }
37
+ }
38
+ export {
39
+ fetchSpeakers,
40
+ fetchTalks
41
+ };
42
+ //# sourceMappingURL=speakers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/query/fetchers/speakers.ts"],"sourcesContent":["import type { PresentationLinkView } from '../../types/index.js';\nimport { apiFetch, type ApiFetchOptions, type SifaApiConfig } from '../client.js';\n\n/**\n * Which claim a listed speaker makes about a topic. Phase 1 has no confirmed\n * data, so groups are named by the CLAIM, never a \"proven\" label:\n * - `spoke_about_it` — has a topic-matching delivery (or, with a topic set,\n * a matching presentation plus at least one delivery)\n * - `skilled` — holds the matching canonical skill but has no matching talk\n * (only appears when a topic is supplied)\n * - `open_to_speaking` — opted in but has never delivered (only appears when\n * no topic is supplied)\n */\nexport type SpeakerGroup = 'spoke_about_it' | 'skilled' | 'open_to_speaking';\n\n/** One person in the speaker directory. Everyone listed has opted in. */\nexport interface SpeakerCard {\n did: string;\n handle: string;\n displayName: string | null;\n avatar: string | null;\n headline: string | null;\n currentRole: string | null;\n currentCompany: string | null;\n deliveryCount: number;\n group: SpeakerGroup;\n matchedTopics: string[];\n /**\n * Self-reported event names from the speaker's own presentationDelivery\n * records — unconfirmed in Phase 1. `eventsSelfReported` is always true;\n * the web layer labels these as such.\n */\n recentEvents: string[];\n eventsSelfReported: boolean;\n /**\n * Up to 3 of the speaker's most-recent talks (self-reported), newest first.\n * `rkey` builds the talk-page URL via `buildTalkSlug(title, rkey)`. Optional:\n * absent from responses served before this field shipped, so consumers should\n * default to an empty list.\n */\n recentTalks?: { title: string; rkey: string }[];\n}\n\nexport interface SpeakersResponse {\n speakers: SpeakerCard[];\n}\n\n/** The reusable talk, or a standalone delivery when it has no parent talk. */\nexport interface TalkEvent {\n eventName: string | null;\n date: string | null;\n}\n\n/** Compact speaker card embedded in a talk row. */\nexport interface TalkSpeaker {\n did: string;\n handle: string;\n displayName: string | null;\n avatar: string | null;\n headline: string | null;\n currentRole: string | null;\n currentCompany: string | null;\n}\n\nexport interface TalkRow {\n /**\n * `presentation` = a reusable `id.sifa.profile.presentation` record.\n * `delivery` = a standalone presentationDelivery with no parent presentation.\n */\n kind: 'presentation' | 'delivery';\n rkey: string;\n title: string | null;\n snippet: string | null;\n links: PresentationLinkView[];\n writeupUri: string | null;\n speaker: TalkSpeaker;\n events: TalkEvent[];\n eventsSelfReported: boolean;\n deliveryCount: number;\n matchedTopics: string[];\n}\n\nexport interface TalksResponse {\n talks: TalkRow[];\n}\n\nexport interface SpeakerDirectoryFilters {\n /** Free-text topic (canonical skill name/slug/alias, talk title, or event). */\n topic?: string;\n /** Max rows to return; the API caps this at 50. */\n limit?: number;\n}\n\nconst EMPTY_SPEAKERS: SpeakersResponse = { speakers: [] };\nconst EMPTY_TALKS: TalksResponse = { talks: [] };\n\nfunction buildParams(filters: SpeakerDirectoryFilters): URLSearchParams {\n const params = new URLSearchParams();\n const topic = filters.topic?.trim();\n if (topic) params.set('topic', topic);\n if (filters.limit !== undefined) params.set('limit', String(filters.limit));\n return params;\n}\n\n/**\n * Speaker directory (Phase 1, read-only POC). Everyone returned has opted in to\n * speaking; past deliveries are a ranking signal, not an inclusion path. An\n * optional `topic` filters to people who hold the matching canonical skill,\n * have a matching presentation, or have a matching delivery. Results come\n * grouped and ordered by the API.\n *\n * Returns an empty list on any error so callers can render a graceful state.\n */\nexport async function fetchSpeakers(\n config: SifaApiConfig,\n filters: SpeakerDirectoryFilters = {},\n options: ApiFetchOptions = {},\n): Promise<SpeakersResponse> {\n const params = buildParams(filters);\n const query = params.toString();\n const path = query ? `/api/speakers?${query}` : '/api/speakers';\n try {\n return await apiFetch<SpeakersResponse>(config, path, {\n cache: 'no-store',\n ...options,\n });\n } catch {\n return EMPTY_SPEAKERS;\n }\n}\n\n/**\n * Talk directory (Phase 1, read-only POC). Lists talks by opted-in speakers,\n * delivered-first, then latest delivery date. Same optional `topic` filter as\n * {@link fetchSpeakers}. Returns an empty list on any error.\n */\nexport async function fetchTalks(\n config: SifaApiConfig,\n filters: SpeakerDirectoryFilters = {},\n options: ApiFetchOptions = {},\n): Promise<TalksResponse> {\n const params = buildParams(filters);\n const query = params.toString();\n const path = query ? `/api/talks?${query}` : '/api/talks';\n try {\n return await apiFetch<TalksResponse>(config, path, {\n cache: 'no-store',\n ...options,\n });\n } catch {\n return EMPTY_TALKS;\n }\n}\n"],"mappings":";AACA,SAAS,gBAA0D;AA4FnE,IAAM,iBAAmC,EAAE,UAAU,CAAC,EAAE;AACxD,IAAM,cAA6B,EAAE,OAAO,CAAC,EAAE;AAE/C,SAAS,YAAY,SAAmD;AACtE,QAAM,SAAS,IAAI,gBAAgB;AACnC,QAAM,QAAQ,QAAQ,OAAO,KAAK;AAClC,MAAI,MAAO,QAAO,IAAI,SAAS,KAAK;AACpC,MAAI,QAAQ,UAAU,OAAW,QAAO,IAAI,SAAS,OAAO,QAAQ,KAAK,CAAC;AAC1E,SAAO;AACT;AAWA,eAAsB,cACpB,QACA,UAAmC,CAAC,GACpC,UAA2B,CAAC,GACD;AAC3B,QAAM,SAAS,YAAY,OAAO;AAClC,QAAM,QAAQ,OAAO,SAAS;AAC9B,QAAM,OAAO,QAAQ,iBAAiB,KAAK,KAAK;AAChD,MAAI;AACF,WAAO,MAAM,SAA2B,QAAQ,MAAM;AAAA,MACpD,OAAO;AAAA,MACP,GAAG;AAAA,IACL,CAAC;AAAA,EACH,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAOA,eAAsB,WACpB,QACA,UAAmC,CAAC,GACpC,UAA2B,CAAC,GACJ;AACxB,QAAM,SAAS,YAAY,OAAO;AAClC,QAAM,QAAQ,OAAO,SAAS;AAC9B,QAAM,OAAO,QAAQ,cAAc,KAAK,KAAK;AAC7C,MAAI;AACF,WAAO,MAAM,SAAwB,QAAQ,MAAM;AAAA,MACjD,OAAO;AAAA,MACP,GAAG;AAAA,IACL,CAAC;AAAA,EACH,QAAQ;AACN,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,16 @@
1
+ // src/query/fetchers/stats.ts
2
+ import { apiFetch } from "../client.js";
3
+ async function fetchStats(config, options = {}) {
4
+ try {
5
+ return await apiFetch(config, "/api/stats", {
6
+ next: { revalidate: 900 },
7
+ ...options
8
+ });
9
+ } catch {
10
+ return null;
11
+ }
12
+ }
13
+ export {
14
+ fetchStats
15
+ };
16
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/query/fetchers/stats.ts"],"sourcesContent":["import { apiFetch, type ApiFetchOptions, type SifaApiConfig } from '../client.js';\n\n/** Public, aggregate stats shown on the homepage and similar surfaces. */\nexport interface StatsResponse {\n profileCount: number;\n avatars: string[];\n atproto: {\n userCount: number;\n growthPerSecond: number;\n timestamp: number;\n } | null;\n}\n\n/**\n * Homepage stats (profile count, avatar samples, ATproto growth). Public\n * endpoint -- safe to cache. Returns `null` on any error so callers can\n * render a graceful empty state.\n */\nexport async function fetchStats(\n config: SifaApiConfig,\n options: ApiFetchOptions = {},\n): Promise<StatsResponse | null> {\n try {\n return await apiFetch<StatsResponse>(config, '/api/stats', {\n next: { revalidate: 900 },\n ...options,\n });\n } catch {\n return null;\n }\n}\n"],"mappings":";AAAA,SAAS,gBAA0D;AAkBnE,eAAsB,WACpB,QACA,UAA2B,CAAC,GACG;AAC/B,MAAI;AACF,WAAO,MAAM,SAAwB,QAAQ,cAAc;AAAA,MACzD,MAAM,EAAE,YAAY,IAAI;AAAA,MACxB,GAAG;AAAA,IACL,CAAC;AAAA,EACH,QAAQ;AACN,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,30 @@
1
+ // src/query/fetchers/stream.ts
2
+ import { encodeIdentifier, apiFetch } from "../client.js";
3
+ async function fetchNetworkStreamCount(config, did, options = {}) {
4
+ const headers = { ...options.headers ?? {} };
5
+ if (options.cookieHeader) headers.cookie = options.cookieHeader;
6
+ try {
7
+ const data = await apiFetch(
8
+ config,
9
+ `/api/stream/network?did=${encodeIdentifier(did)}`,
10
+ {
11
+ cache: "no-store",
12
+ timeoutMs: 5e3,
13
+ ...options.cookieHeader ? {} : { credentials: "include" },
14
+ ...options,
15
+ headers
16
+ }
17
+ );
18
+ if (typeof data !== "object" || data === null || !("items" in data)) {
19
+ return 0;
20
+ }
21
+ const items = data.items;
22
+ return Array.isArray(items) ? items.length : 0;
23
+ } catch {
24
+ return 0;
25
+ }
26
+ }
27
+ export {
28
+ fetchNetworkStreamCount
29
+ };
30
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/query/fetchers/stream.ts"],"sourcesContent":["import { encodeIdentifier, apiFetch, type ApiFetchOptions, type SifaApiConfig } from '../client.js';\n\nexport interface FetchNetworkStreamCountOptions extends ApiFetchOptions {\n /**\n * Pass the caller's `Cookie` header on Next.js RSC server-side calls.\n * Required for authenticated server fetches because `credentials: 'include'`\n * does not propagate browser cookies in RSC.\n *\n * When omitted, the request falls back to `credentials: 'include'` so\n * client-side calls work without extra plumbing.\n */\n cookieHeader?: string;\n}\n\n/**\n * Counts items in the authenticated user's network stream digest. The\n * underlying `GET /api/stream/network` endpoint may 404 while the feature\n * is in development; in that case (and on any other error) this returns\n * 0 so callers can route safely to a fallback experience.\n */\nexport async function fetchNetworkStreamCount(\n config: SifaApiConfig,\n did: string,\n options: FetchNetworkStreamCountOptions = {},\n): Promise<number> {\n const headers: Record<string, string> = { ...(options.headers ?? {}) };\n if (options.cookieHeader) headers.cookie = options.cookieHeader;\n\n try {\n const data = await apiFetch<unknown>(\n config,\n `/api/stream/network?did=${encodeIdentifier(did)}`,\n {\n cache: 'no-store',\n timeoutMs: 5000,\n ...(options.cookieHeader ? {} : { credentials: 'include' }),\n ...options,\n headers,\n },\n );\n if (typeof data !== 'object' || data === null || !('items' in data)) {\n return 0;\n }\n const items = data.items;\n return Array.isArray(items) ? items.length : 0;\n } catch {\n return 0;\n }\n}\n"],"mappings":";AAAA,SAAS,kBAAkB,gBAA0D;AAoBrF,eAAsB,wBACpB,QACA,KACA,UAA0C,CAAC,GAC1B;AACjB,QAAM,UAAkC,EAAE,GAAI,QAAQ,WAAW,CAAC,EAAG;AACrE,MAAI,QAAQ,aAAc,SAAQ,SAAS,QAAQ;AAEnD,MAAI;AACF,UAAM,OAAO,MAAM;AAAA,MACjB;AAAA,MACA,2BAA2B,iBAAiB,GAAG,CAAC;AAAA,MAChD;AAAA,QACE,OAAO;AAAA,QACP,WAAW;AAAA,QACX,GAAI,QAAQ,eAAe,CAAC,IAAI,EAAE,aAAa,UAAU;AAAA,QACzD,GAAG;AAAA,QACH;AAAA,MACF;AAAA,IACF;AACA,QAAI,OAAO,SAAS,YAAY,SAAS,QAAQ,EAAE,WAAW,OAAO;AACnE,aAAO;AAAA,IACT;AACA,UAAM,QAAQ,KAAK;AACnB,WAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,SAAS;AAAA,EAC/C,QAAQ;AACN,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,30 @@
1
+ // src/query/fetchers/unlinked-positions.ts
2
+ import {
3
+ apiFetch,
4
+ apiWrite
5
+ } from "../client.js";
6
+ async function fetchUnlinkedPositions(config, options = {}) {
7
+ const { cookieHeader, ...rest } = options;
8
+ const headers = { ...rest.headers ?? {} };
9
+ if (cookieHeader) headers.cookie = cookieHeader;
10
+ try {
11
+ const data = await apiFetch(config, "/api/positions/unlinked", {
12
+ cache: "no-store",
13
+ credentials: "include",
14
+ timeoutMs: 5e3,
15
+ ...rest,
16
+ headers
17
+ });
18
+ return { positions: Array.isArray(data?.positions) ? data.positions : [] };
19
+ } catch {
20
+ return { positions: [] };
21
+ }
22
+ }
23
+ function dismissUnlinkedPosition(config, data, options = {}) {
24
+ return apiWrite(config, "/api/positions/unlinked/dismiss", "POST", { body: data, ...options });
25
+ }
26
+ export {
27
+ dismissUnlinkedPosition,
28
+ fetchUnlinkedPositions
29
+ };
30
+ //# sourceMappingURL=unlinked-positions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/query/fetchers/unlinked-positions.ts"],"sourcesContent":["import {\n apiFetch,\n apiWrite,\n type ApiFetchOptions,\n type SifaApiConfig,\n type WriteResult,\n} from '../client.js';\n\n/**\n * A position on the signed-in user's own profile whose free-text company is not\n * yet linked to a canonical company entity. Linking it makes the position roll\n * up under the company's `/c/` page and appear on the company roster.\n */\nexport interface UnlinkedPosition {\n /** rkey of the `id.sifa.profile.position` record, for deep-linking to the editor. */\n rkey: string;\n /** AT-URI of the position record. */\n uri: string;\n /** The free-text company label the user entered. */\n company: string;\n /** The position title, for display. Absent when the record has none. */\n title?: string;\n}\n\nexport interface UnlinkedPositionsResult {\n positions: UnlinkedPosition[];\n}\n\nexport interface FetchUnlinkedPositionsOptions extends ApiFetchOptions {\n /**\n * Pass the caller's `Cookie` header on Next.js RSC server-side calls.\n * `credentials: 'include'` does NOT propagate browser cookies in RSC,\n * so authenticated server fetches must forward the header explicitly.\n */\n cookieHeader?: string;\n}\n\n/**\n * Positions on the signed-in user's profile with an unlinked company, an \"open\n * task\" surfaced in the unified Inbox. Requires credentials -- the AppView reads\n * the owner from the session. Returns an empty list on any failure so a broken\n * list degrades to \"nothing to link\" rather than breaking the hosting surface.\n */\nexport async function fetchUnlinkedPositions(\n config: SifaApiConfig,\n options: FetchUnlinkedPositionsOptions = {},\n): Promise<UnlinkedPositionsResult> {\n const { cookieHeader, ...rest } = options;\n const headers: Record<string, string> = { ...(rest.headers ?? {}) };\n if (cookieHeader) headers.cookie = cookieHeader;\n\n try {\n const data = await apiFetch<UnlinkedPositionsResult>(config, '/api/positions/unlinked', {\n cache: 'no-store',\n credentials: 'include',\n timeoutMs: 5000,\n ...rest,\n headers,\n });\n return { positions: Array.isArray(data?.positions) ? data.positions : [] };\n } catch {\n return { positions: [] };\n }\n}\n\n/** Body accepted by {@link dismissUnlinkedPosition}. */\nexport interface DismissUnlinkedPositionInput {\n /** rkey of the position whose unlinked-company task to dismiss. */\n rkey: string;\n}\n\n/**\n * Dismiss the unlinked-company task for one position. Writes nothing to any PDS;\n * it stops the position reappearing in the Inbox (and drops it from the bell\n * count) when there is no company entity worth linking.\n */\nexport function dismissUnlinkedPosition(\n config: SifaApiConfig,\n data: DismissUnlinkedPositionInput,\n options: ApiFetchOptions = {},\n): Promise<WriteResult> {\n return apiWrite(config, '/api/positions/unlinked/dismiss', 'POST', { body: data, ...options });\n}\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAIK;AAqCP,eAAsB,uBACpB,QACA,UAAyC,CAAC,GACR;AAClC,QAAM,EAAE,cAAc,GAAG,KAAK,IAAI;AAClC,QAAM,UAAkC,EAAE,GAAI,KAAK,WAAW,CAAC,EAAG;AAClE,MAAI,aAAc,SAAQ,SAAS;AAEnC,MAAI;AACF,UAAM,OAAO,MAAM,SAAkC,QAAQ,2BAA2B;AAAA,MACtF,OAAO;AAAA,MACP,aAAa;AAAA,MACb,WAAW;AAAA,MACX,GAAG;AAAA,MACH;AAAA,IACF,CAAC;AACD,WAAO,EAAE,WAAW,MAAM,QAAQ,MAAM,SAAS,IAAI,KAAK,YAAY,CAAC,EAAE;AAAA,EAC3E,QAAQ;AACN,WAAO,EAAE,WAAW,CAAC,EAAE;AAAA,EACzB;AACF;AAaO,SAAS,wBACd,QACA,MACA,UAA2B,CAAC,GACN;AACtB,SAAO,SAAS,QAAQ,mCAAmC,QAAQ,EAAE,MAAM,MAAM,GAAG,QAAQ,CAAC;AAC/F;","names":[]}
@@ -1,5 +1,5 @@
1
- export { A as AddFeatureAllowlistVariables, C as CreateReactionVariables, a as CreateRecordVariables, D as DeleteReactionVariables, b as DeleteRecordVariables, F as FollowVariables, P as PositionSkillLinkVariables, R as RemoveFeatureAllowlistVariables, S as SifaProvider, c as SifaProviderProps, U as UnfollowVariables, d as UpdateEducationVariables, e as UpdateExternalAccountVariables, f as UpdatePositionVariables, g as UpdateProfileLocationVariables, h as UpdateRecordVariables, i as UpdateSkillSubCategoriesVariables, j as UpdateSkillVariables, k as UseEntitySearchOptions, l as UseMyGithubPullRequestsParams, u as useAccounts, m as useActivityFeed, n as useActivityTeaser, o as useAddFeatureAllowlist, p as useAddOrgNotificationEmail, q as useAdminReviewQueues, r as useAppAccountCheck, s as useAppsRegistry, t as useAtFundLink, v as useBlueskySuggestions, w as useBulkHideProfileItems, x as useBulkHideStandardPublications, y as useBulkUnhideProfileItems, z as useBulkUnhideStandardPublications, B as useCanonicalSkillSearch, E as useCastRoadmapVote, G as useCreateConfirmation, H as useCreateEducation, I as useCreateEndorsement, J as useCreateExternalAccount, K as useCreatePosition, L as useCreateProfileLocation, M as useCreateReaction, N as useCreateRecord, O as useCreateSkill, Q as useDebouncedValue, T as useDeleteAccount, V as useDeleteAvatarOverride, W as useDeleteEducation, X as useDeleteExternalAccount, Y as useDeleteNamePronunciationAudio, Z as useDeletePosition, _ as useDeleteProfileLocation, $ as useDeleteReaction, a0 as useDeleteRecord, a1 as useDeleteRepoRecords, a2 as useDeleteSkill, a3 as useDismissConfirmation, a4 as useDismissUnlinkedPosition, a5 as useEndorsementCount, a6 as useEntitySearch, a7 as useExternalAccounts, a8 as useFeatureAllowlist, a9 as useFeaturedProfile, aa as useFollow, ab as useFollowers, ac as useFollowing, ad as useFollowingFeed, ae as useFollowingList, af as useGetProfileView, ag as useGivenConfirmations, ah as useHeatmapData, ai as useHiddenActivityItems, aj as useHiddenApps, ak as useHideActivityItem, al as useHideKeytraceClaim, am as useHideOrcidPublication, an as useHideProfileItem, ao as useHideSifaPublication, ap as useHideStandardPublication, aq as useImportSearchEntities, ar as useInboxCounts, as as useLinkSkillToPosition, au as useMutuals, av as useMyGithubPullRequests, aw as useMyRoadmapVotes, ax as useNetworkStreamCount, ay as useOrgClaim, az as useOrgDomainChallenge, aA as useOrgDomainVerify, aB as useOrgProfile, aC as usePendingConfirmations, aD as useProfile, aE as useProfileCompleteness, aF as useReactionStatus, aG as useRefreshOrcidPublications, aH as useRefreshPds, aI as useRemoveFeatureAllowlist, aJ as useRemoveOrgNotificationEmail, aK as useRepoInventory, aL as useResetProfile, aN as useRetractRoadmapVote, aO as useRevealMarqueDomain, aP as useRevokeConfirmation, aQ as useRoadmapVotes, bs as useSearchCompanies, aR as useSearchFilters, aS as useSearchProfiles, aT as useSelectEntity, aU as useSetExternalAccountPrimary, aV as useSetPositionPrimary, aW as useSetSectionPrimary, aX as useSifaConfig, aY as useSimilarProfiles, aZ as useSkillSuggestions, a_ as useStats, a$ as useSuggestionCount, b0 as useSuggestions, b1 as useUnfollow, b2 as useUnhideActivityItem, b3 as useUnhideKeytraceClaim, b4 as useUnhideOrcidPublication, b5 as useUnhideProfileItem, b6 as useUnhideSifaPublication, b7 as useUnhideStandardPublication, b8 as useUnlinkSkillFromPosition, b9 as useUnlinkedPositions, ba as useUnrevealMarqueDomain, bb as useUnsetExternalAccountPrimary, bc as useUnsetPositionPrimary, bd as useUnsetSectionPrimary, be as useUpdateEducation, bf as useUpdateExternalAccount, bg as useUpdateOrgProfile, bh as useUpdatePosition, bi as useUpdateProfileLocation, bj as useUpdateProfileOverride, bk as useUpdateProfileSelf, bl as useUpdateRecord, bm as useUpdateSkill, bn as useUpdateSkillSubCategories, bo as useUploadAvatar, bp as useUploadNamePronunciationAudio, bq as useVerifyExternalAccount, br as useWipePreview } from '../../use-org-notification-emails-0hjt-dEw.js';
2
- export { aJ as SifaQueryKey, s as sifaQueryKeys } from '../../org-BCrvebcf.js';
1
+ export { A as AddFeatureAllowlistVariables, C as CreateReactionVariables, a as CreateRecordVariables, D as DeleteReactionVariables, b as DeleteRecordVariables, F as FollowVariables, P as PositionSkillLinkVariables, R as RemoveFeatureAllowlistVariables, S as SifaProvider, c as SifaProviderProps, U as UnfollowVariables, d as UpdateEducationVariables, e as UpdateExternalAccountVariables, f as UpdatePositionVariables, g as UpdateProfileLocationVariables, h as UpdateRecordVariables, i as UpdateSkillSubCategoriesVariables, j as UpdateSkillVariables, k as UseEntitySearchOptions, l as UseMyGithubPullRequestsParams, u as useAccounts, m as useActivityFeed, n as useActivityTeaser, o as useAddFeatureAllowlist, p as useAddOrgNotificationEmail, q as useAdminReviewQueues, r as useAppAccountCheck, s as useAppsRegistry, t as useAtFundLink, v as useBlueskySuggestions, w as useBulkHideProfileItems, x as useBulkHideStandardPublications, y as useBulkUnhideProfileItems, z as useBulkUnhideStandardPublications, B as useCanonicalSkillSearch, E as useCastRoadmapVote, G as useCreateConfirmation, H as useCreateEducation, I as useCreateEndorsement, J as useCreateExternalAccount, K as useCreatePosition, L as useCreateProfileLocation, M as useCreateReaction, N as useCreateRecord, O as useCreateSkill, Q as useDebouncedValue, T as useDeleteAccount, V as useDeleteAvatarOverride, W as useDeleteEducation, X as useDeleteExternalAccount, Y as useDeleteNamePronunciationAudio, Z as useDeletePosition, _ as useDeleteProfileLocation, $ as useDeleteReaction, a0 as useDeleteRecord, a1 as useDeleteRepoRecords, a2 as useDeleteSkill, a3 as useDismissConfirmation, a4 as useDismissUnlinkedPosition, a5 as useEndorsementCount, a6 as useEntitySearch, a7 as useExternalAccounts, a8 as useFeatureAllowlist, a9 as useFeaturedProfile, aa as useFollow, ab as useFollowers, ac as useFollowing, ad as useFollowingFeed, ae as useFollowingList, af as useGetProfileView, ag as useGivenConfirmations, ah as useHeatmapData, ai as useHiddenActivityItems, aj as useHiddenApps, ak as useHideActivityItem, al as useHideKeytraceClaim, am as useHideOrcidPublication, an as useHideProfileItem, ao as useHideSifaPublication, ap as useHideStandardPublication, aq as useImportSearchEntities, ar as useInboxCounts, as as useLinkSkillToPosition, au as useMutuals, av as useMyGithubPullRequests, aw as useMyRoadmapVotes, ax as useNetworkStreamCount, ay as useOrgClaim, az as useOrgDomainChallenge, aA as useOrgDomainVerify, aB as useOrgProfile, aC as usePendingConfirmations, aD as useProfile, aE as useProfileCompleteness, aF as useReactionStatus, aG as useRefreshOrcidPublications, aH as useRefreshPds, aI as useRemoveFeatureAllowlist, aJ as useRemoveOrgNotificationEmail, aK as useRepoInventory, aL as useResetProfile, aN as useRetractRoadmapVote, aO as useRevealMarqueDomain, aP as useRevokeConfirmation, aQ as useRoadmapVotes, bs as useSearchCompanies, aR as useSearchFilters, aS as useSearchProfiles, aT as useSelectEntity, aU as useSetExternalAccountPrimary, aV as useSetPositionPrimary, aW as useSetSectionPrimary, aX as useSifaConfig, aY as useSimilarProfiles, aZ as useSkillSuggestions, a_ as useStats, a$ as useSuggestionCount, b0 as useSuggestions, b1 as useUnfollow, b2 as useUnhideActivityItem, b3 as useUnhideKeytraceClaim, b4 as useUnhideOrcidPublication, b5 as useUnhideProfileItem, b6 as useUnhideSifaPublication, b7 as useUnhideStandardPublication, b8 as useUnlinkSkillFromPosition, b9 as useUnlinkedPositions, ba as useUnrevealMarqueDomain, bb as useUnsetExternalAccountPrimary, bc as useUnsetPositionPrimary, bd as useUnsetSectionPrimary, be as useUpdateEducation, bf as useUpdateExternalAccount, bg as useUpdateOrgProfile, bh as useUpdatePosition, bi as useUpdateProfileLocation, bj as useUpdateProfileOverride, bk as useUpdateProfileSelf, bl as useUpdateRecord, bm as useUpdateSkill, bn as useUpdateSkillSubCategories, bo as useUploadAvatar, bp as useUploadNamePronunciationAudio, bq as useVerifyExternalAccount, br as useWipePreview } from '../../use-org-notification-emails-CWWi1D8t.js';
2
+ export { aJ as SifaQueryKey, s as sifaQueryKeys } from '../../org-CxTEjjrm.js';
3
3
  import * as _tanstack_react_query from '@tanstack/react-query';
4
4
  import { UseMutationOptions } from '@tanstack/react-query';
5
5
  import { N as CreateResult, W as WriteResult } from '../../types-CK8KgdqA.js';
@@ -8,7 +8,7 @@ import '../../index-D9GC0u__.js';
8
8
  import '../../shared-v0vl5hov.js';
9
9
  import 'zod';
10
10
  import '../../follow-profile-D1l6pulB.js';
11
- import '../../org-settings-C73Sin5E.js';
11
+ import '../../org-settings-BShvhyFp.js';
12
12
 
13
13
  /**
14
14
  * React hooks for investment records. Each invalidates the owner's profile cache on