@memberjunction/actions-bizapps-social 2.61.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 (458) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/CHANGELOG.md +16 -0
  3. package/README.md +375 -0
  4. package/dist/base/base-social.action.d.ts +137 -0
  5. package/dist/base/base-social.action.d.ts.map +1 -0
  6. package/dist/base/base-social.action.js +176 -0
  7. package/dist/base/base-social.action.js.map +1 -0
  8. package/dist/index.d.ts +10 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +35 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/providers/buffer/actions/create-post.action.d.ts +20 -0
  13. package/dist/providers/buffer/actions/create-post.action.d.ts.map +1 -0
  14. package/dist/providers/buffer/actions/create-post.action.js +195 -0
  15. package/dist/providers/buffer/actions/create-post.action.js.map +1 -0
  16. package/dist/providers/buffer/actions/delete-post.action.d.ts +20 -0
  17. package/dist/providers/buffer/actions/delete-post.action.d.ts.map +1 -0
  18. package/dist/providers/buffer/actions/delete-post.action.js +119 -0
  19. package/dist/providers/buffer/actions/delete-post.action.js.map +1 -0
  20. package/dist/providers/buffer/actions/get-analytics.action.d.ts +28 -0
  21. package/dist/providers/buffer/actions/get-analytics.action.d.ts.map +1 -0
  22. package/dist/providers/buffer/actions/get-analytics.action.js +143 -0
  23. package/dist/providers/buffer/actions/get-analytics.action.js.map +1 -0
  24. package/dist/providers/buffer/actions/get-pending-posts.action.d.ts +24 -0
  25. package/dist/providers/buffer/actions/get-pending-posts.action.d.ts.map +1 -0
  26. package/dist/providers/buffer/actions/get-pending-posts.action.js +161 -0
  27. package/dist/providers/buffer/actions/get-pending-posts.action.js.map +1 -0
  28. package/dist/providers/buffer/actions/get-profiles.action.d.ts +24 -0
  29. package/dist/providers/buffer/actions/get-profiles.action.d.ts.map +1 -0
  30. package/dist/providers/buffer/actions/get-profiles.action.js +128 -0
  31. package/dist/providers/buffer/actions/get-profiles.action.js.map +1 -0
  32. package/dist/providers/buffer/actions/get-sent-posts.action.d.ts +32 -0
  33. package/dist/providers/buffer/actions/get-sent-posts.action.d.ts.map +1 -0
  34. package/dist/providers/buffer/actions/get-sent-posts.action.js +187 -0
  35. package/dist/providers/buffer/actions/get-sent-posts.action.js.map +1 -0
  36. package/dist/providers/buffer/actions/index.d.ts +9 -0
  37. package/dist/providers/buffer/actions/index.d.ts.map +1 -0
  38. package/dist/providers/buffer/actions/index.js +25 -0
  39. package/dist/providers/buffer/actions/index.js.map +1 -0
  40. package/dist/providers/buffer/actions/reorder-queue.action.d.ts +20 -0
  41. package/dist/providers/buffer/actions/reorder-queue.action.d.ts.map +1 -0
  42. package/dist/providers/buffer/actions/reorder-queue.action.js +138 -0
  43. package/dist/providers/buffer/actions/reorder-queue.action.js.map +1 -0
  44. package/dist/providers/buffer/actions/search-posts.action.d.ts +28 -0
  45. package/dist/providers/buffer/actions/search-posts.action.d.ts.map +1 -0
  46. package/dist/providers/buffer/actions/search-posts.action.js +249 -0
  47. package/dist/providers/buffer/actions/search-posts.action.js.map +1 -0
  48. package/dist/providers/buffer/buffer-base.action.d.ts +95 -0
  49. package/dist/providers/buffer/buffer-base.action.d.ts.map +1 -0
  50. package/dist/providers/buffer/buffer-base.action.js +419 -0
  51. package/dist/providers/buffer/buffer-base.action.js.map +1 -0
  52. package/dist/providers/buffer/index.d.ts +3 -0
  53. package/dist/providers/buffer/index.d.ts.map +1 -0
  54. package/dist/providers/buffer/index.js +19 -0
  55. package/dist/providers/buffer/index.js.map +1 -0
  56. package/dist/providers/facebook/actions/boost-post.action.d.ts +45 -0
  57. package/dist/providers/facebook/actions/boost-post.action.d.ts.map +1 -0
  58. package/dist/providers/facebook/actions/boost-post.action.js +340 -0
  59. package/dist/providers/facebook/actions/boost-post.action.js.map +1 -0
  60. package/dist/providers/facebook/actions/create-album.action.d.ts +33 -0
  61. package/dist/providers/facebook/actions/create-album.action.d.ts.map +1 -0
  62. package/dist/providers/facebook/actions/create-album.action.js +285 -0
  63. package/dist/providers/facebook/actions/create-album.action.js.map +1 -0
  64. package/dist/providers/facebook/actions/create-post.action.d.ts +21 -0
  65. package/dist/providers/facebook/actions/create-post.action.d.ts.map +1 -0
  66. package/dist/providers/facebook/actions/create-post.action.js +223 -0
  67. package/dist/providers/facebook/actions/create-post.action.js.map +1 -0
  68. package/dist/providers/facebook/actions/get-page-insights.action.d.ts +37 -0
  69. package/dist/providers/facebook/actions/get-page-insights.action.d.ts.map +1 -0
  70. package/dist/providers/facebook/actions/get-page-insights.action.js +359 -0
  71. package/dist/providers/facebook/actions/get-page-insights.action.js.map +1 -0
  72. package/dist/providers/facebook/actions/get-page-posts.action.d.ts +29 -0
  73. package/dist/providers/facebook/actions/get-page-posts.action.d.ts.map +1 -0
  74. package/dist/providers/facebook/actions/get-page-posts.action.js +216 -0
  75. package/dist/providers/facebook/actions/get-page-posts.action.js.map +1 -0
  76. package/dist/providers/facebook/actions/get-post-insights.action.d.ts +33 -0
  77. package/dist/providers/facebook/actions/get-post-insights.action.d.ts.map +1 -0
  78. package/dist/providers/facebook/actions/get-post-insights.action.js +287 -0
  79. package/dist/providers/facebook/actions/get-post-insights.action.js.map +1 -0
  80. package/dist/providers/facebook/actions/index.d.ts +10 -0
  81. package/dist/providers/facebook/actions/index.d.ts.map +1 -0
  82. package/dist/providers/facebook/actions/index.js +26 -0
  83. package/dist/providers/facebook/actions/index.js.map +1 -0
  84. package/dist/providers/facebook/actions/respond-to-comments.action.d.ts +41 -0
  85. package/dist/providers/facebook/actions/respond-to-comments.action.d.ts.map +1 -0
  86. package/dist/providers/facebook/actions/respond-to-comments.action.js +328 -0
  87. package/dist/providers/facebook/actions/respond-to-comments.action.js.map +1 -0
  88. package/dist/providers/facebook/actions/schedule-post.action.d.ts +29 -0
  89. package/dist/providers/facebook/actions/schedule-post.action.d.ts.map +1 -0
  90. package/dist/providers/facebook/actions/schedule-post.action.js +289 -0
  91. package/dist/providers/facebook/actions/schedule-post.action.js.map +1 -0
  92. package/dist/providers/facebook/actions/search-posts.action.d.ts +54 -0
  93. package/dist/providers/facebook/actions/search-posts.action.d.ts.map +1 -0
  94. package/dist/providers/facebook/actions/search-posts.action.js +396 -0
  95. package/dist/providers/facebook/actions/search-posts.action.js.map +1 -0
  96. package/dist/providers/facebook/facebook-base.action.d.ts +230 -0
  97. package/dist/providers/facebook/facebook-base.action.d.ts.map +1 -0
  98. package/dist/providers/facebook/facebook-base.action.js +566 -0
  99. package/dist/providers/facebook/facebook-base.action.js.map +1 -0
  100. package/dist/providers/facebook/index.d.ts +3 -0
  101. package/dist/providers/facebook/index.d.ts.map +1 -0
  102. package/dist/providers/facebook/index.js +19 -0
  103. package/dist/providers/facebook/index.js.map +1 -0
  104. package/dist/providers/hootsuite/actions/bulk-schedule-posts.action.d.ts +24 -0
  105. package/dist/providers/hootsuite/actions/bulk-schedule-posts.action.d.ts.map +1 -0
  106. package/dist/providers/hootsuite/actions/bulk-schedule-posts.action.js +266 -0
  107. package/dist/providers/hootsuite/actions/bulk-schedule-posts.action.js.map +1 -0
  108. package/dist/providers/hootsuite/actions/create-scheduled-post.action.d.ts +25 -0
  109. package/dist/providers/hootsuite/actions/create-scheduled-post.action.d.ts.map +1 -0
  110. package/dist/providers/hootsuite/actions/create-scheduled-post.action.js +202 -0
  111. package/dist/providers/hootsuite/actions/create-scheduled-post.action.js.map +1 -0
  112. package/dist/providers/hootsuite/actions/delete-scheduled-post.action.d.ts +20 -0
  113. package/dist/providers/hootsuite/actions/delete-scheduled-post.action.d.ts.map +1 -0
  114. package/dist/providers/hootsuite/actions/delete-scheduled-post.action.js +172 -0
  115. package/dist/providers/hootsuite/actions/delete-scheduled-post.action.js.map +1 -0
  116. package/dist/providers/hootsuite/actions/get-analytics.action.d.ts +52 -0
  117. package/dist/providers/hootsuite/actions/get-analytics.action.d.ts.map +1 -0
  118. package/dist/providers/hootsuite/actions/get-analytics.action.js +265 -0
  119. package/dist/providers/hootsuite/actions/get-analytics.action.js.map +1 -0
  120. package/dist/providers/hootsuite/actions/get-scheduled-posts.action.d.ts +37 -0
  121. package/dist/providers/hootsuite/actions/get-scheduled-posts.action.d.ts.map +1 -0
  122. package/dist/providers/hootsuite/actions/get-scheduled-posts.action.js +208 -0
  123. package/dist/providers/hootsuite/actions/get-scheduled-posts.action.js.map +1 -0
  124. package/dist/providers/hootsuite/actions/get-social-profiles.action.d.ts +36 -0
  125. package/dist/providers/hootsuite/actions/get-social-profiles.action.d.ts.map +1 -0
  126. package/dist/providers/hootsuite/actions/get-social-profiles.action.js +212 -0
  127. package/dist/providers/hootsuite/actions/get-social-profiles.action.js.map +1 -0
  128. package/dist/providers/hootsuite/actions/search-posts.action.d.ts +53 -0
  129. package/dist/providers/hootsuite/actions/search-posts.action.d.ts.map +1 -0
  130. package/dist/providers/hootsuite/actions/search-posts.action.js +353 -0
  131. package/dist/providers/hootsuite/actions/search-posts.action.js.map +1 -0
  132. package/dist/providers/hootsuite/actions/update-scheduled-post.action.d.ts +20 -0
  133. package/dist/providers/hootsuite/actions/update-scheduled-post.action.d.ts.map +1 -0
  134. package/dist/providers/hootsuite/actions/update-scheduled-post.action.js +217 -0
  135. package/dist/providers/hootsuite/actions/update-scheduled-post.action.js.map +1 -0
  136. package/dist/providers/hootsuite/hootsuite-base.action.d.ts +101 -0
  137. package/dist/providers/hootsuite/hootsuite-base.action.d.ts.map +1 -0
  138. package/dist/providers/hootsuite/hootsuite-base.action.js +274 -0
  139. package/dist/providers/hootsuite/hootsuite-base.action.js.map +1 -0
  140. package/dist/providers/hootsuite/index.d.ts +10 -0
  141. package/dist/providers/hootsuite/index.d.ts.map +1 -0
  142. package/dist/providers/hootsuite/index.js +28 -0
  143. package/dist/providers/hootsuite/index.js.map +1 -0
  144. package/dist/providers/instagram/actions/create-post.action.d.ts +30 -0
  145. package/dist/providers/instagram/actions/create-post.action.d.ts.map +1 -0
  146. package/dist/providers/instagram/actions/create-post.action.js +269 -0
  147. package/dist/providers/instagram/actions/create-post.action.js.map +1 -0
  148. package/dist/providers/instagram/actions/create-story.action.d.ts +43 -0
  149. package/dist/providers/instagram/actions/create-story.action.d.ts.map +1 -0
  150. package/dist/providers/instagram/actions/create-story.action.js +365 -0
  151. package/dist/providers/instagram/actions/create-story.action.js.map +1 -0
  152. package/dist/providers/instagram/actions/get-account-insights.action.d.ts +50 -0
  153. package/dist/providers/instagram/actions/get-account-insights.action.d.ts.map +1 -0
  154. package/dist/providers/instagram/actions/get-account-insights.action.js +390 -0
  155. package/dist/providers/instagram/actions/get-account-insights.action.js.map +1 -0
  156. package/dist/providers/instagram/actions/get-business-posts.action.d.ts +30 -0
  157. package/dist/providers/instagram/actions/get-business-posts.action.d.ts.map +1 -0
  158. package/dist/providers/instagram/actions/get-business-posts.action.js +246 -0
  159. package/dist/providers/instagram/actions/get-business-posts.action.js.map +1 -0
  160. package/dist/providers/instagram/actions/get-comments.action.d.ts +41 -0
  161. package/dist/providers/instagram/actions/get-comments.action.d.ts.map +1 -0
  162. package/dist/providers/instagram/actions/get-comments.action.js +337 -0
  163. package/dist/providers/instagram/actions/get-comments.action.js.map +1 -0
  164. package/dist/providers/instagram/actions/get-post-insights.action.d.ts +42 -0
  165. package/dist/providers/instagram/actions/get-post-insights.action.d.ts.map +1 -0
  166. package/dist/providers/instagram/actions/get-post-insights.action.js +271 -0
  167. package/dist/providers/instagram/actions/get-post-insights.action.js.map +1 -0
  168. package/dist/providers/instagram/actions/index.d.ts +9 -0
  169. package/dist/providers/instagram/actions/index.d.ts.map +1 -0
  170. package/dist/providers/instagram/actions/index.js +26 -0
  171. package/dist/providers/instagram/actions/index.js.map +1 -0
  172. package/dist/providers/instagram/actions/schedule-post.action.d.ts +34 -0
  173. package/dist/providers/instagram/actions/schedule-post.action.d.ts.map +1 -0
  174. package/dist/providers/instagram/actions/schedule-post.action.js +234 -0
  175. package/dist/providers/instagram/actions/schedule-post.action.js.map +1 -0
  176. package/dist/providers/instagram/actions/search-posts.action.d.ts +56 -0
  177. package/dist/providers/instagram/actions/search-posts.action.d.ts.map +1 -0
  178. package/dist/providers/instagram/actions/search-posts.action.js +479 -0
  179. package/dist/providers/instagram/actions/search-posts.action.js.map +1 -0
  180. package/dist/providers/instagram/index.d.ts +3 -0
  181. package/dist/providers/instagram/index.d.ts.map +1 -0
  182. package/dist/providers/instagram/index.js +20 -0
  183. package/dist/providers/instagram/index.js.map +1 -0
  184. package/dist/providers/instagram/instagram-base.action.d.ts +76 -0
  185. package/dist/providers/instagram/instagram-base.action.d.ts.map +1 -0
  186. package/dist/providers/instagram/instagram-base.action.js +362 -0
  187. package/dist/providers/instagram/instagram-base.action.js.map +1 -0
  188. package/dist/providers/linkedin/actions/create-article.action.d.ts +28 -0
  189. package/dist/providers/linkedin/actions/create-article.action.d.ts.map +1 -0
  190. package/dist/providers/linkedin/actions/create-article.action.js +275 -0
  191. package/dist/providers/linkedin/actions/create-article.action.js.map +1 -0
  192. package/dist/providers/linkedin/actions/create-post.action.d.ts +20 -0
  193. package/dist/providers/linkedin/actions/create-post.action.d.ts.map +1 -0
  194. package/dist/providers/linkedin/actions/create-post.action.js +188 -0
  195. package/dist/providers/linkedin/actions/create-post.action.js.map +1 -0
  196. package/dist/providers/linkedin/actions/get-followers.action.d.ts +29 -0
  197. package/dist/providers/linkedin/actions/get-followers.action.d.ts.map +1 -0
  198. package/dist/providers/linkedin/actions/get-followers.action.js +222 -0
  199. package/dist/providers/linkedin/actions/get-followers.action.js.map +1 -0
  200. package/dist/providers/linkedin/actions/get-organization-posts.action.d.ts +24 -0
  201. package/dist/providers/linkedin/actions/get-organization-posts.action.d.ts.map +1 -0
  202. package/dist/providers/linkedin/actions/get-organization-posts.action.js +163 -0
  203. package/dist/providers/linkedin/actions/get-organization-posts.action.js.map +1 -0
  204. package/dist/providers/linkedin/actions/get-personal-posts.action.d.ts +25 -0
  205. package/dist/providers/linkedin/actions/get-personal-posts.action.d.ts.map +1 -0
  206. package/dist/providers/linkedin/actions/get-personal-posts.action.js +156 -0
  207. package/dist/providers/linkedin/actions/get-personal-posts.action.js.map +1 -0
  208. package/dist/providers/linkedin/actions/get-post-analytics.action.d.ts +28 -0
  209. package/dist/providers/linkedin/actions/get-post-analytics.action.d.ts.map +1 -0
  210. package/dist/providers/linkedin/actions/get-post-analytics.action.js +200 -0
  211. package/dist/providers/linkedin/actions/get-post-analytics.action.js.map +1 -0
  212. package/dist/providers/linkedin/actions/index.d.ts +9 -0
  213. package/dist/providers/linkedin/actions/index.d.ts.map +1 -0
  214. package/dist/providers/linkedin/actions/index.js +25 -0
  215. package/dist/providers/linkedin/actions/index.js.map +1 -0
  216. package/dist/providers/linkedin/actions/schedule-post.action.d.ts +22 -0
  217. package/dist/providers/linkedin/actions/schedule-post.action.d.ts.map +1 -0
  218. package/dist/providers/linkedin/actions/schedule-post.action.js +205 -0
  219. package/dist/providers/linkedin/actions/schedule-post.action.js.map +1 -0
  220. package/dist/providers/linkedin/actions/search-posts.action.d.ts +41 -0
  221. package/dist/providers/linkedin/actions/search-posts.action.d.ts.map +1 -0
  222. package/dist/providers/linkedin/actions/search-posts.action.js +292 -0
  223. package/dist/providers/linkedin/actions/search-posts.action.js.map +1 -0
  224. package/dist/providers/linkedin/index.d.ts +3 -0
  225. package/dist/providers/linkedin/index.d.ts.map +1 -0
  226. package/dist/providers/linkedin/index.js +19 -0
  227. package/dist/providers/linkedin/index.js.map +1 -0
  228. package/dist/providers/linkedin/linkedin-base.action.d.ts +166 -0
  229. package/dist/providers/linkedin/linkedin-base.action.d.ts.map +1 -0
  230. package/dist/providers/linkedin/linkedin-base.action.js +346 -0
  231. package/dist/providers/linkedin/linkedin-base.action.js.map +1 -0
  232. package/dist/providers/tiktok/actions/create-video-post.action.d.ts +21 -0
  233. package/dist/providers/tiktok/actions/create-video-post.action.d.ts.map +1 -0
  234. package/dist/providers/tiktok/actions/create-video-post.action.js +226 -0
  235. package/dist/providers/tiktok/actions/create-video-post.action.js.map +1 -0
  236. package/dist/providers/tiktok/actions/get-account-analytics.action.d.ts +32 -0
  237. package/dist/providers/tiktok/actions/get-account-analytics.action.d.ts.map +1 -0
  238. package/dist/providers/tiktok/actions/get-account-analytics.action.js +242 -0
  239. package/dist/providers/tiktok/actions/get-account-analytics.action.js.map +1 -0
  240. package/dist/providers/tiktok/actions/get-comments.action.d.ts +44 -0
  241. package/dist/providers/tiktok/actions/get-comments.action.d.ts.map +1 -0
  242. package/dist/providers/tiktok/actions/get-comments.action.js +290 -0
  243. package/dist/providers/tiktok/actions/get-comments.action.js.map +1 -0
  244. package/dist/providers/tiktok/actions/get-trending-hashtags.action.d.ts +48 -0
  245. package/dist/providers/tiktok/actions/get-trending-hashtags.action.d.ts.map +1 -0
  246. package/dist/providers/tiktok/actions/get-trending-hashtags.action.js +309 -0
  247. package/dist/providers/tiktok/actions/get-trending-hashtags.action.js.map +1 -0
  248. package/dist/providers/tiktok/actions/get-user-videos.action.d.ts +20 -0
  249. package/dist/providers/tiktok/actions/get-user-videos.action.d.ts.map +1 -0
  250. package/dist/providers/tiktok/actions/get-user-videos.action.js +131 -0
  251. package/dist/providers/tiktok/actions/get-user-videos.action.js.map +1 -0
  252. package/dist/providers/tiktok/actions/get-video-analytics.action.d.ts +28 -0
  253. package/dist/providers/tiktok/actions/get-video-analytics.action.d.ts.map +1 -0
  254. package/dist/providers/tiktok/actions/get-video-analytics.action.js +198 -0
  255. package/dist/providers/tiktok/actions/get-video-analytics.action.js.map +1 -0
  256. package/dist/providers/tiktok/actions/index.d.ts +8 -0
  257. package/dist/providers/tiktok/actions/index.d.ts.map +1 -0
  258. package/dist/providers/tiktok/actions/index.js +25 -0
  259. package/dist/providers/tiktok/actions/index.js.map +1 -0
  260. package/dist/providers/tiktok/actions/search-videos.action.d.ts +89 -0
  261. package/dist/providers/tiktok/actions/search-videos.action.d.ts.map +1 -0
  262. package/dist/providers/tiktok/actions/search-videos.action.js +653 -0
  263. package/dist/providers/tiktok/actions/search-videos.action.js.map +1 -0
  264. package/dist/providers/tiktok/index.d.ts +3 -0
  265. package/dist/providers/tiktok/index.d.ts.map +1 -0
  266. package/dist/providers/tiktok/index.js +20 -0
  267. package/dist/providers/tiktok/index.js.map +1 -0
  268. package/dist/providers/tiktok/tiktok-base.action.d.ts +87 -0
  269. package/dist/providers/tiktok/tiktok-base.action.d.ts.map +1 -0
  270. package/dist/providers/tiktok/tiktok-base.action.js +294 -0
  271. package/dist/providers/tiktok/tiktok-base.action.js.map +1 -0
  272. package/dist/providers/twitter/actions/create-thread.action.d.ts +28 -0
  273. package/dist/providers/twitter/actions/create-thread.action.d.ts.map +1 -0
  274. package/dist/providers/twitter/actions/create-thread.action.js +217 -0
  275. package/dist/providers/twitter/actions/create-thread.action.js.map +1 -0
  276. package/dist/providers/twitter/actions/create-tweet.action.d.ts +24 -0
  277. package/dist/providers/twitter/actions/create-tweet.action.d.ts.map +1 -0
  278. package/dist/providers/twitter/actions/create-tweet.action.js +199 -0
  279. package/dist/providers/twitter/actions/create-tweet.action.js.map +1 -0
  280. package/dist/providers/twitter/actions/delete-tweet.action.d.ts +24 -0
  281. package/dist/providers/twitter/actions/delete-tweet.action.d.ts.map +1 -0
  282. package/dist/providers/twitter/actions/delete-tweet.action.js +158 -0
  283. package/dist/providers/twitter/actions/delete-tweet.action.js.map +1 -0
  284. package/dist/providers/twitter/actions/get-analytics.action.d.ts +44 -0
  285. package/dist/providers/twitter/actions/get-analytics.action.d.ts.map +1 -0
  286. package/dist/providers/twitter/actions/get-analytics.action.js +399 -0
  287. package/dist/providers/twitter/actions/get-analytics.action.js.map +1 -0
  288. package/dist/providers/twitter/actions/get-mentions.action.d.ts +24 -0
  289. package/dist/providers/twitter/actions/get-mentions.action.d.ts.map +1 -0
  290. package/dist/providers/twitter/actions/get-mentions.action.js +229 -0
  291. package/dist/providers/twitter/actions/get-mentions.action.js.map +1 -0
  292. package/dist/providers/twitter/actions/get-timeline.action.d.ts +24 -0
  293. package/dist/providers/twitter/actions/get-timeline.action.d.ts.map +1 -0
  294. package/dist/providers/twitter/actions/get-timeline.action.js +249 -0
  295. package/dist/providers/twitter/actions/get-timeline.action.js.map +1 -0
  296. package/dist/providers/twitter/actions/index.d.ts +14 -0
  297. package/dist/providers/twitter/actions/index.d.ts.map +1 -0
  298. package/dist/providers/twitter/actions/index.js +30 -0
  299. package/dist/providers/twitter/actions/index.js.map +1 -0
  300. package/dist/providers/twitter/actions/schedule-tweet.action.d.ts +30 -0
  301. package/dist/providers/twitter/actions/schedule-tweet.action.d.ts.map +1 -0
  302. package/dist/providers/twitter/actions/schedule-tweet.action.js +250 -0
  303. package/dist/providers/twitter/actions/schedule-tweet.action.js.map +1 -0
  304. package/dist/providers/twitter/actions/search-tweets.action.d.ts +41 -0
  305. package/dist/providers/twitter/actions/search-tweets.action.d.ts.map +1 -0
  306. package/dist/providers/twitter/actions/search-tweets.action.js +559 -0
  307. package/dist/providers/twitter/actions/search-tweets.action.js.map +1 -0
  308. package/dist/providers/twitter/index.d.ts +8 -0
  309. package/dist/providers/twitter/index.d.ts.map +1 -0
  310. package/dist/providers/twitter/index.js +24 -0
  311. package/dist/providers/twitter/index.js.map +1 -0
  312. package/dist/providers/twitter/twitter-base.action.d.ts +185 -0
  313. package/dist/providers/twitter/twitter-base.action.d.ts.map +1 -0
  314. package/dist/providers/twitter/twitter-base.action.js +484 -0
  315. package/dist/providers/twitter/twitter-base.action.js.map +1 -0
  316. package/dist/providers/youtube/actions/create-playlist.action.d.ts +28 -0
  317. package/dist/providers/youtube/actions/create-playlist.action.d.ts.map +1 -0
  318. package/dist/providers/youtube/actions/create-playlist.action.js +235 -0
  319. package/dist/providers/youtube/actions/create-playlist.action.js.map +1 -0
  320. package/dist/providers/youtube/actions/get-channel-analytics.action.d.ts +60 -0
  321. package/dist/providers/youtube/actions/get-channel-analytics.action.d.ts.map +1 -0
  322. package/dist/providers/youtube/actions/get-channel-analytics.action.js +429 -0
  323. package/dist/providers/youtube/actions/get-channel-analytics.action.js.map +1 -0
  324. package/dist/providers/youtube/actions/get-channel-videos.action.d.ts +28 -0
  325. package/dist/providers/youtube/actions/get-channel-videos.action.d.ts.map +1 -0
  326. package/dist/providers/youtube/actions/get-channel-videos.action.js +263 -0
  327. package/dist/providers/youtube/actions/get-channel-videos.action.js.map +1 -0
  328. package/dist/providers/youtube/actions/get-comments.action.d.ts +40 -0
  329. package/dist/providers/youtube/actions/get-comments.action.d.ts.map +1 -0
  330. package/dist/providers/youtube/actions/get-comments.action.js +381 -0
  331. package/dist/providers/youtube/actions/get-comments.action.js.map +1 -0
  332. package/dist/providers/youtube/actions/get-video-analytics.action.d.ts +48 -0
  333. package/dist/providers/youtube/actions/get-video-analytics.action.d.ts.map +1 -0
  334. package/dist/providers/youtube/actions/get-video-analytics.action.js +280 -0
  335. package/dist/providers/youtube/actions/get-video-analytics.action.js.map +1 -0
  336. package/dist/providers/youtube/actions/index.d.ts +10 -0
  337. package/dist/providers/youtube/actions/index.d.ts.map +1 -0
  338. package/dist/providers/youtube/actions/index.js +26 -0
  339. package/dist/providers/youtube/actions/index.js.map +1 -0
  340. package/dist/providers/youtube/actions/schedule-video.action.d.ts +24 -0
  341. package/dist/providers/youtube/actions/schedule-video.action.d.ts.map +1 -0
  342. package/dist/providers/youtube/actions/schedule-video.action.js +225 -0
  343. package/dist/providers/youtube/actions/schedule-video.action.js.map +1 -0
  344. package/dist/providers/youtube/actions/search-videos.action.d.ts +40 -0
  345. package/dist/providers/youtube/actions/search-videos.action.d.ts.map +1 -0
  346. package/dist/providers/youtube/actions/search-videos.action.js +483 -0
  347. package/dist/providers/youtube/actions/search-videos.action.js.map +1 -0
  348. package/dist/providers/youtube/actions/update-video-metadata.action.d.ts +32 -0
  349. package/dist/providers/youtube/actions/update-video-metadata.action.d.ts.map +1 -0
  350. package/dist/providers/youtube/actions/update-video-metadata.action.js +298 -0
  351. package/dist/providers/youtube/actions/update-video-metadata.action.js.map +1 -0
  352. package/dist/providers/youtube/actions/upload-video.action.d.ts +28 -0
  353. package/dist/providers/youtube/actions/upload-video.action.d.ts.map +1 -0
  354. package/dist/providers/youtube/actions/upload-video.action.js +266 -0
  355. package/dist/providers/youtube/actions/upload-video.action.js.map +1 -0
  356. package/dist/providers/youtube/index.d.ts +3 -0
  357. package/dist/providers/youtube/index.d.ts.map +1 -0
  358. package/dist/providers/youtube/index.js +19 -0
  359. package/dist/providers/youtube/index.js.map +1 -0
  360. package/dist/providers/youtube/youtube-base.action.d.ts +83 -0
  361. package/dist/providers/youtube/youtube-base.action.d.ts.map +1 -0
  362. package/dist/providers/youtube/youtube-base.action.js +319 -0
  363. package/dist/providers/youtube/youtube-base.action.js.map +1 -0
  364. package/package.json +42 -0
  365. package/social_actions_summary.md +439 -0
  366. package/src/base/base-social.action.ts +270 -0
  367. package/src/index.ts +26 -0
  368. package/src/providers/buffer/actions/create-post.action.ts +205 -0
  369. package/src/providers/buffer/actions/delete-post.action.ts +116 -0
  370. package/src/providers/buffer/actions/get-analytics.action.ts +146 -0
  371. package/src/providers/buffer/actions/get-pending-posts.action.ts +161 -0
  372. package/src/providers/buffer/actions/get-profiles.action.ts +126 -0
  373. package/src/providers/buffer/actions/get-sent-posts.action.ts +189 -0
  374. package/src/providers/buffer/actions/index.ts +8 -0
  375. package/src/providers/buffer/actions/reorder-queue.action.ts +141 -0
  376. package/src/providers/buffer/actions/search-posts.action.ts +262 -0
  377. package/src/providers/buffer/buffer-base.action.ts +490 -0
  378. package/src/providers/buffer/index.ts +2 -0
  379. package/src/providers/facebook/actions/boost-post.action.ts +412 -0
  380. package/src/providers/facebook/actions/create-album.action.ts +335 -0
  381. package/src/providers/facebook/actions/create-post.action.ts +243 -0
  382. package/src/providers/facebook/actions/get-page-insights.action.ts +427 -0
  383. package/src/providers/facebook/actions/get-page-posts.action.ts +241 -0
  384. package/src/providers/facebook/actions/get-post-insights.action.ts +338 -0
  385. package/src/providers/facebook/actions/index.ts +9 -0
  386. package/src/providers/facebook/actions/respond-to-comments.action.ts +372 -0
  387. package/src/providers/facebook/actions/schedule-post.action.ts +310 -0
  388. package/src/providers/facebook/actions/search-posts.action.ts +449 -0
  389. package/src/providers/facebook/facebook-base.action.ts +750 -0
  390. package/src/providers/facebook/index.ts +2 -0
  391. package/src/providers/hootsuite/actions/bulk-schedule-posts.action.ts +293 -0
  392. package/src/providers/hootsuite/actions/create-scheduled-post.action.ts +206 -0
  393. package/src/providers/hootsuite/actions/delete-scheduled-post.action.ts +173 -0
  394. package/src/providers/hootsuite/actions/get-analytics.action.ts +281 -0
  395. package/src/providers/hootsuite/actions/get-scheduled-posts.action.ts +220 -0
  396. package/src/providers/hootsuite/actions/get-social-profiles.action.ts +220 -0
  397. package/src/providers/hootsuite/actions/search-posts.action.ts +395 -0
  398. package/src/providers/hootsuite/actions/update-scheduled-post.action.ts +222 -0
  399. package/src/providers/hootsuite/hootsuite-base.action.ts +346 -0
  400. package/src/providers/hootsuite/index.ts +12 -0
  401. package/src/providers/instagram/README.md +129 -0
  402. package/src/providers/instagram/actions/create-post.action.ts +329 -0
  403. package/src/providers/instagram/actions/create-story.action.ts +415 -0
  404. package/src/providers/instagram/actions/get-account-insights.action.ts +449 -0
  405. package/src/providers/instagram/actions/get-business-posts.action.ts +281 -0
  406. package/src/providers/instagram/actions/get-comments.action.ts +395 -0
  407. package/src/providers/instagram/actions/get-post-insights.action.ts +302 -0
  408. package/src/providers/instagram/actions/index.ts +9 -0
  409. package/src/providers/instagram/actions/schedule-post.action.ts +248 -0
  410. package/src/providers/instagram/actions/search-posts.action.ts +569 -0
  411. package/src/providers/instagram/index.ts +3 -0
  412. package/src/providers/instagram/instagram-base.action.ts +430 -0
  413. package/src/providers/linkedin/actions/create-article.action.ts +301 -0
  414. package/src/providers/linkedin/actions/create-post.action.ts +190 -0
  415. package/src/providers/linkedin/actions/get-followers.action.ts +226 -0
  416. package/src/providers/linkedin/actions/get-organization-posts.action.ts +164 -0
  417. package/src/providers/linkedin/actions/get-personal-posts.action.ts +158 -0
  418. package/src/providers/linkedin/actions/get-post-analytics.action.ts +205 -0
  419. package/src/providers/linkedin/actions/index.ts +8 -0
  420. package/src/providers/linkedin/actions/schedule-post.action.ts +206 -0
  421. package/src/providers/linkedin/actions/search-posts.action.ts +323 -0
  422. package/src/providers/linkedin/index.ts +2 -0
  423. package/src/providers/linkedin/linkedin-base.action.ts +481 -0
  424. package/src/providers/tiktok/actions/create-video-post.action.ts +234 -0
  425. package/src/providers/tiktok/actions/get-account-analytics.action.ts +255 -0
  426. package/src/providers/tiktok/actions/get-comments.action.ts +332 -0
  427. package/src/providers/tiktok/actions/get-trending-hashtags.action.ts +341 -0
  428. package/src/providers/tiktok/actions/get-user-videos.action.ts +136 -0
  429. package/src/providers/tiktok/actions/get-video-analytics.action.ts +218 -0
  430. package/src/providers/tiktok/actions/index.ts +8 -0
  431. package/src/providers/tiktok/actions/search-videos.action.ts +717 -0
  432. package/src/providers/tiktok/index.ts +3 -0
  433. package/src/providers/tiktok/tiktok-base.action.ts +356 -0
  434. package/src/providers/twitter/README.md +207 -0
  435. package/src/providers/twitter/actions/create-thread.action.ts +227 -0
  436. package/src/providers/twitter/actions/create-tweet.action.ts +204 -0
  437. package/src/providers/twitter/actions/delete-tweet.action.ts +153 -0
  438. package/src/providers/twitter/actions/get-analytics.action.ts +440 -0
  439. package/src/providers/twitter/actions/get-mentions.action.ts +233 -0
  440. package/src/providers/twitter/actions/get-timeline.action.ts +248 -0
  441. package/src/providers/twitter/actions/index.ts +14 -0
  442. package/src/providers/twitter/actions/schedule-tweet.action.ts +259 -0
  443. package/src/providers/twitter/actions/search-tweets.action.ts +588 -0
  444. package/src/providers/twitter/index.ts +8 -0
  445. package/src/providers/twitter/twitter-base.action.ts +629 -0
  446. package/src/providers/youtube/actions/create-playlist.action.ts +256 -0
  447. package/src/providers/youtube/actions/get-channel-analytics.action.ts +502 -0
  448. package/src/providers/youtube/actions/get-channel-videos.action.ts +286 -0
  449. package/src/providers/youtube/actions/get-comments.action.ts +411 -0
  450. package/src/providers/youtube/actions/get-video-analytics.action.ts +298 -0
  451. package/src/providers/youtube/actions/index.ts +9 -0
  452. package/src/providers/youtube/actions/schedule-video.action.ts +246 -0
  453. package/src/providers/youtube/actions/search-videos.action.ts +530 -0
  454. package/src/providers/youtube/actions/update-video-metadata.action.ts +321 -0
  455. package/src/providers/youtube/actions/upload-video.action.ts +288 -0
  456. package/src/providers/youtube/index.ts +2 -0
  457. package/src/providers/youtube/youtube-base.action.ts +373 -0
  458. package/tsconfig.json +18 -0
@@ -0,0 +1,4 @@
1
+
2
+ > @memberjunction/actions-bizapps-social@2.61.0 build
3
+ > tsc
4
+
package/CHANGELOG.md ADDED
@@ -0,0 +1,16 @@
1
+ # @memberjunction/actions-bizapps-social
2
+
3
+ ## 2.61.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 51b2b47: Improvements to AI Agents and Added Social Actions
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [51b2b47]
12
+ - @memberjunction/actions@2.61.0
13
+ - @memberjunction/actions-base@2.61.0
14
+ - @memberjunction/core@2.61.0
15
+ - @memberjunction/core-entities@2.61.0
16
+ - @memberjunction/global@2.61.0
package/README.md ADDED
@@ -0,0 +1,375 @@
1
+ # Social Media Actions for MemberJunction
2
+
3
+ ## Overview
4
+
5
+ This package provides comprehensive social media automation capabilities for MemberJunction, enabling agents and applications to interact with major social media platforms programmatically. The implementation follows MJ's established patterns for BizApps actions while providing platform-specific functionality.
6
+
7
+ ## Architecture
8
+
9
+ ### Class Hierarchy
10
+
11
+ ```
12
+ BaseAction (from @memberjunction/actions)
13
+ └── BaseOAuthAction (from @memberjunction/actions/Engine/src/generic)
14
+ └── BaseSocialMediaAction (base for all social actions)
15
+ ├── BaseHootSuiteAction
16
+ ├── BaseBufferAction
17
+ ├── BaseLinkedInAction
18
+ ├── BaseTwitterAction
19
+ ├── BaseFacebookAction
20
+ ├── BaseInstagramAction
21
+ ├── BaseTikTokAction
22
+ └── BaseYouTubeAction
23
+ ```
24
+
25
+ ### Authentication
26
+
27
+ All social media platforms use OAuth 2.0 authentication. Credentials are stored in the MemberJunction CompanyIntegration table with the following structure:
28
+
29
+ - **Integration Entity**: Defines the platform (e.g., "Twitter", "LinkedIn")
30
+ - **CompanyIntegration Entity**: Stores company-specific credentials
31
+ - `AccessToken`: OAuth access token
32
+ - `RefreshToken`: OAuth refresh token (where applicable)
33
+ - `ExpirationDate`: Token expiration timestamp
34
+ - `CustomAttribute1-5`: Platform-specific data (e.g., account IDs)
35
+
36
+ The `BaseOAuthAction` class provides:
37
+ - Token retrieval from CompanyIntegration
38
+ - Automatic token refresh when expired
39
+ - OAuth flow helpers
40
+ - Standard error handling for auth failures
41
+
42
+ ## Package Structure
43
+
44
+ ```
45
+ packages/Actions/BizApps/Social/
46
+ ├── README.md (this file)
47
+ ├── package.json
48
+ ├── tsconfig.json
49
+ ├── src/
50
+ │ ├── index.ts
51
+ │ ├── base/
52
+ │ │ └── base-social.action.ts
53
+ │ └── providers/
54
+ │ ├── hootsuite/
55
+ │ │ ├── hootsuite-base.action.ts
56
+ │ │ └── actions/
57
+ │ │ ├── get-scheduled-posts.action.ts
58
+ │ │ ├── create-scheduled-post.action.ts
59
+ │ │ ├── get-analytics.action.ts
60
+ │ │ ├── get-social-profiles.action.ts
61
+ │ │ ├── update-scheduled-post.action.ts
62
+ │ │ ├── delete-scheduled-post.action.ts
63
+ │ │ ├── bulk-schedule-posts.action.ts
64
+ │ │ └── search-posts.action.ts
65
+ │ ├── buffer/
66
+ │ │ ├── buffer-base.action.ts
67
+ │ │ └── actions/
68
+ │ │ ├── get-profiles.action.ts
69
+ │ │ ├── create-post.action.ts
70
+ │ │ ├── get-pending-posts.action.ts
71
+ │ │ ├── get-sent-posts.action.ts
72
+ │ │ ├── get-analytics.action.ts
73
+ │ │ ├── reorder-queue.action.ts
74
+ │ │ ├── delete-post.action.ts
75
+ │ │ └── search-posts.action.ts
76
+ │ ├── linkedin/
77
+ │ │ ├── linkedin-base.action.ts
78
+ │ │ └── actions/
79
+ │ │ ├── create-post.action.ts
80
+ │ │ ├── get-organization-posts.action.ts
81
+ │ │ ├── get-personal-posts.action.ts
82
+ │ │ ├── get-post-analytics.action.ts
83
+ │ │ ├── schedule-post.action.ts
84
+ │ │ ├── get-followers.action.ts
85
+ │ │ ├── create-article.action.ts
86
+ │ │ └── search-posts.action.ts
87
+ │ ├── twitter/
88
+ │ │ ├── twitter-base.action.ts
89
+ │ │ └── actions/
90
+ │ │ ├── create-tweet.action.ts
91
+ │ │ ├── create-thread.action.ts
92
+ │ │ ├── get-timeline.action.ts
93
+ │ │ ├── get-mentions.action.ts
94
+ │ │ ├── get-analytics.action.ts
95
+ │ │ ├── schedule-tweet.action.ts
96
+ │ │ ├── delete-tweet.action.ts
97
+ │ │ └── search-tweets.action.ts
98
+ │ ├── facebook/
99
+ │ │ ├── facebook-base.action.ts
100
+ │ │ └── actions/
101
+ │ │ ├── create-post.action.ts
102
+ │ │ ├── get-page-posts.action.ts
103
+ │ │ ├── get-post-insights.action.ts
104
+ │ │ ├── schedule-post.action.ts
105
+ │ │ ├── create-album.action.ts
106
+ │ │ ├── get-page-insights.action.ts
107
+ │ │ ├── respond-to-comments.action.ts
108
+ │ │ ├── boost-post.action.ts
109
+ │ │ └── search-posts.action.ts
110
+ │ ├── instagram/
111
+ │ │ ├── instagram-base.action.ts
112
+ │ │ └── actions/
113
+ │ │ ├── create-post.action.ts
114
+ │ │ ├── get-business-posts.action.ts
115
+ │ │ ├── get-post-insights.action.ts
116
+ │ │ ├── get-account-insights.action.ts
117
+ │ │ ├── schedule-post.action.ts
118
+ │ │ ├── get-comments.action.ts
119
+ │ │ ├── create-story.action.ts
120
+ │ │ └── search-posts.action.ts
121
+ │ ├── tiktok/
122
+ │ │ ├── tiktok-base.action.ts
123
+ │ │ └── actions/
124
+ │ │ ├── get-user-videos.action.ts
125
+ │ │ ├── get-video-analytics.action.ts
126
+ │ │ ├── get-account-analytics.action.ts
127
+ │ │ ├── create-video-post.action.ts
128
+ │ │ ├── get-comments.action.ts
129
+ │ │ ├── get-trending-hashtags.action.ts
130
+ │ │ └── search-videos.action.ts
131
+ │ └── youtube/
132
+ │ ├── youtube-base.action.ts
133
+ │ └── actions/
134
+ │ ├── upload-video.action.ts
135
+ │ ├── get-channel-videos.action.ts
136
+ │ ├── get-video-analytics.action.ts
137
+ │ ├── update-video-metadata.action.ts
138
+ │ ├── create-playlist.action.ts
139
+ │ ├── schedule-video.action.ts
140
+ │ ├── get-comments.action.ts
141
+ │ ├── get-channel-analytics.action.ts
142
+ │ └── search-videos.action.ts
143
+ ```
144
+
145
+ ## Common Features
146
+
147
+ ### BaseSocialMediaAction
148
+
149
+ Provides common functionality for all social platforms:
150
+
151
+ ```typescript
152
+ export abstract class BaseSocialMediaAction extends BaseOAuthAction {
153
+ // Common parameters for all social actions
154
+ protected get commonParams(): ActionParam[] {
155
+ return [
156
+ { Name: 'CompanyIntegrationID', Type: 'guid', Required: true, Description: 'Company integration identifier' },
157
+ { Name: 'ProfileID', Type: 'string', Required: false, Description: 'Social profile/account ID' }
158
+ ];
159
+ }
160
+
161
+ // Analytics normalization
162
+ protected normalizeAnalytics(platformData: any): SocialAnalytics {
163
+ // Convert platform-specific metrics to common format
164
+ }
165
+
166
+ // Media handling
167
+ protected async uploadMedia(files: MediaFile[]): Promise<string[]> {
168
+ // Handle media uploads with size/format validation
169
+ }
170
+
171
+ // Rate limiting
172
+ protected async handleRateLimit(retryAfter: number): Promise<void> {
173
+ // Intelligent rate limit handling
174
+ }
175
+
176
+ // Historical post search
177
+ protected abstract searchPosts(params: SearchParams): Promise<SocialPost[]>;
178
+ }
179
+ ```
180
+
181
+ ### Common Interfaces
182
+
183
+ ```typescript
184
+ interface SocialPost {
185
+ id: string;
186
+ platform: string;
187
+ profileId: string;
188
+ content: string;
189
+ mediaUrls: string[];
190
+ publishedAt: Date;
191
+ scheduledFor?: Date;
192
+ analytics?: SocialAnalytics;
193
+ platformSpecificData: Record<string, any>;
194
+ }
195
+
196
+ interface SocialAnalytics {
197
+ impressions: number;
198
+ engagements: number;
199
+ clicks: number;
200
+ shares: number;
201
+ comments: number;
202
+ likes: number;
203
+ reach: number;
204
+ saves?: number;
205
+ videoViews?: number;
206
+ platformMetrics: Record<string, any>;
207
+ }
208
+
209
+ interface SearchParams {
210
+ query?: string;
211
+ hashtags?: string[];
212
+ startDate?: Date;
213
+ endDate?: Date;
214
+ limit?: number;
215
+ offset?: number;
216
+ }
217
+
218
+ interface MediaFile {
219
+ filename: string;
220
+ mimeType: string;
221
+ data: Buffer | string; // Base64 or buffer
222
+ size: number;
223
+ }
224
+ ```
225
+
226
+ ## Platform-Specific Implementation Details
227
+
228
+ ### HootSuite
229
+ - **API Version**: v1
230
+ - **Rate Limits**: 250 requests per hour
231
+ - **Special Features**: Multi-platform posting, team collaboration
232
+ - **Search Capabilities**: Full text search across connected accounts
233
+
234
+ ### Buffer
235
+ - **API Version**: v1
236
+ - **Rate Limits**: 600 requests per hour
237
+ - **Special Features**: Optimal timing suggestions, queue management
238
+ - **Search Capabilities**: Search within scheduled and sent posts
239
+
240
+ ### LinkedIn
241
+ - **API Version**: v2 (LinkedIn Marketing Developer Platform)
242
+ - **Rate Limits**: Application-level and member-level limits
243
+ - **Special Features**: Organization vs personal posts, article publishing
244
+ - **Search Capabilities**: Search organization posts, limited personal post search
245
+
246
+ ### Twitter/X
247
+ - **API Version**: v2
248
+ - **Rate Limits**: Varies by endpoint (15-900 requests per 15 min)
249
+ - **Special Features**: Thread creation, advanced search operators
250
+ - **Search Capabilities**: Full Twitter search API with operators
251
+
252
+ ### Facebook
253
+ - **API Version**: Graph API v18.0
254
+ - **Rate Limits**: 200 calls per hour per user
255
+ - **Special Features**: Page vs profile posts, boost capabilities
256
+ - **Search Capabilities**: Search within page posts, limited by privacy
257
+
258
+ ### Instagram
259
+ - **API Version**: Instagram Basic Display API + Graph API
260
+ - **Rate Limits**: 200 calls per hour per user
261
+ - **Special Features**: Stories, reels, shopping tags
262
+ - **Search Capabilities**: Business account posts only
263
+
264
+ ### TikTok
265
+ - **API Version**: Display API v2
266
+ - **Rate Limits**: 1000 requests per day
267
+ - **Special Features**: Video only, trending discovery
268
+ - **Search Capabilities**: Limited to user's own videos
269
+
270
+ ### YouTube
271
+ - **API Version**: Data API v3
272
+ - **Rate Limits**: 10,000 quota units per day
273
+ - **Special Features**: Video management, playlists, premieres
274
+ - **Search Capabilities**: Full channel video search with filters
275
+
276
+ ## Error Handling
277
+
278
+ All actions implement comprehensive error handling:
279
+
280
+ ```typescript
281
+ enum SocialMediaErrorCode {
282
+ RATE_LIMIT_EXCEEDED = 'RATE_LIMIT',
283
+ INVALID_TOKEN = 'INVALID_TOKEN',
284
+ TOKEN_EXPIRED = 'TOKEN_EXPIRED',
285
+ PLATFORM_ERROR = 'PLATFORM_ERROR',
286
+ INVALID_MEDIA = 'INVALID_MEDIA',
287
+ POST_NOT_FOUND = 'POST_NOT_FOUND',
288
+ INSUFFICIENT_PERMISSIONS = 'INSUFFICIENT_PERMISSIONS'
289
+ }
290
+ ```
291
+
292
+ ## Usage Examples
293
+
294
+ ### Creating a Post
295
+ ```typescript
296
+ const action = new CreatePostAction();
297
+ await action.RunAction({
298
+ CompanyIntegrationID: 'abc-123',
299
+ ProfileID: 'page-456',
300
+ Content: 'Check out our new product!',
301
+ MediaFiles: [{
302
+ filename: 'product.jpg',
303
+ mimeType: 'image/jpeg',
304
+ data: base64Data,
305
+ size: 1024000
306
+ }],
307
+ ScheduledTime: '2024-01-15T10:00:00Z'
308
+ });
309
+ ```
310
+
311
+ ### Searching Historical Posts
312
+ ```typescript
313
+ const action = new SearchPostsAction();
314
+ const result = await action.RunAction({
315
+ CompanyIntegrationID: 'abc-123',
316
+ Query: 'product launch',
317
+ StartDate: '2023-01-01',
318
+ EndDate: '2023-12-31',
319
+ Limit: 100
320
+ });
321
+
322
+ // Analyze content patterns
323
+ const posts = result.Result as SocialPost[];
324
+ const contentPatterns = analyzePostContent(posts);
325
+ ```
326
+
327
+ ### Getting Analytics
328
+ ```typescript
329
+ const action = new GetPostAnalyticsAction();
330
+ const result = await action.RunAction({
331
+ CompanyIntegrationID: 'abc-123',
332
+ PostID: 'post-789',
333
+ MetricTypes: ['impressions', 'engagements', 'clicks']
334
+ });
335
+ ```
336
+
337
+ ## Development Guidelines
338
+
339
+ 1. **Credential Storage**: Always use CompanyIntegration for OAuth tokens
340
+ 2. **Rate Limiting**: Implement exponential backoff for rate limit errors
341
+ 3. **Media Handling**: Validate media size/format before upload
342
+ 4. **Error Messages**: Provide clear, actionable error messages
343
+ 5. **Logging**: Log all API requests for debugging
344
+ 6. **Testing**: Mock API responses for unit tests
345
+
346
+ ## Testing
347
+
348
+ Each platform should have:
349
+ - Unit tests for action logic
350
+ - Integration tests with mock API responses
351
+ - Manual testing checklist for OAuth flow
352
+ - Performance tests for bulk operations
353
+
354
+ ## Future Enhancements
355
+
356
+ 1. **Webhook Support**: Real-time notifications for comments/mentions
357
+ 2. **Batch Operations**: Bulk post creation/scheduling
358
+ 3. **AI Integration**: Content suggestions based on historical performance
359
+ 4. **Cross-Platform Analytics**: Unified dashboard across all platforms
360
+ 5. **Content Calendar**: Visual planning interface
361
+
362
+ ## Contributing
363
+
364
+ When adding new actions:
365
+ 1. Extend the appropriate base class
366
+ 2. Implement all required parameters
367
+ 3. Add comprehensive error handling
368
+ 4. Include search functionality where available
369
+ 5. Update metadata files
370
+ 6. Add unit tests
371
+ 7. Document any platform-specific quirks
372
+
373
+ ## License
374
+
375
+ See MemberJunction main license.
@@ -0,0 +1,137 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { BaseOAuthAction } from '@memberjunction/actions';
4
+ import { ActionParam } from '@memberjunction/actions-base';
5
+ /**
6
+ * Common interfaces for social media actions
7
+ */
8
+ export interface SocialPost {
9
+ id: string;
10
+ platform: string;
11
+ profileId: string;
12
+ content: string;
13
+ mediaUrls: string[];
14
+ publishedAt: Date;
15
+ scheduledFor?: Date;
16
+ analytics?: SocialAnalytics;
17
+ platformSpecificData: Record<string, any>;
18
+ }
19
+ export interface SocialAnalytics {
20
+ impressions: number;
21
+ engagements: number;
22
+ clicks: number;
23
+ shares: number;
24
+ comments: number;
25
+ likes: number;
26
+ reach: number;
27
+ saves?: number;
28
+ videoViews?: number;
29
+ platformMetrics: Record<string, any>;
30
+ }
31
+ export interface SearchParams {
32
+ query?: string;
33
+ hashtags?: string[];
34
+ startDate?: Date;
35
+ endDate?: Date;
36
+ limit?: number;
37
+ offset?: number;
38
+ }
39
+ export interface MediaFile {
40
+ filename: string;
41
+ mimeType: string;
42
+ data: Buffer | string;
43
+ size: number;
44
+ }
45
+ export declare enum SocialMediaErrorCode {
46
+ RATE_LIMIT_EXCEEDED = "RATE_LIMIT",
47
+ INVALID_TOKEN = "INVALID_TOKEN",
48
+ TOKEN_EXPIRED = "TOKEN_EXPIRED",
49
+ PLATFORM_ERROR = "PLATFORM_ERROR",
50
+ INVALID_MEDIA = "INVALID_MEDIA",
51
+ POST_NOT_FOUND = "POST_NOT_FOUND",
52
+ INSUFFICIENT_PERMISSIONS = "INSUFFICIENT_PERMISSIONS"
53
+ }
54
+ /**
55
+ * Base class for all social media actions.
56
+ * Provides common functionality for authentication, media handling,
57
+ * analytics normalization, and rate limiting.
58
+ */
59
+ export declare abstract class BaseSocialMediaAction extends BaseOAuthAction {
60
+ /**
61
+ * Common parameters for all social media actions
62
+ */
63
+ protected get commonSocialParams(): ActionParam[];
64
+ /**
65
+ * Get the platform name (e.g., 'Twitter', 'LinkedIn')
66
+ */
67
+ protected abstract get platformName(): string;
68
+ /**
69
+ * Get the API base URL for the platform
70
+ */
71
+ protected abstract get apiBaseUrl(): string;
72
+ /**
73
+ * Normalize platform-specific analytics to common format
74
+ */
75
+ protected normalizeAnalytics(platformData: any): SocialAnalytics;
76
+ /**
77
+ * Upload media files to the platform
78
+ */
79
+ protected uploadMedia(files: MediaFile[]): Promise<string[]>;
80
+ /**
81
+ * Platform-specific media upload implementation
82
+ */
83
+ protected abstract uploadSingleMedia(file: MediaFile): Promise<string>;
84
+ /**
85
+ * Validate media file meets platform requirements
86
+ */
87
+ protected validateMediaFile(file: MediaFile): void;
88
+ /**
89
+ * Handle rate limiting with exponential backoff
90
+ */
91
+ protected handleRateLimit(retryAfter?: number): Promise<void>;
92
+ /**
93
+ * Search for posts on the platform
94
+ */
95
+ protected abstract searchPosts(params: SearchParams): Promise<SocialPost[]>;
96
+ /**
97
+ * Convert platform-specific post data to common format
98
+ */
99
+ protected abstract normalizePost(platformPost: any): SocialPost;
100
+ /**
101
+ * Parse rate limit headers from API response
102
+ */
103
+ protected parseRateLimitHeaders(headers: any): {
104
+ remaining: number;
105
+ reset: Date;
106
+ limit: number;
107
+ } | null;
108
+ /**
109
+ * Build common API headers including authentication
110
+ */
111
+ protected buildHeaders(additionalHeaders?: Record<string, string>): Record<string, string>;
112
+ /**
113
+ * Format date for API requests (ISO 8601)
114
+ */
115
+ protected formatDate(date: Date | string): string;
116
+ /**
117
+ * Parse date from API response
118
+ */
119
+ protected parseDate(dateString: string): Date;
120
+ /**
121
+ * Get profile ID from parameters or default from integration
122
+ */
123
+ protected getProfileId(params: any): string;
124
+ /**
125
+ * Log API request for debugging
126
+ */
127
+ protected logApiRequest(method: string, url: string, data?: any): void;
128
+ /**
129
+ * Log API response for debugging
130
+ */
131
+ protected logApiResponse(response: any): void;
132
+ /**
133
+ * Helper to get parameter value from params array
134
+ */
135
+ protected getParamValue(params: ActionParam[], paramName: string): any;
136
+ }
137
+ //# sourceMappingURL=base-social.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-social.action.d.ts","sourceRoot":"","sources":["../../src/base/base-social.action.ts"],"names":[],"mappings":"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"}