@singi-labs/sifa-sdk 0.11.13 → 0.11.14

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 (36) hide show
  1. package/README.md +43 -0
  2. package/dist/{feed-DHTy7fUN.d.cts → feed-BaHtJXYR.d.cts} +98 -1
  3. package/dist/{feed-DHTy7fUN.d.ts → feed-BaHtJXYR.d.ts} +98 -1
  4. package/dist/index.cjs +102 -1
  5. package/dist/index.cjs.map +1 -1
  6. package/dist/index.d.cts +26 -2
  7. package/dist/index.d.ts +26 -2
  8. package/dist/index.js +94 -2
  9. package/dist/index.js.map +1 -1
  10. package/dist/{keys-DuICaiIq.d.ts → keys-C0AracRc.d.ts} +6 -2
  11. package/dist/{keys-K8kCuA5J.d.cts → keys-DLxYsNCp.d.cts} +6 -2
  12. package/dist/query/fetchers/index.cjs +83 -0
  13. package/dist/query/fetchers/index.cjs.map +1 -1
  14. package/dist/query/fetchers/index.d.cts +22 -4
  15. package/dist/query/fetchers/index.d.ts +22 -4
  16. package/dist/query/fetchers/index.js +81 -1
  17. package/dist/query/fetchers/index.js.map +1 -1
  18. package/dist/query/hooks/index.cjs +118 -0
  19. package/dist/query/hooks/index.cjs.map +1 -1
  20. package/dist/query/hooks/index.d.cts +73 -4
  21. package/dist/query/hooks/index.d.ts +73 -4
  22. package/dist/query/hooks/index.js +116 -2
  23. package/dist/query/hooks/index.js.map +1 -1
  24. package/dist/query/index.cjs +119 -0
  25. package/dist/query/index.cjs.map +1 -1
  26. package/dist/query/index.d.cts +5 -5
  27. package/dist/query/index.d.ts +5 -5
  28. package/dist/query/index.js +114 -2
  29. package/dist/query/index.js.map +1 -1
  30. package/dist/schemas/index.cjs +47 -0
  31. package/dist/schemas/index.cjs.map +1 -1
  32. package/dist/schemas/index.d.cts +1 -1
  33. package/dist/schemas/index.d.ts +1 -1
  34. package/dist/schemas/index.js +43 -1
  35. package/dist/schemas/index.js.map +1 -1
  36. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode } from 'react';
3
- import { S as SifaApiConfig, s as sifaQueryKeys, W as WriteResult, a5 as RefreshPdsResult, aj as UpdateProfileOverrideInput, ak as UpdateProfileSelfInput, al as UploadAvatarResult, j as CreateResult, U as ProfileLocationInput, k as ExternalAccountInput, i as CreateExternalAccountResult, am as VerifyExternalAccountResult, E as EndorsementInput, a4 as RefreshOrcidPublicationsResult, B as BulkHideProfileItemInput, P as HideProfileItemInput, ag as StatsResponse, g as AppRegistryEntry, M as HiddenApp, w as FilterOptions, ab as SearchFilters, ac as SearchResponse, af as SkillSearchResult, l as FeaturedProfile, ae as SimilarProfile, v as FetchSuggestionsOptions, ai as SuggestionsResponse, G as FollowUserResult, o as FetchFollowListOptions, x as FollowListPage, H as FollowingResponse, q as FetchFollowingFeedOptions, p as FetchFollowProfilePageOptions, z as FollowProfilePageResponse, F as FeatureAllowlistResponse, m as FetchActivityFeedOptions, b as ActivityFeedResponse, e as ActivityTeaserResponse, L as HeatmapResponse, a as AccountCheckResult, a3 as ReactionStatus, a2 as ReactionResult, a1 as ReactionError, aa as RoadmapVotesResponse, C as CastRoadmapVoteResult, D as DeleteAccountResult } from '../../keys-K8kCuA5J.cjs';
4
- export { ad as SifaQueryKey } from '../../keys-K8kCuA5J.cjs';
3
+ import { S as SifaApiConfig, s as sifaQueryKeys, W as WriteResult, a5 as RefreshPdsResult, aj as UpdateProfileOverrideInput, ak as UpdateProfileSelfInput, al as UploadAvatarResult, j as CreateResult, U as ProfileLocationInput, k as ExternalAccountInput, i as CreateExternalAccountResult, am as VerifyExternalAccountResult, E as EndorsementInput, a4 as RefreshOrcidPublicationsResult, B as BulkHideProfileItemInput, P as HideProfileItemInput, ag as StatsResponse, g as AppRegistryEntry, M as HiddenApp, w as FilterOptions, ab as SearchFilters, ac as SearchResponse, af as SkillSearchResult, l as FeaturedProfile, ae as SimilarProfile, v as FetchSuggestionsOptions, ai as SuggestionsResponse, G as FollowUserResult, o as FetchFollowListOptions, x as FollowListPage, H as FollowingResponse, q as FetchFollowingFeedOptions, p as FetchFollowProfilePageOptions, z as FollowProfilePageResponse, F as FeatureAllowlistResponse, m as FetchActivityFeedOptions, b as ActivityFeedResponse, e as ActivityTeaserResponse, L as HeatmapResponse, a as AccountCheckResult, a3 as ReactionStatus, a2 as ReactionResult, a1 as ReactionError, aa as RoadmapVotesResponse, C as CastRoadmapVoteResult, D as DeleteAccountResult } from '../../keys-DLxYsNCp.cjs';
4
+ export { ad as SifaQueryKey } from '../../keys-DLxYsNCp.cjs';
5
5
  import * as _tanstack_react_query from '@tanstack/react-query';
6
6
  import { UseQueryOptions, UseMutationOptions, UseInfiniteQueryOptions, InfiniteData } from '@tanstack/react-query';
7
7
  import { d as Profile, t as ProfilePosition, z as SkillRef, E as ExternalAccount, S as SkillSuggestion } from '../../adult-content-BpZD_3ow.cjs';
8
- import { F as FollowFeedPage, c as FeatureFlag } from '../../feed-DHTy7fUN.cjs';
8
+ import { g as EntitySearchResponse, E as EntitySearchResult, l as EntitySelectResponse, j as EntitySelectRequest, F as FollowFeedPage, c as FeatureFlag } from '../../feed-BaHtJXYR.cjs';
9
9
  import 'zod';
10
10
 
11
11
  interface SifaProviderProps {
@@ -258,6 +258,75 @@ declare function useSkillSuggestions(query: string, options?: Omit<UseQueryOptio
258
258
  declare function useCanonicalSkillSearch(query: string, limit?: number, options?: Omit<UseQueryOptions<SkillSuggestion[], Error, SkillSuggestion[], ReturnType<typeof sifaQueryKeys.search.canonicalSkills>>, 'queryKey' | 'queryFn'>): _tanstack_react_query.UseQueryResult<NoInfer<SkillSuggestion[]>, Error>;
259
259
  declare function useSearchFilters(options?: Omit<UseQueryOptions<FilterOptions, Error, FilterOptions, ReturnType<typeof sifaQueryKeys.search.filters>>, 'queryKey' | 'queryFn'>): _tanstack_react_query.UseQueryResult<NoInfer<FilterOptions>, Error>;
260
260
 
261
+ /** Debounce a rapidly-changing value (e.g. a typeahead input). */
262
+ declare function useDebouncedValue<T>(value: T, delayMs?: number): T;
263
+ interface UseEntitySearchOptions {
264
+ /** Max rows to request (default 5). */
265
+ limit?: number;
266
+ /** Debounce delay in ms (default 250). */
267
+ debounceMs?: number;
268
+ enabled?: boolean;
269
+ }
270
+ /**
271
+ * Debounced organization typeahead. The query is debounced internally, so
272
+ * consumers can pass the raw input value on every keystroke. Skips the network
273
+ * call while the (trimmed, debounced) query is empty.
274
+ */
275
+ declare function useEntitySearch(query: string, opts?: UseEntitySearchOptions, queryOptions?: Omit<UseQueryOptions<EntitySearchResponse, Error, EntitySearchResponse, ReturnType<typeof sifaQueryKeys.entity.search>>, 'queryKey' | 'queryFn' | 'enabled'>): _tanstack_react_query.UseQueryResult<NoInfer<{
276
+ results: ({
277
+ kind: string;
278
+ name: string;
279
+ domain: string | null;
280
+ country: string | null;
281
+ logoUrl: string | null;
282
+ parentName: string | null;
283
+ source: "entity";
284
+ entityId: number;
285
+ } | {
286
+ kind: string;
287
+ name: string;
288
+ domain: string | null;
289
+ country: string | null;
290
+ logoUrl: string | null;
291
+ parentName: string | null;
292
+ source: "pdl";
293
+ pdlId: string;
294
+ })[];
295
+ hasMore: boolean;
296
+ }>, Error>;
297
+ /** Mutation: record a selection (promote a PDL row or bump an entity). */
298
+ declare function useSelectEntity(options?: Omit<UseMutationOptions<EntitySelectResponse, Error, EntitySelectRequest>, 'mutationFn'>): _tanstack_react_query.UseMutationResult<{
299
+ entityId: number;
300
+ slug: string;
301
+ kind: string;
302
+ canonicalName: string;
303
+ domain: string | null;
304
+ entityRef: string | null;
305
+ }, Error, {
306
+ entityId?: number | undefined;
307
+ pdlId?: string | undefined;
308
+ }, unknown>;
309
+ /** Mutation: grow-on-demand Wikidata import for a typeahead miss. */
310
+ declare function useImportSearchEntities(options?: Omit<UseMutationOptions<EntitySearchResult[], Error, string>, 'mutationFn'>): _tanstack_react_query.UseMutationResult<({
311
+ kind: string;
312
+ name: string;
313
+ domain: string | null;
314
+ country: string | null;
315
+ logoUrl: string | null;
316
+ parentName: string | null;
317
+ source: "entity";
318
+ entityId: number;
319
+ } | {
320
+ kind: string;
321
+ name: string;
322
+ domain: string | null;
323
+ country: string | null;
324
+ logoUrl: string | null;
325
+ parentName: string | null;
326
+ source: "pdl";
327
+ pdlId: string;
328
+ })[], Error, string, unknown>;
329
+
261
330
  declare function useSimilarProfiles(did: string | undefined | null, opts?: {
262
331
  limit?: number;
263
332
  }, options?: Omit<UseQueryOptions<SimilarProfile[], Error, SimilarProfile[], ReturnType<typeof sifaQueryKeys.discovery.similar>>, 'queryKey' | 'queryFn'>): _tanstack_react_query.UseQueryResult<NoInfer<SimilarProfile[]>, Error>;
@@ -487,4 +556,4 @@ declare function useResetProfile(options?: Omit<UseMutationOptions<WriteResult,
487
556
  */
488
557
  declare function useDeleteAccount(options?: Omit<UseMutationOptions<DeleteAccountResult, Error, boolean>, 'mutationFn'>): _tanstack_react_query.UseMutationResult<DeleteAccountResult, Error, boolean, unknown>;
489
558
 
490
- export { type AddFeatureAllowlistVariables, type CreateReactionVariables, type CreateRecordVariables, type DeleteReactionVariables, type DeleteRecordVariables, type FollowVariables, type PositionSkillLinkVariables, type RemoveFeatureAllowlistVariables, SifaProvider, type SifaProviderProps, type UnfollowVariables, type UpdateEducationVariables, type UpdateExternalAccountVariables, type UpdatePositionVariables, type UpdateProfileLocationVariables, type UpdateRecordVariables, type UpdateSkillVariables, sifaQueryKeys, useActivityFeed, useActivityTeaser, useAddFeatureAllowlist, useAppAccountCheck, useAppsRegistry, useAtFundLink, useBlueskySuggestions, useBulkHideProfileItems, useBulkHideStandardPublications, useBulkUnhideProfileItems, useBulkUnhideStandardPublications, useCanonicalSkillSearch, useCastRoadmapVote, useCreateEducation, useCreateEndorsement, useCreateExternalAccount, useCreatePosition, useCreateProfileLocation, useCreateReaction, useCreateRecord, useCreateSkill, useDeleteAccount, useDeleteAvatarOverride, useDeleteEducation, useDeleteExternalAccount, useDeletePosition, useDeleteProfileLocation, useDeleteReaction, useDeleteRecord, useDeleteSkill, useEndorsementCount, useExternalAccounts, useFeatureAllowlist, useFeaturedProfile, useFollow, useFollowers, useFollowing, useFollowingFeed, useFollowingList, useHeatmapData, useHiddenApps, useHideKeytraceClaim, useHideOrcidPublication, useHideProfileItem, useHideSifaPublication, useHideStandardPublication, useLinkSkillToPosition, useMutuals, useMyRoadmapVotes, useNetworkStreamCount, useProfile, useReactionStatus, useRefreshOrcidPublications, useRefreshPds, useRemoveFeatureAllowlist, useResetProfile, useRetractRoadmapVote, useRevealMarqueDomain, useRoadmapVotes, useSearchFilters, useSearchProfiles, useSetExternalAccountPrimary, useSetPositionPrimary, useSifaConfig, useSimilarProfiles, useSkillSuggestions, useStats, useSuggestionCount, useSuggestions, useUnfollow, useUnhideKeytraceClaim, useUnhideOrcidPublication, useUnhideProfileItem, useUnhideSifaPublication, useUnhideStandardPublication, useUnlinkSkillFromPosition, useUnrevealMarqueDomain, useUnsetExternalAccountPrimary, useUnsetPositionPrimary, useUpdateEducation, useUpdateExternalAccount, useUpdatePosition, useUpdateProfileLocation, useUpdateProfileOverride, useUpdateProfileSelf, useUpdateRecord, useUpdateSkill, useUploadAvatar, useVerifyExternalAccount };
559
+ export { type AddFeatureAllowlistVariables, type CreateReactionVariables, type CreateRecordVariables, type DeleteReactionVariables, type DeleteRecordVariables, type FollowVariables, type PositionSkillLinkVariables, type RemoveFeatureAllowlistVariables, SifaProvider, type SifaProviderProps, type UnfollowVariables, type UpdateEducationVariables, type UpdateExternalAccountVariables, type UpdatePositionVariables, type UpdateProfileLocationVariables, type UpdateRecordVariables, type UpdateSkillVariables, type UseEntitySearchOptions, sifaQueryKeys, useActivityFeed, useActivityTeaser, useAddFeatureAllowlist, useAppAccountCheck, useAppsRegistry, useAtFundLink, useBlueskySuggestions, useBulkHideProfileItems, useBulkHideStandardPublications, useBulkUnhideProfileItems, useBulkUnhideStandardPublications, useCanonicalSkillSearch, useCastRoadmapVote, useCreateEducation, useCreateEndorsement, useCreateExternalAccount, useCreatePosition, useCreateProfileLocation, useCreateReaction, useCreateRecord, useCreateSkill, useDebouncedValue, useDeleteAccount, useDeleteAvatarOverride, useDeleteEducation, useDeleteExternalAccount, useDeletePosition, useDeleteProfileLocation, useDeleteReaction, useDeleteRecord, useDeleteSkill, useEndorsementCount, useEntitySearch, useExternalAccounts, useFeatureAllowlist, useFeaturedProfile, useFollow, useFollowers, useFollowing, useFollowingFeed, useFollowingList, useHeatmapData, useHiddenApps, useHideKeytraceClaim, useHideOrcidPublication, useHideProfileItem, useHideSifaPublication, useHideStandardPublication, useImportSearchEntities, useLinkSkillToPosition, useMutuals, useMyRoadmapVotes, useNetworkStreamCount, useProfile, useReactionStatus, useRefreshOrcidPublications, useRefreshPds, useRemoveFeatureAllowlist, useResetProfile, useRetractRoadmapVote, useRevealMarqueDomain, useRoadmapVotes, useSearchFilters, useSearchProfiles, useSelectEntity, useSetExternalAccountPrimary, useSetPositionPrimary, useSifaConfig, useSimilarProfiles, useSkillSuggestions, useStats, useSuggestionCount, useSuggestions, useUnfollow, useUnhideKeytraceClaim, useUnhideOrcidPublication, useUnhideProfileItem, useUnhideSifaPublication, useUnhideStandardPublication, useUnlinkSkillFromPosition, useUnrevealMarqueDomain, useUnsetExternalAccountPrimary, useUnsetPositionPrimary, useUpdateEducation, useUpdateExternalAccount, useUpdatePosition, useUpdateProfileLocation, useUpdateProfileOverride, useUpdateProfileSelf, useUpdateRecord, useUpdateSkill, useUploadAvatar, useVerifyExternalAccount };
@@ -1,11 +1,11 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode } from 'react';
3
- import { S as SifaApiConfig, s as sifaQueryKeys, W as WriteResult, a5 as RefreshPdsResult, aj as UpdateProfileOverrideInput, ak as UpdateProfileSelfInput, al as UploadAvatarResult, j as CreateResult, U as ProfileLocationInput, k as ExternalAccountInput, i as CreateExternalAccountResult, am as VerifyExternalAccountResult, E as EndorsementInput, a4 as RefreshOrcidPublicationsResult, B as BulkHideProfileItemInput, P as HideProfileItemInput, ag as StatsResponse, g as AppRegistryEntry, M as HiddenApp, w as FilterOptions, ab as SearchFilters, ac as SearchResponse, af as SkillSearchResult, l as FeaturedProfile, ae as SimilarProfile, v as FetchSuggestionsOptions, ai as SuggestionsResponse, G as FollowUserResult, o as FetchFollowListOptions, x as FollowListPage, H as FollowingResponse, q as FetchFollowingFeedOptions, p as FetchFollowProfilePageOptions, z as FollowProfilePageResponse, F as FeatureAllowlistResponse, m as FetchActivityFeedOptions, b as ActivityFeedResponse, e as ActivityTeaserResponse, L as HeatmapResponse, a as AccountCheckResult, a3 as ReactionStatus, a2 as ReactionResult, a1 as ReactionError, aa as RoadmapVotesResponse, C as CastRoadmapVoteResult, D as DeleteAccountResult } from '../../keys-DuICaiIq.js';
4
- export { ad as SifaQueryKey } from '../../keys-DuICaiIq.js';
3
+ import { S as SifaApiConfig, s as sifaQueryKeys, W as WriteResult, a5 as RefreshPdsResult, aj as UpdateProfileOverrideInput, ak as UpdateProfileSelfInput, al as UploadAvatarResult, j as CreateResult, U as ProfileLocationInput, k as ExternalAccountInput, i as CreateExternalAccountResult, am as VerifyExternalAccountResult, E as EndorsementInput, a4 as RefreshOrcidPublicationsResult, B as BulkHideProfileItemInput, P as HideProfileItemInput, ag as StatsResponse, g as AppRegistryEntry, M as HiddenApp, w as FilterOptions, ab as SearchFilters, ac as SearchResponse, af as SkillSearchResult, l as FeaturedProfile, ae as SimilarProfile, v as FetchSuggestionsOptions, ai as SuggestionsResponse, G as FollowUserResult, o as FetchFollowListOptions, x as FollowListPage, H as FollowingResponse, q as FetchFollowingFeedOptions, p as FetchFollowProfilePageOptions, z as FollowProfilePageResponse, F as FeatureAllowlistResponse, m as FetchActivityFeedOptions, b as ActivityFeedResponse, e as ActivityTeaserResponse, L as HeatmapResponse, a as AccountCheckResult, a3 as ReactionStatus, a2 as ReactionResult, a1 as ReactionError, aa as RoadmapVotesResponse, C as CastRoadmapVoteResult, D as DeleteAccountResult } from '../../keys-C0AracRc.js';
4
+ export { ad as SifaQueryKey } from '../../keys-C0AracRc.js';
5
5
  import * as _tanstack_react_query from '@tanstack/react-query';
6
6
  import { UseQueryOptions, UseMutationOptions, UseInfiniteQueryOptions, InfiniteData } from '@tanstack/react-query';
7
7
  import { d as Profile, t as ProfilePosition, z as SkillRef, E as ExternalAccount, S as SkillSuggestion } from '../../adult-content-BpZD_3ow.js';
8
- import { F as FollowFeedPage, c as FeatureFlag } from '../../feed-DHTy7fUN.js';
8
+ import { g as EntitySearchResponse, E as EntitySearchResult, l as EntitySelectResponse, j as EntitySelectRequest, F as FollowFeedPage, c as FeatureFlag } from '../../feed-BaHtJXYR.js';
9
9
  import 'zod';
10
10
 
11
11
  interface SifaProviderProps {
@@ -258,6 +258,75 @@ declare function useSkillSuggestions(query: string, options?: Omit<UseQueryOptio
258
258
  declare function useCanonicalSkillSearch(query: string, limit?: number, options?: Omit<UseQueryOptions<SkillSuggestion[], Error, SkillSuggestion[], ReturnType<typeof sifaQueryKeys.search.canonicalSkills>>, 'queryKey' | 'queryFn'>): _tanstack_react_query.UseQueryResult<NoInfer<SkillSuggestion[]>, Error>;
259
259
  declare function useSearchFilters(options?: Omit<UseQueryOptions<FilterOptions, Error, FilterOptions, ReturnType<typeof sifaQueryKeys.search.filters>>, 'queryKey' | 'queryFn'>): _tanstack_react_query.UseQueryResult<NoInfer<FilterOptions>, Error>;
260
260
 
261
+ /** Debounce a rapidly-changing value (e.g. a typeahead input). */
262
+ declare function useDebouncedValue<T>(value: T, delayMs?: number): T;
263
+ interface UseEntitySearchOptions {
264
+ /** Max rows to request (default 5). */
265
+ limit?: number;
266
+ /** Debounce delay in ms (default 250). */
267
+ debounceMs?: number;
268
+ enabled?: boolean;
269
+ }
270
+ /**
271
+ * Debounced organization typeahead. The query is debounced internally, so
272
+ * consumers can pass the raw input value on every keystroke. Skips the network
273
+ * call while the (trimmed, debounced) query is empty.
274
+ */
275
+ declare function useEntitySearch(query: string, opts?: UseEntitySearchOptions, queryOptions?: Omit<UseQueryOptions<EntitySearchResponse, Error, EntitySearchResponse, ReturnType<typeof sifaQueryKeys.entity.search>>, 'queryKey' | 'queryFn' | 'enabled'>): _tanstack_react_query.UseQueryResult<NoInfer<{
276
+ results: ({
277
+ kind: string;
278
+ name: string;
279
+ domain: string | null;
280
+ country: string | null;
281
+ logoUrl: string | null;
282
+ parentName: string | null;
283
+ source: "entity";
284
+ entityId: number;
285
+ } | {
286
+ kind: string;
287
+ name: string;
288
+ domain: string | null;
289
+ country: string | null;
290
+ logoUrl: string | null;
291
+ parentName: string | null;
292
+ source: "pdl";
293
+ pdlId: string;
294
+ })[];
295
+ hasMore: boolean;
296
+ }>, Error>;
297
+ /** Mutation: record a selection (promote a PDL row or bump an entity). */
298
+ declare function useSelectEntity(options?: Omit<UseMutationOptions<EntitySelectResponse, Error, EntitySelectRequest>, 'mutationFn'>): _tanstack_react_query.UseMutationResult<{
299
+ entityId: number;
300
+ slug: string;
301
+ kind: string;
302
+ canonicalName: string;
303
+ domain: string | null;
304
+ entityRef: string | null;
305
+ }, Error, {
306
+ entityId?: number | undefined;
307
+ pdlId?: string | undefined;
308
+ }, unknown>;
309
+ /** Mutation: grow-on-demand Wikidata import for a typeahead miss. */
310
+ declare function useImportSearchEntities(options?: Omit<UseMutationOptions<EntitySearchResult[], Error, string>, 'mutationFn'>): _tanstack_react_query.UseMutationResult<({
311
+ kind: string;
312
+ name: string;
313
+ domain: string | null;
314
+ country: string | null;
315
+ logoUrl: string | null;
316
+ parentName: string | null;
317
+ source: "entity";
318
+ entityId: number;
319
+ } | {
320
+ kind: string;
321
+ name: string;
322
+ domain: string | null;
323
+ country: string | null;
324
+ logoUrl: string | null;
325
+ parentName: string | null;
326
+ source: "pdl";
327
+ pdlId: string;
328
+ })[], Error, string, unknown>;
329
+
261
330
  declare function useSimilarProfiles(did: string | undefined | null, opts?: {
262
331
  limit?: number;
263
332
  }, options?: Omit<UseQueryOptions<SimilarProfile[], Error, SimilarProfile[], ReturnType<typeof sifaQueryKeys.discovery.similar>>, 'queryKey' | 'queryFn'>): _tanstack_react_query.UseQueryResult<NoInfer<SimilarProfile[]>, Error>;
@@ -487,4 +556,4 @@ declare function useResetProfile(options?: Omit<UseMutationOptions<WriteResult,
487
556
  */
488
557
  declare function useDeleteAccount(options?: Omit<UseMutationOptions<DeleteAccountResult, Error, boolean>, 'mutationFn'>): _tanstack_react_query.UseMutationResult<DeleteAccountResult, Error, boolean, unknown>;
489
558
 
490
- export { type AddFeatureAllowlistVariables, type CreateReactionVariables, type CreateRecordVariables, type DeleteReactionVariables, type DeleteRecordVariables, type FollowVariables, type PositionSkillLinkVariables, type RemoveFeatureAllowlistVariables, SifaProvider, type SifaProviderProps, type UnfollowVariables, type UpdateEducationVariables, type UpdateExternalAccountVariables, type UpdatePositionVariables, type UpdateProfileLocationVariables, type UpdateRecordVariables, type UpdateSkillVariables, sifaQueryKeys, useActivityFeed, useActivityTeaser, useAddFeatureAllowlist, useAppAccountCheck, useAppsRegistry, useAtFundLink, useBlueskySuggestions, useBulkHideProfileItems, useBulkHideStandardPublications, useBulkUnhideProfileItems, useBulkUnhideStandardPublications, useCanonicalSkillSearch, useCastRoadmapVote, useCreateEducation, useCreateEndorsement, useCreateExternalAccount, useCreatePosition, useCreateProfileLocation, useCreateReaction, useCreateRecord, useCreateSkill, useDeleteAccount, useDeleteAvatarOverride, useDeleteEducation, useDeleteExternalAccount, useDeletePosition, useDeleteProfileLocation, useDeleteReaction, useDeleteRecord, useDeleteSkill, useEndorsementCount, useExternalAccounts, useFeatureAllowlist, useFeaturedProfile, useFollow, useFollowers, useFollowing, useFollowingFeed, useFollowingList, useHeatmapData, useHiddenApps, useHideKeytraceClaim, useHideOrcidPublication, useHideProfileItem, useHideSifaPublication, useHideStandardPublication, useLinkSkillToPosition, useMutuals, useMyRoadmapVotes, useNetworkStreamCount, useProfile, useReactionStatus, useRefreshOrcidPublications, useRefreshPds, useRemoveFeatureAllowlist, useResetProfile, useRetractRoadmapVote, useRevealMarqueDomain, useRoadmapVotes, useSearchFilters, useSearchProfiles, useSetExternalAccountPrimary, useSetPositionPrimary, useSifaConfig, useSimilarProfiles, useSkillSuggestions, useStats, useSuggestionCount, useSuggestions, useUnfollow, useUnhideKeytraceClaim, useUnhideOrcidPublication, useUnhideProfileItem, useUnhideSifaPublication, useUnhideStandardPublication, useUnlinkSkillFromPosition, useUnrevealMarqueDomain, useUnsetExternalAccountPrimary, useUnsetPositionPrimary, useUpdateEducation, useUpdateExternalAccount, useUpdatePosition, useUpdateProfileLocation, useUpdateProfileOverride, useUpdateProfileSelf, useUpdateRecord, useUpdateSkill, useUploadAvatar, useVerifyExternalAccount };
559
+ export { type AddFeatureAllowlistVariables, type CreateReactionVariables, type CreateRecordVariables, type DeleteReactionVariables, type DeleteRecordVariables, type FollowVariables, type PositionSkillLinkVariables, type RemoveFeatureAllowlistVariables, SifaProvider, type SifaProviderProps, type UnfollowVariables, type UpdateEducationVariables, type UpdateExternalAccountVariables, type UpdatePositionVariables, type UpdateProfileLocationVariables, type UpdateRecordVariables, type UpdateSkillVariables, type UseEntitySearchOptions, sifaQueryKeys, useActivityFeed, useActivityTeaser, useAddFeatureAllowlist, useAppAccountCheck, useAppsRegistry, useAtFundLink, useBlueskySuggestions, useBulkHideProfileItems, useBulkHideStandardPublications, useBulkUnhideProfileItems, useBulkUnhideStandardPublications, useCanonicalSkillSearch, useCastRoadmapVote, useCreateEducation, useCreateEndorsement, useCreateExternalAccount, useCreatePosition, useCreateProfileLocation, useCreateReaction, useCreateRecord, useCreateSkill, useDebouncedValue, useDeleteAccount, useDeleteAvatarOverride, useDeleteEducation, useDeleteExternalAccount, useDeletePosition, useDeleteProfileLocation, useDeleteReaction, useDeleteRecord, useDeleteSkill, useEndorsementCount, useEntitySearch, useExternalAccounts, useFeatureAllowlist, useFeaturedProfile, useFollow, useFollowers, useFollowing, useFollowingFeed, useFollowingList, useHeatmapData, useHiddenApps, useHideKeytraceClaim, useHideOrcidPublication, useHideProfileItem, useHideSifaPublication, useHideStandardPublication, useImportSearchEntities, useLinkSkillToPosition, useMutuals, useMyRoadmapVotes, useNetworkStreamCount, useProfile, useReactionStatus, useRefreshOrcidPublications, useRefreshPds, useRemoveFeatureAllowlist, useResetProfile, useRetractRoadmapVote, useRevealMarqueDomain, useRoadmapVotes, useSearchFilters, useSearchProfiles, useSelectEntity, useSetExternalAccountPrimary, useSetPositionPrimary, useSifaConfig, useSimilarProfiles, useSkillSuggestions, useStats, useSuggestionCount, useSuggestions, useUnfollow, useUnhideKeytraceClaim, useUnhideOrcidPublication, useUnhideProfileItem, useUnhideSifaPublication, useUnhideStandardPublication, useUnlinkSkillFromPosition, useUnrevealMarqueDomain, useUnsetExternalAccountPrimary, useUnsetPositionPrimary, useUpdateEducation, useUpdateExternalAccount, useUpdatePosition, useUpdateProfileLocation, useUpdateProfileOverride, useUpdateProfileSelf, useUpdateRecord, useUpdateSkill, useUploadAvatar, useVerifyExternalAccount };
@@ -1,6 +1,7 @@
1
- import { createContext, useContext } from 'react';
1
+ import { createContext, useContext, useState, useEffect } from 'react';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { useQuery, useQueryClient, useMutation, useInfiniteQuery } from '@tanstack/react-query';
4
+ import { z } from 'zod';
4
5
 
5
6
  // src/query/config.tsx
6
7
  var SifaConfigContext = createContext(null);
@@ -167,6 +168,10 @@ var sifaQueryKeys = {
167
168
  canonicalSkills: (query, limit) => ["sifa", "search", "canonical-skills", query, limit],
168
169
  filters: () => ["sifa", "search", "filters"]
169
170
  },
171
+ entity: {
172
+ all: () => ["sifa", "entity"],
173
+ search: (query, limit) => ["sifa", "entity", "search", query, limit]
174
+ },
170
175
  discovery: {
171
176
  all: () => ["sifa", "discovery"],
172
177
  similar: (did, limit) => ["sifa", "discovery", "similar", did, limit],
@@ -2270,7 +2275,116 @@ function useDeleteAccount(options) {
2270
2275
  ...options
2271
2276
  });
2272
2277
  }
2278
+ var httpUrlNullable = z.string().refine((s) => /^https?:\/\//i.test(s), { message: "must be an http(s) URL" }).nullable();
2279
+ var searchResultCommon = {
2280
+ kind: z.string(),
2281
+ name: z.string(),
2282
+ domain: z.string().nullable(),
2283
+ country: z.string().nullable(),
2284
+ logoUrl: httpUrlNullable,
2285
+ parentName: z.string().nullable()
2286
+ };
2287
+ var EntitySearchResultSchema = z.discriminatedUnion("source", [
2288
+ z.object({
2289
+ source: z.literal("entity"),
2290
+ entityId: z.number().int().positive(),
2291
+ ...searchResultCommon
2292
+ }),
2293
+ z.object({
2294
+ source: z.literal("pdl"),
2295
+ pdlId: z.string().min(1),
2296
+ ...searchResultCommon
2297
+ })
2298
+ ]);
2299
+ var EntitySearchResponseSchema = z.object({
2300
+ results: z.array(EntitySearchResultSchema),
2301
+ hasMore: z.boolean()
2302
+ });
2303
+ z.object({
2304
+ entityId: z.number().int().positive().optional(),
2305
+ pdlId: z.string().min(1).optional()
2306
+ }).refine((v) => v.entityId != null !== (v.pdlId != null), {
2307
+ message: "exactly one of entityId or pdlId is required"
2308
+ });
2309
+ var EntitySelectResponseSchema = z.object({
2310
+ entityId: z.number().int().positive(),
2311
+ slug: z.string(),
2312
+ kind: z.string(),
2313
+ canonicalName: z.string(),
2314
+ domain: z.string().nullable(),
2315
+ entityRef: httpUrlNullable
2316
+ });
2317
+ var EntityImportSearchResponseSchema = z.object({
2318
+ results: z.array(EntitySearchResultSchema)
2319
+ });
2320
+
2321
+ // src/query/fetchers/entities.ts
2322
+ var EMPTY_SEARCH2 = { results: [], hasMore: false };
2323
+ async function fetchEntitySearch(config, query, limit, options = {}) {
2324
+ if (!query.trim()) return EMPTY_SEARCH2;
2325
+ const params = new URLSearchParams({ q: query });
2326
+ if (limit !== void 0) params.set("limit", String(limit));
2327
+ const data = await apiFetch(config, `/api/entities/search?${params.toString()}`, {
2328
+ cache: "no-store",
2329
+ ...options
2330
+ });
2331
+ return EntitySearchResponseSchema.parse(data);
2332
+ }
2333
+ async function selectEntity(config, body, options = {}) {
2334
+ const data = await apiFetch(config, "/api/entities/select", {
2335
+ method: "POST",
2336
+ body,
2337
+ credentials: "include",
2338
+ ...options
2339
+ });
2340
+ return EntitySelectResponseSchema.parse(data);
2341
+ }
2342
+ async function importSearchEntities(config, query, options = {}) {
2343
+ if (!query.trim()) return [];
2344
+ const data = await apiFetch(config, "/api/entities/import-search", {
2345
+ method: "POST",
2346
+ body: { q: query },
2347
+ credentials: "include",
2348
+ ...options
2349
+ });
2350
+ return EntityImportSearchResponseSchema.parse(data).results;
2351
+ }
2352
+
2353
+ // src/query/hooks/use-entity-search.ts
2354
+ function useDebouncedValue(value, delayMs = 250) {
2355
+ const [debounced, setDebounced] = useState(value);
2356
+ useEffect(() => {
2357
+ const timer = setTimeout(() => setDebounced(value), delayMs);
2358
+ return () => clearTimeout(timer);
2359
+ }, [value, delayMs]);
2360
+ return debounced;
2361
+ }
2362
+ function useEntitySearch(query, opts = {}, queryOptions) {
2363
+ const config = useSifaConfig();
2364
+ const { limit = 5, debounceMs = 250, enabled = true } = opts;
2365
+ const debounced = useDebouncedValue(query.trim(), debounceMs);
2366
+ return useQuery({
2367
+ queryKey: sifaQueryKeys.entity.search(debounced, limit),
2368
+ queryFn: () => fetchEntitySearch(config, debounced, limit),
2369
+ enabled: enabled && debounced.length > 0,
2370
+ ...queryOptions
2371
+ });
2372
+ }
2373
+ function useSelectEntity(options) {
2374
+ const config = useSifaConfig();
2375
+ return useMutation({
2376
+ mutationFn: (body) => selectEntity(config, body),
2377
+ ...options
2378
+ });
2379
+ }
2380
+ function useImportSearchEntities(options) {
2381
+ const config = useSifaConfig();
2382
+ return useMutation({
2383
+ mutationFn: (query) => importSearchEntities(config, query),
2384
+ ...options
2385
+ });
2386
+ }
2273
2387
 
2274
- export { SifaProvider, sifaQueryKeys, useActivityFeed, useActivityTeaser, useAddFeatureAllowlist, useAppAccountCheck, useAppsRegistry, useAtFundLink, useBlueskySuggestions, useBulkHideProfileItems, useBulkHideStandardPublications, useBulkUnhideProfileItems, useBulkUnhideStandardPublications, useCanonicalSkillSearch, useCastRoadmapVote, useCreateEducation, useCreateEndorsement, useCreateExternalAccount, useCreatePosition, useCreateProfileLocation, useCreateReaction, useCreateRecord, useCreateSkill, useDeleteAccount, useDeleteAvatarOverride, useDeleteEducation, useDeleteExternalAccount, useDeletePosition, useDeleteProfileLocation, useDeleteReaction, useDeleteRecord, useDeleteSkill, useEndorsementCount, useExternalAccounts, useFeatureAllowlist, useFeaturedProfile, useFollow, useFollowers, useFollowing, useFollowingFeed, useFollowingList, useHeatmapData, useHiddenApps, useHideKeytraceClaim, useHideOrcidPublication, useHideProfileItem, useHideSifaPublication, useHideStandardPublication, useLinkSkillToPosition, useMutuals, useMyRoadmapVotes, useNetworkStreamCount, useProfile, useReactionStatus, useRefreshOrcidPublications, useRefreshPds, useRemoveFeatureAllowlist, useResetProfile, useRetractRoadmapVote, useRevealMarqueDomain, useRoadmapVotes, useSearchFilters, useSearchProfiles, useSetExternalAccountPrimary, useSetPositionPrimary, useSifaConfig, useSimilarProfiles, useSkillSuggestions, useStats, useSuggestionCount, useSuggestions, useUnfollow, useUnhideKeytraceClaim, useUnhideOrcidPublication, useUnhideProfileItem, useUnhideSifaPublication, useUnhideStandardPublication, useUnlinkSkillFromPosition, useUnrevealMarqueDomain, useUnsetExternalAccountPrimary, useUnsetPositionPrimary, useUpdateEducation, useUpdateExternalAccount, useUpdatePosition, useUpdateProfileLocation, useUpdateProfileOverride, useUpdateProfileSelf, useUpdateRecord, useUpdateSkill, useUploadAvatar, useVerifyExternalAccount };
2388
+ export { SifaProvider, sifaQueryKeys, useActivityFeed, useActivityTeaser, useAddFeatureAllowlist, useAppAccountCheck, useAppsRegistry, useAtFundLink, useBlueskySuggestions, useBulkHideProfileItems, useBulkHideStandardPublications, useBulkUnhideProfileItems, useBulkUnhideStandardPublications, useCanonicalSkillSearch, useCastRoadmapVote, useCreateEducation, useCreateEndorsement, useCreateExternalAccount, useCreatePosition, useCreateProfileLocation, useCreateReaction, useCreateRecord, useCreateSkill, useDebouncedValue, useDeleteAccount, useDeleteAvatarOverride, useDeleteEducation, useDeleteExternalAccount, useDeletePosition, useDeleteProfileLocation, useDeleteReaction, useDeleteRecord, useDeleteSkill, useEndorsementCount, useEntitySearch, useExternalAccounts, useFeatureAllowlist, useFeaturedProfile, useFollow, useFollowers, useFollowing, useFollowingFeed, useFollowingList, useHeatmapData, useHiddenApps, useHideKeytraceClaim, useHideOrcidPublication, useHideProfileItem, useHideSifaPublication, useHideStandardPublication, useImportSearchEntities, useLinkSkillToPosition, useMutuals, useMyRoadmapVotes, useNetworkStreamCount, useProfile, useReactionStatus, useRefreshOrcidPublications, useRefreshPds, useRemoveFeatureAllowlist, useResetProfile, useRetractRoadmapVote, useRevealMarqueDomain, useRoadmapVotes, useSearchFilters, useSearchProfiles, useSelectEntity, useSetExternalAccountPrimary, useSetPositionPrimary, useSifaConfig, useSimilarProfiles, useSkillSuggestions, useStats, useSuggestionCount, useSuggestions, useUnfollow, useUnhideKeytraceClaim, useUnhideOrcidPublication, useUnhideProfileItem, useUnhideSifaPublication, useUnhideStandardPublication, useUnlinkSkillFromPosition, useUnrevealMarqueDomain, useUnsetExternalAccountPrimary, useUnsetPositionPrimary, useUpdateEducation, useUpdateExternalAccount, useUpdatePosition, useUpdateProfileLocation, useUpdateProfileOverride, useUpdateProfileSelf, useUpdateRecord, useUpdateSkill, useUploadAvatar, useVerifyExternalAccount };
2275
2389
  //# sourceMappingURL=index.js.map
2276
2390
  //# sourceMappingURL=index.js.map