@stream-io/feeds-client 0.1.1 → 0.1.3

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 (44) hide show
  1. package/@react-bindings/index.ts +13 -1
  2. package/CHANGELOG.md +31 -0
  3. package/dist/@react-bindings/contexts/StreamFeedsContext.d.ts +15 -0
  4. package/dist/@react-bindings/hooks/clientStateHooks.d.ts +10 -0
  5. package/dist/@react-bindings/hooks/useCreateFeedsClient.d.ts +13 -0
  6. package/dist/@react-bindings/hooks/useStateStore.d.ts +1 -1
  7. package/dist/@react-bindings/index.d.ts +4 -0
  8. package/dist/@react-bindings/wrappers/StreamFeeds.d.ts +6 -0
  9. package/dist/index-react-bindings.browser.cjs +5411 -12
  10. package/dist/index-react-bindings.browser.cjs.map +1 -1
  11. package/dist/index-react-bindings.browser.js +5407 -14
  12. package/dist/index-react-bindings.browser.js.map +1 -1
  13. package/dist/index-react-bindings.node.cjs +5411 -12
  14. package/dist/index-react-bindings.node.cjs.map +1 -1
  15. package/dist/index-react-bindings.node.js +5407 -14
  16. package/dist/index-react-bindings.node.js.map +1 -1
  17. package/dist/index.browser.cjs +125 -36
  18. package/dist/index.browser.cjs.map +1 -1
  19. package/dist/index.browser.js +125 -36
  20. package/dist/index.browser.js.map +1 -1
  21. package/dist/index.node.cjs +125 -36
  22. package/dist/index.node.cjs.map +1 -1
  23. package/dist/index.node.js +125 -36
  24. package/dist/index.node.js.map +1 -1
  25. package/dist/src/Feed.d.ts +4 -2
  26. package/dist/src/FeedsClient.d.ts +9 -5
  27. package/dist/src/common/ApiClient.d.ts +1 -0
  28. package/dist/src/common/StateStore.d.ts +1 -0
  29. package/dist/src/common/real-time/StableWSConnection.d.ts +3 -3
  30. package/dist/src/gen/feeds/FeedsApi.d.ts +7 -1
  31. package/dist/src/gen/models/index.d.ts +41 -0
  32. package/dist/src/types.d.ts +2 -0
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +2 -6
  35. package/src/Feed.ts +33 -15
  36. package/src/FeedsClient.ts +37 -17
  37. package/src/common/ApiClient.ts +10 -3
  38. package/src/common/StateStore.ts +30 -12
  39. package/src/common/utils.ts +1 -1
  40. package/src/gen/feeds/FeedsApi.ts +51 -0
  41. package/src/gen/model-decoders/decoders.ts +29 -0
  42. package/src/gen/model-decoders/event-decoder-mapping.ts +6 -0
  43. package/src/gen/models/index.ts +60 -0
  44. package/src/types.ts +4 -0
@@ -60,6 +60,7 @@ export type FeedState = Omit<Partial<GetOrCreateFeedResponse & FeedResponse>, 'f
60
60
  following_pagination?: LoadingStates & {
61
61
  sort?: string;
62
62
  };
63
+ last_get_or_create_request_config?: GetOrCreateFeedRequest;
63
64
  };
64
65
  export declare class Feed extends FeedApi {
65
66
  readonly state: StateStore<FeedState>;
@@ -71,6 +72,7 @@ export declare class Feed extends FeedApi {
71
72
  get fid(): string;
72
73
  get currentState(): FeedState;
73
74
  private handleCommentReactionEvent;
75
+ synchronize(): Promise<void>;
74
76
  getOrCreate(request?: GetOrCreateFeedRequest): Promise<StreamResponse<GetOrCreateFeedResponse>>;
75
77
  private handleBookmarkAdded;
76
78
  private handleBookmarkDeleted;
@@ -103,7 +105,7 @@ export declare class Feed extends FeedApi {
103
105
  unfollow(feedOrFid: Feed | string): Promise<StreamResponse<import("./gen/models").UnfollowResponse>>;
104
106
  getNextPage(): Promise<StreamResponse<GetOrCreateFeedResponse>>;
105
107
  addActivity(request: Omit<ActivityRequest, 'fids'>): Promise<StreamResponse<import("./gen/models").AddActivityResponse>>;
106
- on: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated", handler: (event: WSEvent) => void) => () => void;
107
- off: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated", handler: (event: WSEvent) => void) => void;
108
+ on: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated", handler: (event: WSEvent) => void) => () => void;
109
+ off: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated", handler: (event: WSEvent) => void) => void;
108
110
  handleWSEvent(event: WSEvent): void;
109
111
  }
@@ -1,6 +1,6 @@
1
1
  import { FeedsApi } from './gen/feeds/FeedsApi';
2
2
  import { ActivityResponse, FileUploadRequest, ImageUploadRequest, OwnUser, PollResponse, PollVotesResponse, QueryFeedsRequest, QueryPollVotesRequest, UserRequest } from './gen/models';
3
- import { FeedsEvent } from './types';
3
+ import { FeedsEvent, TokenOrProvider } from './types';
4
4
  import { StateStore } from './common/StateStore';
5
5
  import { Feed } from './Feed';
6
6
  import { FeedsClientOptions, StreamResponse } from './common/types';
@@ -8,6 +8,7 @@ import { ModerationClient } from './ModerationClient';
8
8
  import { StreamPoll } from './common/Poll';
9
9
  export type FeedsClientState = {
10
10
  connectedUser: OwnUser | undefined;
11
+ isWsConnectionHealthy: boolean;
11
12
  };
12
13
  export declare class FeedsClient extends FeedsApi {
13
14
  readonly state: StateStore<FeedsClientState>;
@@ -18,10 +19,11 @@ export declare class FeedsClient extends FeedsApi {
18
19
  private readonly eventDispatcher;
19
20
  private readonly polls_by_id;
20
21
  private activeFeeds;
22
+ private healthyConnectionChangedEventCount;
21
23
  constructor(apiKey: string, options?: FeedsClientOptions);
22
24
  pollFromState: (id: string) => StreamPoll | undefined;
23
25
  hydratePollCache(activities: ActivityResponse[]): void;
24
- connectUser: (user: UserRequest, tokenProvider: string | (() => Promise<string>)) => Promise<void>;
26
+ connectUser: (user: UserRequest, tokenProvider: TokenOrProvider) => Promise<void>;
25
27
  closePoll: (request: {
26
28
  poll_id: string;
27
29
  }) => Promise<StreamResponse<PollResponse>>;
@@ -43,10 +45,10 @@ export declare class FeedsClient extends FeedsApi {
43
45
  user_id?: string;
44
46
  }) => Promise<StreamResponse<PollVotesResponse>>;
45
47
  disconnectUser: () => Promise<void>;
46
- on: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed", handler: (event: FeedsEvent & {
48
+ on: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed", handler: (event: FeedsEvent & {
47
49
  fid?: string;
48
50
  }) => void) => () => void;
49
- off: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed", handler: (event: FeedsEvent & {
51
+ off: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed", handler: (event: FeedsEvent & {
50
52
  fid?: string;
51
53
  }) => void) => void;
52
54
  feed: (groupId: string, id: string) => Feed;
@@ -57,7 +59,9 @@ export declare class FeedsClient extends FeedsApi {
57
59
  metadata: import("./common/types").RequestMetadata;
58
60
  duration: string;
59
61
  }>;
62
+ updateNetworkConnectionStatus: (event: {
63
+ type: "online" | "offline";
64
+ } | Event) => void;
60
65
  private readonly getOrCreateActiveFeed;
61
- private readonly updateNetworkConnectionStatus;
62
66
  private findActiveFeedByActivityId;
63
67
  }
@@ -7,6 +7,7 @@ export declare class ApiClient {
7
7
  private readonly connectionIdManager;
8
8
  readonly baseUrl: string;
9
9
  private readonly axiosInstance;
10
+ private timeout;
10
11
  constructor(apiKey: string, tokenManager: TokenManager, connectionIdManager: ConnectionIdManager, options?: FeedsClientOptions);
11
12
  sendRequest: <T>(method: string, url: string, pathParams?: Record<string, string>, queryParams?: Record<string, any>, body?: any, requestContentType?: string) => Promise<{
12
13
  body: T;
@@ -20,6 +20,7 @@ export declare class StateStore<T extends Record<string, unknown>> {
20
20
  partialNext: (partial: Partial<T>) => void;
21
21
  getLatestValue(): T;
22
22
  subscribe(handler: Handler<T>): Unsubscribe;
23
+ static doSelectionsEqual<O extends Readonly<Record<string, unknown>> | readonly unknown[]>(previouslySelectedValues: O | undefined, newlySelectedValues: O): boolean;
23
24
  subscribeWithSelector: <O extends Readonly<Record<string, unknown>> | readonly unknown[]>(selector: (nextValue: T) => O, handler: Handler<O>) => Unsubscribe;
24
25
  /**
25
26
  * Registers a preprocessor function that will be called before the state is updated.
@@ -57,9 +57,9 @@ export declare class StableWSConnection {
57
57
  private readonly clientId;
58
58
  constructor(config: WSConfig, tokenManager: TokenManager, connectionIdManager: ConnectionIdManager, decoders?: Array<(event: any) => any>);
59
59
  _log: (msg: string, extra?: any, level?: LogLevel) => void;
60
- on: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed", handler: (event: import("../../types").FeedsEvent) => void) => () => void;
61
- off: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed", handler: (event: import("../../types").FeedsEvent) => void) => void;
62
- offAll: (eventName?: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed" | undefined) => void;
60
+ on: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed", handler: (event: import("../../types").FeedsEvent) => void) => () => void;
61
+ off: (eventName: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed", handler: (event: import("../../types").FeedsEvent) => void) => void;
62
+ offAll: (eventName?: "all" | "app.updated" | "feeds.activity.added" | "feeds.activity.deleted" | "feeds.activity.marked" | "feeds.activity.pinned" | "feeds.activity.reaction.added" | "feeds.activity.reaction.deleted" | "feeds.activity.reaction.updated" | "feeds.activity.removed_from_feed" | "feeds.activity.unpinned" | "feeds.activity.updated" | "feeds.bookmark.added" | "feeds.bookmark.deleted" | "feeds.bookmark.updated" | "feeds.bookmark_folder.deleted" | "feeds.bookmark_folder.updated" | "feeds.comment.added" | "feeds.comment.deleted" | "feeds.comment.reaction.added" | "feeds.comment.reaction.deleted" | "feeds.comment.reaction.updated" | "feeds.comment.updated" | "feeds.feed.created" | "feeds.feed.deleted" | "feeds.feed.updated" | "feeds.feed_group.changed" | "feeds.feed_group.deleted" | "feeds.feed_member.added" | "feeds.feed_member.removed" | "feeds.feed_member.updated" | "feeds.follow.created" | "feeds.follow.deleted" | "feeds.follow.updated" | "feeds.poll.closed" | "feeds.poll.deleted" | "feeds.poll.updated" | "feeds.poll.vote_casted" | "feeds.poll.vote_changed" | "feeds.poll.vote_removed" | "health.check" | "user.updated" | "moderation.custom_action" | "moderation.flagged" | "moderation.mark_reviewed" | "user.banned" | "user.deactivated" | "user.muted" | "user.reactivated" | "connection.changed" | "network.changed" | undefined) => void;
63
63
  /**
64
64
  * connect - Connect to the WS URL
65
65
  * the default 15s timeout allows between 2~3 tries
@@ -1,5 +1,5 @@
1
1
  import { ApiClient, StreamResponse } from '../../gen-imports';
2
- import { AcceptFeedMemberInviteRequest, AcceptFeedMemberInviteResponse, AcceptFollowRequest, AcceptFollowResponse, AddActivityRequest, AddActivityResponse, AddBookmarkRequest, AddBookmarkResponse, AddCommentReactionRequest, AddCommentReactionResponse, AddCommentRequest, AddCommentResponse, AddCommentsBatchRequest, AddCommentsBatchResponse, AddReactionRequest, AddReactionResponse, BlockUsersRequest, BlockUsersResponse, CastPollVoteRequest, CreateBlockListRequest, CreateBlockListResponse, CreateDeviceRequest, CreateFeedsBatchRequest, CreateFeedsBatchResponse, CreateGuestRequest, CreateGuestResponse, CreatePollOptionRequest, CreatePollRequest, DeleteActivitiesRequest, DeleteActivitiesResponse, DeleteActivityReactionResponse, DeleteActivityResponse, DeleteBookmarkResponse, DeleteCommentReactionResponse, DeleteCommentResponse, DeleteFeedResponse, FileUploadRequest, FileUploadResponse, FollowBatchRequest, FollowBatchResponse, GetActivityResponse, GetApplicationResponse, GetBlockedUsersResponse, GetCommentRepliesResponse, GetCommentResponse, GetCommentsResponse, GetFollowSuggestionsResponse, GetOGResponse, GetOrCreateFeedRequest, GetOrCreateFeedResponse, ImageUploadRequest, ImageUploadResponse, ListBlockListResponse, ListDevicesResponse, MarkActivityRequest, PinActivityRequest, PinActivityResponse, PollOptionResponse, PollResponse, PollVoteResponse, PollVotesResponse, QueryActivitiesRequest, QueryActivitiesResponse, QueryActivityReactionsRequest, QueryActivityReactionsResponse, QueryBookmarkFoldersRequest, QueryBookmarkFoldersResponse, QueryBookmarksRequest, QueryBookmarksResponse, QueryCommentReactionsRequest, QueryCommentReactionsResponse, QueryCommentsRequest, QueryCommentsResponse, QueryFeedMembersRequest, QueryFeedMembersResponse, QueryFeedsRequest, QueryFeedsResponse, QueryFollowsRequest, QueryFollowsResponse, QueryPollVotesRequest, QueryPollsRequest, QueryPollsResponse, QueryUsersPayload, QueryUsersResponse, RejectFeedMemberInviteRequest, RejectFeedMemberInviteResponse, RejectFollowRequest, RejectFollowResponse, Response, SharedLocationResponse, SharedLocationsResponse, SingleFollowRequest, SingleFollowResponse, UnblockUsersRequest, UnblockUsersResponse, UnfollowResponse, UnpinActivityResponse, UpdateActivityPartialRequest, UpdateActivityPartialResponse, UpdateActivityRequest, UpdateActivityResponse, UpdateBlockListRequest, UpdateBlockListResponse, UpdateBookmarkRequest, UpdateBookmarkResponse, UpdateCommentRequest, UpdateCommentResponse, UpdateFeedMembersRequest, UpdateFeedMembersResponse, UpdateFeedRequest, UpdateFeedResponse, UpdateFollowRequest, UpdateFollowResponse, UpdateLiveLocationRequest, UpdatePollOptionRequest, UpdatePollPartialRequest, UpdatePollRequest, UpdateUsersPartialRequest, UpdateUsersRequest, UpdateUsersResponse, UpsertActivitiesRequest, UpsertActivitiesResponse, WSAuthMessage } from '../models';
2
+ import { AcceptFeedMemberInviteRequest, AcceptFeedMemberInviteResponse, AcceptFollowRequest, AcceptFollowResponse, AddActivityRequest, AddActivityResponse, AddBookmarkRequest, AddBookmarkResponse, AddCommentReactionRequest, AddCommentReactionResponse, AddCommentRequest, AddCommentResponse, AddCommentsBatchRequest, AddCommentsBatchResponse, AddReactionRequest, AddReactionResponse, BlockUsersRequest, BlockUsersResponse, CastPollVoteRequest, CreateBlockListRequest, CreateBlockListResponse, CreateDeviceRequest, CreateFeedsBatchRequest, CreateFeedsBatchResponse, CreateGuestRequest, CreateGuestResponse, CreatePollOptionRequest, CreatePollRequest, DeleteActivitiesRequest, DeleteActivitiesResponse, DeleteActivityReactionResponse, DeleteActivityResponse, DeleteBookmarkFolderResponse, DeleteBookmarkResponse, DeleteCommentReactionResponse, DeleteCommentResponse, DeleteFeedResponse, FileUploadRequest, FileUploadResponse, FollowBatchRequest, FollowBatchResponse, GetActivityResponse, GetApplicationResponse, GetBlockedUsersResponse, GetCommentRepliesResponse, GetCommentResponse, GetCommentsResponse, GetFollowSuggestionsResponse, GetOGResponse, GetOrCreateFeedRequest, GetOrCreateFeedResponse, ImageUploadRequest, ImageUploadResponse, ListBlockListResponse, ListDevicesResponse, MarkActivityRequest, PinActivityRequest, PinActivityResponse, PollOptionResponse, PollResponse, PollVoteResponse, PollVotesResponse, QueryActivitiesRequest, QueryActivitiesResponse, QueryActivityReactionsRequest, QueryActivityReactionsResponse, QueryBookmarkFoldersRequest, QueryBookmarkFoldersResponse, QueryBookmarksRequest, QueryBookmarksResponse, QueryCommentReactionsRequest, QueryCommentReactionsResponse, QueryCommentsRequest, QueryCommentsResponse, QueryFeedMembersRequest, QueryFeedMembersResponse, QueryFeedsRequest, QueryFeedsResponse, QueryFollowsRequest, QueryFollowsResponse, QueryPollVotesRequest, QueryPollsRequest, QueryPollsResponse, QueryUsersPayload, QueryUsersResponse, RejectFeedMemberInviteRequest, RejectFeedMemberInviteResponse, RejectFollowRequest, RejectFollowResponse, Response, SharedLocationResponse, SharedLocationsResponse, SingleFollowRequest, SingleFollowResponse, UnblockUsersRequest, UnblockUsersResponse, UnfollowResponse, UnpinActivityResponse, UpdateActivityPartialRequest, UpdateActivityPartialResponse, UpdateActivityRequest, UpdateActivityResponse, UpdateBlockListRequest, UpdateBlockListResponse, UpdateBookmarkFolderRequest, UpdateBookmarkFolderResponse, UpdateBookmarkRequest, UpdateBookmarkResponse, UpdateCommentRequest, UpdateCommentResponse, UpdateFeedMembersRequest, UpdateFeedMembersResponse, UpdateFeedRequest, UpdateFeedResponse, UpdateFollowRequest, UpdateFollowResponse, UpdateLiveLocationRequest, UpdatePollOptionRequest, UpdatePollPartialRequest, UpdatePollRequest, UpdateUsersPartialRequest, UpdateUsersRequest, UpdateUsersResponse, UpsertActivitiesRequest, UpsertActivitiesResponse, WSAuthMessage } from '../models';
3
3
  export declare class FeedsApi {
4
4
  readonly apiClient: ApiClient;
5
5
  constructor(apiClient: ApiClient);
@@ -68,6 +68,12 @@ export declare class FeedsApi {
68
68
  type: string;
69
69
  }): Promise<StreamResponse<DeleteActivityReactionResponse>>;
70
70
  queryBookmarkFolders(request?: QueryBookmarkFoldersRequest): Promise<StreamResponse<QueryBookmarkFoldersResponse>>;
71
+ deleteBookmarkFolder(request: {
72
+ folder_id: string;
73
+ }): Promise<StreamResponse<DeleteBookmarkFolderResponse>>;
74
+ updateBookmarkFolder(request: UpdateBookmarkFolderRequest & {
75
+ folder_id: string;
76
+ }): Promise<StreamResponse<UpdateBookmarkFolderResponse>>;
71
77
  queryBookmarks(request?: QueryBookmarksRequest): Promise<StreamResponse<QueryBookmarksResponse>>;
72
78
  getComments(request: {
73
79
  object_id: string;
@@ -208,6 +208,7 @@ export interface ActivityResponse {
208
208
  created_at: Date;
209
209
  id: string;
210
210
  popularity: number;
211
+ reaction_count: number;
211
212
  score: number;
212
213
  share_count: number;
213
214
  type: string;
@@ -528,6 +529,14 @@ export interface BookmarkDeletedEvent {
528
529
  received_at?: Date;
529
530
  user?: UserResponseCommonFields;
530
531
  }
532
+ export interface BookmarkFolderDeletedEvent {
533
+ created_at: Date;
534
+ bookmark_folder: BookmarkFolderResponse;
535
+ custom: Record<string, any>;
536
+ type: string;
537
+ received_at?: Date;
538
+ user?: UserResponseCommonFields;
539
+ }
531
540
  export interface BookmarkFolderResponse {
532
541
  created_at: Date;
533
542
  id: string;
@@ -535,6 +544,14 @@ export interface BookmarkFolderResponse {
535
544
  updated_at: Date;
536
545
  custom?: Record<string, any>;
537
546
  }
547
+ export interface BookmarkFolderUpdatedEvent {
548
+ created_at: Date;
549
+ bookmark_folder: BookmarkFolderResponse;
550
+ custom: Record<string, any>;
551
+ type: string;
552
+ received_at?: Date;
553
+ user?: UserResponseCommonFields;
554
+ }
538
555
  export interface BookmarkResponse {
539
556
  created_at: Date;
540
557
  updated_at: Date;
@@ -1149,6 +1166,9 @@ export interface DeleteActivityRequest {
1149
1166
  export interface DeleteActivityResponse {
1150
1167
  duration: string;
1151
1168
  }
1169
+ export interface DeleteBookmarkFolderResponse {
1170
+ duration: string;
1171
+ }
1152
1172
  export interface DeleteBookmarkResponse {
1153
1173
  duration: string;
1154
1174
  bookmark: BookmarkResponse;
@@ -1398,6 +1418,7 @@ export interface FeedInput {
1398
1418
  description?: string;
1399
1419
  name?: string;
1400
1420
  visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private';
1421
+ filter_tags?: string[];
1401
1422
  members?: FeedMemberRequest[];
1402
1423
  custom?: Record<string, any>;
1403
1424
  }
@@ -1484,6 +1505,7 @@ export interface FeedRequest {
1484
1505
  description?: string;
1485
1506
  name?: string;
1486
1507
  visibility?: 'public' | 'visible' | 'followers' | 'members' | 'private';
1508
+ filter_tags?: string[];
1487
1509
  members?: FeedMemberRequest[];
1488
1510
  custom?: Record<string, any>;
1489
1511
  }
@@ -1502,6 +1524,7 @@ export interface FeedResponse {
1502
1524
  created_by: UserResponse;
1503
1525
  deleted_at?: Date;
1504
1526
  visibility?: string;
1527
+ filter_tags?: string[];
1505
1528
  custom?: Record<string, any>;
1506
1529
  }
1507
1530
  export interface FeedUpdatedEvent {
@@ -2084,6 +2107,7 @@ export interface OwnUser {
2084
2107
  devices: Device[];
2085
2108
  mutes: UserMute[];
2086
2109
  custom: Record<string, any>;
2110
+ total_unread_count_by_team: Record<string, number>;
2087
2111
  deactivated_at?: Date;
2088
2112
  deleted_at?: Date;
2089
2113
  invisible?: boolean;
@@ -2125,6 +2149,7 @@ export interface OwnUserResponse {
2125
2149
  privacy_settings?: PrivacySettingsResponse;
2126
2150
  push_preferences?: PushPreferences;
2127
2151
  teams_role?: Record<string, string>;
2152
+ total_unread_count_by_team?: Record<string, number>;
2128
2153
  }
2129
2154
  export interface PagerRequest {
2130
2155
  limit?: number;
@@ -2941,6 +2966,14 @@ export interface UpdateBlockListResponse {
2941
2966
  duration: string;
2942
2967
  blocklist?: BlockListResponse;
2943
2968
  }
2969
+ export interface UpdateBookmarkFolderRequest {
2970
+ name?: string;
2971
+ custom?: Record<string, any>;
2972
+ }
2973
+ export interface UpdateBookmarkFolderResponse {
2974
+ duration: string;
2975
+ bookmark_folder: BookmarkFolderResponse;
2976
+ }
2944
2977
  export interface UpdateBookmarkRequest {
2945
2978
  folder_id?: string;
2946
2979
  new_folder_id?: string;
@@ -3292,6 +3325,10 @@ export type WSClientEvent = ({
3292
3325
  } & BookmarkDeletedEvent) | ({
3293
3326
  type: 'feeds.bookmark.updated';
3294
3327
  } & BookmarkUpdatedEvent) | ({
3328
+ type: 'feeds.bookmark_folder.deleted';
3329
+ } & BookmarkFolderDeletedEvent) | ({
3330
+ type: 'feeds.bookmark_folder.updated';
3331
+ } & BookmarkFolderUpdatedEvent) | ({
3295
3332
  type: 'feeds.comment.added';
3296
3333
  } & CommentAddedEvent) | ({
3297
3334
  type: 'feeds.comment.deleted';
@@ -3371,6 +3408,10 @@ export type WSEvent = ({
3371
3408
  } & BookmarkDeletedEvent) | ({
3372
3409
  type: 'feeds.bookmark.updated';
3373
3410
  } & BookmarkUpdatedEvent) | ({
3411
+ type: 'feeds.bookmark_folder.deleted';
3412
+ } & BookmarkFolderDeletedEvent) | ({
3413
+ type: 'feeds.bookmark_folder.updated';
3414
+ } & BookmarkFolderUpdatedEvent) | ({
3374
3415
  type: 'feeds.comment.added';
3375
3416
  } & CommentAddedEvent) | ({
3376
3417
  type: 'feeds.comment.deleted';
@@ -11,3 +11,5 @@ export type LoadingStates = {
11
11
  loading_next_page?: boolean;
12
12
  loading_prev_page?: boolean;
13
13
  };
14
+ export type TokenOrProvider = string | TokenProvider;
15
+ export type TokenProvider = () => Promise<string>;