@singi-labs/sifa-sdk 0.9.18 → 0.9.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/feed-DHTy7fUN.d.cts +254 -0
- package/dist/feed-DHTy7fUN.d.ts +254 -0
- package/dist/{index-DCpMh2Ny.d.cts → index-DYUYJxOs.d.cts} +1 -1
- package/dist/{index-DCpMh2Ny.d.ts → index-DYUYJxOs.d.ts} +1 -1
- package/dist/index.cjs +114 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +103 -4
- package/dist/index.js.map +1 -1
- package/dist/keys-D-vNPzXx.d.ts +1085 -0
- package/dist/keys-DRD79nDE.d.cts +1085 -0
- package/dist/query/fetchers/index.cjs +155 -1
- package/dist/query/fetchers/index.cjs.map +1 -1
- package/dist/query/fetchers/index.d.cts +6 -933
- package/dist/query/fetchers/index.d.ts +6 -933
- package/dist/query/fetchers/index.js +146 -2
- package/dist/query/fetchers/index.js.map +1 -1
- package/dist/query/hooks/index.cjs +2268 -0
- package/dist/query/hooks/index.cjs.map +1 -0
- package/dist/query/hooks/index.d.cts +479 -0
- package/dist/query/hooks/index.d.ts +479 -0
- package/dist/query/hooks/index.js +2178 -0
- package/dist/query/hooks/index.js.map +1 -0
- package/dist/query/index.cjs +340 -1
- package/dist/query/index.cjs.map +1 -1
- package/dist/query/index.d.cts +9 -352
- package/dist/query/index.d.ts +9 -352
- package/dist/query/index.js +322 -3
- package/dist/query/index.js.map +1 -1
- package/dist/schemas/index.cjs +102 -1
- package/dist/schemas/index.cjs.map +1 -1
- package/dist/schemas/index.d.cts +28 -2
- package/dist/schemas/index.d.ts +28 -2
- package/dist/schemas/index.js +91 -2
- package/dist/schemas/index.js.map +1 -1
- package/package.json +14 -4
|
@@ -1,115 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* Stateless. Consumers supply a {@link SifaApiConfig} per call (the React
|
|
7
|
-
* hooks read it from context; non-React consumers pass it explicitly). No
|
|
8
|
-
* singletons, no module-level state.
|
|
9
|
-
*/
|
|
10
|
-
/** Configuration passed to every fetcher. */
|
|
11
|
-
interface SifaApiConfig {
|
|
12
|
-
/** Base URL of the sifa-api AppView, e.g. `https://api.sifa.id`. No trailing slash. */
|
|
13
|
-
baseUrl: string;
|
|
14
|
-
/**
|
|
15
|
-
* Optional fetch implementation. Defaults to {@link globalThis.fetch}.
|
|
16
|
-
* Lets Next.js consumers pass their cache-enhanced fetch; node/Expo
|
|
17
|
-
* consumers can leave this unset.
|
|
18
|
-
*/
|
|
19
|
-
fetch?: typeof fetch;
|
|
20
|
-
}
|
|
21
|
-
/** Options accepted by {@link apiFetch}. */
|
|
22
|
-
interface ApiFetchOptions {
|
|
23
|
-
method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
24
|
-
/** Request body. Serialized to JSON automatically. */
|
|
25
|
-
body?: unknown;
|
|
26
|
-
/** AbortSignal. Defaults to `AbortSignal.timeout(timeoutMs)` if `timeoutMs` is set. */
|
|
27
|
-
signal?: AbortSignal;
|
|
28
|
-
/** Per-call timeout in milliseconds. Default: 10_000. Ignored if `signal` is provided. */
|
|
29
|
-
timeoutMs?: number;
|
|
30
|
-
/** Retry on HTTP 429 up to 3 times with the server's `Retry-After` delay (capped at 3s). */
|
|
31
|
-
retryOn429?: boolean;
|
|
32
|
-
/** Additional headers. `Content-Type: application/json` is set automatically when `body` is present. */
|
|
33
|
-
headers?: Record<string, string>;
|
|
34
|
-
credentials?: RequestCredentials;
|
|
35
|
-
cache?: RequestCache;
|
|
36
|
-
/**
|
|
37
|
-
* Next.js-specific cache hints. Ignored on non-Next runtimes. Passed
|
|
38
|
-
* through transparently as part of {@link RequestInit}.
|
|
39
|
-
*/
|
|
40
|
-
next?: {
|
|
41
|
-
revalidate?: number | false;
|
|
42
|
-
tags?: string[];
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
/** Error thrown by {@link apiFetch} on non-2xx responses. */
|
|
46
|
-
declare class ApiError extends Error {
|
|
47
|
-
readonly status: number;
|
|
48
|
-
readonly body: unknown;
|
|
49
|
-
constructor(message: string, status: number, body?: unknown);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Generic fetcher used by all SDK query and mutation functions.
|
|
53
|
-
*
|
|
54
|
-
* Returns parsed JSON typed as `T`. Throws {@link ApiError} on non-2xx
|
|
55
|
-
* responses. Use {@link apiFetchOrNull} when 404 should resolve to `null`
|
|
56
|
-
* instead.
|
|
57
|
-
*/
|
|
58
|
-
declare function apiFetch<T = unknown>(config: SifaApiConfig, path: string, options?: ApiFetchOptions): Promise<T>;
|
|
59
|
-
/**
|
|
60
|
-
* Variant of {@link apiFetch} that resolves to `null` on HTTP 404 instead
|
|
61
|
-
* of throwing. Useful for "fetch by handle" reads where missing is
|
|
62
|
-
* expected (e.g. unknown profile).
|
|
63
|
-
*/
|
|
64
|
-
declare function apiFetchOrNull<T>(config: SifaApiConfig, path: string, options?: ApiFetchOptions): Promise<T | null>;
|
|
65
|
-
/**
|
|
66
|
-
* Result returned by record-write mutations (create / update / delete).
|
|
67
|
-
*
|
|
68
|
-
* Never throws -- writes against the user's PDS can fail in many ways
|
|
69
|
-
* (network, PDS unreachable, rate limit) and the UI needs structured
|
|
70
|
-
* results to render appropriate messages.
|
|
71
|
-
*/
|
|
72
|
-
interface WriteResult {
|
|
73
|
-
success: boolean;
|
|
74
|
-
error?: string;
|
|
75
|
-
/**
|
|
76
|
-
* PDS hostname returned by sifa-api when a write failed at the user's
|
|
77
|
-
* Personal Data Server (issue #167). Lets the UI render
|
|
78
|
-
* "Your data server (eurosky.social) isn't responding" instead of a
|
|
79
|
-
* generic "Request failed (500)".
|
|
80
|
-
*/
|
|
81
|
-
pdsHost?: string;
|
|
82
|
-
}
|
|
83
|
-
/** Result returned by create mutations. Includes the newly created `rkey`. */
|
|
84
|
-
interface CreateResult extends WriteResult {
|
|
85
|
-
rkey?: string;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Write mutation against the Sifa AppView. Wraps {@link apiFetch} with the
|
|
89
|
-
* never-throws contract used by all sifa-web mutations: returns a
|
|
90
|
-
* structured {@link WriteResult} on both success and failure, and
|
|
91
|
-
* preserves the `pdsHost` field when the AppView reports a PDS-side
|
|
92
|
-
* failure (issue #167).
|
|
93
|
-
*
|
|
94
|
-
* On success: returns `{ success: true, ...payload }` where `payload` is
|
|
95
|
-
* whatever the server returned in JSON (or `{}` for 204).
|
|
96
|
-
*
|
|
97
|
-
* On failure: returns `{ success: false, error, pdsHost? }`. Never throws.
|
|
98
|
-
*
|
|
99
|
-
* Use {@link apiWriteCreate} when you specifically need the `rkey` from a
|
|
100
|
-
* create response folded into the result shape.
|
|
101
|
-
*/
|
|
102
|
-
declare function apiWrite<TExtra extends object = Record<never, never>>(config: SifaApiConfig, path: string, method: 'POST' | 'PUT' | 'DELETE' | 'PATCH', options?: Omit<ApiFetchOptions, 'method'>): Promise<WriteResult & TExtra>;
|
|
103
|
-
/**
|
|
104
|
-
* Write mutation that expects the server to return a record key (`rkey`)
|
|
105
|
-
* in its response body. Wraps {@link apiWrite} and folds the `rkey` into
|
|
106
|
-
* the result shape so consumers get `{ success, rkey?, error?, pdsHost? }`.
|
|
107
|
-
*
|
|
108
|
-
* If the server returns additional fields (e.g. `feedUrl` from external
|
|
109
|
-
* account creation), pass them via the `TExtra` generic to keep them
|
|
110
|
-
* typed.
|
|
111
|
-
*/
|
|
112
|
-
declare function apiWriteCreate<TExtra extends object = Record<never, never>>(config: SifaApiConfig, path: string, body: unknown, options?: Omit<ApiFetchOptions, 'method' | 'body'>): Promise<CreateResult & TExtra>;
|
|
1
|
+
import { a7 as SifaApiConfig, f as ApiFetchOptions, i as CreateResult, ai as WriteResult } from '../../keys-DRD79nDE.cjs';
|
|
2
|
+
export { A as AccountCheckResult, a as ActivityFeedResponse, b as ActivityItem, c as ActivityItemLinkHealth, d as ActivityTeaserResponse, e as ApiError, g as AppRegistryEntry, B as BulkHideProfileItemInput, C as CheckAppAccountOptions, h as CreateExternalAccountResult, D as DeleteAccountResult, E as EndorsementInput, j as ExternalAccountInput, F as FeatureAllowlistResponse, k as FeaturedProfile, l as FetchActivityFeedOptions, m as FetchActivityTeaserOptions, n as FetchFollowListOptions, o as FetchFollowProfilePageOptions, p as FetchFollowingFeedOptions, q as FetchHiddenAppsOptions, r as FetchMyRoadmapVotesOptions, s as FetchReactionStatusOptions, t as FetchSuggestionsOptions, u as FilterOptions, v as FollowListPage, w as FollowProfile, x as FollowProfilePageResponse, y as FollowUserResult, z as FollowingResponse, H as HIDDEN_ITEM_SOURCES, G as HIDDEN_ITEM_TYPES, I as HeatmapDay, J as HeatmapResponse, K as HiddenApp, L as HiddenItemSource, M as HiddenItemType, N as HideProfileItemInput, O as ListFeatureAllowlistOptions, P as ProfileIndustryInput, Q as ProfileLocationAddress, R as ProfileLocationInput, S as ProfileSearchResult, T as ProfileSelfLocation, U as QUOTED_POSTS_BATCH_MAX, V as QuotedPostAuthor, W as QuotedPostImage, X as QuotedPostResult, Y as QuotedPostView, Z as ReactionError, _ as ReactionResult, $ as ReactionStatus, a0 as RefreshOrcidPublicationsResult, a1 as RefreshPdsResult, a2 as ResolveQuotedPostsOptions, a3 as RoadmapVoter, a4 as RoadmapVotesResponse, a5 as SearchFilters, a6 as SearchResponse, a8 as SifaQueryKey, a9 as SimilarProfile, aa as SkillSearchResult, ab as StatsResponse, ac as SuggestionProfile, ad as SuggestionsResponse, ae as UpdateProfileOverrideInput, af as UpdateProfileSelfInput, ag as UploadAvatarResult, ah as VerifyExternalAccountResult, aj as addFeatureAllowlist, ak as apiFetch, al as apiFetchOrNull, am as apiWrite, an as apiWriteCreate, ao as bulkHideProfileItems, ap as bulkHideStandardPublications, aq as bulkUnhideProfileItems, ar as bulkUnhideStandardPublications, as as castRoadmapVote, at as checkAppAccount, au as createEndorsement, av as createExternalAccount, aw as createProfileLocation, ax as createReaction, ay as deleteAccount, az as deleteAvatarOverride, aA as deleteExternalAccount, aB as deleteProfileLocation, aC as deleteReaction, aD as fetchActivityFeed, aE as fetchActivityTeaser, aF as fetchAppsRegistry, aG as fetchExternalAccounts, aH as fetchFeaturedProfile, aI as fetchFollowing, aJ as fetchHeatmapData, aK as fetchHiddenApps, aL as fetchMyRoadmapVotes, aM as fetchReactionStatus, aN as fetchRoadmapVotes, aO as fetchSearchFilters, aP as fetchSearchProfiles, aQ as fetchSimilarProfiles, aR as fetchSkillSuggestions, aS as fetchStats, aT as fetchSuggestionCount, aU as fetchSuggestions, aV as followUser, aW as getBlueskySuggestions, aX as getFollowers, aY as getFollowing, aZ as getFollowingFeed, a_ as getMutuals, a$ as hideOrcidPublication, b0 as hideProfileItem, b1 as hideSifaPublication, b2 as hideStandardPublication, b3 as listFeatureAllowlist, b4 as refreshOrcidPublications, b5 as refreshPds, b6 as removeFeatureAllowlist, b7 as resetProfile, b8 as resolveQuotedPosts, b9 as retractRoadmapVote, ba as searchSkills, bb as setExternalAccountPrimary, bc as sifaQueryKeys, bd as unfollowUser, be as unhideOrcidPublication, bf as unhideProfileItem, bg as unhideSifaPublication, bh as unhideStandardPublication, bi as unsetExternalAccountPrimary, bj as updateExternalAccount, bk as updateProfileLocation, bl as updateProfileOverride, bm as updateProfileSelf, bn as uploadAvatar, bo as verifyExternalAccount } from '../../keys-DRD79nDE.cjs';
|
|
3
|
+
import { b as Profile, o as ProfilePosition, t as SkillRef } from '../../index-DYUYJxOs.cjs';
|
|
4
|
+
import '../../feed-DHTy7fUN.cjs';
|
|
5
|
+
import 'zod';
|
|
113
6
|
|
|
114
7
|
/**
|
|
115
8
|
* Read the aggregated profile for a handle or DID.
|
|
@@ -127,82 +20,6 @@ declare function fetchProfile(config: SifaApiConfig, handleOrDid: string, option
|
|
|
127
20
|
*/
|
|
128
21
|
declare function fetchAtFundLink(config: SifaApiConfig, did: string, options?: ApiFetchOptions): Promise<string | null>;
|
|
129
22
|
|
|
130
|
-
/** Industry/domain entry on the profile self record. */
|
|
131
|
-
interface ProfileIndustryInput {
|
|
132
|
-
industry: string;
|
|
133
|
-
domain?: string;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Location payload accepted by `updateProfileSelf`.
|
|
137
|
-
*
|
|
138
|
-
* Accepts both shapes during the community.lexicon.location.address
|
|
139
|
-
* migration. Prefer `locality` (new) over `city` (legacy) when sending.
|
|
140
|
-
* The API's locationSchema is a Zod union that resolves either input.
|
|
141
|
-
*/
|
|
142
|
-
interface ProfileSelfLocation {
|
|
143
|
-
country: string;
|
|
144
|
-
countryCode?: string;
|
|
145
|
-
region?: string;
|
|
146
|
-
city?: string;
|
|
147
|
-
locality?: string;
|
|
148
|
-
}
|
|
149
|
-
/** Body accepted by {@link updateProfileSelf}. */
|
|
150
|
-
interface UpdateProfileSelfInput {
|
|
151
|
-
headline?: string;
|
|
152
|
-
about?: string;
|
|
153
|
-
/** Schema.org Person.givenName from id.sifa.profile.self.givenName. */
|
|
154
|
-
givenName?: string;
|
|
155
|
-
/** Schema.org Person.familyName from id.sifa.profile.self.familyName. */
|
|
156
|
-
familyName?: string;
|
|
157
|
-
industries?: ProfileIndustryInput[];
|
|
158
|
-
location?: ProfileSelfLocation;
|
|
159
|
-
website?: string;
|
|
160
|
-
openTo?: string[];
|
|
161
|
-
preferredWorkplace?: string[];
|
|
162
|
-
availableFromUtc?: number;
|
|
163
|
-
availableToUtc?: number;
|
|
164
|
-
}
|
|
165
|
-
/** Update the authenticated user's `id.sifa.profile.self` record. */
|
|
166
|
-
declare function updateProfileSelf(config: SifaApiConfig, data: UpdateProfileSelfInput, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
167
|
-
/** Body accepted by {@link updateProfileOverride}. */
|
|
168
|
-
interface UpdateProfileOverrideInput {
|
|
169
|
-
headline?: string | null;
|
|
170
|
-
about?: string | null;
|
|
171
|
-
displayName?: string | null;
|
|
172
|
-
pronouns?: string | null;
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Override aggregated profile fields with sifa-specific values. `null`
|
|
176
|
-
* clears the override and falls back to the upstream PDS value.
|
|
177
|
-
*/
|
|
178
|
-
declare function updateProfileOverride(config: SifaApiConfig, data: UpdateProfileOverrideInput, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
179
|
-
/** Extended result for {@link refreshPds}. */
|
|
180
|
-
interface RefreshPdsResult extends WriteResult {
|
|
181
|
-
displayName?: string | null;
|
|
182
|
-
avatar?: string | null;
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Re-pull the authenticated user's `app.bsky.actor.profile` from their
|
|
186
|
-
* PDS. Returns the freshly resolved `displayName` and `avatar` on
|
|
187
|
-
* success so the UI can update without a full profile refetch.
|
|
188
|
-
*/
|
|
189
|
-
declare function refreshPds(config: SifaApiConfig, options?: ApiFetchOptions): Promise<RefreshPdsResult>;
|
|
190
|
-
/** Extended result for {@link uploadAvatar}. */
|
|
191
|
-
interface UploadAvatarResult extends WriteResult {
|
|
192
|
-
/** Publicly accessible URL of the newly uploaded avatar. */
|
|
193
|
-
url?: string;
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Upload a new avatar via `multipart/form-data`. Pass either a `File`
|
|
197
|
-
* (browser) or any `Blob` (Expo, node). The SDK leaves `Content-Type`
|
|
198
|
-
* unset so the runtime can set the multipart boundary automatically.
|
|
199
|
-
*
|
|
200
|
-
* Never throws -- inspect `result.success` and `result.url`.
|
|
201
|
-
*/
|
|
202
|
-
declare function uploadAvatar(config: SifaApiConfig, file: Blob, options?: ApiFetchOptions): Promise<UploadAvatarResult>;
|
|
203
|
-
/** Delete the authenticated user's avatar override (revert to PDS avatar). */
|
|
204
|
-
declare function deleteAvatarOverride(config: SifaApiConfig, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
205
|
-
|
|
206
23
|
/**
|
|
207
24
|
* Create a new `id.sifa.profile.position` record on the authenticated
|
|
208
25
|
* user's PDS. The AppView signs and writes via the user's OAuth session.
|
|
@@ -271,92 +88,6 @@ declare function updateRecord(config: SifaApiConfig, collection: string, rkey: s
|
|
|
271
88
|
/** Generic record-delete escape hatch. See {@link createRecord}. */
|
|
272
89
|
declare function deleteRecord(config: SifaApiConfig, collection: string, rkey: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
273
90
|
|
|
274
|
-
/**
|
|
275
|
-
* Address payload accepted by `/api/profile/location` endpoints.
|
|
276
|
-
*
|
|
277
|
-
* Accepts both shapes during the community.lexicon.location.address
|
|
278
|
-
* migration. Prefer `country` + `locality` (new) over `countryCode` +
|
|
279
|
-
* `city` (legacy). The API's `locationSchema` is a Zod union that
|
|
280
|
-
* accepts either pair.
|
|
281
|
-
*/
|
|
282
|
-
interface ProfileLocationAddress {
|
|
283
|
-
/** Legacy alias for `country` (alpha-2). */
|
|
284
|
-
countryCode?: string;
|
|
285
|
-
/** community.lexicon.location.address field -- prefer over `countryCode`. */
|
|
286
|
-
country?: string;
|
|
287
|
-
region?: string;
|
|
288
|
-
/** Legacy alias for `locality`. */
|
|
289
|
-
city?: string;
|
|
290
|
-
/** community.lexicon.location.address field -- prefer over `city`. */
|
|
291
|
-
locality?: string;
|
|
292
|
-
}
|
|
293
|
-
/** Body accepted by {@link createProfileLocation} / {@link updateProfileLocation}. */
|
|
294
|
-
interface ProfileLocationInput {
|
|
295
|
-
address: ProfileLocationAddress;
|
|
296
|
-
type: string;
|
|
297
|
-
label?: string;
|
|
298
|
-
isPrimary?: boolean;
|
|
299
|
-
}
|
|
300
|
-
/** Create a new profile location entry. */
|
|
301
|
-
declare function createProfileLocation(config: SifaApiConfig, data: ProfileLocationInput, options?: ApiFetchOptions): Promise<CreateResult>;
|
|
302
|
-
/** Update an existing profile location by `rkey`. */
|
|
303
|
-
declare function updateProfileLocation(config: SifaApiConfig, rkey: string, data: ProfileLocationInput, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
304
|
-
/** Delete a profile location by `rkey`. */
|
|
305
|
-
declare function deleteProfileLocation(config: SifaApiConfig, rkey: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
306
|
-
|
|
307
|
-
/** Body accepted by {@link createExternalAccount} / {@link updateExternalAccount}. */
|
|
308
|
-
interface ExternalAccountInput {
|
|
309
|
-
platform: string;
|
|
310
|
-
url: string;
|
|
311
|
-
label?: string;
|
|
312
|
-
feedUrl?: string;
|
|
313
|
-
}
|
|
314
|
-
/** Extended create result for {@link createExternalAccount}. */
|
|
315
|
-
interface CreateExternalAccountResult extends WriteResult {
|
|
316
|
-
rkey?: string;
|
|
317
|
-
feedUrl?: string | null;
|
|
318
|
-
}
|
|
319
|
-
/** Extended write result for {@link verifyExternalAccount}. */
|
|
320
|
-
interface VerifyExternalAccountResult extends WriteResult {
|
|
321
|
-
verified?: boolean;
|
|
322
|
-
verifiedVia?: string;
|
|
323
|
-
}
|
|
324
|
-
/** List external accounts attached to a profile. Returns `[]` on error. */
|
|
325
|
-
declare function fetchExternalAccounts(config: SifaApiConfig, handleOrDid: string, options?: ApiFetchOptions): Promise<ExternalAccount[]>;
|
|
326
|
-
/**
|
|
327
|
-
* Create a new external account record. Returns the newly-created `rkey`
|
|
328
|
-
* and the server-resolved `feedUrl` (sifa-api inspects the target for
|
|
329
|
-
* RSS feeds on platforms that publish them).
|
|
330
|
-
*/
|
|
331
|
-
declare function createExternalAccount(config: SifaApiConfig, data: ExternalAccountInput, options?: ApiFetchOptions): Promise<CreateExternalAccountResult>;
|
|
332
|
-
/** Update an existing external account by `rkey`. */
|
|
333
|
-
declare function updateExternalAccount(config: SifaApiConfig, rkey: string, data: ExternalAccountInput, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
334
|
-
/** Delete an external account by `rkey`. */
|
|
335
|
-
declare function deleteExternalAccount(config: SifaApiConfig, rkey: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
336
|
-
/** Mark an external account as the user's primary. */
|
|
337
|
-
declare function setExternalAccountPrimary(config: SifaApiConfig, rkey: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
338
|
-
/** Clear the "primary" flag on an external account. */
|
|
339
|
-
declare function unsetExternalAccountPrimary(config: SifaApiConfig, rkey: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
340
|
-
/**
|
|
341
|
-
* Run server-side verification on an external account (e.g. inspect
|
|
342
|
-
* the target for a keytrace claim). Returns `{ verified, verifiedVia }`
|
|
343
|
-
* on success.
|
|
344
|
-
*/
|
|
345
|
-
declare function verifyExternalAccount(config: SifaApiConfig, rkey: string, options?: ApiFetchOptions): Promise<VerifyExternalAccountResult>;
|
|
346
|
-
|
|
347
|
-
/** Body accepted by {@link createEndorsement}. */
|
|
348
|
-
interface EndorsementInput {
|
|
349
|
-
skillUri: string;
|
|
350
|
-
comment?: string;
|
|
351
|
-
}
|
|
352
|
-
/**
|
|
353
|
-
* Create an endorsement of another user's skill. The endorsed user
|
|
354
|
-
* must confirm before the endorsement appears on their profile (the
|
|
355
|
-
* endorsement record is on the endorser's PDS; a separate confirmation
|
|
356
|
-
* record on the endorsed user's PDS gates display).
|
|
357
|
-
*/
|
|
358
|
-
declare function createEndorsement(config: SifaApiConfig, data: EndorsementInput, options?: ApiFetchOptions): Promise<CreateResult>;
|
|
359
|
-
|
|
360
91
|
/**
|
|
361
92
|
* Hide a keytrace claim (verified-account claim discovered on the
|
|
362
93
|
* user's external accounts) from the user's profile. The claim itself
|
|
@@ -366,458 +97,6 @@ declare function hideKeytraceClaim(config: SifaApiConfig, rkey: string, options?
|
|
|
366
97
|
/** Restore a previously-hidden keytrace claim. */
|
|
367
98
|
declare function unhideKeytraceClaim(config: SifaApiConfig, rkey: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
368
99
|
|
|
369
|
-
/** Extended result for {@link refreshOrcidPublications}. */
|
|
370
|
-
interface RefreshOrcidPublicationsResult extends WriteResult {
|
|
371
|
-
added?: number;
|
|
372
|
-
removed?: number;
|
|
373
|
-
}
|
|
374
|
-
/**
|
|
375
|
-
* Hide an ORCID-imported publication from the user's profile. The
|
|
376
|
-
* `putCode` is the ORCID-side identifier; the underlying record stays
|
|
377
|
-
* in the index, only its display is suppressed.
|
|
378
|
-
*/
|
|
379
|
-
declare function hideOrcidPublication(config: SifaApiConfig, putCode: number, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
380
|
-
/** Restore a previously-hidden ORCID publication. */
|
|
381
|
-
declare function unhideOrcidPublication(config: SifaApiConfig, putCode: number, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
382
|
-
/** Hide a standard (auto-imported) publication by its AT URI. */
|
|
383
|
-
declare function hideStandardPublication(config: SifaApiConfig, uri: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
384
|
-
/** Restore a previously-hidden standard publication. */
|
|
385
|
-
declare function unhideStandardPublication(config: SifaApiConfig, uri: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
386
|
-
/** Bulk-hide standard publications by AT URI list. */
|
|
387
|
-
declare function bulkHideStandardPublications(config: SifaApiConfig, uris: string[], options?: ApiFetchOptions): Promise<WriteResult>;
|
|
388
|
-
/** Bulk-unhide standard publications by AT URI list. */
|
|
389
|
-
declare function bulkUnhideStandardPublications(config: SifaApiConfig, uris: string[], options?: ApiFetchOptions): Promise<WriteResult>;
|
|
390
|
-
/** Hide an `id.sifa.profile.publication` (user-authored publication record). */
|
|
391
|
-
declare function hideSifaPublication(config: SifaApiConfig, rkey: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
392
|
-
/** Restore a previously-hidden Sifa publication. */
|
|
393
|
-
declare function unhideSifaPublication(config: SifaApiConfig, rkey: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
394
|
-
/**
|
|
395
|
-
* Re-pull the authenticated user's ORCID publications. Returns counts
|
|
396
|
-
* of added and removed records. The server returns `{ error: '...' }`
|
|
397
|
-
* inline (not via HTTP status) on quota / linkage failures; the SDK
|
|
398
|
-
* folds that into `{ success: false, error }` to keep the contract
|
|
399
|
-
* consistent with other mutations.
|
|
400
|
-
*/
|
|
401
|
-
declare function refreshOrcidPublications(config: SifaApiConfig, options?: ApiFetchOptions): Promise<RefreshOrcidPublicationsResult>;
|
|
402
|
-
|
|
403
|
-
/** Item types that can be hidden on the authenticated user's profile. */
|
|
404
|
-
declare const HIDDEN_ITEM_TYPES: readonly ["position", "education", "certification", "project", "volunteering", "publication", "course", "honor", "language", "externalAccount"];
|
|
405
|
-
type HiddenItemType = (typeof HIDDEN_ITEM_TYPES)[number];
|
|
406
|
-
/** Source from which an item originates; disambiguates `item_id`. */
|
|
407
|
-
declare const HIDDEN_ITEM_SOURCES: readonly ["pds", "standard", "orcid"];
|
|
408
|
-
type HiddenItemSource = (typeof HIDDEN_ITEM_SOURCES)[number];
|
|
409
|
-
interface HideProfileItemInput {
|
|
410
|
-
itemType: HiddenItemType;
|
|
411
|
-
source: HiddenItemSource;
|
|
412
|
-
/** rkey for `pds`, AT-URI for `standard`, ORCID putCode as text for `orcid`. */
|
|
413
|
-
itemId: string;
|
|
414
|
-
}
|
|
415
|
-
interface BulkHideProfileItemInput {
|
|
416
|
-
itemType: HiddenItemType;
|
|
417
|
-
source: HiddenItemSource;
|
|
418
|
-
itemIds: string[];
|
|
419
|
-
}
|
|
420
|
-
/**
|
|
421
|
-
* Hide one profile item. The underlying record stays on the user's PDS;
|
|
422
|
-
* only its display on sifa.id is suppressed.
|
|
423
|
-
*/
|
|
424
|
-
declare function hideProfileItem(config: SifaApiConfig, input: HideProfileItemInput, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
425
|
-
/** Restore a previously-hidden profile item. */
|
|
426
|
-
declare function unhideProfileItem(config: SifaApiConfig, input: HideProfileItemInput, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
427
|
-
/** Bulk-hide profile items sharing the same `itemType` + `source`. */
|
|
428
|
-
declare function bulkHideProfileItems(config: SifaApiConfig, input: BulkHideProfileItemInput, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
429
|
-
/** Bulk-unhide profile items sharing the same `itemType` + `source`. */
|
|
430
|
-
declare function bulkUnhideProfileItems(config: SifaApiConfig, input: BulkHideProfileItemInput, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
431
|
-
|
|
432
|
-
/** Public, aggregate stats shown on the homepage and similar surfaces. */
|
|
433
|
-
interface StatsResponse {
|
|
434
|
-
profileCount: number;
|
|
435
|
-
avatars: string[];
|
|
436
|
-
atproto: {
|
|
437
|
-
userCount: number;
|
|
438
|
-
growthPerSecond: number;
|
|
439
|
-
timestamp: number;
|
|
440
|
-
} | null;
|
|
441
|
-
}
|
|
442
|
-
/**
|
|
443
|
-
* Homepage stats (profile count, avatar samples, ATproto growth). Public
|
|
444
|
-
* endpoint -- safe to cache. Returns `null` on any error so callers can
|
|
445
|
-
* render a graceful empty state.
|
|
446
|
-
*/
|
|
447
|
-
declare function fetchStats(config: SifaApiConfig, options?: ApiFetchOptions): Promise<StatsResponse | null>;
|
|
448
|
-
|
|
449
|
-
/** Catalog entry describing an ATproto app that Sifa surfaces activity for. */
|
|
450
|
-
interface AppRegistryEntry {
|
|
451
|
-
id: string;
|
|
452
|
-
name: string;
|
|
453
|
-
category: string;
|
|
454
|
-
collectionPrefixes: string[];
|
|
455
|
-
scanCollections: string[];
|
|
456
|
-
urlPattern?: string;
|
|
457
|
-
color: string;
|
|
458
|
-
}
|
|
459
|
-
/** Compact app representation returned by the hidden-apps endpoint. */
|
|
460
|
-
interface HiddenApp {
|
|
461
|
-
id: string;
|
|
462
|
-
name: string;
|
|
463
|
-
category: string;
|
|
464
|
-
}
|
|
465
|
-
interface FetchHiddenAppsOptions extends ApiFetchOptions {
|
|
466
|
-
/**
|
|
467
|
-
* Pass the caller's `Cookie` header on Next.js RSC server-side calls.
|
|
468
|
-
* `credentials: 'include'` does NOT propagate browser cookies in RSC,
|
|
469
|
-
* so authenticated server fetches must forward the header explicitly.
|
|
470
|
-
*/
|
|
471
|
-
cookieHeader?: string;
|
|
472
|
-
}
|
|
473
|
-
/**
|
|
474
|
-
* Public app registry shown across discovery surfaces. Heavily cached.
|
|
475
|
-
* Returns `[]` on any error.
|
|
476
|
-
*/
|
|
477
|
-
declare function fetchAppsRegistry(config: SifaApiConfig, options?: ApiFetchOptions): Promise<AppRegistryEntry[]>;
|
|
478
|
-
/**
|
|
479
|
-
* Apps the authenticated user has chosen to hide from their activity feed.
|
|
480
|
-
* Requires an authenticated session. Returns `[]` on any error (including
|
|
481
|
-
* the unauthenticated case).
|
|
482
|
-
*/
|
|
483
|
-
declare function fetchHiddenApps(config: SifaApiConfig, options?: FetchHiddenAppsOptions): Promise<HiddenApp[]>;
|
|
484
|
-
|
|
485
|
-
/** Profile entry returned by the search endpoint. */
|
|
486
|
-
interface ProfileSearchResult {
|
|
487
|
-
did?: string;
|
|
488
|
-
handle: string;
|
|
489
|
-
displayName?: string;
|
|
490
|
-
headline?: string;
|
|
491
|
-
avatar?: string;
|
|
492
|
-
about?: string;
|
|
493
|
-
currentRole?: string;
|
|
494
|
-
currentCompany?: string;
|
|
495
|
-
industry?: string;
|
|
496
|
-
domain?: string;
|
|
497
|
-
countryCode?: string;
|
|
498
|
-
locationCountry?: string;
|
|
499
|
-
preferredWorkplace?: string[];
|
|
500
|
-
claimed?: boolean;
|
|
501
|
-
blueskyVerified?: boolean;
|
|
502
|
-
blueskyVerifiedAt?: string | null;
|
|
503
|
-
}
|
|
504
|
-
interface SearchFilters {
|
|
505
|
-
q?: string;
|
|
506
|
-
skill?: string;
|
|
507
|
-
country?: string;
|
|
508
|
-
industry?: string;
|
|
509
|
-
domain?: string;
|
|
510
|
-
workplace?: string;
|
|
511
|
-
app?: string;
|
|
512
|
-
limit?: number;
|
|
513
|
-
}
|
|
514
|
-
interface SearchResponse {
|
|
515
|
-
profiles: ProfileSearchResult[];
|
|
516
|
-
total: number;
|
|
517
|
-
limit: number;
|
|
518
|
-
offset: number;
|
|
519
|
-
}
|
|
520
|
-
/** Skill typeahead suggestion. */
|
|
521
|
-
interface SkillSearchResult {
|
|
522
|
-
name: string;
|
|
523
|
-
slug: string;
|
|
524
|
-
category: string;
|
|
525
|
-
userCount: number;
|
|
526
|
-
}
|
|
527
|
-
interface FilterOptions {
|
|
528
|
-
countries: {
|
|
529
|
-
countryCode: string;
|
|
530
|
-
country: string;
|
|
531
|
-
count: number;
|
|
532
|
-
}[];
|
|
533
|
-
industries: {
|
|
534
|
-
industry: string;
|
|
535
|
-
count: number;
|
|
536
|
-
}[];
|
|
537
|
-
apps: {
|
|
538
|
-
appId: string;
|
|
539
|
-
count: number;
|
|
540
|
-
}[];
|
|
541
|
-
}
|
|
542
|
-
/**
|
|
543
|
-
* Search profiles by free-text query and optional filters. Returns an
|
|
544
|
-
* empty result set when no filters are provided (matching sifa-web's
|
|
545
|
-
* "no input, no fetch" behavior).
|
|
546
|
-
*/
|
|
547
|
-
declare function fetchSearchProfiles(config: SifaApiConfig, filters: SearchFilters, options?: ApiFetchOptions): Promise<SearchResponse>;
|
|
548
|
-
/**
|
|
549
|
-
* Skill typeahead. Returns up to 8 matches for the given prefix. Empty
|
|
550
|
-
* input returns an empty array without hitting the server.
|
|
551
|
-
*/
|
|
552
|
-
declare function fetchSkillSuggestions(config: SifaApiConfig, query: string, options?: ApiFetchOptions): Promise<SkillSearchResult[]>;
|
|
553
|
-
/** Available filter facets (countries, industries, apps) for search UI. */
|
|
554
|
-
declare function fetchSearchFilters(config: SifaApiConfig, options?: ApiFetchOptions): Promise<FilterOptions>;
|
|
555
|
-
/**
|
|
556
|
-
* Canonical-skill search backing the position-editor and similar
|
|
557
|
-
* skill-pickers. Hits `/api/skills/search` (the canonical-skills DB
|
|
558
|
-
* lookup) which is distinct from {@link fetchSkillSuggestions}'s
|
|
559
|
-
* `/api/search/skills` (the profile-skill typeahead).
|
|
560
|
-
*
|
|
561
|
-
* Returns `[]` on empty input (no network call) or any error.
|
|
562
|
-
*/
|
|
563
|
-
declare function searchSkills(config: SifaApiConfig, query: string, limit?: number, options?: ApiFetchOptions): Promise<SkillSuggestion[]>;
|
|
564
|
-
|
|
565
|
-
/** Lightweight profile representation used by discovery endpoints. */
|
|
566
|
-
interface SimilarProfile {
|
|
567
|
-
did: string;
|
|
568
|
-
handle: string;
|
|
569
|
-
displayName?: string | null;
|
|
570
|
-
avatar?: string | null;
|
|
571
|
-
headline?: string | null;
|
|
572
|
-
currentRole?: string | null;
|
|
573
|
-
currentCompany?: string | null;
|
|
574
|
-
industry?: string | null;
|
|
575
|
-
domain?: string | null;
|
|
576
|
-
}
|
|
577
|
-
interface SuggestionProfile {
|
|
578
|
-
did: string;
|
|
579
|
-
handle: string;
|
|
580
|
-
displayName?: string;
|
|
581
|
-
headline?: string;
|
|
582
|
-
avatarUrl?: string;
|
|
583
|
-
source: string;
|
|
584
|
-
dismissed: boolean;
|
|
585
|
-
blueskyVerified?: boolean;
|
|
586
|
-
}
|
|
587
|
-
interface SuggestionsResponse {
|
|
588
|
-
onSifa: SuggestionProfile[];
|
|
589
|
-
notOnSifa: SuggestionProfile[];
|
|
590
|
-
cursor?: string;
|
|
591
|
-
}
|
|
592
|
-
interface FeaturedProfile {
|
|
593
|
-
did: string;
|
|
594
|
-
handle: string;
|
|
595
|
-
displayName?: string;
|
|
596
|
-
avatar?: string;
|
|
597
|
-
pronouns?: string;
|
|
598
|
-
headline?: string;
|
|
599
|
-
about?: string;
|
|
600
|
-
currentRole?: string;
|
|
601
|
-
currentCompany?: string;
|
|
602
|
-
locationCountry?: string;
|
|
603
|
-
locationRegion?: string;
|
|
604
|
-
/** Legacy alias for `locationLocality`; emitted by sifa-api during the additive response window. */
|
|
605
|
-
locationCity?: string;
|
|
606
|
-
/** community.lexicon.location.address field name -- prefer over `locationCity`. */
|
|
607
|
-
locationLocality?: string;
|
|
608
|
-
countryCode?: string;
|
|
609
|
-
location?: string;
|
|
610
|
-
website?: string;
|
|
611
|
-
openTo?: string[];
|
|
612
|
-
preferredWorkplace?: string[];
|
|
613
|
-
availableFromUtc?: number;
|
|
614
|
-
availableToUtc?: number;
|
|
615
|
-
followersCount?: number;
|
|
616
|
-
atprotoFollowersCount?: number;
|
|
617
|
-
pdsProvider?: {
|
|
618
|
-
name: string;
|
|
619
|
-
host: string;
|
|
620
|
-
} | null;
|
|
621
|
-
claimed: boolean;
|
|
622
|
-
featuredDate: string;
|
|
623
|
-
}
|
|
624
|
-
/** Profiles similar to the given DID (matchmaking). Returns `[]` on error. */
|
|
625
|
-
declare function fetchSimilarProfiles(config: SifaApiConfig, did: string, opts?: {
|
|
626
|
-
limit?: number;
|
|
627
|
-
} & ApiFetchOptions): Promise<SimilarProfile[]>;
|
|
628
|
-
interface FetchSuggestionsOptions extends ApiFetchOptions {
|
|
629
|
-
source?: string;
|
|
630
|
-
includeDismissed?: boolean;
|
|
631
|
-
cursor?: string;
|
|
632
|
-
limit?: number;
|
|
633
|
-
/**
|
|
634
|
-
* Pass the caller's `Cookie` header on Next.js RSC server-side calls.
|
|
635
|
-
* `credentials: 'include'` does NOT propagate browser cookies in RSC,
|
|
636
|
-
* so authenticated server fetches must forward the header explicitly.
|
|
637
|
-
*/
|
|
638
|
-
cookieHeader?: string;
|
|
639
|
-
}
|
|
640
|
-
/** Discovery suggestions feed. Resolves to empty arrays on error. */
|
|
641
|
-
declare function fetchSuggestions(config: SifaApiConfig, opts?: FetchSuggestionsOptions): Promise<SuggestionsResponse>;
|
|
642
|
-
/** Count of pending suggestions since an optional timestamp. */
|
|
643
|
-
declare function fetchSuggestionCount(config: SifaApiConfig, since?: string, options?: ApiFetchOptions): Promise<number>;
|
|
644
|
-
/** Featured profile (rotated by sifa-api). Returns `null` when none. */
|
|
645
|
-
declare function fetchFeaturedProfile(config: SifaApiConfig, options?: ApiFetchOptions): Promise<FeaturedProfile | null>;
|
|
646
|
-
|
|
647
|
-
interface FollowProfile {
|
|
648
|
-
did: string;
|
|
649
|
-
handle: string;
|
|
650
|
-
displayName?: string;
|
|
651
|
-
headline?: string;
|
|
652
|
-
avatarUrl?: string;
|
|
653
|
-
source: string;
|
|
654
|
-
claimed: boolean;
|
|
655
|
-
followedAt: string;
|
|
656
|
-
blueskyVerified?: boolean;
|
|
657
|
-
blueskyVerifiedAt?: string | null;
|
|
658
|
-
}
|
|
659
|
-
interface FollowingResponse {
|
|
660
|
-
follows: FollowProfile[];
|
|
661
|
-
cursor?: string;
|
|
662
|
-
}
|
|
663
|
-
/** People the authenticated user follows. Empty on error. */
|
|
664
|
-
declare function fetchFollowing(config: SifaApiConfig, opts?: {
|
|
665
|
-
source?: string;
|
|
666
|
-
cursor?: string;
|
|
667
|
-
limit?: number;
|
|
668
|
-
} & ApiFetchOptions): Promise<FollowingResponse>;
|
|
669
|
-
|
|
670
|
-
interface QuotedPostAuthor {
|
|
671
|
-
did: string;
|
|
672
|
-
handle: string;
|
|
673
|
-
displayName?: string;
|
|
674
|
-
avatar?: string;
|
|
675
|
-
}
|
|
676
|
-
interface QuotedPostImage {
|
|
677
|
-
thumb: string;
|
|
678
|
-
fullsize: string;
|
|
679
|
-
alt?: string;
|
|
680
|
-
}
|
|
681
|
-
interface QuotedPostView {
|
|
682
|
-
uri: string;
|
|
683
|
-
cid: string;
|
|
684
|
-
author: QuotedPostAuthor;
|
|
685
|
-
text: string;
|
|
686
|
-
createdAt: string;
|
|
687
|
-
images?: QuotedPostImage[];
|
|
688
|
-
}
|
|
689
|
-
type QuotedPostResult = {
|
|
690
|
-
status: 'ok';
|
|
691
|
-
record: QuotedPostView;
|
|
692
|
-
} | {
|
|
693
|
-
status: 'deleted';
|
|
694
|
-
uri: string;
|
|
695
|
-
} | {
|
|
696
|
-
status: 'unavailable';
|
|
697
|
-
uri: string;
|
|
698
|
-
};
|
|
699
|
-
/** Max URIs per request to `POST /api/quoted-posts/resolve` (mirrors server cap). */
|
|
700
|
-
declare const QUOTED_POSTS_BATCH_MAX = 20;
|
|
701
|
-
interface ResolveQuotedPostsOptions extends ApiFetchOptions {
|
|
702
|
-
/** Cookie header for Next.js RSC server-side calls; ignored in browsers. */
|
|
703
|
-
cookieHeader?: string;
|
|
704
|
-
}
|
|
705
|
-
/**
|
|
706
|
-
* Resolve a batch of AT-URIs to their quoted-post snapshots via the Sifa AppView.
|
|
707
|
-
*
|
|
708
|
-
* Auto-deduplicates input URIs and splits requests into chunks of
|
|
709
|
-
* {@link QUOTED_POSTS_BATCH_MAX} so callers can pass an arbitrary-length array.
|
|
710
|
-
* Each chunk is fired in parallel. The server caches results in Valkey, so
|
|
711
|
-
* repeated calls for the same URI are cheap.
|
|
712
|
-
*
|
|
713
|
-
* Returns a map of `uri -> QuotedPostResult`. URIs that fail (network error,
|
|
714
|
-
* non-2xx, or the server omitting them) are absent from the map; the caller
|
|
715
|
-
* should render a skeleton or tombstone for those.
|
|
716
|
-
*/
|
|
717
|
-
declare function resolveQuotedPosts(config: SifaApiConfig, uris: string[], options?: ResolveQuotedPostsOptions): Promise<Record<string, QuotedPostResult>>;
|
|
718
|
-
|
|
719
|
-
/**
|
|
720
|
-
* Reachability of an activity card's external destination, as reported by
|
|
721
|
-
* sifa-api's `/api/activity` enrichment (see sifa-api `url-health-checker`).
|
|
722
|
-
*
|
|
723
|
-
* ok -- last HEAD returned 2xx/3xx
|
|
724
|
-
* broken -- confirmed dead (>=2 consecutive 4xx, or >=5 consecutive 5xx)
|
|
725
|
-
* unverifiable -- 403/429/network error; anti-bot or rate-limited, NOT dead
|
|
726
|
-
* unknown -- newly seen, not yet checked
|
|
727
|
-
*
|
|
728
|
-
* Consumers should only suppress UI on `'broken'`. All other values
|
|
729
|
-
* (including missing) mean "render normally".
|
|
730
|
-
*/
|
|
731
|
-
type ActivityItemLinkHealth = 'ok' | 'broken' | 'unverifiable' | 'unknown';
|
|
732
|
-
interface HeatmapDay {
|
|
733
|
-
date: string;
|
|
734
|
-
total: number;
|
|
735
|
-
apps: {
|
|
736
|
-
appId: string;
|
|
737
|
-
count: number;
|
|
738
|
-
}[];
|
|
739
|
-
}
|
|
740
|
-
interface HeatmapResponse {
|
|
741
|
-
days: HeatmapDay[];
|
|
742
|
-
appTotals: {
|
|
743
|
-
appId: string;
|
|
744
|
-
appName: string;
|
|
745
|
-
total: number;
|
|
746
|
-
}[];
|
|
747
|
-
thresholds: [number, number, number, number];
|
|
748
|
-
}
|
|
749
|
-
interface ActivityItem {
|
|
750
|
-
uri: string;
|
|
751
|
-
cid: string;
|
|
752
|
-
collection: string;
|
|
753
|
-
rkey: string;
|
|
754
|
-
record: Record<string, unknown>;
|
|
755
|
-
appId: string;
|
|
756
|
-
appName: string;
|
|
757
|
-
category: string;
|
|
758
|
-
indexedAt: string;
|
|
759
|
-
/**
|
|
760
|
-
* Set by the server when an `app.bsky.embed.record` quote was already
|
|
761
|
-
* resolved upstream (AppView path). Mutually exclusive with `quotedPostUri`.
|
|
762
|
-
*/
|
|
763
|
-
quotedPost?: QuotedPostResult;
|
|
764
|
-
/**
|
|
765
|
-
* Set by the server when an `app.bsky.embed.record` quote needs client-side
|
|
766
|
-
* resolution (PDS path). Pass batches to {@link resolveQuotedPosts}.
|
|
767
|
-
* Mutually exclusive with `quotedPost`.
|
|
768
|
-
*/
|
|
769
|
-
quotedPostUri?: string;
|
|
770
|
-
/**
|
|
771
|
-
* Reachability of the card's external destination as last checked by
|
|
772
|
-
* sifa-api. Undefined for legacy responses; treat as 'unknown'.
|
|
773
|
-
* See {@link ActivityItemLinkHealth}.
|
|
774
|
-
*/
|
|
775
|
-
linkHealth?: ActivityItemLinkHealth;
|
|
776
|
-
}
|
|
777
|
-
interface ActivityTeaserResponse {
|
|
778
|
-
items: ActivityItem[];
|
|
779
|
-
blueskyGated?: boolean;
|
|
780
|
-
backfillPending?: boolean;
|
|
781
|
-
failedApps?: string[];
|
|
782
|
-
}
|
|
783
|
-
interface ActivityFeedResponse {
|
|
784
|
-
items: ActivityItem[];
|
|
785
|
-
cursor: string | null;
|
|
786
|
-
hasMore: boolean;
|
|
787
|
-
availableCategories?: string[];
|
|
788
|
-
blueskyGated?: boolean;
|
|
789
|
-
failedApps?: string[];
|
|
790
|
-
}
|
|
791
|
-
/**
|
|
792
|
-
* Per-day activity counts for a profile across all ATproto apps. Returns
|
|
793
|
-
* `null` on any error so callers can render a graceful empty state.
|
|
794
|
-
*/
|
|
795
|
-
declare function fetchHeatmapData(config: SifaApiConfig, handleOrDid: string, days: number, options?: ApiFetchOptions): Promise<HeatmapResponse | null>;
|
|
796
|
-
interface FetchActivityTeaserOptions extends ApiFetchOptions {
|
|
797
|
-
/**
|
|
798
|
-
* Pass the caller's `Cookie` header on Next.js RSC server-side calls.
|
|
799
|
-
* Required for authenticated server fetches because `credentials: 'include'`
|
|
800
|
-
* does not propagate browser cookies in RSC.
|
|
801
|
-
*/
|
|
802
|
-
cookieHeader?: string;
|
|
803
|
-
}
|
|
804
|
-
/**
|
|
805
|
-
* Recent activity teaser for a profile (homepage-sized slice). Caps the
|
|
806
|
-
* upstream wait so the SSR path cannot hang. Returns `null` on any error.
|
|
807
|
-
*/
|
|
808
|
-
declare function fetchActivityTeaser(config: SifaApiConfig, handleOrDid: string, options?: FetchActivityTeaserOptions): Promise<ActivityTeaserResponse | null>;
|
|
809
|
-
interface FetchActivityFeedOptions extends ApiFetchOptions {
|
|
810
|
-
category?: string;
|
|
811
|
-
limit?: number;
|
|
812
|
-
cursor?: string;
|
|
813
|
-
cookieHeader?: string;
|
|
814
|
-
}
|
|
815
|
-
/**
|
|
816
|
-
* Paginated activity feed for a profile. Always fresh (`cache: 'no-store'`).
|
|
817
|
-
* Returns `null` on any error.
|
|
818
|
-
*/
|
|
819
|
-
declare function fetchActivityFeed(config: SifaApiConfig, handleOrDid: string, options?: FetchActivityFeedOptions): Promise<ActivityFeedResponse | null>;
|
|
820
|
-
|
|
821
100
|
/**
|
|
822
101
|
* Counts confirmed endorsements received by a DID. The backend's
|
|
823
102
|
* `GET /api/endorsement/:did` already returns only confirmed endorsements
|
|
@@ -847,135 +126,6 @@ interface FetchNetworkStreamCountOptions extends ApiFetchOptions {
|
|
|
847
126
|
*/
|
|
848
127
|
declare function fetchNetworkStreamCount(config: SifaApiConfig, did: string, options?: FetchNetworkStreamCountOptions): Promise<number>;
|
|
849
128
|
|
|
850
|
-
/** Per-URI reaction state for the authenticated viewer. */
|
|
851
|
-
interface ReactionStatus {
|
|
852
|
-
reacted: boolean;
|
|
853
|
-
rkey?: string;
|
|
854
|
-
collection?: string;
|
|
855
|
-
}
|
|
856
|
-
/** Result of checking whether the authenticated viewer has an account on a given app. */
|
|
857
|
-
interface AccountCheckResult {
|
|
858
|
-
hasAccount: boolean;
|
|
859
|
-
appName: string;
|
|
860
|
-
appUrl: string;
|
|
861
|
-
}
|
|
862
|
-
interface FetchReactionStatusOptions extends ApiFetchOptions {
|
|
863
|
-
/**
|
|
864
|
-
* Pass the caller's `Cookie` header on Next.js RSC server-side calls.
|
|
865
|
-
* Required for authenticated server fetches because `credentials: 'include'`
|
|
866
|
-
* does not propagate browser cookies in RSC.
|
|
867
|
-
*/
|
|
868
|
-
cookieHeader?: string;
|
|
869
|
-
}
|
|
870
|
-
/**
|
|
871
|
-
* Batch-look up reaction status for multiple URIs. Returns `{}` for an
|
|
872
|
-
* empty input list (no network call) and `null` on any error.
|
|
873
|
-
*/
|
|
874
|
-
declare function fetchReactionStatus(config: SifaApiConfig, uris: string[], options?: FetchReactionStatusOptions): Promise<Record<string, ReactionStatus> | null>;
|
|
875
|
-
interface CheckAppAccountOptions extends ApiFetchOptions {
|
|
876
|
-
cookieHeader?: string;
|
|
877
|
-
}
|
|
878
|
-
/**
|
|
879
|
-
* Check whether the authenticated viewer has an account on a given app.
|
|
880
|
-
* Returns `null` on any error.
|
|
881
|
-
*/
|
|
882
|
-
declare function checkAppAccount(config: SifaApiConfig, appId: string, options?: CheckAppAccountOptions): Promise<AccountCheckResult | null>;
|
|
883
|
-
/** Result of a successful {@link createReaction}. */
|
|
884
|
-
interface ReactionResult {
|
|
885
|
-
uri: string;
|
|
886
|
-
rkey: string;
|
|
887
|
-
}
|
|
888
|
-
/** Structured error returned by {@link createReaction} on failure. */
|
|
889
|
-
interface ReactionError {
|
|
890
|
-
type: 'scope_insufficient' | 'error';
|
|
891
|
-
/** When `type === 'scope_insufficient'`, the lexicon scope the user must re-authorize for. */
|
|
892
|
-
requiredScope?: string;
|
|
893
|
-
}
|
|
894
|
-
/**
|
|
895
|
-
* Create a reaction (like / star) on a target ATproto record.
|
|
896
|
-
*
|
|
897
|
-
* Returns a discriminated-union result instead of the generic
|
|
898
|
-
* {@link WriteResult} shape because reactions have a distinct
|
|
899
|
-
* "scope insufficient" failure that callers handle differently from
|
|
900
|
-
* other errors (it triggers an OAuth scope-upgrade flow rather than
|
|
901
|
-
* an error toast).
|
|
902
|
-
*
|
|
903
|
-
* Never throws.
|
|
904
|
-
*/
|
|
905
|
-
declare function createReaction(config: SifaApiConfig, targetUri: string, appId: string, targetCid?: string, options?: ApiFetchOptions): Promise<{
|
|
906
|
-
ok: true;
|
|
907
|
-
data: ReactionResult;
|
|
908
|
-
} | {
|
|
909
|
-
ok: false;
|
|
910
|
-
error: ReactionError;
|
|
911
|
-
}>;
|
|
912
|
-
/**
|
|
913
|
-
* Delete a reaction (like / star) on a target ATproto record. Returns
|
|
914
|
-
* `{ success: true }` on 2xx, `{ success: false, error }` on failure.
|
|
915
|
-
*/
|
|
916
|
-
declare function deleteReaction(config: SifaApiConfig, targetUri: string, appId: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
917
|
-
|
|
918
|
-
/** Voter on a roadmap item. */
|
|
919
|
-
interface RoadmapVoter {
|
|
920
|
-
did: string;
|
|
921
|
-
avatarUrl?: string;
|
|
922
|
-
}
|
|
923
|
-
/** Map of item key -> vote tally and voter list. */
|
|
924
|
-
type RoadmapVotesResponse = Record<string, {
|
|
925
|
-
count: number;
|
|
926
|
-
voters: RoadmapVoter[];
|
|
927
|
-
}>;
|
|
928
|
-
/**
|
|
929
|
-
* Public roadmap vote tallies, keyed by item. Returns `{}` on any error.
|
|
930
|
-
*/
|
|
931
|
-
declare function fetchRoadmapVotes(config: SifaApiConfig, options?: ApiFetchOptions): Promise<RoadmapVotesResponse>;
|
|
932
|
-
interface FetchMyRoadmapVotesOptions extends ApiFetchOptions {
|
|
933
|
-
/**
|
|
934
|
-
* Pass the caller's `Cookie` header on Next.js RSC server-side calls.
|
|
935
|
-
* Required for authenticated server fetches because `credentials: 'include'`
|
|
936
|
-
* does not propagate browser cookies in RSC.
|
|
937
|
-
*/
|
|
938
|
-
cookieHeader?: string;
|
|
939
|
-
}
|
|
940
|
-
/**
|
|
941
|
-
* Roadmap items the authenticated user has voted on. Returns `[]` on any
|
|
942
|
-
* error or when the response payload is shaped unexpectedly.
|
|
943
|
-
*/
|
|
944
|
-
declare function fetchMyRoadmapVotes(config: SifaApiConfig, options?: FetchMyRoadmapVotesOptions): Promise<string[]>;
|
|
945
|
-
/** Cast a vote on a roadmap item by its key. */
|
|
946
|
-
declare function castRoadmapVote(config: SifaApiConfig, key: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
947
|
-
/** Retract a previously-cast roadmap vote. */
|
|
948
|
-
declare function retractRoadmapVote(config: SifaApiConfig, key: string, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
949
|
-
|
|
950
|
-
/** Extended write result for {@link deleteAccount}. */
|
|
951
|
-
interface DeleteAccountResult extends WriteResult {
|
|
952
|
-
/** The deleted handle, returned by the server for confirmation UIs. */
|
|
953
|
-
handle?: string;
|
|
954
|
-
}
|
|
955
|
-
/**
|
|
956
|
-
* Reset the authenticated user's Sifa profile.
|
|
957
|
-
*
|
|
958
|
-
* `deletePdsData: true` also deletes the corresponding records on the
|
|
959
|
-
* user's PDS. `deletePdsData: false` only removes the AppView's
|
|
960
|
-
* indexed state -- the records on the PDS are left intact and could be
|
|
961
|
-
* re-indexed later.
|
|
962
|
-
*
|
|
963
|
-
* Destructive. Server enforces session check + attestation; the SDK
|
|
964
|
-
* does not gate on additional confirmation. Wrap call sites in your
|
|
965
|
-
* own modal if you want a UX confirmation step.
|
|
966
|
-
*/
|
|
967
|
-
declare function resetProfile(config: SifaApiConfig, deletePdsData: boolean, options?: ApiFetchOptions): Promise<WriteResult>;
|
|
968
|
-
/**
|
|
969
|
-
* Delete the authenticated user's account. Returns the deleted handle
|
|
970
|
-
* on success (used by the post-delete confirmation screen).
|
|
971
|
-
*
|
|
972
|
-
* `deletePdsData: true` also deletes the corresponding records on the
|
|
973
|
-
* user's PDS; `false` leaves the PDS records intact.
|
|
974
|
-
*
|
|
975
|
-
* Destructive. Same caveat as {@link resetProfile}.
|
|
976
|
-
*/
|
|
977
|
-
declare function deleteAccount(config: SifaApiConfig, deletePdsData: boolean, options?: ApiFetchOptions): Promise<DeleteAccountResult>;
|
|
978
|
-
|
|
979
129
|
/** A node in the personal network graph. */
|
|
980
130
|
interface NetworkMapNode {
|
|
981
131
|
did: string;
|
|
@@ -1068,81 +218,4 @@ declare function checkNetworkMapJobStatus(config: SifaApiConfig, jobId: string,
|
|
|
1068
218
|
*/
|
|
1069
219
|
declare function fetchNetworkMap(config: SifaApiConfig, options?: ApiFetchOptions): Promise<NetworkMapResponse | null>;
|
|
1070
220
|
|
|
1071
|
-
|
|
1072
|
-
* Query key factory for TanStack Query.
|
|
1073
|
-
*
|
|
1074
|
-
* Keys are read-only tuples; the hierarchy matches the SDK's fetcher
|
|
1075
|
-
* grouping. Use these instead of inline arrays so consumers can target
|
|
1076
|
-
* `queryClient.invalidateQueries({ queryKey: keys.profile.all() })` and
|
|
1077
|
-
* similar patterns without typos.
|
|
1078
|
-
*
|
|
1079
|
-
* Convention: every leaf key starts with the namespace ('sifa') so
|
|
1080
|
-
* consumers can invalidate everything Sifa-related in one call.
|
|
1081
|
-
*/
|
|
1082
|
-
declare const sifaQueryKeys: {
|
|
1083
|
-
readonly all: () => readonly ["sifa"];
|
|
1084
|
-
readonly profile: {
|
|
1085
|
-
readonly all: () => readonly ["sifa", "profile"];
|
|
1086
|
-
readonly byHandle: (handleOrDid: string) => readonly ["sifa", "profile", string];
|
|
1087
|
-
readonly atFundLink: (did: string) => readonly ["sifa", "profile", "at-fund-link", string];
|
|
1088
|
-
readonly externalAccounts: (handleOrDid: string) => readonly ["sifa", "profile", "external-accounts", string];
|
|
1089
|
-
};
|
|
1090
|
-
readonly position: {
|
|
1091
|
-
readonly all: () => readonly ["sifa", "position"];
|
|
1092
|
-
readonly byOwner: (did: string) => readonly ["sifa", "position", "by-owner", string];
|
|
1093
|
-
};
|
|
1094
|
-
readonly search: {
|
|
1095
|
-
readonly all: () => readonly ["sifa", "search"];
|
|
1096
|
-
readonly profiles: (filters: Record<string, unknown>) => readonly ["sifa", "search", "profiles", Record<string, unknown>];
|
|
1097
|
-
readonly skills: (query: string) => readonly ["sifa", "search", "skills", string];
|
|
1098
|
-
readonly canonicalSkills: (query: string, limit: number) => readonly ["sifa", "search", "canonical-skills", string, number];
|
|
1099
|
-
readonly filters: () => readonly ["sifa", "search", "filters"];
|
|
1100
|
-
};
|
|
1101
|
-
readonly discovery: {
|
|
1102
|
-
readonly all: () => readonly ["sifa", "discovery"];
|
|
1103
|
-
readonly similar: (did: string, limit: number) => readonly ["sifa", "discovery", "similar", string, number];
|
|
1104
|
-
readonly suggestions: (opts: Record<string, unknown>) => readonly ["sifa", "discovery", "suggestions", Record<string, unknown>];
|
|
1105
|
-
readonly suggestionCount: (since: string | undefined) => readonly ["sifa", "discovery", "suggestion-count", string | null];
|
|
1106
|
-
readonly featured: () => readonly ["sifa", "discovery", "featured"];
|
|
1107
|
-
};
|
|
1108
|
-
readonly follow: {
|
|
1109
|
-
readonly all: () => readonly ["sifa", "follow"];
|
|
1110
|
-
readonly following: (opts: Record<string, unknown>) => readonly ["sifa", "follow", "following", Record<string, unknown>];
|
|
1111
|
-
};
|
|
1112
|
-
readonly stats: {
|
|
1113
|
-
readonly all: () => readonly ["sifa", "stats"];
|
|
1114
|
-
readonly homepage: () => readonly ["sifa", "stats", "homepage"];
|
|
1115
|
-
};
|
|
1116
|
-
readonly apps: {
|
|
1117
|
-
readonly all: () => readonly ["sifa", "apps"];
|
|
1118
|
-
readonly registry: () => readonly ["sifa", "apps", "registry"];
|
|
1119
|
-
readonly hidden: () => readonly ["sifa", "apps", "hidden"];
|
|
1120
|
-
};
|
|
1121
|
-
readonly activity: {
|
|
1122
|
-
readonly all: () => readonly ["sifa", "activity"];
|
|
1123
|
-
readonly heatmap: (handleOrDid: string, days: number) => readonly ["sifa", "activity", "heatmap", string, number];
|
|
1124
|
-
readonly teaser: (handleOrDid: string) => readonly ["sifa", "activity", "teaser", string];
|
|
1125
|
-
readonly feed: (handleOrDid: string, opts: Record<string, unknown>) => readonly ["sifa", "activity", "feed", string, Record<string, unknown>];
|
|
1126
|
-
};
|
|
1127
|
-
readonly endorsement: {
|
|
1128
|
-
readonly all: () => readonly ["sifa", "endorsement"];
|
|
1129
|
-
readonly count: (did: string) => readonly ["sifa", "endorsement", "count", string];
|
|
1130
|
-
};
|
|
1131
|
-
readonly stream: {
|
|
1132
|
-
readonly all: () => readonly ["sifa", "stream"];
|
|
1133
|
-
readonly networkCount: (did: string) => readonly ["sifa", "stream", "network-count", string];
|
|
1134
|
-
};
|
|
1135
|
-
readonly reactions: {
|
|
1136
|
-
readonly all: () => readonly ["sifa", "reactions"];
|
|
1137
|
-
readonly status: (uris: string[]) => readonly ["sifa", "reactions", "status", string[]];
|
|
1138
|
-
readonly accountCheck: (appId: string) => readonly ["sifa", "reactions", "account-check", string];
|
|
1139
|
-
};
|
|
1140
|
-
readonly roadmap: {
|
|
1141
|
-
readonly all: () => readonly ["sifa", "roadmap"];
|
|
1142
|
-
readonly votes: () => readonly ["sifa", "roadmap", "votes"];
|
|
1143
|
-
readonly myVotes: () => readonly ["sifa", "roadmap", "my-votes"];
|
|
1144
|
-
};
|
|
1145
|
-
};
|
|
1146
|
-
type SifaQueryKey = ReturnType<typeof sifaQueryKeys.all> | ReturnType<typeof sifaQueryKeys.profile.all> | ReturnType<typeof sifaQueryKeys.profile.byHandle> | ReturnType<typeof sifaQueryKeys.profile.atFundLink> | ReturnType<typeof sifaQueryKeys.profile.externalAccounts> | ReturnType<typeof sifaQueryKeys.position.all> | ReturnType<typeof sifaQueryKeys.position.byOwner> | ReturnType<typeof sifaQueryKeys.search.all> | ReturnType<typeof sifaQueryKeys.search.profiles> | ReturnType<typeof sifaQueryKeys.search.canonicalSkills> | ReturnType<typeof sifaQueryKeys.search.skills> | ReturnType<typeof sifaQueryKeys.search.filters> | ReturnType<typeof sifaQueryKeys.discovery.all> | ReturnType<typeof sifaQueryKeys.discovery.similar> | ReturnType<typeof sifaQueryKeys.discovery.suggestions> | ReturnType<typeof sifaQueryKeys.discovery.suggestionCount> | ReturnType<typeof sifaQueryKeys.discovery.featured> | ReturnType<typeof sifaQueryKeys.follow.all> | ReturnType<typeof sifaQueryKeys.follow.following> | ReturnType<typeof sifaQueryKeys.stats.all> | ReturnType<typeof sifaQueryKeys.stats.homepage> | ReturnType<typeof sifaQueryKeys.apps.all> | ReturnType<typeof sifaQueryKeys.apps.registry> | ReturnType<typeof sifaQueryKeys.apps.hidden> | ReturnType<typeof sifaQueryKeys.activity.all> | ReturnType<typeof sifaQueryKeys.activity.heatmap> | ReturnType<typeof sifaQueryKeys.activity.teaser> | ReturnType<typeof sifaQueryKeys.activity.feed> | ReturnType<typeof sifaQueryKeys.endorsement.all> | ReturnType<typeof sifaQueryKeys.endorsement.count> | ReturnType<typeof sifaQueryKeys.stream.all> | ReturnType<typeof sifaQueryKeys.stream.networkCount> | ReturnType<typeof sifaQueryKeys.reactions.all> | ReturnType<typeof sifaQueryKeys.reactions.status> | ReturnType<typeof sifaQueryKeys.reactions.accountCheck> | ReturnType<typeof sifaQueryKeys.roadmap.all> | ReturnType<typeof sifaQueryKeys.roadmap.votes> | ReturnType<typeof sifaQueryKeys.roadmap.myVotes>;
|
|
1147
|
-
|
|
1148
|
-
export { type AccountCheckResult, type ActivityFeedResponse, type ActivityItem, type ActivityItemLinkHealth, type ActivityTeaserResponse, ApiError, type ApiFetchOptions, type AppRegistryEntry, type BulkHideProfileItemInput, type CheckAppAccountOptions, type CreateExternalAccountResult, type CreateResult, type DeleteAccountResult, type EndorsementInput, type ExternalAccountInput, type FeaturedProfile, type FetchActivityFeedOptions, type FetchActivityTeaserOptions, type FetchHiddenAppsOptions, type FetchMyRoadmapVotesOptions, type FetchNetworkStreamCountOptions, type FetchReactionStatusOptions, type FetchSuggestionsOptions, type FilterOptions, type FollowProfile, type FollowingResponse, HIDDEN_ITEM_SOURCES, HIDDEN_ITEM_TYPES, type HeatmapDay, type HeatmapResponse, type HiddenApp, type HiddenItemSource, type HiddenItemType, type HideProfileItemInput, type NetworkMapEdge, type NetworkMapGenerationJob, type NetworkMapGraphData, type NetworkMapNode, type NetworkMapPendingJob, type NetworkMapResponse, type ProfileIndustryInput, type ProfileLocationAddress, type ProfileLocationInput, type ProfileSearchResult, type ProfileSelfLocation, QUOTED_POSTS_BATCH_MAX, type QuotedPostAuthor, type QuotedPostImage, type QuotedPostResult, type QuotedPostView, type ReactionError, type ReactionResult, type ReactionStatus, type RefreshOrcidPublicationsResult, type RefreshPdsResult, type ResolveQuotedPostsOptions, type RoadmapVoter, type RoadmapVotesResponse, type SearchFilters, type SearchResponse, type SifaApiConfig, type SifaQueryKey, type SimilarProfile, type SkillSearchResult, type StatsResponse, type SuggestionProfile, type SuggestionsResponse, type UpdateProfileOverrideInput, type UpdateProfileSelfInput, type UploadAvatarResult, type VerifyExternalAccountResult, type WriteResult, apiFetch, apiFetchOrNull, apiWrite, apiWriteCreate, bulkHideProfileItems, bulkHideStandardPublications, bulkUnhideProfileItems, bulkUnhideStandardPublications, castRoadmapVote, checkAppAccount, checkNetworkMapJobStatus, createEducation, createEndorsement, createExternalAccount, createPosition, createProfileLocation, createReaction, createRecord, createSkill, deleteAccount, deleteAvatarOverride, deleteEducation, deleteExternalAccount, deletePosition, deleteProfileLocation, deleteReaction, deleteRecord, deleteSkill, fetchActivityFeed, fetchActivityTeaser, fetchAppsRegistry, fetchAtFundLink, fetchEndorsementCount, fetchExternalAccounts, fetchFeaturedProfile, fetchFollowing, fetchHeatmapData, fetchHiddenApps, fetchMyRoadmapVotes, fetchNetworkMap, fetchNetworkStreamCount, fetchProfile, fetchReactionStatus, fetchRoadmapVotes, fetchSearchFilters, fetchSearchProfiles, fetchSimilarProfiles, fetchSkillSuggestions, fetchStats, fetchSuggestionCount, fetchSuggestions, hideKeytraceClaim, hideOrcidPublication, hideProfileItem, hideSifaPublication, hideStandardPublication, initiateNetworkMapGeneration, isNetworkMapResponse, linkSkillToPosition, refreshOrcidPublications, refreshPds, resetProfile, resolveQuotedPosts, retractRoadmapVote, searchSkills, setExternalAccountPrimary, setPositionPrimary, sifaQueryKeys, unhideKeytraceClaim, unhideOrcidPublication, unhideProfileItem, unhideSifaPublication, unhideStandardPublication, unlinkSkillFromPosition, unsetExternalAccountPrimary, unsetPositionPrimary, updateEducation, updateExternalAccount, updatePosition, updateProfileLocation, updateProfileOverride, updateProfileSelf, updateRecord, updateSkill, uploadAvatar, verifyExternalAccount };
|
|
221
|
+
export { ApiFetchOptions, CreateResult, type FetchNetworkStreamCountOptions, type NetworkMapEdge, type NetworkMapGenerationJob, type NetworkMapGraphData, type NetworkMapNode, type NetworkMapPendingJob, type NetworkMapResponse, SifaApiConfig, WriteResult, checkNetworkMapJobStatus, createEducation, createPosition, createRecord, createSkill, deleteEducation, deletePosition, deleteRecord, deleteSkill, fetchAtFundLink, fetchEndorsementCount, fetchNetworkMap, fetchNetworkStreamCount, fetchProfile, hideKeytraceClaim, initiateNetworkMapGeneration, isNetworkMapResponse, linkSkillToPosition, setPositionPrimary, unhideKeytraceClaim, unlinkSkillFromPosition, unsetPositionPrimary, updateEducation, updatePosition, updateRecord, updateSkill };
|