Skip to content

Commit b5ca71a

Browse files
hifaizskclaude
andcommitted
feat: regenerate from latest OpenAPI spec, keep only retention runs test
Regenerated SDK from latest serverside-api.yaml spec. Updated retention policy integration test to only test get_retention_policy_runs endpoint. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 6a94f03 commit b5ca71a

File tree

18 files changed

+10182
-29411
lines changed

18 files changed

+10182
-29411
lines changed

getstream/chat/async_channel.py

Lines changed: 44 additions & 258 deletions
Large diffs are not rendered by default.

getstream/chat/async_rest_client.py

Lines changed: 358 additions & 1452 deletions
Large diffs are not rendered by default.

getstream/chat/channel.py

Lines changed: 44 additions & 258 deletions
Large diffs are not rendered by default.

getstream/chat/rest_client.py

Lines changed: 353 additions & 1480 deletions
Large diffs are not rendered by default.

getstream/common/async_rest_client.py

Lines changed: 284 additions & 1027 deletions
Large diffs are not rendered by default.

getstream/common/rest_client.py

Lines changed: 269 additions & 982 deletions
Large diffs are not rendered by default.

getstream/feeds/feeds.py

Lines changed: 28 additions & 182 deletions
Original file line numberDiff line numberDiff line change
@@ -4,230 +4,76 @@
44

55

66
class Feed:
7+
78
def __init__(self, client, feed_group: str, feed_id: str, custom_data: Dict = None):
89
self.id = feed_id
910
self.feed_group = feed_group
1011
self.client = client
1112
self.custom_data = custom_data or {}
1213

1314
def _sync_from_response(self, data):
14-
if hasattr(data, "feed") and isinstance(data.feed, FeedResponse):
15+
if hasattr(data, 'feed') and isinstance(data.feed, FeedResponse):
1516
self.custom_data = data.feed.custom
1617

17-
def delete(
18-
self, hard_delete: Optional[bool] = None
19-
) -> StreamResponse[DeleteFeedResponse]:
20-
response = self.client.delete_feed(
21-
feed_group_id=self.feed_group, feed_id=self.id, hard_delete=hard_delete
22-
)
18+
19+
def delete(self, hard_delete: Optional[bool] = None) -> StreamResponse[DeleteFeedResponse]:
20+
response = self.client.delete_feed(feed_group_id=self.feed_group, feed_id=self.id, hard_delete=hard_delete)
2321
self._sync_from_response(response.data)
2422
return response
2523

26-
def get_or_create(
27-
self,
28-
id_around: Optional[str] = None,
29-
limit: Optional[int] = None,
30-
next: Optional[str] = None,
31-
prev: Optional[str] = None,
32-
user_id: Optional[str] = None,
33-
view: Optional[str] = None,
34-
watch: Optional[bool] = None,
35-
data: Optional[FeedInput] = None,
36-
enrichment_options: Optional[EnrichmentOptions] = None,
37-
external_ranking: Optional[Dict[str, object]] = None,
38-
filter: Optional[Dict[str, object]] = None,
39-
followers_pagination: Optional[PagerRequest] = None,
40-
following_pagination: Optional[PagerRequest] = None,
41-
friend_reactions_options: Optional[FriendReactionsOptions] = None,
42-
interest_weights: Optional[Dict[str, float]] = None,
43-
member_pagination: Optional[PagerRequest] = None,
44-
user: Optional[UserRequest] = None,
45-
) -> StreamResponse[GetOrCreateFeedResponse]:
46-
response = self.client.get_or_create_feed(
47-
feed_group_id=self.feed_group,
48-
feed_id=self.id,
49-
id_around=id_around,
50-
limit=limit,
51-
next=next,
52-
prev=prev,
53-
user_id=user_id,
54-
view=view,
55-
watch=watch,
56-
data=data,
57-
enrichment_options=enrichment_options,
58-
external_ranking=external_ranking,
59-
filter=filter,
60-
followers_pagination=followers_pagination,
61-
following_pagination=following_pagination,
62-
friend_reactions_options=friend_reactions_options,
63-
interest_weights=interest_weights,
64-
member_pagination=member_pagination,
65-
user=user,
66-
)
24+
def get_or_create(self, id_around: Optional[str] = None, limit: Optional[int] = None, next: Optional[str] = None, prev: Optional[str] = None, user_id: Optional[str] = None, view: Optional[str] = None, watch: Optional[bool] = None, data: Optional[FeedInput] = None, enrichment_options: Optional[EnrichmentOptions] = None, external_ranking: Optional[Dict[str, object]] = None, filter: Optional[Dict[str, object]] = None, followers_pagination: Optional[PagerRequest] = None, following_pagination: Optional[PagerRequest] = None, friend_reactions_options: Optional[FriendReactionsOptions] = None, interest_weights: Optional[Dict[str, float]] = None, member_pagination: Optional[PagerRequest] = None, user: Optional[UserRequest] = None) -> StreamResponse[GetOrCreateFeedResponse]:
25+
response = self.client.get_or_create_feed(feed_group_id=self.feed_group, feed_id=self.id, id_around=id_around, limit=limit, next=next, prev=prev, user_id=user_id, view=view, watch=watch, data=data, enrichment_options=enrichment_options, external_ranking=external_ranking, filter=filter, followers_pagination=followers_pagination, following_pagination=following_pagination, friend_reactions_options=friend_reactions_options, interest_weights=interest_weights, member_pagination=member_pagination, user=user)
6726
self._sync_from_response(response.data)
6827
return response
6928

70-
def update(
71-
self,
72-
created_by_id: Optional[str] = None,
73-
description: Optional[str] = None,
74-
enrich_own_fields: Optional[bool] = None,
75-
name: Optional[str] = None,
76-
filter_tags: Optional[List[str]] = None,
77-
custom: Optional[Dict[str, object]] = None,
78-
) -> StreamResponse[UpdateFeedResponse]:
79-
response = self.client.update_feed(
80-
feed_group_id=self.feed_group,
81-
feed_id=self.id,
82-
created_by_id=created_by_id,
83-
description=description,
84-
enrich_own_fields=enrich_own_fields,
85-
name=name,
86-
filter_tags=filter_tags,
87-
custom=custom,
88-
)
29+
def update(self, created_by_id: Optional[str] = None, description: Optional[str] = None, enrich_own_fields: Optional[bool] = None, name: Optional[str] = None, filter_tags: Optional[List[str]] = None, custom: Optional[Dict[str, object]] = None) -> StreamResponse[UpdateFeedResponse]:
30+
response = self.client.update_feed(feed_group_id=self.feed_group, feed_id=self.id, created_by_id=created_by_id, description=description, enrich_own_fields=enrich_own_fields, name=name, filter_tags=filter_tags, custom=custom)
8931
self._sync_from_response(response.data)
9032
return response
9133

92-
def mark_activity(
93-
self,
94-
mark_all_read: Optional[bool] = None,
95-
mark_all_seen: Optional[bool] = None,
96-
user_id: Optional[str] = None,
97-
mark_read: Optional[List[str]] = None,
98-
mark_seen: Optional[List[str]] = None,
99-
mark_watched: Optional[List[str]] = None,
100-
user: Optional[UserRequest] = None,
101-
) -> StreamResponse[Response]:
102-
response = self.client.mark_activity(
103-
feed_group_id=self.feed_group,
104-
feed_id=self.id,
105-
mark_all_read=mark_all_read,
106-
mark_all_seen=mark_all_seen,
107-
user_id=user_id,
108-
mark_read=mark_read,
109-
mark_seen=mark_seen,
110-
mark_watched=mark_watched,
111-
user=user,
112-
)
34+
def mark_activity(self, mark_all_read: Optional[bool] = None, mark_all_seen: Optional[bool] = None, user_id: Optional[str] = None, mark_read: Optional[List[str]] = None, mark_seen: Optional[List[str]] = None, mark_watched: Optional[List[str]] = None, user: Optional[UserRequest] = None) -> StreamResponse[Response]:
35+
response = self.client.mark_activity(feed_group_id=self.feed_group, feed_id=self.id, mark_all_read=mark_all_read, mark_all_seen=mark_all_seen, user_id=user_id, mark_read=mark_read, mark_seen=mark_seen, mark_watched=mark_watched, user=user)
11336
self._sync_from_response(response.data)
11437
return response
11538

116-
def unpin_activity(
117-
self,
118-
activity_id: str,
119-
enrich_own_fields: Optional[bool] = None,
120-
user_id: Optional[str] = None,
121-
) -> StreamResponse[UnpinActivityResponse]:
122-
response = self.client.unpin_activity(
123-
feed_group_id=self.feed_group,
124-
feed_id=self.id,
125-
activity_id=activity_id,
126-
enrich_own_fields=enrich_own_fields,
127-
user_id=user_id,
128-
)
39+
def unpin_activity(self, activity_id: str, enrich_own_fields: Optional[bool] = None, user_id: Optional[str] = None) -> StreamResponse[UnpinActivityResponse]:
40+
response = self.client.unpin_activity(feed_group_id=self.feed_group, feed_id=self.id, activity_id=activity_id, enrich_own_fields=enrich_own_fields, user_id=user_id)
12941
self._sync_from_response(response.data)
13042
return response
13143

132-
def pin_activity(
133-
self,
134-
activity_id: str,
135-
enrich_own_fields: Optional[bool] = None,
136-
user_id: Optional[str] = None,
137-
user: Optional[UserRequest] = None,
138-
) -> StreamResponse[PinActivityResponse]:
139-
response = self.client.pin_activity(
140-
feed_group_id=self.feed_group,
141-
feed_id=self.id,
142-
activity_id=activity_id,
143-
enrich_own_fields=enrich_own_fields,
144-
user_id=user_id,
145-
user=user,
146-
)
44+
def pin_activity(self, activity_id: str, enrich_own_fields: Optional[bool] = None, user_id: Optional[str] = None, user: Optional[UserRequest] = None) -> StreamResponse[PinActivityResponse]:
45+
response = self.client.pin_activity(feed_group_id=self.feed_group, feed_id=self.id, activity_id=activity_id, enrich_own_fields=enrich_own_fields, user_id=user_id, user=user)
14746
self._sync_from_response(response.data)
14847
return response
14948

150-
def update_feed_members(
151-
self,
152-
operation: str,
153-
limit: Optional[int] = None,
154-
next: Optional[str] = None,
155-
prev: Optional[str] = None,
156-
members: Optional[List[FeedMemberRequest]] = None,
157-
) -> StreamResponse[UpdateFeedMembersResponse]:
158-
response = self.client.update_feed_members(
159-
feed_group_id=self.feed_group,
160-
feed_id=self.id,
161-
operation=operation,
162-
limit=limit,
163-
next=next,
164-
prev=prev,
165-
members=members,
166-
)
49+
def update_feed_members(self, operation: str, limit: Optional[int] = None, next: Optional[str] = None, prev: Optional[str] = None, members: Optional[List[FeedMemberRequest]] = None) -> StreamResponse[UpdateFeedMembersResponse]:
50+
response = self.client.update_feed_members(feed_group_id=self.feed_group, feed_id=self.id, operation=operation, limit=limit, next=next, prev=prev, members=members)
16751
self._sync_from_response(response.data)
16852
return response
16953

170-
def accept_feed_member_invite(
171-
self, user_id: Optional[str] = None, user: Optional[UserRequest] = None
172-
) -> StreamResponse[AcceptFeedMemberInviteResponse]:
173-
response = self.client.accept_feed_member_invite(
174-
feed_group_id=self.feed_group, feed_id=self.id, user_id=user_id, user=user
175-
)
54+
def accept_feed_member_invite(self, user_id: Optional[str] = None, user: Optional[UserRequest] = None) -> StreamResponse[AcceptFeedMemberInviteResponse]:
55+
response = self.client.accept_feed_member_invite(feed_group_id=self.feed_group, feed_id=self.id, user_id=user_id, user=user)
17656
self._sync_from_response(response.data)
17757
return response
17858

179-
def query_feed_members(
180-
self,
181-
limit: Optional[int] = None,
182-
next: Optional[str] = None,
183-
prev: Optional[str] = None,
184-
sort: Optional[List[SortParamRequest]] = None,
185-
filter: Optional[Dict[str, object]] = None,
186-
) -> StreamResponse[QueryFeedMembersResponse]:
187-
response = self.client.query_feed_members(
188-
feed_group_id=self.feed_group,
189-
feed_id=self.id,
190-
limit=limit,
191-
next=next,
192-
prev=prev,
193-
sort=sort,
194-
filter=filter,
195-
)
59+
def query_feed_members(self, limit: Optional[int] = None, next: Optional[str] = None, prev: Optional[str] = None, sort: Optional[List[SortParamRequest]] = None, filter: Optional[Dict[str, object]] = None) -> StreamResponse[QueryFeedMembersResponse]:
60+
response = self.client.query_feed_members(feed_group_id=self.feed_group, feed_id=self.id, limit=limit, next=next, prev=prev, sort=sort, filter=filter)
19661
self._sync_from_response(response.data)
19762
return response
19863

199-
def reject_feed_member_invite(
200-
self, user_id: Optional[str] = None, user: Optional[UserRequest] = None
201-
) -> StreamResponse[RejectFeedMemberInviteResponse]:
202-
response = self.client.reject_feed_member_invite(
203-
feed_group_id=self.feed_group, feed_id=self.id, user_id=user_id, user=user
204-
)
64+
def reject_feed_member_invite(self, user_id: Optional[str] = None, user: Optional[UserRequest] = None) -> StreamResponse[RejectFeedMemberInviteResponse]:
65+
response = self.client.reject_feed_member_invite(feed_group_id=self.feed_group, feed_id=self.id, user_id=user_id, user=user)
20566
self._sync_from_response(response.data)
20667
return response
20768

208-
def query_pinned_activities(
209-
self,
210-
enrich_own_fields: Optional[bool] = None,
211-
limit: Optional[int] = None,
212-
next: Optional[str] = None,
213-
prev: Optional[str] = None,
214-
sort: Optional[List[SortParamRequest]] = None,
215-
filter: Optional[Dict[str, object]] = None,
216-
) -> StreamResponse[QueryPinnedActivitiesResponse]:
217-
response = self.client.query_pinned_activities(
218-
feed_group_id=self.feed_group,
219-
feed_id=self.id,
220-
enrich_own_fields=enrich_own_fields,
221-
limit=limit,
222-
next=next,
223-
prev=prev,
224-
sort=sort,
225-
filter=filter,
226-
)
69+
def query_pinned_activities(self, enrich_own_fields: Optional[bool] = None, limit: Optional[int] = None, next: Optional[str] = None, prev: Optional[str] = None, sort: Optional[List[SortParamRequest]] = None, filter: Optional[Dict[str, object]] = None) -> StreamResponse[QueryPinnedActivitiesResponse]:
70+
response = self.client.query_pinned_activities(feed_group_id=self.feed_group, feed_id=self.id, enrich_own_fields=enrich_own_fields, limit=limit, next=next, prev=prev, sort=sort, filter=filter)
22771
self._sync_from_response(response.data)
22872
return response
22973

74+
75+
23076
def get_feed_identifier(self):
23177
return self.feed_group + ":" + self.id
23278

233-
create = get_or_create
79+
create = get_or_create

0 commit comments

Comments
 (0)