@opencoredev/social-sdk 0.1.2 → 0.2.0

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 (154) hide show
  1. package/README.md +6 -0
  2. package/dist/cli.d.ts +14 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +235 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/cloud/common.d.ts +26 -0
  7. package/dist/cloud/common.d.ts.map +1 -0
  8. package/dist/cloud/common.js +335 -0
  9. package/dist/cloud/common.js.map +1 -0
  10. package/dist/cloud/lifecycle.d.ts +11 -0
  11. package/dist/cloud/lifecycle.d.ts.map +1 -0
  12. package/dist/cloud/lifecycle.js +113 -0
  13. package/dist/cloud/lifecycle.js.map +1 -0
  14. package/dist/cloud/media.d.ts +24 -0
  15. package/dist/cloud/media.d.ts.map +1 -0
  16. package/dist/cloud/media.js +101 -0
  17. package/dist/cloud/media.js.map +1 -0
  18. package/dist/cloud/outcomes.d.ts +10 -0
  19. package/dist/cloud/outcomes.d.ts.map +1 -0
  20. package/dist/cloud/outcomes.js +196 -0
  21. package/dist/cloud/outcomes.js.map +1 -0
  22. package/dist/cloud/post-for-me.d.ts +70 -0
  23. package/dist/cloud/post-for-me.d.ts.map +1 -0
  24. package/dist/cloud/post-for-me.js +397 -0
  25. package/dist/cloud/post-for-me.js.map +1 -0
  26. package/dist/cloud/zernio.d.ts +112 -0
  27. package/dist/cloud/zernio.d.ts.map +1 -0
  28. package/dist/cloud/zernio.js +633 -0
  29. package/dist/cloud/zernio.js.map +1 -0
  30. package/dist/core/adapter.d.ts +159 -0
  31. package/dist/core/adapter.d.ts.map +1 -0
  32. package/dist/core/adapter.js +4 -0
  33. package/dist/core/adapter.js.map +1 -0
  34. package/dist/core/client.d.ts +142 -0
  35. package/dist/core/client.d.ts.map +1 -0
  36. package/dist/core/client.js +1286 -0
  37. package/dist/core/client.js.map +1 -0
  38. package/dist/core/concurrency.d.ts +10 -0
  39. package/dist/core/concurrency.d.ts.map +1 -0
  40. package/dist/core/concurrency.js +80 -0
  41. package/dist/core/concurrency.js.map +1 -0
  42. package/dist/core/errors.d.ts +45 -0
  43. package/dist/core/errors.d.ts.map +1 -0
  44. package/dist/core/errors.js +51 -0
  45. package/dist/core/errors.js.map +1 -0
  46. package/dist/core/idempotency.d.ts +34 -0
  47. package/dist/core/idempotency.d.ts.map +1 -0
  48. package/dist/core/idempotency.js +59 -0
  49. package/dist/core/idempotency.js.map +1 -0
  50. package/dist/core/index.d.ts +7 -0
  51. package/dist/core/index.d.ts.map +1 -0
  52. package/dist/core/index.js +7 -0
  53. package/dist/core/index.js.map +1 -0
  54. package/dist/core/pagination.d.ts +12 -0
  55. package/dist/core/pagination.d.ts.map +1 -0
  56. package/dist/core/pagination.js +82 -0
  57. package/dist/core/pagination.js.map +1 -0
  58. package/dist/core/types.d.ts +397 -0
  59. package/dist/core/types.d.ts.map +1 -0
  60. package/dist/core/types.js +17 -0
  61. package/dist/core/types.js.map +1 -0
  62. package/dist/index.d.ts +2 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +2 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/platforms/bluesky.d.ts +262 -0
  67. package/dist/platforms/bluesky.d.ts.map +1 -0
  68. package/dist/platforms/bluesky.js +1777 -0
  69. package/dist/platforms/bluesky.js.map +1 -0
  70. package/dist/platforms/instagram.d.ts +130 -0
  71. package/dist/platforms/instagram.d.ts.map +1 -0
  72. package/dist/platforms/instagram.js +1032 -0
  73. package/dist/platforms/instagram.js.map +1 -0
  74. package/dist/platforms/linkedin.d.ts +109 -0
  75. package/dist/platforms/linkedin.d.ts.map +1 -0
  76. package/dist/platforms/linkedin.js +891 -0
  77. package/dist/platforms/linkedin.js.map +1 -0
  78. package/dist/platforms/threads.d.ts +135 -0
  79. package/dist/platforms/threads.d.ts.map +1 -0
  80. package/dist/platforms/threads.js +946 -0
  81. package/dist/platforms/threads.js.map +1 -0
  82. package/dist/platforms/tiktok.d.ts +32 -0
  83. package/dist/platforms/tiktok.d.ts.map +1 -0
  84. package/dist/platforms/tiktok.js +594 -0
  85. package/dist/platforms/tiktok.js.map +1 -0
  86. package/dist/platforms/x-engagement.d.ts +17 -0
  87. package/dist/platforms/x-engagement.d.ts.map +1 -0
  88. package/dist/platforms/x-engagement.js +51 -0
  89. package/dist/platforms/x-engagement.js.map +1 -0
  90. package/dist/platforms/x.d.ts +300 -0
  91. package/dist/platforms/x.d.ts.map +1 -0
  92. package/dist/platforms/x.js +1288 -0
  93. package/dist/platforms/x.js.map +1 -0
  94. package/dist/platforms/youtube-upload.d.ts +33 -0
  95. package/dist/platforms/youtube-upload.d.ts.map +1 -0
  96. package/dist/platforms/youtube-upload.js +297 -0
  97. package/dist/platforms/youtube-upload.js.map +1 -0
  98. package/dist/platforms/youtube.d.ts +109 -0
  99. package/dist/platforms/youtube.d.ts.map +1 -0
  100. package/dist/platforms/youtube.js +1101 -0
  101. package/dist/platforms/youtube.js.map +1 -0
  102. package/dist/server/connections.d.ts +124 -0
  103. package/dist/server/connections.d.ts.map +1 -0
  104. package/dist/server/connections.js +336 -0
  105. package/dist/server/connections.js.map +1 -0
  106. package/dist/server/credentials.d.ts +52 -0
  107. package/dist/server/credentials.d.ts.map +1 -0
  108. package/dist/server/credentials.js +109 -0
  109. package/dist/server/credentials.js.map +1 -0
  110. package/dist/server/index.d.ts +5 -0
  111. package/dist/server/index.d.ts.map +1 -0
  112. package/dist/server/index.js +5 -0
  113. package/dist/server/index.js.map +1 -0
  114. package/dist/server/oauth.d.ts +53 -0
  115. package/dist/server/oauth.d.ts.map +1 -0
  116. package/dist/server/oauth.js +554 -0
  117. package/dist/server/oauth.js.map +1 -0
  118. package/dist/server/webhooks.d.ts +58 -0
  119. package/dist/server/webhooks.d.ts.map +1 -0
  120. package/dist/server/webhooks.js +205 -0
  121. package/dist/server/webhooks.js.map +1 -0
  122. package/dist/testing/index.d.ts +47 -0
  123. package/dist/testing/index.d.ts.map +1 -0
  124. package/dist/testing/index.js +565 -0
  125. package/dist/testing/index.js.map +1 -0
  126. package/dist/testing.d.ts +2 -0
  127. package/dist/testing.d.ts.map +1 -0
  128. package/dist/testing.js +2 -0
  129. package/dist/testing.js.map +1 -0
  130. package/dist/transport/binary.d.ts +3 -0
  131. package/dist/transport/binary.d.ts.map +1 -0
  132. package/dist/transport/binary.js +30 -0
  133. package/dist/transport/binary.js.map +1 -0
  134. package/dist/transport/budget.d.ts +4 -0
  135. package/dist/transport/budget.d.ts.map +1 -0
  136. package/dist/transport/budget.js +27 -0
  137. package/dist/transport/budget.js.map +1 -0
  138. package/dist/transport/http.d.ts +45 -0
  139. package/dist/transport/http.d.ts.map +1 -0
  140. package/dist/transport/http.js +260 -0
  141. package/dist/transport/http.js.map +1 -0
  142. package/dist/transport/json.d.ts +9 -0
  143. package/dist/transport/json.d.ts.map +1 -0
  144. package/dist/transport/json.js +17 -0
  145. package/dist/transport/json.js.map +1 -0
  146. package/dist/transport/upload.d.ts +26 -0
  147. package/dist/transport/upload.d.ts.map +1 -0
  148. package/dist/transport/upload.js +154 -0
  149. package/dist/transport/upload.js.map +1 -0
  150. package/dist/transport/validation.d.ts +6 -0
  151. package/dist/transport/validation.d.ts.map +1 -0
  152. package/dist/transport/validation.js +25 -0
  153. package/dist/transport/validation.js.map +1 -0
  154. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x-engagement.d.ts","sourceRoot":"","sources":["../../src/platforms/x-engagement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGrF,8FAA8F;AAC9F,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAiED,0GAA0G;AAC1G,wBAAgB,KAAK,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAE5B;AAED,sFAAsF;AACtF,wBAAgB,OAAO,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAE5B"}
@@ -0,0 +1,51 @@
1
+ import { SocialError } from "../core/errors.js";
2
+ import { managedHttp } from "../cloud/common.js";
3
+ async function mutate(action, tweetId, account, options, context) {
4
+ if (account.kind !== "connected-account" ||
5
+ account.version !== 1 ||
6
+ account.backend !== context.backendInstance ||
7
+ account.platform !== "x" ||
8
+ account.accountId !== options.userId)
9
+ throw new SocialError({
10
+ code: "unauthorized",
11
+ operation: `x.${action}`,
12
+ message: "Account reference does not belong to this X authorization and backend.",
13
+ });
14
+ if (!/^\d+$/.test(tweetId))
15
+ throw new SocialError({
16
+ code: "invalid_input",
17
+ operation: `x.${action}`,
18
+ message: "Provide a native numeric X post ID.",
19
+ });
20
+ const request = managedHttp("https://api.x.com", {
21
+ apiKey: options.accessToken,
22
+ // oxlint-disable-next-line anti-slop/no-conditional-empty-object-spread -- validated boundary or fixture contract.
23
+ ...(options.fetch ? { fetch: options.fetch } : {}),
24
+ });
25
+ const result = await request(`/2/users/${encodeURIComponent(options.userId)}/likes${action === "unlike" ? `/${tweetId}` : ""}`, context, action === "like" ? { tweet_id: tweetId } : undefined, {}, action === "like" ? "POST" : "DELETE");
26
+ // oxlint-disable-next-line anti-slop/no-runtime-typeof -- validated boundary or fixture contract.
27
+ const data = result && typeof result === "object" && "data" in result ? result.data : undefined;
28
+ if (!data ||
29
+ // oxlint-disable-next-line anti-slop/no-runtime-typeof -- validated boundary or fixture contract.
30
+ typeof data !== "object" ||
31
+ !("liked" in data) ||
32
+ // oxlint-disable-next-line anti-slop/no-runtime-typeof -- validated boundary or fixture contract.
33
+ typeof data.liked !== "boolean" ||
34
+ data.liked !== (action === "like"))
35
+ throw new SocialError({
36
+ code: "ambiguous_outcome",
37
+ operation: `x.${action}`,
38
+ message: "X did not confirm the requested reaction state. Reconcile before retrying.",
39
+ retryDisposition: { kind: "reconcile-first" },
40
+ });
41
+ return { liked: data.liked, tweetId, userId: options.userId };
42
+ }
43
+ /** Requires like.write, tweet.read, users.read and the app's current API access. Never retries writes. */
44
+ export function xLike(tweetId, account, options, context) {
45
+ return mutate("like", tweetId, account, options, context);
46
+ }
47
+ /** Deletes only the authenticated user's like; it does not delete the target post. */
48
+ export function xUnlike(tweetId, account, options, context) {
49
+ return mutate("unlike", tweetId, account, options, context);
50
+ }
51
+ //# sourceMappingURL=x-engagement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x-engagement.js","sourceRoot":"","sources":["../../src/platforms/x-engagement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,300 @@
1
+ import type { AdapterOperationContext, ConnectedAccountRef, JsonObject, Page, PlatformPostRef, SearchPostsInput } from "../core/types.js";
2
+ export interface XAuthorization {
3
+ readonly userId: string;
4
+ readonly accessToken?: string;
5
+ readonly handle?: string;
6
+ }
7
+ export { xLike, xUnlike, type XEngagementOptions, type XEngagementResult } from "./x-engagement.js";
8
+ export interface XOptions {
9
+ readonly auth: XAuthorization;
10
+ /** App-only bearer token for full-archive search and filtered stream. */
11
+ readonly appBearerToken?: string;
12
+ readonly fetch?: typeof globalThis.fetch;
13
+ readonly clock?: () => Date;
14
+ }
15
+ export type XTweetField = "attachments" | "author_id" | "conversation_id" | "created_at" | "entities" | "geo" | "id" | "lang" | "public_metrics" | "referenced_tweets" | "text";
16
+ export type XTweetExpansion = "attachments.media_keys" | "attachments.poll_ids" | "author_id" | "entities.mentions.username" | "geo.place_id" | "in_reply_to_user_id" | "referenced_tweets.id";
17
+ export type XUserField = "created_at" | "description" | "id" | "name" | "public_metrics" | "username";
18
+ export type XMediaField = "duration_ms" | "height" | "media_key" | "preview_image_url" | "type" | "url" | "width";
19
+ export interface XSearchInput extends SearchPostsInput {
20
+ readonly sortOrder?: "recency" | "relevancy";
21
+ readonly tweetFields?: readonly XTweetField[];
22
+ readonly expansions?: readonly XTweetExpansion[];
23
+ readonly userFields?: readonly XUserField[];
24
+ readonly mediaFields?: readonly XMediaField[];
25
+ }
26
+ export interface XNative {
27
+ readonly searchRecentPosts: (input: {
28
+ readonly account: ConnectedAccountRef;
29
+ readonly search: Omit<XSearchInput, "scope">;
30
+ readonly context: AdapterOperationContext;
31
+ }) => Promise<Page<JsonObject>>;
32
+ readonly searchAllPosts: (input: {
33
+ readonly account: ConnectedAccountRef;
34
+ readonly search: Omit<XSearchInput, "scope">;
35
+ readonly context: AdapterOperationContext;
36
+ }) => Promise<Page<JsonObject>>;
37
+ readonly readPost: (ref: PlatformPostRef, context: AdapterOperationContext) => Promise<JsonObject>;
38
+ readonly repost: (input: {
39
+ readonly account: ConnectedAccountRef;
40
+ readonly postId: string;
41
+ readonly context: AdapterOperationContext;
42
+ }) => Promise<JsonObject>;
43
+ readonly quote: (input: {
44
+ readonly account: ConnectedAccountRef;
45
+ readonly text: string;
46
+ readonly quotedPostId: string;
47
+ readonly context: AdapterOperationContext;
48
+ }) => Promise<JsonObject>;
49
+ readonly deletePost: (input: {
50
+ readonly account: ConnectedAccountRef;
51
+ readonly postId: string;
52
+ readonly context: AdapterOperationContext;
53
+ }) => Promise<void>;
54
+ readonly createPoll: (input: {
55
+ readonly account: ConnectedAccountRef;
56
+ readonly text: string;
57
+ readonly options: readonly string[];
58
+ readonly durationMinutes: number;
59
+ readonly context: AdapterOperationContext;
60
+ }) => Promise<JsonObject>;
61
+ readonly bookmarks: (input: {
62
+ readonly account: ConnectedAccountRef;
63
+ readonly context: AdapterOperationContext;
64
+ }) => Promise<JsonObject>;
65
+ readonly bookmark: (input: {
66
+ readonly account: ConnectedAccountRef;
67
+ readonly postId: string;
68
+ readonly context: AdapterOperationContext;
69
+ }) => Promise<void>;
70
+ readonly removeBookmark: (input: {
71
+ readonly account: ConnectedAccountRef;
72
+ readonly postId: string;
73
+ readonly context: AdapterOperationContext;
74
+ }) => Promise<void>;
75
+ readonly follow: (input: {
76
+ readonly account: ConnectedAccountRef;
77
+ readonly userId: string;
78
+ readonly context: AdapterOperationContext;
79
+ }) => Promise<JsonObject>;
80
+ readonly unfollow: (input: {
81
+ readonly account: ConnectedAccountRef;
82
+ readonly userId: string;
83
+ readonly context: AdapterOperationContext;
84
+ }) => Promise<void>;
85
+ readonly listDirectMessages: (input: {
86
+ readonly account: ConnectedAccountRef;
87
+ readonly participantId?: string;
88
+ readonly conversationId?: string;
89
+ readonly cursor?: string;
90
+ readonly limit?: number;
91
+ readonly context: AdapterOperationContext;
92
+ }) => Promise<Page<JsonObject>>;
93
+ readonly sendDirectMessage: (input: {
94
+ readonly account: ConnectedAccountRef;
95
+ readonly participantId: string;
96
+ readonly text: string;
97
+ readonly context: AdapterOperationContext;
98
+ }) => Promise<JsonObject>;
99
+ readonly sendConversationMessage: (input: {
100
+ readonly account: ConnectedAccountRef;
101
+ readonly conversationId: string;
102
+ readonly text: string;
103
+ readonly attachments?: readonly JsonObject[];
104
+ readonly context: AdapterOperationContext;
105
+ }) => Promise<JsonObject>;
106
+ readonly createGroupConversation: (input: {
107
+ readonly account: ConnectedAccountRef;
108
+ readonly participantIds: readonly string[];
109
+ readonly message: string;
110
+ readonly context: AdapterOperationContext;
111
+ }) => Promise<JsonObject>;
112
+ readonly getUserById: (input: {
113
+ readonly account: ConnectedAccountRef;
114
+ readonly userId: string;
115
+ readonly context: AdapterOperationContext;
116
+ }) => Promise<JsonObject>;
117
+ readonly getUserByUsername: (input: {
118
+ readonly account: ConnectedAccountRef;
119
+ readonly username: string;
120
+ readonly context: AdapterOperationContext;
121
+ }) => Promise<JsonObject>;
122
+ readonly getMe: (input: {
123
+ readonly account: ConnectedAccountRef;
124
+ readonly context: AdapterOperationContext;
125
+ }) => Promise<JsonObject>;
126
+ readonly followers: (input: {
127
+ readonly account: ConnectedAccountRef;
128
+ readonly userId: string;
129
+ readonly cursor?: string;
130
+ readonly limit?: number;
131
+ readonly context: AdapterOperationContext;
132
+ }) => Promise<Page<JsonObject>>;
133
+ readonly following: (input: {
134
+ readonly account: ConnectedAccountRef;
135
+ readonly userId: string;
136
+ readonly cursor?: string;
137
+ readonly limit?: number;
138
+ readonly context: AdapterOperationContext;
139
+ }) => Promise<Page<JsonObject>>;
140
+ readonly followUser: XNative["follow"];
141
+ readonly unfollowUser: XNative["unfollow"];
142
+ readonly muteUser: (input: {
143
+ readonly account: ConnectedAccountRef;
144
+ readonly userId: string;
145
+ readonly context: AdapterOperationContext;
146
+ }) => Promise<JsonObject>;
147
+ readonly unmuteUser: (input: {
148
+ readonly account: ConnectedAccountRef;
149
+ readonly userId: string;
150
+ readonly context: AdapterOperationContext;
151
+ }) => Promise<void>;
152
+ readonly mutedUsers: (input: {
153
+ readonly account: ConnectedAccountRef;
154
+ readonly cursor?: string;
155
+ readonly limit?: number;
156
+ readonly context: AdapterOperationContext;
157
+ }) => Promise<Page<JsonObject>>;
158
+ readonly blockUser: (input: {
159
+ readonly account: ConnectedAccountRef;
160
+ readonly userId: string;
161
+ readonly context: AdapterOperationContext;
162
+ }) => Promise<JsonObject>;
163
+ readonly unblockUser: (input: {
164
+ readonly account: ConnectedAccountRef;
165
+ readonly userId: string;
166
+ readonly context: AdapterOperationContext;
167
+ }) => Promise<void>;
168
+ readonly blockedUsers: (input: {
169
+ readonly account: ConnectedAccountRef;
170
+ readonly cursor?: string;
171
+ readonly limit?: number;
172
+ readonly context: AdapterOperationContext;
173
+ }) => Promise<Page<JsonObject>>;
174
+ readonly like: XNative["bookmark"];
175
+ readonly unlike: XNative["removeBookmark"];
176
+ readonly likedPosts: (input: {
177
+ readonly account: ConnectedAccountRef;
178
+ readonly userId?: string;
179
+ readonly cursor?: string;
180
+ readonly limit?: number;
181
+ readonly context: AdapterOperationContext;
182
+ }) => Promise<Page<JsonObject>>;
183
+ readonly likingUsers: (input: {
184
+ readonly account: ConnectedAccountRef;
185
+ readonly postId: string;
186
+ readonly cursor?: string;
187
+ readonly limit?: number;
188
+ readonly context: AdapterOperationContext;
189
+ }) => Promise<Page<JsonObject>>;
190
+ readonly createList: (input: {
191
+ readonly account: ConnectedAccountRef;
192
+ readonly name: string;
193
+ readonly description?: string;
194
+ readonly isPrivate?: boolean;
195
+ readonly context: AdapterOperationContext;
196
+ }) => Promise<JsonObject>;
197
+ readonly updateList: (input: {
198
+ readonly account: ConnectedAccountRef;
199
+ readonly listId: string;
200
+ readonly name?: string;
201
+ readonly description?: string;
202
+ readonly isPrivate?: boolean;
203
+ readonly context: AdapterOperationContext;
204
+ }) => Promise<JsonObject>;
205
+ readonly deleteList: (input: {
206
+ readonly account: ConnectedAccountRef;
207
+ readonly listId: string;
208
+ readonly context: AdapterOperationContext;
209
+ }) => Promise<void>;
210
+ readonly getList: (input: {
211
+ readonly account: ConnectedAccountRef;
212
+ readonly listId: string;
213
+ readonly context: AdapterOperationContext;
214
+ }) => Promise<JsonObject>;
215
+ readonly listMembers: (input: {
216
+ readonly account: ConnectedAccountRef;
217
+ readonly listId: string;
218
+ readonly cursor?: string;
219
+ readonly limit?: number;
220
+ readonly context: AdapterOperationContext;
221
+ }) => Promise<Page<JsonObject>>;
222
+ readonly addListMember: (input: {
223
+ readonly account: ConnectedAccountRef;
224
+ readonly listId: string;
225
+ readonly userId: string;
226
+ readonly context: AdapterOperationContext;
227
+ }) => Promise<JsonObject>;
228
+ readonly removeListMember: (input: {
229
+ readonly account: ConnectedAccountRef;
230
+ readonly listId: string;
231
+ readonly userId: string;
232
+ readonly context: AdapterOperationContext;
233
+ }) => Promise<void>;
234
+ readonly followList: (input: {
235
+ readonly account: ConnectedAccountRef;
236
+ readonly listId: string;
237
+ readonly context: AdapterOperationContext;
238
+ }) => Promise<JsonObject>;
239
+ readonly unfollowList: (input: {
240
+ readonly account: ConnectedAccountRef;
241
+ readonly listId: string;
242
+ readonly context: AdapterOperationContext;
243
+ }) => Promise<void>;
244
+ readonly ownedLists: (input: {
245
+ readonly account: ConnectedAccountRef;
246
+ readonly cursor?: string;
247
+ readonly limit?: number;
248
+ readonly context: AdapterOperationContext;
249
+ }) => Promise<Page<JsonObject>>;
250
+ readonly pinList: (input: {
251
+ readonly account: ConnectedAccountRef;
252
+ readonly listId: string;
253
+ readonly context: AdapterOperationContext;
254
+ }) => Promise<JsonObject>;
255
+ readonly unpinList: (input: {
256
+ readonly account: ConnectedAccountRef;
257
+ readonly listId: string;
258
+ readonly context: AdapterOperationContext;
259
+ }) => Promise<void>;
260
+ readonly pinnedLists: (input: {
261
+ readonly account: ConnectedAccountRef;
262
+ readonly cursor?: string;
263
+ readonly limit?: number;
264
+ readonly context: AdapterOperationContext;
265
+ }) => Promise<Page<JsonObject>>;
266
+ readonly listPosts: (input: {
267
+ readonly account: ConnectedAccountRef;
268
+ readonly listId: string;
269
+ readonly cursor?: string;
270
+ readonly limit?: number;
271
+ readonly context: AdapterOperationContext;
272
+ }) => Promise<Page<JsonObject>>;
273
+ readonly userPosts: (input: {
274
+ readonly account: ConnectedAccountRef;
275
+ readonly userId: string;
276
+ readonly cursor?: string;
277
+ readonly limit?: number;
278
+ readonly context: AdapterOperationContext;
279
+ }) => Promise<Page<JsonObject>>;
280
+ readonly homeTimeline: (input: {
281
+ readonly account: ConnectedAccountRef;
282
+ readonly cursor?: string;
283
+ readonly limit?: number;
284
+ readonly context: AdapterOperationContext;
285
+ }) => Promise<Page<JsonObject>>;
286
+ readonly mentions: (input: {
287
+ readonly account: ConnectedAccountRef;
288
+ readonly userId?: string;
289
+ readonly cursor?: string;
290
+ readonly limit?: number;
291
+ readonly context: AdapterOperationContext;
292
+ }) => Promise<Page<JsonObject>>;
293
+ readonly undoRepost: (input: {
294
+ readonly account: ConnectedAccountRef;
295
+ readonly postId: string;
296
+ readonly context: AdapterOperationContext;
297
+ }) => Promise<void>;
298
+ }
299
+ export declare function x(options: XOptions): import("../core/adapter.js").SocialAdapter<XNative>;
300
+ //# sourceMappingURL=x.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x.d.ts","sourceRoot":"","sources":["../../src/platforms/x.ts"],"names":[],"mappings":"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"}