@aurora-interactive/fankare-api-sdk 0.1.0 → 0.1.1

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 (231) hide show
  1. package/README.md +36 -0
  2. package/esm/funcs/creators-discovery-get-featured-creators.d.ts +14 -0
  3. package/esm/funcs/creators-discovery-get-featured-creators.d.ts.map +1 -0
  4. package/esm/funcs/creators-discovery-get-featured-creators.js +85 -0
  5. package/esm/funcs/creators-discovery-get-featured-creators.js.map +1 -0
  6. package/esm/funcs/creators-discovery-get-trending-creators.d.ts +14 -0
  7. package/esm/funcs/creators-discovery-get-trending-creators.d.ts.map +1 -0
  8. package/esm/funcs/creators-discovery-get-trending-creators.js +85 -0
  9. package/esm/funcs/creators-discovery-get-trending-creators.js.map +1 -0
  10. package/esm/funcs/notifications-get-notifications.d.ts +14 -0
  11. package/esm/funcs/notifications-get-notifications.d.ts.map +1 -0
  12. package/esm/funcs/notifications-get-notifications.js +87 -0
  13. package/esm/funcs/notifications-get-notifications.js.map +1 -0
  14. package/esm/funcs/notifications-get-unread-notification-count.d.ts +14 -0
  15. package/esm/funcs/notifications-get-unread-notification-count.d.ts.map +1 -0
  16. package/esm/funcs/notifications-get-unread-notification-count.js +67 -0
  17. package/esm/funcs/notifications-get-unread-notification-count.js.map +1 -0
  18. package/esm/funcs/notifications-mark-notifications-as-read.d.ts +14 -0
  19. package/esm/funcs/notifications-mark-notifications-as-read.d.ts.map +1 -0
  20. package/esm/funcs/notifications-mark-notifications-as-read.js +78 -0
  21. package/esm/funcs/notifications-mark-notifications-as-read.js.map +1 -0
  22. package/esm/funcs/posts-create-comment.d.ts +14 -0
  23. package/esm/funcs/posts-create-comment.d.ts.map +1 -0
  24. package/esm/funcs/posts-create-comment.js +89 -0
  25. package/esm/funcs/posts-create-comment.js.map +1 -0
  26. package/esm/funcs/posts-delete-comment.d.ts +13 -0
  27. package/esm/funcs/posts-delete-comment.d.ts.map +1 -0
  28. package/esm/funcs/posts-delete-comment.js +91 -0
  29. package/esm/funcs/posts-delete-comment.js.map +1 -0
  30. package/esm/funcs/posts-get-post-comments.d.ts +14 -0
  31. package/esm/funcs/posts-get-post-comments.d.ts.map +1 -0
  32. package/esm/funcs/posts-get-post-comments.js +94 -0
  33. package/esm/funcs/posts-get-post-comments.js.map +1 -0
  34. package/esm/funcs/posts-get-post-likes.d.ts +14 -0
  35. package/esm/funcs/posts-get-post-likes.d.ts.map +1 -0
  36. package/esm/funcs/posts-get-post-likes.js +94 -0
  37. package/esm/funcs/posts-get-post-likes.js.map +1 -0
  38. package/esm/funcs/posts-like-post.d.ts +13 -0
  39. package/esm/funcs/posts-like-post.d.ts.map +1 -0
  40. package/esm/funcs/posts-like-post.js +86 -0
  41. package/esm/funcs/posts-like-post.js.map +1 -0
  42. package/esm/funcs/posts-unlike-post.d.ts +13 -0
  43. package/esm/funcs/posts-unlike-post.d.ts.map +1 -0
  44. package/esm/funcs/posts-unlike-post.js +86 -0
  45. package/esm/funcs/posts-unlike-post.js.map +1 -0
  46. package/esm/funcs/user-discovery-get-follower-count.d.ts +14 -0
  47. package/esm/funcs/user-discovery-get-follower-count.d.ts.map +1 -0
  48. package/esm/funcs/user-discovery-get-follower-count.js +67 -0
  49. package/esm/funcs/user-discovery-get-follower-count.js.map +1 -0
  50. package/esm/funcs/user-discovery-get-followers.d.ts +14 -0
  51. package/esm/funcs/user-discovery-get-followers.d.ts.map +1 -0
  52. package/esm/funcs/user-discovery-get-followers.js +87 -0
  53. package/esm/funcs/user-discovery-get-followers.js.map +1 -0
  54. package/esm/funcs/user-discovery-get-user-follower-count.d.ts +14 -0
  55. package/esm/funcs/user-discovery-get-user-follower-count.d.ts.map +1 -0
  56. package/esm/funcs/user-discovery-get-user-follower-count.js +87 -0
  57. package/esm/funcs/user-discovery-get-user-follower-count.js.map +1 -0
  58. package/esm/funcs/user-discovery-get-user-followers.d.ts +14 -0
  59. package/esm/funcs/user-discovery-get-user-followers.d.ts.map +1 -0
  60. package/esm/funcs/user-discovery-get-user-followers.js +94 -0
  61. package/esm/funcs/user-discovery-get-user-followers.js.map +1 -0
  62. package/esm/lib/config.d.ts +2 -2
  63. package/esm/lib/config.js +2 -2
  64. package/esm/models/comment.d.ts +15 -0
  65. package/esm/models/comment.d.ts.map +1 -0
  66. package/esm/models/comment.js +20 -0
  67. package/esm/models/comment.js.map +1 -0
  68. package/esm/models/create-comment-request.d.ts +15 -0
  69. package/esm/models/create-comment-request.d.ts.map +1 -0
  70. package/esm/models/create-comment-request.js +13 -0
  71. package/esm/models/create-comment-request.js.map +1 -0
  72. package/esm/models/follower-count-response.d.ts +10 -0
  73. package/esm/models/follower-count-response.d.ts.map +1 -0
  74. package/esm/models/follower-count-response.js +15 -0
  75. package/esm/models/follower-count-response.js.map +1 -0
  76. package/esm/models/index.d.ts +10 -0
  77. package/esm/models/index.d.ts.map +1 -1
  78. package/esm/models/index.js +10 -0
  79. package/esm/models/index.js.map +1 -1
  80. package/esm/models/mark-notifications-read-request.d.ts +20 -0
  81. package/esm/models/mark-notifications-read-request.d.ts.map +1 -0
  82. package/esm/models/mark-notifications-read-request.js +14 -0
  83. package/esm/models/mark-notifications-read-request.js.map +1 -0
  84. package/esm/models/notification.d.ts +30 -0
  85. package/esm/models/notification.d.ts.map +1 -0
  86. package/esm/models/notification.js +31 -0
  87. package/esm/models/notification.js.map +1 -0
  88. package/esm/models/operations/create-comment.d.ts +15 -0
  89. package/esm/models/operations/create-comment.d.ts.map +1 -0
  90. package/esm/models/operations/create-comment.js +15 -0
  91. package/esm/models/operations/create-comment.js.map +1 -0
  92. package/esm/models/operations/delete-comment.d.ts +14 -0
  93. package/esm/models/operations/delete-comment.d.ts.map +1 -0
  94. package/esm/models/operations/delete-comment.js +14 -0
  95. package/esm/models/operations/delete-comment.js.map +1 -0
  96. package/esm/models/operations/get-featured-creators.d.ts +12 -0
  97. package/esm/models/operations/get-featured-creators.d.ts.map +1 -0
  98. package/esm/models/operations/get-featured-creators.js +13 -0
  99. package/esm/models/operations/get-featured-creators.js.map +1 -0
  100. package/esm/models/operations/get-followers.d.ts +17 -0
  101. package/esm/models/operations/get-followers.d.ts.map +1 -0
  102. package/esm/models/operations/get-followers.js +14 -0
  103. package/esm/models/operations/get-followers.js.map +1 -0
  104. package/esm/models/operations/get-notifications.d.ts +17 -0
  105. package/esm/models/operations/get-notifications.d.ts.map +1 -0
  106. package/esm/models/operations/get-notifications.js +14 -0
  107. package/esm/models/operations/get-notifications.js.map +1 -0
  108. package/esm/models/operations/get-post-comments.d.ts +19 -0
  109. package/esm/models/operations/get-post-comments.d.ts.map +1 -0
  110. package/esm/models/operations/get-post-comments.js +15 -0
  111. package/esm/models/operations/get-post-comments.js.map +1 -0
  112. package/esm/models/operations/get-post-likes.d.ts +19 -0
  113. package/esm/models/operations/get-post-likes.d.ts.map +1 -0
  114. package/esm/models/operations/get-post-likes.js +15 -0
  115. package/esm/models/operations/get-post-likes.js.map +1 -0
  116. package/esm/models/operations/get-trending-creators.d.ts +12 -0
  117. package/esm/models/operations/get-trending-creators.d.ts.map +1 -0
  118. package/esm/models/operations/get-trending-creators.js +13 -0
  119. package/esm/models/operations/get-trending-creators.js.map +1 -0
  120. package/esm/models/operations/get-user-follower-count.d.ts +12 -0
  121. package/esm/models/operations/get-user-follower-count.d.ts.map +1 -0
  122. package/esm/models/operations/get-user-follower-count.js +13 -0
  123. package/esm/models/operations/get-user-follower-count.js.map +1 -0
  124. package/esm/models/operations/get-user-followers.d.ts +19 -0
  125. package/esm/models/operations/get-user-followers.d.ts.map +1 -0
  126. package/esm/models/operations/get-user-followers.js +15 -0
  127. package/esm/models/operations/get-user-followers.js.map +1 -0
  128. package/esm/models/operations/index.d.ts +12 -0
  129. package/esm/models/operations/index.d.ts.map +1 -1
  130. package/esm/models/operations/index.js +12 -0
  131. package/esm/models/operations/index.js.map +1 -1
  132. package/esm/models/operations/like-post.d.ts +12 -0
  133. package/esm/models/operations/like-post.d.ts.map +1 -0
  134. package/esm/models/operations/like-post.js +13 -0
  135. package/esm/models/operations/like-post.js.map +1 -0
  136. package/esm/models/operations/unlike-post.d.ts +12 -0
  137. package/esm/models/operations/unlike-post.d.ts.map +1 -0
  138. package/esm/models/operations/unlike-post.js +13 -0
  139. package/esm/models/operations/unlike-post.js.map +1 -0
  140. package/esm/models/paginated-comments-response.d.ts +15 -0
  141. package/esm/models/paginated-comments-response.d.ts.map +1 -0
  142. package/esm/models/paginated-comments-response.js +17 -0
  143. package/esm/models/paginated-comments-response.js.map +1 -0
  144. package/esm/models/paginated-followers-response.d.ts +15 -0
  145. package/esm/models/paginated-followers-response.d.ts.map +1 -0
  146. package/esm/models/paginated-followers-response.js +17 -0
  147. package/esm/models/paginated-followers-response.js.map +1 -0
  148. package/esm/models/paginated-likes-response.d.ts +15 -0
  149. package/esm/models/paginated-likes-response.d.ts.map +1 -0
  150. package/esm/models/paginated-likes-response.js +17 -0
  151. package/esm/models/paginated-likes-response.js.map +1 -0
  152. package/esm/models/paginated-notifications-response.d.ts +15 -0
  153. package/esm/models/paginated-notifications-response.d.ts.map +1 -0
  154. package/esm/models/paginated-notifications-response.js +17 -0
  155. package/esm/models/paginated-notifications-response.js.map +1 -0
  156. package/esm/models/unread-count-response.d.ts +10 -0
  157. package/esm/models/unread-count-response.d.ts.map +1 -0
  158. package/esm/models/unread-count-response.js +15 -0
  159. package/esm/models/unread-count-response.js.map +1 -0
  160. package/esm/models/user.d.ts +4 -0
  161. package/esm/models/user.d.ts.map +1 -1
  162. package/esm/models/user.js +1 -0
  163. package/esm/models/user.js.map +1 -1
  164. package/esm/sdk/creators-discovery.d.ts +13 -0
  165. package/esm/sdk/creators-discovery.d.ts.map +1 -0
  166. package/esm/sdk/creators-discovery.js +23 -0
  167. package/esm/sdk/creators-discovery.js.map +1 -0
  168. package/esm/sdk/notifications.d.ts +17 -0
  169. package/esm/sdk/notifications.d.ts.map +1 -0
  170. package/esm/sdk/notifications.js +30 -0
  171. package/esm/sdk/notifications.js.map +1 -0
  172. package/esm/sdk/posts.d.ts +24 -0
  173. package/esm/sdk/posts.d.ts.map +1 -1
  174. package/esm/sdk/posts.js +42 -0
  175. package/esm/sdk/posts.js.map +1 -1
  176. package/esm/sdk/sdk.d.ts +6 -0
  177. package/esm/sdk/sdk.d.ts.map +1 -1
  178. package/esm/sdk/sdk.js +10 -0
  179. package/esm/sdk/sdk.js.map +1 -1
  180. package/esm/sdk/user-discovery.d.ts +16 -0
  181. package/esm/sdk/user-discovery.d.ts.map +1 -1
  182. package/esm/sdk/user-discovery.js +28 -0
  183. package/esm/sdk/user-discovery.js.map +1 -1
  184. package/jsr.json +1 -1
  185. package/package.json +1 -1
  186. package/src/funcs/creators-discovery-get-featured-creators.ts +174 -0
  187. package/src/funcs/creators-discovery-get-trending-creators.ts +174 -0
  188. package/src/funcs/notifications-get-notifications.ts +179 -0
  189. package/src/funcs/notifications-get-unread-notification-count.ts +142 -0
  190. package/src/funcs/notifications-mark-notifications-as-read.ts +162 -0
  191. package/src/funcs/posts-create-comment.ts +176 -0
  192. package/src/funcs/posts-delete-comment.ts +178 -0
  193. package/src/funcs/posts-get-post-comments.ts +185 -0
  194. package/src/funcs/posts-get-post-likes.ts +185 -0
  195. package/src/funcs/posts-like-post.ts +170 -0
  196. package/src/funcs/posts-unlike-post.ts +170 -0
  197. package/src/funcs/user-discovery-get-follower-count.ts +142 -0
  198. package/src/funcs/user-discovery-get-followers.ts +176 -0
  199. package/src/funcs/user-discovery-get-user-follower-count.ts +172 -0
  200. package/src/funcs/user-discovery-get-user-followers.ts +186 -0
  201. package/src/lib/config.ts +2 -2
  202. package/src/models/comment.ts +38 -0
  203. package/src/models/create-comment-request.ts +34 -0
  204. package/src/models/follower-count-response.ts +32 -0
  205. package/src/models/index.ts +10 -0
  206. package/src/models/mark-notifications-read-request.ts +42 -0
  207. package/src/models/notification.ts +60 -0
  208. package/src/models/operations/create-comment.ts +35 -0
  209. package/src/models/operations/delete-comment.ts +34 -0
  210. package/src/models/operations/get-featured-creators.ts +31 -0
  211. package/src/models/operations/get-followers.ts +37 -0
  212. package/src/models/operations/get-notifications.ts +37 -0
  213. package/src/models/operations/get-post-comments.ts +40 -0
  214. package/src/models/operations/get-post-likes.ts +40 -0
  215. package/src/models/operations/get-trending-creators.ts +31 -0
  216. package/src/models/operations/get-user-follower-count.ts +33 -0
  217. package/src/models/operations/get-user-followers.ts +40 -0
  218. package/src/models/operations/index.ts +12 -0
  219. package/src/models/operations/like-post.ts +29 -0
  220. package/src/models/operations/unlike-post.ts +31 -0
  221. package/src/models/paginated-comments-response.ts +38 -0
  222. package/src/models/paginated-followers-response.ts +38 -0
  223. package/src/models/paginated-likes-response.ts +38 -0
  224. package/src/models/paginated-notifications-response.ts +38 -0
  225. package/src/models/unread-count-response.ts +32 -0
  226. package/src/models/user.ts +5 -0
  227. package/src/sdk/creators-discovery.ts +40 -0
  228. package/src/sdk/notifications.ts +55 -0
  229. package/src/sdk/posts.ts +102 -0
  230. package/src/sdk/sdk.ts +12 -0
  231. package/src/sdk/user-discovery.ts +64 -0
@@ -0,0 +1,186 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 4085e9ab1118
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+ import { FankareSDKCore } from "../core.js";
8
+ import { encodeFormQuery, encodeSimple } from "../lib/encodings.js";
9
+ import { matchStatusCode } from "../lib/http.js";
10
+ import * as M from "../lib/matchers.js";
11
+ import { compactMap } from "../lib/primitives.js";
12
+ import { safeParse } from "../lib/schemas.js";
13
+ import { RequestOptions } from "../lib/sdks.js";
14
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
15
+ import { pathToFunc } from "../lib/url.js";
16
+ import { FankareSDKError } from "../models/errors/fankare-sdk-error.js";
17
+ import {
18
+ ConnectionError,
19
+ InvalidRequestError,
20
+ RequestAbortedError,
21
+ RequestTimeoutError,
22
+ UnexpectedClientError,
23
+ } from "../models/errors/http-client-errors.js";
24
+ import { ResponseValidationError } from "../models/errors/response-validation-error.js";
25
+ import { SDKValidationError } from "../models/errors/sdk-validation-error.js";
26
+ import * as models from "../models/index.js";
27
+ import * as operations from "../models/operations/index.js";
28
+ import { APICall, APIPromise } from "../types/async.js";
29
+ import { Result } from "../types/fp.js";
30
+
31
+ /**
32
+ * Fetch a specific user's paginated list of followers
33
+ */
34
+ export function userDiscoveryGetUserFollowers(
35
+ client: FankareSDKCore,
36
+ userId: number,
37
+ limit?: number | undefined,
38
+ cursor?: string | undefined,
39
+ options?: RequestOptions,
40
+ ): APIPromise<
41
+ Result<
42
+ models.PaginatedFollowersResponse,
43
+ | FankareSDKError
44
+ | ResponseValidationError
45
+ | ConnectionError
46
+ | RequestAbortedError
47
+ | RequestTimeoutError
48
+ | InvalidRequestError
49
+ | UnexpectedClientError
50
+ | SDKValidationError
51
+ >
52
+ > {
53
+ return new APIPromise($do(
54
+ client,
55
+ userId,
56
+ limit,
57
+ cursor,
58
+ options,
59
+ ));
60
+ }
61
+
62
+ async function $do(
63
+ client: FankareSDKCore,
64
+ userId: number,
65
+ limit?: number | undefined,
66
+ cursor?: string | undefined,
67
+ options?: RequestOptions,
68
+ ): Promise<
69
+ [
70
+ Result<
71
+ models.PaginatedFollowersResponse,
72
+ | FankareSDKError
73
+ | ResponseValidationError
74
+ | ConnectionError
75
+ | RequestAbortedError
76
+ | RequestTimeoutError
77
+ | InvalidRequestError
78
+ | UnexpectedClientError
79
+ | SDKValidationError
80
+ >,
81
+ APICall,
82
+ ]
83
+ > {
84
+ const input: operations.GetUserFollowersRequest = {
85
+ userId: userId,
86
+ limit: limit,
87
+ cursor: cursor,
88
+ };
89
+
90
+ const parsed = safeParse(
91
+ input,
92
+ (value) =>
93
+ z.parse(operations.GetUserFollowersRequest$outboundSchema, value),
94
+ "Input validation failed",
95
+ );
96
+ if (!parsed.ok) {
97
+ return [parsed, { status: "invalid" }];
98
+ }
99
+ const payload = parsed.value;
100
+ const body = null;
101
+
102
+ const pathParams = {
103
+ userId: encodeSimple("userId", payload.userId, {
104
+ explode: false,
105
+ charEncoding: "percent",
106
+ }),
107
+ };
108
+ const path = pathToFunc("/users/{userId}/followers")(pathParams);
109
+
110
+ const query = encodeFormQuery({
111
+ "cursor": payload.cursor,
112
+ "limit": payload.limit,
113
+ });
114
+
115
+ const headers = new Headers(compactMap({
116
+ Accept: "application/json",
117
+ }));
118
+
119
+ const secConfig = await extractSecurity(client._options.bearerAuth);
120
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
121
+ const requestSecurity = resolveGlobalSecurity(securityInput);
122
+
123
+ const context = {
124
+ options: client._options,
125
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
126
+ operationID: "getUserFollowers",
127
+ oAuth2Scopes: null,
128
+
129
+ resolvedSecurity: requestSecurity,
130
+
131
+ securitySource: client._options.bearerAuth,
132
+ retryConfig: options?.retries
133
+ || client._options.retryConfig
134
+ || { strategy: "none" },
135
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
136
+ };
137
+
138
+ const requestRes = client._createRequest(context, {
139
+ security: requestSecurity,
140
+ method: "GET",
141
+ baseURL: options?.serverURL,
142
+ path: path,
143
+ headers: headers,
144
+ query: query,
145
+ body: body,
146
+ userAgent: client._options.userAgent,
147
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
148
+ }, options);
149
+ if (!requestRes.ok) {
150
+ return [requestRes, { status: "invalid" }];
151
+ }
152
+ const req = requestRes.value;
153
+
154
+ const doResult = await client._do(req, {
155
+ context,
156
+ isErrorStatusCode: (statusCode: number) =>
157
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
158
+ retryConfig: context.retryConfig,
159
+ retryCodes: context.retryCodes,
160
+ });
161
+ if (!doResult.ok) {
162
+ return [doResult, { status: "request-error", request: req }];
163
+ }
164
+ const response = doResult.value;
165
+
166
+ const [result] = await M.match<
167
+ models.PaginatedFollowersResponse,
168
+ | FankareSDKError
169
+ | ResponseValidationError
170
+ | ConnectionError
171
+ | RequestAbortedError
172
+ | RequestTimeoutError
173
+ | InvalidRequestError
174
+ | UnexpectedClientError
175
+ | SDKValidationError
176
+ >(
177
+ M.json(200, models.PaginatedFollowersResponse$inboundSchema),
178
+ M.fail([401, 404, "4XX"]),
179
+ M.fail("5XX"),
180
+ )(response, req);
181
+ if (!result.ok) {
182
+ return [result, { status: "complete", request: req, response }];
183
+ }
184
+
185
+ return [result, { status: "complete", request: req, response }];
186
+ }
package/src/lib/config.ts CHANGED
@@ -62,7 +62,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
62
62
  export const SDK_METADATA = {
63
63
  language: "typescript",
64
64
  openapiDocVersion: "1.1.0",
65
- sdkVersion: "0.1.0",
65
+ sdkVersion: "0.1.1",
66
66
  genVersion: "2.911.0",
67
- userAgent: "speakeasy-sdk/typescript 0.1.0 2.911.0 1.1.0 openapi",
67
+ userAgent: "speakeasy-sdk/typescript 0.1.1 2.911.0 1.1.0 openapi",
68
68
  } as const;
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 31da50e38c51
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+ import { safeParse } from "../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../types/fp.js";
9
+ import * as types from "../types/primitives.js";
10
+ import { SDKValidationError } from "./errors/sdk-validation-error.js";
11
+ import { User, User$inboundSchema } from "./user.js";
12
+
13
+ export type Comment = {
14
+ id: number;
15
+ postId: number;
16
+ user: User;
17
+ content: string;
18
+ createdAt: Date;
19
+ };
20
+
21
+ /** @internal */
22
+ export const Comment$inboundSchema: z.ZodMiniType<Comment, unknown> = z.object({
23
+ id: types.number(),
24
+ postId: types.number(),
25
+ user: User$inboundSchema,
26
+ content: types.string(),
27
+ createdAt: types.date(),
28
+ });
29
+
30
+ export function commentFromJSON(
31
+ jsonString: string,
32
+ ): SafeParseResult<Comment, SDKValidationError> {
33
+ return safeParse(
34
+ jsonString,
35
+ (x) => Comment$inboundSchema.parse(JSON.parse(x)),
36
+ `Failed to parse 'Comment' from JSON`,
37
+ );
38
+ }
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 1281f847c1db
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+
8
+ export type CreateCommentRequest = {
9
+ /**
10
+ * The textual content of the comment.
11
+ */
12
+ content: string;
13
+ };
14
+
15
+ /** @internal */
16
+ export type CreateCommentRequest$Outbound = {
17
+ content: string;
18
+ };
19
+
20
+ /** @internal */
21
+ export const CreateCommentRequest$outboundSchema: z.ZodMiniType<
22
+ CreateCommentRequest$Outbound,
23
+ CreateCommentRequest
24
+ > = z.object({
25
+ content: z.string(),
26
+ });
27
+
28
+ export function createCommentRequestToJSON(
29
+ createCommentRequest: CreateCommentRequest,
30
+ ): string {
31
+ return JSON.stringify(
32
+ CreateCommentRequest$outboundSchema.parse(createCommentRequest),
33
+ );
34
+ }
@@ -0,0 +1,32 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: b61cb4711504
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+ import { safeParse } from "../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../types/fp.js";
9
+ import * as types from "../types/primitives.js";
10
+ import { SDKValidationError } from "./errors/sdk-validation-error.js";
11
+
12
+ export type FollowerCountResponse = {
13
+ count: number;
14
+ };
15
+
16
+ /** @internal */
17
+ export const FollowerCountResponse$inboundSchema: z.ZodMiniType<
18
+ FollowerCountResponse,
19
+ unknown
20
+ > = z.object({
21
+ count: types.number(),
22
+ });
23
+
24
+ export function followerCountResponseFromJSON(
25
+ jsonString: string,
26
+ ): SafeParseResult<FollowerCountResponse, SDKValidationError> {
27
+ return safeParse(
28
+ jsonString,
29
+ (x) => FollowerCountResponse$inboundSchema.parse(JSON.parse(x)),
30
+ `Failed to parse 'FollowerCountResponse' from JSON`,
31
+ );
32
+ }
@@ -6,12 +6,21 @@
6
6
  export * from "./asset-declaration.js";
7
7
  export * from "./asset-processing-callback-request.js";
8
8
  export * from "./collection.js";
9
+ export * from "./comment.js";
9
10
  export * from "./conversation.js";
11
+ export * from "./create-comment-request.js";
10
12
  export * from "./create-post-request.js";
11
13
  export * from "./create-post-response.js";
14
+ export * from "./follower-count-response.js";
12
15
  export * from "./login-request.js";
16
+ export * from "./mark-notifications-read-request.js";
13
17
  export * from "./media-asset.js";
14
18
  export * from "./message.js";
19
+ export * from "./notification.js";
20
+ export * from "./paginated-comments-response.js";
21
+ export * from "./paginated-followers-response.js";
22
+ export * from "./paginated-likes-response.js";
23
+ export * from "./paginated-notifications-response.js";
15
24
  export * from "./paginated-posts-response.js";
16
25
  export * from "./post.js";
17
26
  export * from "./profile-media-confirm-request.js";
@@ -20,6 +29,7 @@ export * from "./profile-media-upload-response.js";
20
29
  export * from "./register-request.js";
21
30
  export * from "./security.js";
22
31
  export * from "./send-message-request.js";
32
+ export * from "./unread-count-response.js";
23
33
  export * from "./update-post-request.js";
24
34
  export * from "./update-profile-request.js";
25
35
  export * from "./upload-slot.js";
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: b985d3fe8187
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+
8
+ export type MarkNotificationsReadRequest = {
9
+ /**
10
+ * Specific notification IDs to mark as read. If empty/omitted and markAll is true, marks all as read.
11
+ */
12
+ notificationIds?: Array<number> | undefined;
13
+ /**
14
+ * If true, marks all notifications for the user as read. If false, only marks the specified notificationIds.
15
+ */
16
+ markAll?: boolean | undefined;
17
+ };
18
+
19
+ /** @internal */
20
+ export type MarkNotificationsReadRequest$Outbound = {
21
+ notificationIds?: Array<number> | undefined;
22
+ markAll: boolean;
23
+ };
24
+
25
+ /** @internal */
26
+ export const MarkNotificationsReadRequest$outboundSchema: z.ZodMiniType<
27
+ MarkNotificationsReadRequest$Outbound,
28
+ MarkNotificationsReadRequest
29
+ > = z.object({
30
+ notificationIds: z.optional(z.array(z.int())),
31
+ markAll: z._default(z.boolean(), false),
32
+ });
33
+
34
+ export function markNotificationsReadRequestToJSON(
35
+ markNotificationsReadRequest: MarkNotificationsReadRequest,
36
+ ): string {
37
+ return JSON.stringify(
38
+ MarkNotificationsReadRequest$outboundSchema.parse(
39
+ markNotificationsReadRequest,
40
+ ),
41
+ );
42
+ }
@@ -0,0 +1,60 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: e9cd3c32fa84
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+ import { safeParse } from "../lib/schemas.js";
8
+ import * as openEnums from "../types/enums.js";
9
+ import { OpenEnum } from "../types/enums.js";
10
+ import { Result as SafeParseResult } from "../types/fp.js";
11
+ import * as types from "../types/primitives.js";
12
+ import { SDKValidationError } from "./errors/sdk-validation-error.js";
13
+ import { User, User$inboundSchema } from "./user.js";
14
+
15
+ export const ActivityType = {
16
+ Like: "LIKE",
17
+ Comment: "COMMENT",
18
+ ListAddition: "LIST_ADDITION",
19
+ NewFollower: "NEW_FOLLOWER",
20
+ } as const;
21
+ export type ActivityType = OpenEnum<typeof ActivityType>;
22
+
23
+ export type Notification = {
24
+ id: number;
25
+ recipientId: number;
26
+ sender: User;
27
+ activityType: ActivityType;
28
+ /**
29
+ * The ID of the post, comment, list, or subscription associated with the activity.
30
+ */
31
+ sourceId?: number | null | undefined;
32
+ isRead: boolean;
33
+ createdAt: Date;
34
+ };
35
+
36
+ /** @internal */
37
+ export const ActivityType$inboundSchema: z.ZodMiniType<ActivityType, unknown> =
38
+ openEnums.inboundSchema(ActivityType);
39
+
40
+ /** @internal */
41
+ export const Notification$inboundSchema: z.ZodMiniType<Notification, unknown> =
42
+ z.object({
43
+ id: types.number(),
44
+ recipientId: types.number(),
45
+ sender: User$inboundSchema,
46
+ activityType: ActivityType$inboundSchema,
47
+ sourceId: z.optional(z.nullable(types.number())),
48
+ isRead: types.boolean(),
49
+ createdAt: types.date(),
50
+ });
51
+
52
+ export function notificationFromJSON(
53
+ jsonString: string,
54
+ ): SafeParseResult<Notification, SDKValidationError> {
55
+ return safeParse(
56
+ jsonString,
57
+ (x) => Notification$inboundSchema.parse(JSON.parse(x)),
58
+ `Failed to parse 'Notification' from JSON`,
59
+ );
60
+ }
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: fcbe666d71bb
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+ import * as models from "../index.js";
8
+
9
+ export type CreateCommentRequest = {
10
+ postId: number;
11
+ body: models.CreateCommentRequest;
12
+ };
13
+
14
+ /** @internal */
15
+ export type CreateCommentRequest$Outbound = {
16
+ postId: number;
17
+ body: models.CreateCommentRequest$Outbound;
18
+ };
19
+
20
+ /** @internal */
21
+ export const CreateCommentRequest$outboundSchema: z.ZodMiniType<
22
+ CreateCommentRequest$Outbound,
23
+ CreateCommentRequest
24
+ > = z.object({
25
+ postId: z.int(),
26
+ body: models.CreateCommentRequest$outboundSchema,
27
+ });
28
+
29
+ export function createCommentRequestToJSON(
30
+ createCommentRequest: CreateCommentRequest,
31
+ ): string {
32
+ return JSON.stringify(
33
+ CreateCommentRequest$outboundSchema.parse(createCommentRequest),
34
+ );
35
+ }
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: b335b32bc098
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+
8
+ export type DeleteCommentRequest = {
9
+ postId: number;
10
+ commentId: number;
11
+ };
12
+
13
+ /** @internal */
14
+ export type DeleteCommentRequest$Outbound = {
15
+ postId: number;
16
+ commentId: number;
17
+ };
18
+
19
+ /** @internal */
20
+ export const DeleteCommentRequest$outboundSchema: z.ZodMiniType<
21
+ DeleteCommentRequest$Outbound,
22
+ DeleteCommentRequest
23
+ > = z.object({
24
+ postId: z.int(),
25
+ commentId: z.int(),
26
+ });
27
+
28
+ export function deleteCommentRequestToJSON(
29
+ deleteCommentRequest: DeleteCommentRequest,
30
+ ): string {
31
+ return JSON.stringify(
32
+ DeleteCommentRequest$outboundSchema.parse(deleteCommentRequest),
33
+ );
34
+ }
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: f8f0efa3bb43
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+
8
+ export type GetFeaturedCreatorsRequest = {
9
+ limit?: number | undefined;
10
+ };
11
+
12
+ /** @internal */
13
+ export type GetFeaturedCreatorsRequest$Outbound = {
14
+ limit: number;
15
+ };
16
+
17
+ /** @internal */
18
+ export const GetFeaturedCreatorsRequest$outboundSchema: z.ZodMiniType<
19
+ GetFeaturedCreatorsRequest$Outbound,
20
+ GetFeaturedCreatorsRequest
21
+ > = z.object({
22
+ limit: z._default(z.int(), 10),
23
+ });
24
+
25
+ export function getFeaturedCreatorsRequestToJSON(
26
+ getFeaturedCreatorsRequest: GetFeaturedCreatorsRequest,
27
+ ): string {
28
+ return JSON.stringify(
29
+ GetFeaturedCreatorsRequest$outboundSchema.parse(getFeaturedCreatorsRequest),
30
+ );
31
+ }
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: db9352f64d27
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+
8
+ export type GetFollowersRequest = {
9
+ limit?: number | undefined;
10
+ /**
11
+ * Opaque cursor pointing to the last subscription timestamp/ID for pagination
12
+ */
13
+ cursor?: string | undefined;
14
+ };
15
+
16
+ /** @internal */
17
+ export type GetFollowersRequest$Outbound = {
18
+ limit: number;
19
+ cursor?: string | undefined;
20
+ };
21
+
22
+ /** @internal */
23
+ export const GetFollowersRequest$outboundSchema: z.ZodMiniType<
24
+ GetFollowersRequest$Outbound,
25
+ GetFollowersRequest
26
+ > = z.object({
27
+ limit: z._default(z.int(), 20),
28
+ cursor: z.optional(z.string()),
29
+ });
30
+
31
+ export function getFollowersRequestToJSON(
32
+ getFollowersRequest: GetFollowersRequest,
33
+ ): string {
34
+ return JSON.stringify(
35
+ GetFollowersRequest$outboundSchema.parse(getFollowersRequest),
36
+ );
37
+ }
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 3e8e19ae40a5
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+
8
+ export type GetNotificationsRequest = {
9
+ limit?: number | undefined;
10
+ /**
11
+ * Opaque cursor pointing to the last notification ID/timestamp for pagination
12
+ */
13
+ cursor?: string | undefined;
14
+ };
15
+
16
+ /** @internal */
17
+ export type GetNotificationsRequest$Outbound = {
18
+ limit: number;
19
+ cursor?: string | undefined;
20
+ };
21
+
22
+ /** @internal */
23
+ export const GetNotificationsRequest$outboundSchema: z.ZodMiniType<
24
+ GetNotificationsRequest$Outbound,
25
+ GetNotificationsRequest
26
+ > = z.object({
27
+ limit: z._default(z.int(), 20),
28
+ cursor: z.optional(z.string()),
29
+ });
30
+
31
+ export function getNotificationsRequestToJSON(
32
+ getNotificationsRequest: GetNotificationsRequest,
33
+ ): string {
34
+ return JSON.stringify(
35
+ GetNotificationsRequest$outboundSchema.parse(getNotificationsRequest),
36
+ );
37
+ }
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 0e3fef778bb2
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+
8
+ export type GetPostCommentsRequest = {
9
+ postId: number;
10
+ limit?: number | undefined;
11
+ /**
12
+ * Opaque cursor pointing to the last comment ID/timestamp for pagination
13
+ */
14
+ cursor?: string | undefined;
15
+ };
16
+
17
+ /** @internal */
18
+ export type GetPostCommentsRequest$Outbound = {
19
+ postId: number;
20
+ limit: number;
21
+ cursor?: string | undefined;
22
+ };
23
+
24
+ /** @internal */
25
+ export const GetPostCommentsRequest$outboundSchema: z.ZodMiniType<
26
+ GetPostCommentsRequest$Outbound,
27
+ GetPostCommentsRequest
28
+ > = z.object({
29
+ postId: z.int(),
30
+ limit: z._default(z.int(), 20),
31
+ cursor: z.optional(z.string()),
32
+ });
33
+
34
+ export function getPostCommentsRequestToJSON(
35
+ getPostCommentsRequest: GetPostCommentsRequest,
36
+ ): string {
37
+ return JSON.stringify(
38
+ GetPostCommentsRequest$outboundSchema.parse(getPostCommentsRequest),
39
+ );
40
+ }
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: e1e75b984469
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+
8
+ export type GetPostLikesRequest = {
9
+ postId: number;
10
+ limit?: number | undefined;
11
+ /**
12
+ * Opaque cursor pointing to the last like entry for pagination
13
+ */
14
+ cursor?: string | undefined;
15
+ };
16
+
17
+ /** @internal */
18
+ export type GetPostLikesRequest$Outbound = {
19
+ postId: number;
20
+ limit: number;
21
+ cursor?: string | undefined;
22
+ };
23
+
24
+ /** @internal */
25
+ export const GetPostLikesRequest$outboundSchema: z.ZodMiniType<
26
+ GetPostLikesRequest$Outbound,
27
+ GetPostLikesRequest
28
+ > = z.object({
29
+ postId: z.int(),
30
+ limit: z._default(z.int(), 20),
31
+ cursor: z.optional(z.string()),
32
+ });
33
+
34
+ export function getPostLikesRequestToJSON(
35
+ getPostLikesRequest: GetPostLikesRequest,
36
+ ): string {
37
+ return JSON.stringify(
38
+ GetPostLikesRequest$outboundSchema.parse(getPostLikesRequest),
39
+ );
40
+ }