@singi-labs/sifa-sdk 0.19.52 → 0.19.54

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 (45) hide show
  1. package/dist/badge/index.cjs +18 -2
  2. package/dist/badge/index.cjs.map +1 -1
  3. package/dist/index.cjs +34 -2
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.cts +39 -4
  6. package/dist/index.d.ts +39 -4
  7. package/dist/index.js +7 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/{network-map-C-p-k3gB.d.cts → network-map-Bj-s4akz.d.cts} +2 -2
  10. package/dist/{network-map-CnVlBE0G.d.ts → network-map-v_4bPC5p.d.ts} +2 -2
  11. package/dist/{org-Bp4mNT8K.d.ts → org-DTHVhan9.d.ts} +1 -1
  12. package/dist/{org-CFzRg61Q.d.cts → org-mUwICoPr.d.cts} +1 -1
  13. package/dist/{profile-summary-Qtfk-52i.d.ts → profile-summary-BXG--PFN.d.ts} +1 -1
  14. package/dist/{profile-summary-C_wdHGj6.d.cts → profile-summary-D-Z_C6ZC.d.cts} +1 -1
  15. package/dist/query/client.js +26 -6
  16. package/dist/query/client.js.map +1 -1
  17. package/dist/query/fetchers/index.cjs +26 -6
  18. package/dist/query/fetchers/index.cjs.map +1 -1
  19. package/dist/query/fetchers/index.d.cts +5 -5
  20. package/dist/query/fetchers/index.d.ts +5 -5
  21. package/dist/query/hooks/index.cjs +26 -6
  22. package/dist/query/hooks/index.cjs.map +1 -1
  23. package/dist/query/hooks/index.d.cts +3 -3
  24. package/dist/query/hooks/index.d.ts +3 -3
  25. package/dist/query/index.cjs +26 -6
  26. package/dist/query/index.cjs.map +1 -1
  27. package/dist/query/index.d.cts +8 -8
  28. package/dist/query/index.d.ts +8 -8
  29. package/dist/roadmap/index.js +1 -1
  30. package/dist/roadmap/index.js.map +1 -1
  31. package/dist/schemas/write/external-account.js +2 -1
  32. package/dist/schemas/write/external-account.js.map +1 -1
  33. package/dist/schemas/write/index.cjs +2 -1
  34. package/dist/schemas/write/index.cjs.map +1 -1
  35. package/dist/schemas/write/index.d.cts +1 -1
  36. package/dist/schemas/write/index.d.ts +1 -1
  37. package/dist/stream/index.js +8 -0
  38. package/dist/stream/index.js.map +1 -1
  39. package/dist/stream/stream-card-content.js +34 -0
  40. package/dist/stream/stream-card-content.js.map +1 -0
  41. package/dist/{types-DAGqE0b9.d.cts → types-BeEuVVBo.d.cts} +11 -1
  42. package/dist/{types-CK8KgdqA.d.ts → types-Dblq-u-n.d.ts} +11 -1
  43. package/dist/{use-org-notification-emails-Dk084Rrw.d.cts → use-org-notification-emails-C8Z0U5rH.d.cts} +2 -2
  44. package/dist/{use-org-notification-emails-CJ0hKqco.d.ts → use-org-notification-emails-CgEZnFTp.d.ts} +2 -2
  45. package/package.json +1 -1
@@ -1,8 +1,8 @@
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 useFollowingFeedVersion, af as useFollowingList, ag as useGetProfileView, ah as useGivenConfirmations, ai as useHeatmapData, aj as useHiddenActivityItems, ak as useHiddenApps, al as useHideActivityItem, am as useHideKeytraceClaim, an as useHideOrcidPublication, ao as useHideProfileItem, ap as useHideSifaPublication, aq as useHideStandardPublication, ar as useImportSearchEntities, as as useInboxCounts, at as useLinkSkillToPosition, av as useMutuals, aw as useMyGithubPullRequests, ax as useMyRoadmapVotes, ay as useNetworkStreamCount, az as useOrgClaim, aA as useOrgDomainChallenge, aB as useOrgDomainVerify, aC as useOrgProfile, aD as usePendingConfirmations, aE as useProfile, aF as useProfileCompleteness, aG as useReactionStatus, aH as useRefreshOrcidPublications, aI as useRefreshPds, aJ as useRemoveFeatureAllowlist, aK as useRemoveOrgNotificationEmail, aL as useRepoInventory, aM as useResetProfile, aO as useRetractRoadmapVote, aP as useRevealMarqueDomain, aQ as useRevokeConfirmation, aR as useRoadmapVotes, bt as useSearchCompanies, aS as useSearchFilters, aT as useSearchProfiles, aU as useSelectEntity, aV as useSetExternalAccountPrimary, aW as useSetPositionPrimary, aX as useSetSectionPrimary, aY as useSifaConfig, aZ as useSimilarProfiles, a_ as useSkillSuggestions, a$ as useStats, b0 as useSuggestionCount, b1 as useSuggestions, b2 as useUnfollow, b3 as useUnhideActivityItem, b4 as useUnhideKeytraceClaim, b5 as useUnhideOrcidPublication, b6 as useUnhideProfileItem, b7 as useUnhideSifaPublication, b8 as useUnhideStandardPublication, b9 as useUnlinkSkillFromPosition, ba as useUnlinkedPositions, bb as useUnrevealMarqueDomain, bc as useUnsetExternalAccountPrimary, bd as useUnsetPositionPrimary, be as useUnsetSectionPrimary, bf as useUpdateEducation, bg as useUpdateExternalAccount, bh as useUpdateOrgProfile, bi as useUpdatePosition, bj as useUpdateProfileLocation, bk as useUpdateProfileOverride, bl as useUpdateProfileSelf, bm as useUpdateRecord, bn as useUpdateSkill, bo as useUpdateSkillSubCategories, bp as useUploadAvatar, bq as useUploadNamePronunciationAudio, br as useVerifyExternalAccount, bs as useWipePreview } from '../../use-org-notification-emails-Dk084Rrw.cjs';
2
- export { aK as SifaQueryKey, s as sifaQueryKeys } from '../../org-CFzRg61Q.cjs';
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 useFollowingFeedVersion, af as useFollowingList, ag as useGetProfileView, ah as useGivenConfirmations, ai as useHeatmapData, aj as useHiddenActivityItems, ak as useHiddenApps, al as useHideActivityItem, am as useHideKeytraceClaim, an as useHideOrcidPublication, ao as useHideProfileItem, ap as useHideSifaPublication, aq as useHideStandardPublication, ar as useImportSearchEntities, as as useInboxCounts, at as useLinkSkillToPosition, av as useMutuals, aw as useMyGithubPullRequests, ax as useMyRoadmapVotes, ay as useNetworkStreamCount, az as useOrgClaim, aA as useOrgDomainChallenge, aB as useOrgDomainVerify, aC as useOrgProfile, aD as usePendingConfirmations, aE as useProfile, aF as useProfileCompleteness, aG as useReactionStatus, aH as useRefreshOrcidPublications, aI as useRefreshPds, aJ as useRemoveFeatureAllowlist, aK as useRemoveOrgNotificationEmail, aL as useRepoInventory, aM as useResetProfile, aO as useRetractRoadmapVote, aP as useRevealMarqueDomain, aQ as useRevokeConfirmation, aR as useRoadmapVotes, bt as useSearchCompanies, aS as useSearchFilters, aT as useSearchProfiles, aU as useSelectEntity, aV as useSetExternalAccountPrimary, aW as useSetPositionPrimary, aX as useSetSectionPrimary, aY as useSifaConfig, aZ as useSimilarProfiles, a_ as useSkillSuggestions, a$ as useStats, b0 as useSuggestionCount, b1 as useSuggestions, b2 as useUnfollow, b3 as useUnhideActivityItem, b4 as useUnhideKeytraceClaim, b5 as useUnhideOrcidPublication, b6 as useUnhideProfileItem, b7 as useUnhideSifaPublication, b8 as useUnhideStandardPublication, b9 as useUnlinkSkillFromPosition, ba as useUnlinkedPositions, bb as useUnrevealMarqueDomain, bc as useUnsetExternalAccountPrimary, bd as useUnsetPositionPrimary, be as useUnsetSectionPrimary, bf as useUpdateEducation, bg as useUpdateExternalAccount, bh as useUpdateOrgProfile, bi as useUpdatePosition, bj as useUpdateProfileLocation, bk as useUpdateProfileOverride, bl as useUpdateProfileSelf, bm as useUpdateRecord, bn as useUpdateSkill, bo as useUpdateSkillSubCategories, bp as useUploadAvatar, bq as useUploadNamePronunciationAudio, br as useVerifyExternalAccount, bs as useWipePreview } from '../../use-org-notification-emails-C8Z0U5rH.cjs';
2
+ export { aK as SifaQueryKey, s as sifaQueryKeys } from '../../org-mUwICoPr.cjs';
3
3
  import * as _tanstack_react_query from '@tanstack/react-query';
4
4
  import { UseMutationOptions } from '@tanstack/react-query';
5
- import { N as CreateResult, W as WriteResult } from '../../types-DAGqE0b9.cjs';
5
+ import { N as CreateResult, W as WriteResult } from '../../types-BeEuVVBo.cjs';
6
6
  import 'react';
7
7
  import '../../index-DmlIG8sJ.cjs';
8
8
  import '../../shared-v0vl5hov.cjs';
@@ -1,8 +1,8 @@
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 useFollowingFeedVersion, af as useFollowingList, ag as useGetProfileView, ah as useGivenConfirmations, ai as useHeatmapData, aj as useHiddenActivityItems, ak as useHiddenApps, al as useHideActivityItem, am as useHideKeytraceClaim, an as useHideOrcidPublication, ao as useHideProfileItem, ap as useHideSifaPublication, aq as useHideStandardPublication, ar as useImportSearchEntities, as as useInboxCounts, at as useLinkSkillToPosition, av as useMutuals, aw as useMyGithubPullRequests, ax as useMyRoadmapVotes, ay as useNetworkStreamCount, az as useOrgClaim, aA as useOrgDomainChallenge, aB as useOrgDomainVerify, aC as useOrgProfile, aD as usePendingConfirmations, aE as useProfile, aF as useProfileCompleteness, aG as useReactionStatus, aH as useRefreshOrcidPublications, aI as useRefreshPds, aJ as useRemoveFeatureAllowlist, aK as useRemoveOrgNotificationEmail, aL as useRepoInventory, aM as useResetProfile, aO as useRetractRoadmapVote, aP as useRevealMarqueDomain, aQ as useRevokeConfirmation, aR as useRoadmapVotes, bt as useSearchCompanies, aS as useSearchFilters, aT as useSearchProfiles, aU as useSelectEntity, aV as useSetExternalAccountPrimary, aW as useSetPositionPrimary, aX as useSetSectionPrimary, aY as useSifaConfig, aZ as useSimilarProfiles, a_ as useSkillSuggestions, a$ as useStats, b0 as useSuggestionCount, b1 as useSuggestions, b2 as useUnfollow, b3 as useUnhideActivityItem, b4 as useUnhideKeytraceClaim, b5 as useUnhideOrcidPublication, b6 as useUnhideProfileItem, b7 as useUnhideSifaPublication, b8 as useUnhideStandardPublication, b9 as useUnlinkSkillFromPosition, ba as useUnlinkedPositions, bb as useUnrevealMarqueDomain, bc as useUnsetExternalAccountPrimary, bd as useUnsetPositionPrimary, be as useUnsetSectionPrimary, bf as useUpdateEducation, bg as useUpdateExternalAccount, bh as useUpdateOrgProfile, bi as useUpdatePosition, bj as useUpdateProfileLocation, bk as useUpdateProfileOverride, bl as useUpdateProfileSelf, bm as useUpdateRecord, bn as useUpdateSkill, bo as useUpdateSkillSubCategories, bp as useUploadAvatar, bq as useUploadNamePronunciationAudio, br as useVerifyExternalAccount, bs as useWipePreview } from '../../use-org-notification-emails-CJ0hKqco.js';
2
- export { aK as SifaQueryKey, s as sifaQueryKeys } from '../../org-Bp4mNT8K.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 useFollowingFeedVersion, af as useFollowingList, ag as useGetProfileView, ah as useGivenConfirmations, ai as useHeatmapData, aj as useHiddenActivityItems, ak as useHiddenApps, al as useHideActivityItem, am as useHideKeytraceClaim, an as useHideOrcidPublication, ao as useHideProfileItem, ap as useHideSifaPublication, aq as useHideStandardPublication, ar as useImportSearchEntities, as as useInboxCounts, at as useLinkSkillToPosition, av as useMutuals, aw as useMyGithubPullRequests, ax as useMyRoadmapVotes, ay as useNetworkStreamCount, az as useOrgClaim, aA as useOrgDomainChallenge, aB as useOrgDomainVerify, aC as useOrgProfile, aD as usePendingConfirmations, aE as useProfile, aF as useProfileCompleteness, aG as useReactionStatus, aH as useRefreshOrcidPublications, aI as useRefreshPds, aJ as useRemoveFeatureAllowlist, aK as useRemoveOrgNotificationEmail, aL as useRepoInventory, aM as useResetProfile, aO as useRetractRoadmapVote, aP as useRevealMarqueDomain, aQ as useRevokeConfirmation, aR as useRoadmapVotes, bt as useSearchCompanies, aS as useSearchFilters, aT as useSearchProfiles, aU as useSelectEntity, aV as useSetExternalAccountPrimary, aW as useSetPositionPrimary, aX as useSetSectionPrimary, aY as useSifaConfig, aZ as useSimilarProfiles, a_ as useSkillSuggestions, a$ as useStats, b0 as useSuggestionCount, b1 as useSuggestions, b2 as useUnfollow, b3 as useUnhideActivityItem, b4 as useUnhideKeytraceClaim, b5 as useUnhideOrcidPublication, b6 as useUnhideProfileItem, b7 as useUnhideSifaPublication, b8 as useUnhideStandardPublication, b9 as useUnlinkSkillFromPosition, ba as useUnlinkedPositions, bb as useUnrevealMarqueDomain, bc as useUnsetExternalAccountPrimary, bd as useUnsetPositionPrimary, be as useUnsetSectionPrimary, bf as useUpdateEducation, bg as useUpdateExternalAccount, bh as useUpdateOrgProfile, bi as useUpdatePosition, bj as useUpdateProfileLocation, bk as useUpdateProfileOverride, bl as useUpdateProfileSelf, bm as useUpdateRecord, bn as useUpdateSkill, bo as useUpdateSkillSubCategories, bp as useUploadAvatar, bq as useUploadNamePronunciationAudio, br as useVerifyExternalAccount, bs as useWipePreview } from '../../use-org-notification-emails-CgEZnFTp.js';
2
+ export { aK as SifaQueryKey, s as sifaQueryKeys } from '../../org-DTHVhan9.js';
3
3
  import * as _tanstack_react_query from '@tanstack/react-query';
4
4
  import { UseMutationOptions } from '@tanstack/react-query';
5
- import { N as CreateResult, W as WriteResult } from '../../types-CK8KgdqA.js';
5
+ import { N as CreateResult, W as WriteResult } from '../../types-Dblq-u-n.js';
6
6
  import 'react';
7
7
  import '../../index-D9GC0u__.js';
8
8
  import '../../shared-v0vl5hov.js';
@@ -9,16 +9,27 @@ var reactQuery = require('@tanstack/react-query');
9
9
  var ApiError = class extends Error {
10
10
  status;
11
11
  body;
12
- constructor(message, status, body) {
12
+ /** Seconds until a rate limit resets, read from the headers of a 429. */
13
+ retryAfterSeconds;
14
+ constructor(message, status, body, retryAfterSeconds) {
13
15
  super(message);
14
16
  this.name = "ApiError";
15
17
  this.status = status;
16
18
  this.body = body;
19
+ if (retryAfterSeconds !== void 0) this.retryAfterSeconds = retryAfterSeconds;
17
20
  }
18
21
  };
19
22
  var DEFAULT_TIMEOUT_MS = 1e4;
20
23
  var MAX_RATE_LIMIT_RETRIES = 3;
21
24
  var RATE_LIMIT_RETRY_CAP_SECONDS = 3;
25
+ var RATE_LIMIT_RESET_HEADERS = ["retry-after", "x-ratelimit-reset"];
26
+ function parseRetryAfterSeconds(headers) {
27
+ for (const name of RATE_LIMIT_RESET_HEADERS) {
28
+ const seconds = Number.parseInt(headers.get(name) ?? "", 10);
29
+ if (Number.isFinite(seconds) && seconds > 0) return seconds;
30
+ }
31
+ return void 0;
32
+ }
22
33
  function encodeIdentifier(value) {
23
34
  let decoded = value;
24
35
  try {
@@ -70,7 +81,12 @@ async function apiFetch(config, path, options = {}) {
70
81
  errBody = void 0;
71
82
  }
72
83
  }
73
- throw new ApiError(`Sifa API ${res.status} on ${path}`, res.status, errBody);
84
+ throw new ApiError(
85
+ `Sifa API ${res.status} on ${path}`,
86
+ res.status,
87
+ errBody,
88
+ res.status === 429 ? parseRetryAfterSeconds(res.headers) : void 0
89
+ );
74
90
  }
75
91
  if (res.status === 204 || res.status === 205) {
76
92
  return void 0;
@@ -87,10 +103,14 @@ async function apiFetchOrNull(config, path, options = {}) {
87
103
  throw e;
88
104
  }
89
105
  }
90
- function extractWriteError(data, status) {
91
- const body = data ?? {};
106
+ function extractWriteError(e) {
107
+ const body = e.body && typeof e.body === "object" ? e.body : {};
92
108
  return {
93
- error: body.message ?? `Request failed (${status})`,
109
+ // Fastify puts the detail in `message` and the status phrase in `error`;
110
+ // sifa-api's own handlers (and the rate limiter) only set `error`.
111
+ error: body.message ?? body.error ?? `Request failed (${e.status})`,
112
+ status: e.status,
113
+ ...e.retryAfterSeconds !== void 0 ? { retryAfterSeconds: e.retryAfterSeconds } : {},
94
114
  ...body.pdsHost ? { pdsHost: body.pdsHost } : {}
95
115
  };
96
116
  }
@@ -104,7 +124,7 @@ async function apiWrite(config, path, method, options = {}) {
104
124
  return { success: true, ...data ?? {} };
105
125
  } catch (e) {
106
126
  if (e instanceof ApiError) {
107
- return { success: false, ...extractWriteError(e.body, e.status) };
127
+ return { success: false, ...extractWriteError(e) };
108
128
  }
109
129
  return { success: false, error: "Network error" };
110
130
  }