@woopsocial/typescript-sdk 0.0.9 → 0.1.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 (335) hide show
  1. package/FUNCTIONS.md +9 -3
  2. package/README.md +71 -22
  3. package/esm/funcs/posts-create-post.d.ts +23 -0
  4. package/esm/funcs/posts-create-post.d.ts.map +1 -0
  5. package/esm/funcs/posts-create-post.js +88 -0
  6. package/esm/funcs/posts-create-post.js.map +1 -0
  7. package/esm/funcs/posts-delete-post.d.ts +21 -0
  8. package/esm/funcs/posts-delete-post.d.ts.map +1 -0
  9. package/esm/funcs/posts-delete-post.js +91 -0
  10. package/esm/funcs/posts-delete-post.js.map +1 -0
  11. package/esm/funcs/posts-get-post.d.ts +19 -0
  12. package/esm/funcs/posts-get-post.d.ts.map +1 -0
  13. package/esm/funcs/posts-get-post.js +89 -0
  14. package/esm/funcs/posts-get-post.js.map +1 -0
  15. package/esm/funcs/social-accounts-get-social-account-platform-inputs.d.ts +2 -1
  16. package/esm/funcs/social-accounts-get-social-account-platform-inputs.d.ts.map +1 -1
  17. package/esm/funcs/social-accounts-get-social-account-platform-inputs.js +2 -1
  18. package/esm/funcs/social-accounts-get-social-account-platform-inputs.js.map +1 -1
  19. package/esm/lib/config.d.ts +2 -2
  20. package/esm/lib/config.js +2 -2
  21. package/esm/models/create-post-error-code.d.ts +16 -0
  22. package/esm/models/create-post-error-code.d.ts.map +1 -0
  23. package/esm/models/create-post-error-code.js +17 -0
  24. package/esm/models/create-post-error-code.js.map +1 -0
  25. package/esm/models/create-post-request.d.ts +35 -0
  26. package/esm/models/create-post-request.d.ts.map +1 -0
  27. package/esm/models/create-post-request.js +17 -0
  28. package/esm/models/create-post-request.js.map +1 -0
  29. package/esm/models/delete-post-error-code.d.ts +11 -0
  30. package/esm/models/delete-post-error-code.d.ts.map +1 -0
  31. package/esm/models/delete-post-error-code.js +12 -0
  32. package/esm/models/delete-post-error-code.js.map +1 -0
  33. package/esm/models/delivery-status.d.ts +0 -2
  34. package/esm/models/delivery-status.d.ts.map +1 -1
  35. package/esm/models/delivery-status.js +0 -2
  36. package/esm/models/delivery-status.js.map +1 -1
  37. package/esm/models/draft-post-schedule.d.ts +17 -0
  38. package/esm/models/draft-post-schedule.d.ts.map +1 -0
  39. package/esm/models/draft-post-schedule.js +21 -0
  40. package/esm/models/draft-post-schedule.js.map +1 -0
  41. package/esm/models/errors/create-post-error-response.d.ts +46 -0
  42. package/esm/models/errors/create-post-error-response.d.ts.map +1 -0
  43. package/esm/models/errors/create-post-error-response.js +55 -0
  44. package/esm/models/errors/create-post-error-response.js.map +1 -0
  45. package/esm/models/errors/delete-post-error-response.d.ts +20 -0
  46. package/esm/models/errors/delete-post-error-response.d.ts.map +1 -0
  47. package/esm/models/errors/delete-post-error-response.js +34 -0
  48. package/esm/models/errors/delete-post-error-response.js.map +1 -0
  49. package/esm/models/errors/get-post-error-response.d.ts +20 -0
  50. package/esm/models/errors/get-post-error-response.d.ts.map +1 -0
  51. package/esm/models/errors/get-post-error-response.js +34 -0
  52. package/esm/models/errors/get-post-error-response.js.map +1 -0
  53. package/esm/models/errors/index.d.ts +3 -0
  54. package/esm/models/errors/index.d.ts.map +1 -1
  55. package/esm/models/errors/index.js +3 -0
  56. package/esm/models/errors/index.js.map +1 -1
  57. package/esm/models/facebook-input.d.ts +33 -0
  58. package/esm/models/facebook-input.d.ts.map +1 -0
  59. package/esm/models/facebook-input.js +18 -0
  60. package/esm/models/facebook-input.js.map +1 -0
  61. package/esm/models/facebook-post.d.ts +43 -0
  62. package/esm/models/facebook-post.d.ts.map +1 -0
  63. package/esm/models/facebook-post.js +26 -0
  64. package/esm/models/facebook-post.js.map +1 -0
  65. package/esm/models/get-post-error-code.d.ts +10 -0
  66. package/esm/models/get-post-error-code.d.ts.map +1 -0
  67. package/esm/models/get-post-error-code.js +11 -0
  68. package/esm/models/get-post-error-code.js.map +1 -0
  69. package/esm/models/health-response.d.ts +1 -1
  70. package/esm/models/health-response.d.ts.map +1 -1
  71. package/esm/models/health-response.js +1 -1
  72. package/esm/models/health-response.js.map +1 -1
  73. package/esm/models/index.d.ts +37 -34
  74. package/esm/models/index.d.ts.map +1 -1
  75. package/esm/models/index.js +37 -34
  76. package/esm/models/index.js.map +1 -1
  77. package/esm/models/instagram-input.d.ts +31 -0
  78. package/esm/models/instagram-input.d.ts.map +1 -0
  79. package/esm/models/instagram-input.js +17 -0
  80. package/esm/models/instagram-input.js.map +1 -0
  81. package/esm/models/instagram-post.d.ts +42 -0
  82. package/esm/models/instagram-post.d.ts.map +1 -0
  83. package/esm/models/instagram-post.js +25 -0
  84. package/esm/models/instagram-post.js.map +1 -0
  85. package/esm/models/linked-in-input.d.ts +28 -0
  86. package/esm/models/linked-in-input.d.ts.map +1 -0
  87. package/esm/models/linked-in-input.js +15 -0
  88. package/esm/models/linked-in-input.js.map +1 -0
  89. package/esm/models/linked-in-pages-input.d.ts +28 -0
  90. package/esm/models/linked-in-pages-input.d.ts.map +1 -0
  91. package/esm/models/linked-in-pages-input.js +15 -0
  92. package/esm/models/linked-in-pages-input.js.map +1 -0
  93. package/esm/models/linked-in-pages-post.d.ts +40 -0
  94. package/esm/models/linked-in-pages-post.d.ts.map +1 -0
  95. package/esm/models/linked-in-pages-post.js +23 -0
  96. package/esm/models/linked-in-pages-post.js.map +1 -0
  97. package/esm/models/linked-in-post.d.ts +40 -0
  98. package/esm/models/linked-in-post.d.ts.map +1 -0
  99. package/esm/models/linked-in-post.js +23 -0
  100. package/esm/models/linked-in-post.js.map +1 -0
  101. package/esm/models/media-library-post-content-media-input.d.ts +17 -0
  102. package/esm/models/media-library-post-content-media-input.d.ts.map +1 -0
  103. package/esm/models/media-library-post-content-media-input.js +13 -0
  104. package/esm/models/media-library-post-content-media-input.js.map +1 -0
  105. package/esm/models/media-library-post-content-media.d.ts +31 -0
  106. package/esm/models/media-library-post-content-media.d.ts.map +1 -0
  107. package/esm/models/media-library-post-content-media.js +25 -0
  108. package/esm/models/media-library-post-content-media.js.map +1 -0
  109. package/esm/models/operations/delete-post.d.ts +15 -0
  110. package/esm/models/operations/delete-post.d.ts.map +1 -0
  111. package/esm/models/operations/delete-post.js +12 -0
  112. package/esm/models/operations/delete-post.js.map +1 -0
  113. package/esm/models/operations/get-post.d.ts +15 -0
  114. package/esm/models/operations/get-post.d.ts.map +1 -0
  115. package/esm/models/operations/get-post.js +12 -0
  116. package/esm/models/operations/get-post.js.map +1 -0
  117. package/esm/models/operations/index.d.ts +2 -0
  118. package/esm/models/operations/index.d.ts.map +1 -1
  119. package/esm/models/operations/index.js +2 -0
  120. package/esm/models/operations/index.js.map +1 -1
  121. package/esm/models/pinterest-input.d.ts +30 -0
  122. package/esm/models/pinterest-input.d.ts.map +1 -0
  123. package/esm/models/pinterest-input.js +16 -0
  124. package/esm/models/pinterest-input.js.map +1 -0
  125. package/esm/models/pinterest-post.d.ts +41 -0
  126. package/esm/models/pinterest-post.d.ts.map +1 -0
  127. package/esm/models/pinterest-post.js +24 -0
  128. package/esm/models/pinterest-post.js.map +1 -0
  129. package/esm/models/pinterest-social-account-platform-specific-inputs.d.ts +10 -2
  130. package/esm/models/pinterest-social-account-platform-specific-inputs.d.ts.map +1 -1
  131. package/esm/models/pinterest-social-account-platform-specific-inputs.js +2 -2
  132. package/esm/models/pinterest-social-account-platform-specific-inputs.js.map +1 -1
  133. package/esm/models/post-content-item-input.d.ts +18 -0
  134. package/esm/models/post-content-item-input.d.ts.map +1 -0
  135. package/esm/models/post-content-item-input.js +14 -0
  136. package/esm/models/post-content-item-input.js.map +1 -0
  137. package/esm/models/post-content-item.d.ts +15 -0
  138. package/esm/models/post-content-item.d.ts.map +1 -0
  139. package/esm/models/post-content-item.js +16 -0
  140. package/esm/models/post-content-item.js.map +1 -0
  141. package/esm/models/post-content-media-input.d.ts +14 -0
  142. package/esm/models/post-content-media-input.d.ts.map +1 -0
  143. package/esm/models/post-content-media-input.js +10 -0
  144. package/esm/models/post-content-media-input.js.map +1 -0
  145. package/esm/models/post-content-media.d.ts +14 -0
  146. package/esm/models/post-content-media.d.ts.map +1 -0
  147. package/esm/models/post-content-media.js +11 -0
  148. package/esm/models/post-content-media.js.map +1 -0
  149. package/esm/models/post-schedule.d.ts +17 -0
  150. package/esm/models/post-schedule.d.ts.map +1 -0
  151. package/esm/models/post-schedule.js +28 -0
  152. package/esm/models/post-schedule.js.map +1 -0
  153. package/esm/models/post.d.ts +14 -44
  154. package/esm/models/post.d.ts.map +1 -1
  155. package/esm/models/post.js +8 -18
  156. package/esm/models/post.js.map +1 -1
  157. package/esm/models/publish-now-post-schedule.d.ts +17 -0
  158. package/esm/models/publish-now-post-schedule.d.ts.map +1 -0
  159. package/esm/models/publish-now-post-schedule.js +21 -0
  160. package/esm/models/publish-now-post-schedule.js.map +1 -0
  161. package/esm/models/schedule-for-later-post-schedule.d.ts +22 -0
  162. package/esm/models/schedule-for-later-post-schedule.d.ts.map +1 -0
  163. package/esm/models/schedule-for-later-post-schedule.js +23 -0
  164. package/esm/models/schedule-for-later-post-schedule.js.map +1 -0
  165. package/esm/models/social-account-platform-inputs.d.ts +0 -5
  166. package/esm/models/social-account-platform-inputs.d.ts.map +1 -1
  167. package/esm/models/social-account-platform-inputs.js +0 -2
  168. package/esm/models/social-account-platform-inputs.js.map +1 -1
  169. package/esm/models/social-account-post.d.ts +17 -0
  170. package/esm/models/social-account-post.d.ts.map +1 -0
  171. package/esm/models/social-account-post.js +28 -0
  172. package/esm/models/social-account-post.js.map +1 -0
  173. package/esm/models/social-account-target-input.d.ts +16 -0
  174. package/esm/models/social-account-target-input.d.ts.map +1 -0
  175. package/esm/models/social-account-target-input.js +27 -0
  176. package/esm/models/social-account-target-input.js.map +1 -0
  177. package/esm/models/tik-tok-input.d.ts +90 -0
  178. package/esm/models/tik-tok-input.d.ts.map +1 -0
  179. package/esm/models/tik-tok-input.js +26 -0
  180. package/esm/models/tik-tok-input.js.map +1 -0
  181. package/esm/models/tik-tok-post.d.ts +93 -0
  182. package/esm/models/tik-tok-post.d.ts.map +1 -0
  183. package/esm/models/tik-tok-post.js +35 -0
  184. package/esm/models/tik-tok-post.js.map +1 -0
  185. package/esm/models/tik-tok-social-account-platform-specific-inputs.d.ts +26 -2
  186. package/esm/models/tik-tok-social-account-platform-specific-inputs.d.ts.map +1 -1
  187. package/esm/models/tik-tok-social-account-platform-specific-inputs.js +6 -2
  188. package/esm/models/tik-tok-social-account-platform-specific-inputs.js.map +1 -1
  189. package/esm/models/upload-session-aborted-status.d.ts +14 -0
  190. package/esm/models/upload-session-aborted-status.d.ts.map +1 -0
  191. package/esm/models/upload-session-aborted-status.js +15 -0
  192. package/esm/models/upload-session-aborted-status.js.map +1 -0
  193. package/esm/models/upload-session-failed-status.d.ts +22 -0
  194. package/esm/models/upload-session-failed-status.d.ts.map +1 -0
  195. package/esm/models/upload-session-failed-status.js +17 -0
  196. package/esm/models/upload-session-failed-status.js.map +1 -0
  197. package/esm/models/upload-session-initiated-status.d.ts +14 -0
  198. package/esm/models/upload-session-initiated-status.d.ts.map +1 -0
  199. package/esm/models/upload-session-initiated-status.js +15 -0
  200. package/esm/models/upload-session-initiated-status.js.map +1 -0
  201. package/esm/models/upload-session-ready-status.d.ts +18 -0
  202. package/esm/models/upload-session-ready-status.d.ts.map +1 -0
  203. package/esm/models/upload-session-ready-status.js +16 -0
  204. package/esm/models/upload-session-ready-status.js.map +1 -0
  205. package/esm/models/upload-session-status.d.ts +7 -11
  206. package/esm/models/upload-session-status.d.ts.map +1 -1
  207. package/esm/models/upload-session-status.js +12 -9
  208. package/esm/models/upload-session-status.js.map +1 -1
  209. package/esm/models/upload-session-uploaded-status.d.ts +14 -0
  210. package/esm/models/upload-session-uploaded-status.d.ts.map +1 -0
  211. package/esm/models/upload-session-uploaded-status.js +15 -0
  212. package/esm/models/upload-session-uploaded-status.js.map +1 -0
  213. package/esm/models/validation-error.d.ts +4 -2
  214. package/esm/models/validation-error.d.ts.map +1 -1
  215. package/esm/models/validation-error.js +1 -2
  216. package/esm/models/validation-error.js.map +1 -1
  217. package/esm/models/x-input.d.ts +28 -0
  218. package/esm/models/x-input.d.ts.map +1 -0
  219. package/esm/models/x-input.js +16 -0
  220. package/esm/models/x-input.js.map +1 -0
  221. package/esm/models/x-post.d.ts +40 -0
  222. package/esm/models/x-post.d.ts.map +1 -0
  223. package/esm/models/x-post.js +23 -0
  224. package/esm/models/x-post.js.map +1 -0
  225. package/esm/models/you-tube-input.d.ts +37 -0
  226. package/esm/models/you-tube-input.d.ts.map +1 -0
  227. package/esm/models/you-tube-input.js +20 -0
  228. package/esm/models/you-tube-input.js.map +1 -0
  229. package/esm/models/you-tube-post.d.ts +45 -0
  230. package/esm/models/you-tube-post.d.ts.map +1 -0
  231. package/esm/models/you-tube-post.js +29 -0
  232. package/esm/models/you-tube-post.js.map +1 -0
  233. package/esm/sdk/posts.d.ts +15 -27
  234. package/esm/sdk/posts.d.ts.map +1 -1
  235. package/esm/sdk/posts.js +20 -36
  236. package/esm/sdk/posts.js.map +1 -1
  237. package/esm/sdk/social-accounts.d.ts +2 -1
  238. package/esm/sdk/social-accounts.d.ts.map +1 -1
  239. package/esm/sdk/social-accounts.js +2 -1
  240. package/esm/sdk/social-accounts.js.map +1 -1
  241. package/jsr.json +1 -1
  242. package/package.json +1 -1
  243. package/src/funcs/{posts-delete-posts.ts → posts-create-post.ts} +27 -16
  244. package/src/funcs/{posts-create-posts.ts → posts-delete-post.ts} +36 -24
  245. package/src/funcs/{posts-list-posts.ts → posts-get-post.ts} +34 -21
  246. package/src/funcs/social-accounts-get-social-account-platform-inputs.ts +2 -1
  247. package/src/lib/config.ts +2 -2
  248. package/src/models/{create-post-failure-code.ts → create-post-error-code.ts} +8 -7
  249. package/src/models/create-post-request.ts +67 -0
  250. package/src/models/{delete-post-failure-code.ts → delete-post-error-code.ts} +5 -5
  251. package/src/models/delivery-status.ts +0 -5
  252. package/src/models/draft-post-schedule.ts +50 -0
  253. package/src/models/errors/create-post-error-response.ts +89 -0
  254. package/src/models/errors/delete-post-error-response.ts +53 -0
  255. package/src/models/errors/get-post-error-response.ts +53 -0
  256. package/src/models/errors/index.ts +3 -0
  257. package/src/models/facebook-input.ts +58 -0
  258. package/src/models/facebook-post.ts +80 -0
  259. package/src/models/get-post-error-code.ts +19 -0
  260. package/src/models/health-response.ts +2 -2
  261. package/src/models/index.ts +37 -34
  262. package/src/models/instagram-input.ts +55 -0
  263. package/src/models/instagram-post.ts +80 -0
  264. package/src/models/linked-in-input.ts +48 -0
  265. package/src/models/linked-in-pages-input.ts +52 -0
  266. package/src/models/linked-in-pages-post.ts +74 -0
  267. package/src/models/linked-in-post.ts +72 -0
  268. package/src/models/media-library-post-content-media-input.ts +38 -0
  269. package/src/models/media-library-post-content-media.ts +60 -0
  270. package/src/models/operations/delete-post.ts +33 -0
  271. package/src/models/operations/get-post.ts +29 -0
  272. package/src/models/operations/index.ts +2 -0
  273. package/src/models/pinterest-input.ts +51 -0
  274. package/src/models/pinterest-post.ts +76 -0
  275. package/src/models/pinterest-social-account-platform-specific-inputs.ts +13 -5
  276. package/src/models/post-content-item-input.ts +41 -0
  277. package/src/models/post-content-item.ts +40 -0
  278. package/src/models/post-content-media-input.ts +35 -0
  279. package/src/models/post-content-media.ts +35 -0
  280. package/src/models/post-schedule.ts +70 -0
  281. package/src/models/post.ts +23 -65
  282. package/src/models/publish-now-post-schedule.ts +50 -0
  283. package/src/models/schedule-for-later-post-schedule.ts +59 -0
  284. package/src/models/social-account-platform-inputs.ts +0 -9
  285. package/src/models/social-account-post.ts +63 -0
  286. package/src/models/social-account-target-input.ts +85 -0
  287. package/src/models/tik-tok-input.ts +125 -0
  288. package/src/models/tik-tok-post.ts +140 -0
  289. package/src/models/tik-tok-social-account-platform-specific-inputs.ts +33 -5
  290. package/src/models/upload-session-aborted-status.ts +36 -0
  291. package/src/models/upload-session-failed-status.ts +46 -0
  292. package/src/models/upload-session-initiated-status.ts +36 -0
  293. package/src/models/upload-session-ready-status.ts +41 -0
  294. package/src/models/upload-session-status.ts +34 -20
  295. package/src/models/upload-session-uploaded-status.ts +36 -0
  296. package/src/models/validation-error.ts +5 -6
  297. package/src/models/x-input.ts +46 -0
  298. package/src/models/x-post.ts +71 -0
  299. package/src/models/you-tube-input.ts +64 -0
  300. package/src/models/you-tube-post.ts +84 -0
  301. package/src/sdk/posts.ts +27 -50
  302. package/src/sdk/social-accounts.ts +2 -1
  303. package/src/funcs/posts-update-posts.ts +0 -165
  304. package/src/models/create-post-failure-result.ts +0 -68
  305. package/src/models/create-post-item.ts +0 -73
  306. package/src/models/create-post-result.ts +0 -42
  307. package/src/models/create-post-success-result.ts +0 -50
  308. package/src/models/create-posts-response.ts +0 -37
  309. package/src/models/delete-post-failure-result.ts +0 -44
  310. package/src/models/delete-post-result.ts +0 -42
  311. package/src/models/delete-post-success-result.ts +0 -36
  312. package/src/models/delete-posts-response.ts +0 -37
  313. package/src/models/facebook-specifics.ts +0 -63
  314. package/src/models/instagram-specifics.ts +0 -59
  315. package/src/models/linked-in-pages-specifics.ts +0 -50
  316. package/src/models/linked-in-specifics.ts +0 -50
  317. package/src/models/list-posts-request.ts +0 -68
  318. package/src/models/list-posts-response.ts +0 -37
  319. package/src/models/pinterest-account-platform-inputs.ts +0 -42
  320. package/src/models/pinterest-specifics.ts +0 -54
  321. package/src/models/platform-specifics.ts +0 -129
  322. package/src/models/post-media.ts +0 -56
  323. package/src/models/tik-tok-account-platform-inputs.ts +0 -63
  324. package/src/models/tik-tok-specifics.ts +0 -94
  325. package/src/models/update-post-failure-code.ts +0 -23
  326. package/src/models/update-post-failure-result.ts +0 -68
  327. package/src/models/update-post-item.ts +0 -61
  328. package/src/models/update-post-result.ts +0 -42
  329. package/src/models/update-post-success-result.ts +0 -45
  330. package/src/models/update-posts-response.ts +0 -37
  331. package/src/models/upload-session-status-value.ts +0 -24
  332. package/src/models/validation-field.ts +0 -29
  333. package/src/models/validation-warning.ts +0 -37
  334. package/src/models/x-specifics.ts +0 -44
  335. package/src/models/you-tube-specifics.ts +0 -71
@@ -4,7 +4,7 @@
4
4
 
5
5
  import * as z from "zod/v4-mini";
6
6
  import { WoopSocialCore } from "../core.js";
7
- import { encodeJSON } from "../lib/encodings.js";
7
+ import { encodeSimple } from "../lib/encodings.js";
8
8
  import * as M from "../lib/matchers.js";
9
9
  import { compactMap } from "../lib/primitives.js";
10
10
  import { safeParse } from "../lib/schemas.js";
@@ -18,32 +18,31 @@ import {
18
18
  RequestTimeoutError,
19
19
  UnexpectedClientError,
20
20
  } from "../models/errors/http-client-errors.js";
21
+ import * as errors from "../models/errors/index.js";
21
22
  import { ResponseValidationError } from "../models/errors/response-validation-error.js";
22
23
  import { SDKValidationError } from "../models/errors/sdk-validation-error.js";
23
24
  import { WoopSocialError } from "../models/errors/woop-social-error.js";
24
- import * as models from "../models/index.js";
25
+ import * as operations from "../models/operations/index.js";
25
26
  import { APICall, APIPromise } from "../types/async.js";
26
27
  import { Result } from "../types/fp.js";
27
28
 
28
29
  /**
29
- * Create posts
30
+ * Delete post
30
31
  *
31
32
  * @remarks
32
- * Creates one or more scheduled posts.
33
+ * Deletes one scheduled post by post ID.
33
34
  *
34
- * Each item in the request body creates one scheduled post for a single connected social account. Each item must target a specific project.
35
- *
36
- * Each item must provide an `idempotencyKey`. Reusing the same `idempotencyKey` for the same API key replays the original result for that item. This is to help you prevent accidentally publishing the same post multiple times, in case you need to retry due to network failures.
37
- *
38
- * Results are returned in the same order as the input array.
35
+ * A post can only be deleted when all of its social-account deliveries are
36
+ * still `NOT_STARTED`.
39
37
  */
40
- export function postsCreatePosts(
38
+ export function postsDeletePost(
41
39
  client: WoopSocialCore,
42
- request: Array<models.CreatePostItem>,
40
+ request: operations.DeletePostRequest,
43
41
  options?: RequestOptions,
44
42
  ): APIPromise<
45
43
  Result<
46
- models.CreatePostsResponse,
44
+ void,
45
+ | errors.DeletePostErrorResponse
47
46
  | WoopSocialError
48
47
  | ResponseValidationError
49
48
  | ConnectionError
@@ -63,12 +62,13 @@ export function postsCreatePosts(
63
62
 
64
63
  async function $do(
65
64
  client: WoopSocialCore,
66
- request: Array<models.CreatePostItem>,
65
+ request: operations.DeletePostRequest,
67
66
  options?: RequestOptions,
68
67
  ): Promise<
69
68
  [
70
69
  Result<
71
- models.CreatePostsResponse,
70
+ void,
71
+ | errors.DeletePostErrorResponse
72
72
  | WoopSocialError
73
73
  | ResponseValidationError
74
74
  | ConnectionError
@@ -83,19 +83,24 @@ async function $do(
83
83
  > {
84
84
  const parsed = safeParse(
85
85
  request,
86
- (value) => z.parse(z.array(models.CreatePostItem$outboundSchema), value),
86
+ (value) => z.parse(operations.DeletePostRequest$outboundSchema, value),
87
87
  "Input validation failed",
88
88
  );
89
89
  if (!parsed.ok) {
90
90
  return [parsed, { status: "invalid" }];
91
91
  }
92
92
  const payload = parsed.value;
93
- const body = encodeJSON("body", payload, { explode: true });
93
+ const body = null;
94
94
 
95
- const path = pathToFunc("/posts/create")();
95
+ const pathParams = {
96
+ postId: encodeSimple("postId", payload.postId, {
97
+ explode: false,
98
+ charEncoding: "percent",
99
+ }),
100
+ };
101
+ const path = pathToFunc("/posts/{postId}")(pathParams);
96
102
 
97
103
  const headers = new Headers(compactMap({
98
- "Content-Type": "application/json",
99
104
  Accept: "application/json",
100
105
  }));
101
106
 
@@ -106,7 +111,7 @@ async function $do(
106
111
  const context = {
107
112
  options: client._options,
108
113
  baseURL: options?.serverURL ?? client._baseURL ?? "",
109
- operationID: "createPosts",
114
+ operationID: "deletePost",
110
115
  oAuth2Scopes: null,
111
116
 
112
117
  resolvedSecurity: requestSecurity,
@@ -120,7 +125,7 @@ async function $do(
120
125
 
121
126
  const requestRes = client._createRequest(context, {
122
127
  security: requestSecurity,
123
- method: "POST",
128
+ method: "DELETE",
124
129
  baseURL: options?.serverURL,
125
130
  path: path,
126
131
  headers: headers,
@@ -135,7 +140,7 @@ async function $do(
135
140
 
136
141
  const doResult = await client._do(req, {
137
142
  context,
138
- errorCodes: ["4XX", "5XX"],
143
+ errorCodes: ["404", "409", "4XX", "500", "5XX"],
139
144
  retryConfig: context.retryConfig,
140
145
  retryCodes: context.retryCodes,
141
146
  });
@@ -144,8 +149,13 @@ async function $do(
144
149
  }
145
150
  const response = doResult.value;
146
151
 
152
+ const responseFields = {
153
+ HttpMeta: { Response: response, Request: req },
154
+ };
155
+
147
156
  const [result] = await M.match<
148
- models.CreatePostsResponse,
157
+ void,
158
+ | errors.DeletePostErrorResponse
149
159
  | WoopSocialError
150
160
  | ResponseValidationError
151
161
  | ConnectionError
@@ -155,10 +165,12 @@ async function $do(
155
165
  | UnexpectedClientError
156
166
  | SDKValidationError
157
167
  >(
158
- M.json(200, models.CreatePostsResponse$inboundSchema),
168
+ M.nil(204, z.void()),
169
+ M.jsonErr([404, 409], errors.DeletePostErrorResponse$inboundSchema),
170
+ M.jsonErr(500, errors.DeletePostErrorResponse$inboundSchema),
159
171
  M.fail("4XX"),
160
172
  M.fail("5XX"),
161
- )(response, req);
173
+ )(response, req, { extraFields: responseFields });
162
174
  if (!result.ok) {
163
175
  return [result, { status: "complete", request: req, response }];
164
176
  }
@@ -4,7 +4,7 @@
4
4
 
5
5
  import * as z from "zod/v4-mini";
6
6
  import { WoopSocialCore } from "../core.js";
7
- import { encodeJSON } from "../lib/encodings.js";
7
+ import { encodeSimple } from "../lib/encodings.js";
8
8
  import * as M from "../lib/matchers.js";
9
9
  import { compactMap } from "../lib/primitives.js";
10
10
  import { safeParse } from "../lib/schemas.js";
@@ -18,26 +18,29 @@ import {
18
18
  RequestTimeoutError,
19
19
  UnexpectedClientError,
20
20
  } from "../models/errors/http-client-errors.js";
21
+ import * as errors from "../models/errors/index.js";
21
22
  import { ResponseValidationError } from "../models/errors/response-validation-error.js";
22
23
  import { SDKValidationError } from "../models/errors/sdk-validation-error.js";
23
24
  import { WoopSocialError } from "../models/errors/woop-social-error.js";
24
25
  import * as models from "../models/index.js";
26
+ import * as operations from "../models/operations/index.js";
25
27
  import { APICall, APIPromise } from "../types/async.js";
26
28
  import { Result } from "../types/fp.js";
27
29
 
28
30
  /**
29
- * List posts
31
+ * Get post
30
32
  *
31
33
  * @remarks
32
- * Returns outbound posts that were scheduled within various projects.
34
+ * Returns one post with its social-account children inline.
33
35
  */
34
- export function postsListPosts(
36
+ export function postsGetPost(
35
37
  client: WoopSocialCore,
36
- request?: models.ListPostsRequest | undefined,
38
+ request: operations.GetPostRequest,
37
39
  options?: RequestOptions,
38
40
  ): APIPromise<
39
41
  Result<
40
- models.ListPostsResponse,
42
+ models.Post,
43
+ | errors.GetPostErrorResponse
41
44
  | WoopSocialError
42
45
  | ResponseValidationError
43
46
  | ConnectionError
@@ -57,12 +60,13 @@ export function postsListPosts(
57
60
 
58
61
  async function $do(
59
62
  client: WoopSocialCore,
60
- request?: models.ListPostsRequest | undefined,
63
+ request: operations.GetPostRequest,
61
64
  options?: RequestOptions,
62
65
  ): Promise<
63
66
  [
64
67
  Result<
65
- models.ListPostsResponse,
68
+ models.Post,
69
+ | errors.GetPostErrorResponse
66
70
  | WoopSocialError
67
71
  | ResponseValidationError
68
72
  | ConnectionError
@@ -77,22 +81,24 @@ async function $do(
77
81
  > {
78
82
  const parsed = safeParse(
79
83
  request,
80
- (value) =>
81
- z.parse(z.optional(models.ListPostsRequest$outboundSchema), value),
84
+ (value) => z.parse(operations.GetPostRequest$outboundSchema, value),
82
85
  "Input validation failed",
83
86
  );
84
87
  if (!parsed.ok) {
85
88
  return [parsed, { status: "invalid" }];
86
89
  }
87
90
  const payload = parsed.value;
88
- const body = payload === undefined
89
- ? null
90
- : encodeJSON("body", payload, { explode: true });
91
+ const body = null;
91
92
 
92
- const path = pathToFunc("/posts/list")();
93
+ const pathParams = {
94
+ postId: encodeSimple("postId", payload.postId, {
95
+ explode: false,
96
+ charEncoding: "percent",
97
+ }),
98
+ };
99
+ const path = pathToFunc("/posts/{postId}")(pathParams);
93
100
 
94
101
  const headers = new Headers(compactMap({
95
- "Content-Type": "application/json",
96
102
  Accept: "application/json",
97
103
  }));
98
104
 
@@ -103,7 +109,7 @@ async function $do(
103
109
  const context = {
104
110
  options: client._options,
105
111
  baseURL: options?.serverURL ?? client._baseURL ?? "",
106
- operationID: "listPosts",
112
+ operationID: "getPost",
107
113
  oAuth2Scopes: null,
108
114
 
109
115
  resolvedSecurity: requestSecurity,
@@ -117,7 +123,7 @@ async function $do(
117
123
 
118
124
  const requestRes = client._createRequest(context, {
119
125
  security: requestSecurity,
120
- method: "POST",
126
+ method: "GET",
121
127
  baseURL: options?.serverURL,
122
128
  path: path,
123
129
  headers: headers,
@@ -132,7 +138,7 @@ async function $do(
132
138
 
133
139
  const doResult = await client._do(req, {
134
140
  context,
135
- errorCodes: ["4XX", "5XX"],
141
+ errorCodes: ["404", "4XX", "500", "5XX"],
136
142
  retryConfig: context.retryConfig,
137
143
  retryCodes: context.retryCodes,
138
144
  });
@@ -141,8 +147,13 @@ async function $do(
141
147
  }
142
148
  const response = doResult.value;
143
149
 
150
+ const responseFields = {
151
+ HttpMeta: { Response: response, Request: req },
152
+ };
153
+
144
154
  const [result] = await M.match<
145
- models.ListPostsResponse,
155
+ models.Post,
156
+ | errors.GetPostErrorResponse
146
157
  | WoopSocialError
147
158
  | ResponseValidationError
148
159
  | ConnectionError
@@ -152,10 +163,12 @@ async function $do(
152
163
  | UnexpectedClientError
153
164
  | SDKValidationError
154
165
  >(
155
- M.json(200, models.ListPostsResponse$inboundSchema),
166
+ M.json(200, models.Post$inboundSchema),
167
+ M.jsonErr(404, errors.GetPostErrorResponse$inboundSchema),
168
+ M.jsonErr(500, errors.GetPostErrorResponse$inboundSchema),
156
169
  M.fail("4XX"),
157
170
  M.fail("5XX"),
158
- )(response, req);
171
+ )(response, req, { extraFields: responseFields });
159
172
  if (!result.ok) {
160
173
  return [result, { status: "complete", request: req, response }];
161
174
  }
@@ -32,7 +32,8 @@ import { Result } from "../types/fp.js";
32
32
  * @remarks
33
33
  * Returns platform-specific input options for a connected social account.
34
34
  *
35
- * Use this endpoint to discover valid values for fields inside `platformSpecifics` when creating posts for Pinterest and TikTok.
35
+ * Use this endpoint to discover valid values for flattened post-target
36
+ * fields such as `pinterestBoardId` and `privacyLevel`.
36
37
  */
37
38
  export function socialAccountsGetSocialAccountPlatformInputs(
38
39
  client: WoopSocialCore,
package/src/lib/config.ts CHANGED
@@ -61,8 +61,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
61
61
  export const SDK_METADATA = {
62
62
  language: "typescript",
63
63
  openapiDocVersion: "1.0.0",
64
- sdkVersion: "0.0.9",
64
+ sdkVersion: "0.1.0",
65
65
  genVersion: "2.879.6",
66
66
  userAgent:
67
- "speakeasy-sdk/typescript 0.0.9 2.879.6 1.0.0 @woopsocial/typescript-sdk",
67
+ "speakeasy-sdk/typescript 0.1.0 2.879.6 1.0.0 @woopsocial/typescript-sdk",
68
68
  } as const;
@@ -6,20 +6,21 @@ import * as z from "zod/v4-mini";
6
6
  import * as openEnums from "../types/enums.js";
7
7
  import { OpenEnum } from "../types/enums.js";
8
8
 
9
- export const CreatePostFailureCode = {
10
- InvalidProjectId: "INVALID_PROJECT_ID",
11
- ProjectNotFound: "PROJECT_NOT_FOUND",
9
+ export const CreatePostErrorCode = {
12
10
  InvalidSocialAccountId: "INVALID_SOCIAL_ACCOUNT_ID",
13
11
  SocialAccountNotConnected: "SOCIAL_ACCOUNT_NOT_CONNECTED",
12
+ SocialAccountsMustBelongToSameProject:
13
+ "SOCIAL_ACCOUNTS_MUST_BELONG_TO_SAME_PROJECT",
14
+ DuplicateSocialAccountId: "DUPLICATE_SOCIAL_ACCOUNT_ID",
14
15
  InvalidMediaId: "INVALID_MEDIA_ID",
15
16
  InvalidPlatformSpecificData: "INVALID_PLATFORM_SPECIFIC_DATA",
16
17
  ValidationFailed: "VALIDATION_FAILED",
17
18
  InternalError: "INTERNAL_ERROR",
18
19
  } as const;
19
- export type CreatePostFailureCode = OpenEnum<typeof CreatePostFailureCode>;
20
+ export type CreatePostErrorCode = OpenEnum<typeof CreatePostErrorCode>;
20
21
 
21
22
  /** @internal */
22
- export const CreatePostFailureCode$inboundSchema: z.ZodMiniType<
23
- CreatePostFailureCode,
23
+ export const CreatePostErrorCode$inboundSchema: z.ZodMiniType<
24
+ CreatePostErrorCode,
24
25
  unknown
25
- > = openEnums.inboundSchema(CreatePostFailureCode);
26
+ > = openEnums.inboundSchema(CreatePostErrorCode);
@@ -0,0 +1,67 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import {
7
+ PostContentItemInput,
8
+ PostContentItemInput$Outbound,
9
+ PostContentItemInput$outboundSchema,
10
+ } from "./post-content-item-input.js";
11
+ import {
12
+ PostSchedule,
13
+ PostSchedule$Outbound,
14
+ PostSchedule$outboundSchema,
15
+ } from "./post-schedule.js";
16
+ import {
17
+ SocialAccountTargetInput,
18
+ SocialAccountTargetInput$Outbound,
19
+ SocialAccountTargetInput$outboundSchema,
20
+ } from "./social-account-target-input.js";
21
+
22
+ export type CreatePostRequest = {
23
+ /**
24
+ * Post content expressed as thread items.
25
+ *
26
+ * @remarks
27
+ *
28
+ * The array exists for future thread support. Currently exactly one item
29
+ * is supported.
30
+ */
31
+ content: Array<PostContentItemInput>;
32
+ schedule: PostSchedule;
33
+ /**
34
+ * Social-account targets for this post.
35
+ *
36
+ * @remarks
37
+ *
38
+ * All referenced social accounts must belong to the same project.
39
+ * Duplicate `socialAccountId` values are invalid.
40
+ */
41
+ socialAccounts: Array<SocialAccountTargetInput>;
42
+ };
43
+
44
+ /** @internal */
45
+ export type CreatePostRequest$Outbound = {
46
+ content: Array<PostContentItemInput$Outbound>;
47
+ schedule: PostSchedule$Outbound;
48
+ socialAccounts: Array<SocialAccountTargetInput$Outbound>;
49
+ };
50
+
51
+ /** @internal */
52
+ export const CreatePostRequest$outboundSchema: z.ZodMiniType<
53
+ CreatePostRequest$Outbound,
54
+ CreatePostRequest
55
+ > = z.object({
56
+ content: z.array(PostContentItemInput$outboundSchema),
57
+ schedule: PostSchedule$outboundSchema,
58
+ socialAccounts: z.array(SocialAccountTargetInput$outboundSchema),
59
+ });
60
+
61
+ export function createPostRequestToJSON(
62
+ createPostRequest: CreatePostRequest,
63
+ ): string {
64
+ return JSON.stringify(
65
+ CreatePostRequest$outboundSchema.parse(createPostRequest),
66
+ );
67
+ }
@@ -6,15 +6,15 @@ import * as z from "zod/v4-mini";
6
6
  import * as openEnums from "../types/enums.js";
7
7
  import { OpenEnum } from "../types/enums.js";
8
8
 
9
- export const DeletePostFailureCode = {
9
+ export const DeletePostErrorCode = {
10
10
  PostNotFound: "POST_NOT_FOUND",
11
11
  PostNotDeletable: "POST_NOT_DELETABLE",
12
12
  InternalError: "INTERNAL_ERROR",
13
13
  } as const;
14
- export type DeletePostFailureCode = OpenEnum<typeof DeletePostFailureCode>;
14
+ export type DeletePostErrorCode = OpenEnum<typeof DeletePostErrorCode>;
15
15
 
16
16
  /** @internal */
17
- export const DeletePostFailureCode$inboundSchema: z.ZodMiniType<
18
- DeletePostFailureCode,
17
+ export const DeletePostErrorCode$inboundSchema: z.ZodMiniType<
18
+ DeletePostErrorCode,
19
19
  unknown
20
- > = openEnums.inboundSchema(DeletePostFailureCode);
20
+ > = openEnums.inboundSchema(DeletePostErrorCode);
@@ -39,8 +39,3 @@ export const DeliveryStatus$inboundSchema: z.ZodMiniType<
39
39
  DeliveryStatus,
40
40
  unknown
41
41
  > = openEnums.inboundSchema(DeliveryStatus);
42
- /** @internal */
43
- export const DeliveryStatus$outboundSchema: z.ZodMiniType<
44
- string,
45
- DeliveryStatus
46
- > = openEnums.outboundSchema(DeliveryStatus);
@@ -0,0 +1,50 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { safeParse } from "../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../types/fp.js";
8
+ import * as types from "../types/primitives.js";
9
+ import { SDKValidationError } from "./errors/sdk-validation-error.js";
10
+
11
+ export type DraftPostSchedule = {
12
+ type: "DRAFT";
13
+ };
14
+
15
+ /** @internal */
16
+ export const DraftPostSchedule$inboundSchema: z.ZodMiniType<
17
+ DraftPostSchedule,
18
+ unknown
19
+ > = z.object({
20
+ type: types.literal("DRAFT"),
21
+ });
22
+ /** @internal */
23
+ export type DraftPostSchedule$Outbound = {
24
+ type: "DRAFT";
25
+ };
26
+
27
+ /** @internal */
28
+ export const DraftPostSchedule$outboundSchema: z.ZodMiniType<
29
+ DraftPostSchedule$Outbound,
30
+ DraftPostSchedule
31
+ > = z.object({
32
+ type: z.literal("DRAFT"),
33
+ });
34
+
35
+ export function draftPostScheduleToJSON(
36
+ draftPostSchedule: DraftPostSchedule,
37
+ ): string {
38
+ return JSON.stringify(
39
+ DraftPostSchedule$outboundSchema.parse(draftPostSchedule),
40
+ );
41
+ }
42
+ export function draftPostScheduleFromJSON(
43
+ jsonString: string,
44
+ ): SafeParseResult<DraftPostSchedule, SDKValidationError> {
45
+ return safeParse(
46
+ jsonString,
47
+ (x) => DraftPostSchedule$inboundSchema.parse(JSON.parse(x)),
48
+ `Failed to parse 'DraftPostSchedule' from JSON`,
49
+ );
50
+ }
@@ -0,0 +1,89 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import * as types from "../../types/primitives.js";
7
+ import * as models from "../index.js";
8
+ import { WoopSocialError } from "./woop-social-error.js";
9
+
10
+ export type CreatePostErrorResponseData = {
11
+ code: models.CreatePostErrorCode;
12
+ message: string;
13
+ /**
14
+ * Field-level validation failures. Omitted when not applicable.
15
+ */
16
+ validationErrors?: Array<models.ValidationError> | undefined;
17
+ /**
18
+ * Two social account IDs that belong to different projects.
19
+ *
20
+ * @remarks
21
+ *
22
+ * Returned when `code` is
23
+ * `SOCIAL_ACCOUNTS_MUST_BELONG_TO_SAME_PROJECT`.
24
+ */
25
+ conflictingSocialAccountIds?: Array<string> | undefined;
26
+ };
27
+
28
+ export class CreatePostErrorResponse extends WoopSocialError {
29
+ code: models.CreatePostErrorCode;
30
+ /**
31
+ * Field-level validation failures. Omitted when not applicable.
32
+ */
33
+ validationErrors?: Array<models.ValidationError> | undefined;
34
+ /**
35
+ * Two social account IDs that belong to different projects.
36
+ *
37
+ * @remarks
38
+ *
39
+ * Returned when `code` is
40
+ * `SOCIAL_ACCOUNTS_MUST_BELONG_TO_SAME_PROJECT`.
41
+ */
42
+ conflictingSocialAccountIds?: Array<string> | undefined;
43
+
44
+ /** The original data that was passed to this error instance. */
45
+ data$: CreatePostErrorResponseData;
46
+
47
+ constructor(
48
+ err: CreatePostErrorResponseData,
49
+ httpMeta: { response: Response; request: Request; body: string },
50
+ ) {
51
+ const message = err.message || `API error occurred: ${JSON.stringify(err)}`;
52
+ super(message, httpMeta);
53
+ this.data$ = err;
54
+ this.code = err.code;
55
+ if (err.validationErrors != null) {
56
+ this.validationErrors = err.validationErrors;
57
+ }
58
+ if (err.conflictingSocialAccountIds != null) {
59
+ this.conflictingSocialAccountIds = err.conflictingSocialAccountIds;
60
+ }
61
+
62
+ this.name = "CreatePostErrorResponse";
63
+ }
64
+ }
65
+
66
+ /** @internal */
67
+ export const CreatePostErrorResponse$inboundSchema: z.ZodMiniType<
68
+ CreatePostErrorResponse,
69
+ unknown
70
+ > = z.pipe(
71
+ z.object({
72
+ code: models.CreatePostErrorCode$inboundSchema,
73
+ message: types.string(),
74
+ validationErrors: types.optional(
75
+ z.array(models.ValidationError$inboundSchema),
76
+ ),
77
+ conflictingSocialAccountIds: types.optional(z.array(types.string())),
78
+ request$: z.custom<Request>(x => x instanceof Request),
79
+ response$: z.custom<Response>(x => x instanceof Response),
80
+ body$: z.string(),
81
+ }),
82
+ z.transform((v) => {
83
+ return new CreatePostErrorResponse(v, {
84
+ request: v.request$,
85
+ response: v.response$,
86
+ body: v.body$,
87
+ });
88
+ }),
89
+ );
@@ -0,0 +1,53 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import * as types from "../../types/primitives.js";
7
+ import * as models from "../index.js";
8
+ import { WoopSocialError } from "./woop-social-error.js";
9
+
10
+ export type DeletePostErrorResponseData = {
11
+ code: models.DeletePostErrorCode;
12
+ message: string;
13
+ };
14
+
15
+ export class DeletePostErrorResponse extends WoopSocialError {
16
+ code: models.DeletePostErrorCode;
17
+
18
+ /** The original data that was passed to this error instance. */
19
+ data$: DeletePostErrorResponseData;
20
+
21
+ constructor(
22
+ err: DeletePostErrorResponseData,
23
+ httpMeta: { response: Response; request: Request; body: string },
24
+ ) {
25
+ const message = err.message || `API error occurred: ${JSON.stringify(err)}`;
26
+ super(message, httpMeta);
27
+ this.data$ = err;
28
+ this.code = err.code;
29
+
30
+ this.name = "DeletePostErrorResponse";
31
+ }
32
+ }
33
+
34
+ /** @internal */
35
+ export const DeletePostErrorResponse$inboundSchema: z.ZodMiniType<
36
+ DeletePostErrorResponse,
37
+ unknown
38
+ > = z.pipe(
39
+ z.object({
40
+ code: models.DeletePostErrorCode$inboundSchema,
41
+ message: types.string(),
42
+ request$: z.custom<Request>(x => x instanceof Request),
43
+ response$: z.custom<Response>(x => x instanceof Response),
44
+ body$: z.string(),
45
+ }),
46
+ z.transform((v) => {
47
+ return new DeletePostErrorResponse(v, {
48
+ request: v.request$,
49
+ response: v.response$,
50
+ body: v.body$,
51
+ });
52
+ }),
53
+ );