@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,346 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.LinkedInBaseAction = void 0;
13
+ const global_1 = require("@memberjunction/global");
14
+ const base_social_action_1 = require("../../base/base-social.action");
15
+ const axios_1 = __importDefault(require("axios"));
16
+ const core_1 = require("@memberjunction/core");
17
+ /**
18
+ * Base class for all LinkedIn actions.
19
+ * Handles LinkedIn-specific authentication, API interactions, and rate limiting.
20
+ * Uses LinkedIn Marketing Developer Platform API v2.
21
+ */
22
+ let LinkedInBaseAction = class LinkedInBaseAction extends base_social_action_1.BaseSocialMediaAction {
23
+ get platformName() {
24
+ return 'LinkedIn';
25
+ }
26
+ get apiBaseUrl() {
27
+ return 'https://api.linkedin.com/v2';
28
+ }
29
+ /**
30
+ * Axios instance for making HTTP requests
31
+ */
32
+ _axiosInstance = null;
33
+ /**
34
+ * Get or create axios instance with interceptors
35
+ */
36
+ get axiosInstance() {
37
+ if (!this._axiosInstance) {
38
+ this._axiosInstance = axios_1.default.create({
39
+ baseURL: this.apiBaseUrl,
40
+ timeout: 30000,
41
+ headers: {
42
+ 'Content-Type': 'application/json',
43
+ 'Accept': 'application/json',
44
+ 'X-Restli-Protocol-Version': '2.0.0' // LinkedIn specific header
45
+ }
46
+ });
47
+ // Add request interceptor for auth
48
+ this._axiosInstance.interceptors.request.use((config) => {
49
+ const token = this.getAccessToken();
50
+ if (token) {
51
+ config.headers.Authorization = `Bearer ${token}`;
52
+ }
53
+ return config;
54
+ }, (error) => Promise.reject(error));
55
+ // Add response interceptor for rate limit handling
56
+ this._axiosInstance.interceptors.response.use((response) => {
57
+ // Log rate limit info
58
+ const rateLimitInfo = this.parseRateLimitHeaders(response.headers);
59
+ if (rateLimitInfo) {
60
+ (0, core_1.LogStatus)(`LinkedIn Rate Limit - Remaining: ${rateLimitInfo.remaining}/${rateLimitInfo.limit}, Reset: ${rateLimitInfo.reset}`);
61
+ }
62
+ return response;
63
+ }, async (error) => {
64
+ if (error.response?.status === 429) {
65
+ // Rate limit exceeded
66
+ const retryAfter = error.response.headers['retry-after'];
67
+ const waitTime = retryAfter ? parseInt(retryAfter) : 60;
68
+ await this.handleRateLimit(waitTime);
69
+ // Retry the request
70
+ return this._axiosInstance.request(error.config);
71
+ }
72
+ return Promise.reject(error);
73
+ });
74
+ }
75
+ return this._axiosInstance;
76
+ }
77
+ /**
78
+ * Refresh the access token using the refresh token
79
+ */
80
+ async refreshAccessToken() {
81
+ const refreshToken = this.getRefreshToken();
82
+ if (!refreshToken) {
83
+ throw new Error('No refresh token available for LinkedIn');
84
+ }
85
+ try {
86
+ const response = await axios_1.default.post('https://www.linkedin.com/oauth/v2/accessToken', new URLSearchParams({
87
+ grant_type: 'refresh_token',
88
+ refresh_token: refreshToken,
89
+ client_id: this.getCustomAttribute(2) || '', // Client ID stored in CustomAttribute2
90
+ client_secret: this.getCustomAttribute(3) || '' // Client Secret stored in CustomAttribute3
91
+ }).toString(), {
92
+ headers: {
93
+ 'Content-Type': 'application/x-www-form-urlencoded'
94
+ }
95
+ });
96
+ const { access_token, refresh_token: newRefreshToken, expires_in } = response.data;
97
+ // Update stored tokens
98
+ await this.updateStoredTokens(access_token, newRefreshToken || refreshToken, expires_in);
99
+ (0, core_1.LogStatus)('LinkedIn access token refreshed successfully');
100
+ }
101
+ catch (error) {
102
+ (0, core_1.LogError)(`Failed to refresh LinkedIn access token: ${error instanceof Error ? error.message : 'Unknown error'}`);
103
+ throw error;
104
+ }
105
+ }
106
+ /**
107
+ * Get the authenticated user's profile URN
108
+ */
109
+ async getCurrentUserUrn() {
110
+ try {
111
+ const response = await this.axiosInstance.get('/me');
112
+ return `urn:li:person:${response.data.id}`;
113
+ }
114
+ catch (error) {
115
+ (0, core_1.LogError)(`Failed to get current user URN: ${error instanceof Error ? error.message : 'Unknown error'}`);
116
+ throw error;
117
+ }
118
+ }
119
+ /**
120
+ * Get organizations the user has admin access to
121
+ */
122
+ async getAdminOrganizations() {
123
+ try {
124
+ const response = await this.axiosInstance.get('/organizationalEntityAcls', {
125
+ params: {
126
+ q: 'roleAssignee',
127
+ role: 'ADMINISTRATOR',
128
+ projection: '(elements*(*,organizationalTarget~(localizedName)))'
129
+ }
130
+ });
131
+ const organizations = [];
132
+ if (response.data.elements) {
133
+ for (const element of response.data.elements) {
134
+ if (element.organizationalTarget) {
135
+ organizations.push({
136
+ urn: element.organizationalTarget,
137
+ name: element['organizationalTarget~']?.localizedName || 'Unknown',
138
+ id: element.organizationalTarget.split(':').pop() || ''
139
+ });
140
+ }
141
+ }
142
+ }
143
+ return organizations;
144
+ }
145
+ catch (error) {
146
+ (0, core_1.LogError)(`Failed to get admin organizations: ${error instanceof Error ? error.message : 'Unknown error'}`);
147
+ throw error;
148
+ }
149
+ }
150
+ /**
151
+ * Upload media to LinkedIn
152
+ */
153
+ async uploadSingleMedia(file) {
154
+ try {
155
+ // Step 1: Register upload
156
+ const registerResponse = await this.axiosInstance.post('/assets?action=registerUpload', {
157
+ registerUploadRequest: {
158
+ recipes: ['urn:li:digitalmediaRecipe:feedshare-image'],
159
+ owner: await this.getCurrentUserUrn(),
160
+ serviceRelationships: [{
161
+ relationshipType: 'OWNER',
162
+ identifier: 'urn:li:userGeneratedContent'
163
+ }]
164
+ }
165
+ });
166
+ const uploadUrl = registerResponse.data.value.uploadMechanism['com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest'].uploadUrl;
167
+ const asset = registerResponse.data.value.asset;
168
+ // Step 2: Upload the file
169
+ const fileData = typeof file.data === 'string'
170
+ ? Buffer.from(file.data, 'base64')
171
+ : file.data;
172
+ await axios_1.default.put(uploadUrl, fileData, {
173
+ headers: {
174
+ 'Authorization': `Bearer ${this.getAccessToken()}`,
175
+ 'Content-Type': file.mimeType
176
+ }
177
+ });
178
+ // Return the asset URN
179
+ return asset;
180
+ }
181
+ catch (error) {
182
+ (0, core_1.LogError)(`Failed to upload media to LinkedIn: ${error instanceof Error ? error.message : 'Unknown error'}`);
183
+ throw error;
184
+ }
185
+ }
186
+ /**
187
+ * Validate media file meets LinkedIn requirements
188
+ */
189
+ validateMediaFile(file) {
190
+ const supportedTypes = [
191
+ 'image/jpeg',
192
+ 'image/png',
193
+ 'image/gif',
194
+ 'image/webp'
195
+ ];
196
+ if (!supportedTypes.includes(file.mimeType)) {
197
+ throw new Error(`Unsupported media type: ${file.mimeType}. Supported types: ${supportedTypes.join(', ')}`);
198
+ }
199
+ // LinkedIn image size limits
200
+ const maxSize = 10 * 1024 * 1024; // 10MB
201
+ if (file.size > maxSize) {
202
+ throw new Error(`File size exceeds limit. Max: ${maxSize / 1024 / 1024}MB, Got: ${file.size / 1024 / 1024}MB`);
203
+ }
204
+ }
205
+ /**
206
+ * Create a share (post) on LinkedIn
207
+ */
208
+ async createShare(shareData) {
209
+ try {
210
+ const response = await this.axiosInstance.post('/ugcPosts', shareData);
211
+ return response.data.id;
212
+ }
213
+ catch (error) {
214
+ this.handleLinkedInError(error);
215
+ }
216
+ }
217
+ /**
218
+ * Get shares for a specific author (person or organization)
219
+ */
220
+ async getShares(authorUrn, count = 50, start = 0) {
221
+ try {
222
+ const response = await this.axiosInstance.get('/ugcPosts', {
223
+ params: {
224
+ q: 'authors',
225
+ authors: `List(${authorUrn})`,
226
+ count: count,
227
+ start: start
228
+ }
229
+ });
230
+ return response.data.elements || [];
231
+ }
232
+ catch (error) {
233
+ (0, core_1.LogError)(`Failed to get shares: ${error instanceof Error ? error.message : 'Unknown error'}`);
234
+ throw error;
235
+ }
236
+ }
237
+ /**
238
+ * Convert LinkedIn share to common format
239
+ */
240
+ normalizePost(linkedInShare) {
241
+ const publishedAt = new Date(linkedInShare.firstPublishedAt || linkedInShare.created.time);
242
+ // Extract media URLs
243
+ const mediaUrls = [];
244
+ if (linkedInShare.specificContent?.['com.linkedin.ugc.ShareContent']?.media) {
245
+ for (const media of linkedInShare.specificContent['com.linkedin.ugc.ShareContent'].media) {
246
+ if (media.media) {
247
+ mediaUrls.push(media.media);
248
+ }
249
+ }
250
+ }
251
+ return {
252
+ id: linkedInShare.id,
253
+ platform: 'LinkedIn',
254
+ profileId: linkedInShare.author,
255
+ content: linkedInShare.specificContent?.['com.linkedin.ugc.ShareContent']?.shareCommentary?.text || '',
256
+ mediaUrls: mediaUrls,
257
+ publishedAt: publishedAt,
258
+ platformSpecificData: {
259
+ lifecycleState: linkedInShare.lifecycleState,
260
+ visibility: linkedInShare.visibility,
261
+ distribution: linkedInShare.distribution
262
+ }
263
+ };
264
+ }
265
+ /**
266
+ * Normalize LinkedIn analytics to common format
267
+ */
268
+ normalizeAnalytics(linkedInAnalytics) {
269
+ return {
270
+ impressions: linkedInAnalytics.totalShareStatistics?.impressionCount || 0,
271
+ engagements: linkedInAnalytics.totalShareStatistics?.engagement || 0,
272
+ clicks: linkedInAnalytics.totalShareStatistics?.clickCount || 0,
273
+ shares: linkedInAnalytics.totalShareStatistics?.shareCount || 0,
274
+ comments: linkedInAnalytics.totalShareStatistics?.commentCount || 0,
275
+ likes: linkedInAnalytics.totalShareStatistics?.likeCount || 0,
276
+ reach: linkedInAnalytics.totalShareStatistics?.uniqueImpressionsCount || 0,
277
+ platformMetrics: linkedInAnalytics
278
+ };
279
+ }
280
+ /**
281
+ * Search for posts - implemented in search action
282
+ */
283
+ async searchPosts(params) {
284
+ // This is implemented in the search-posts.action.ts
285
+ throw new Error('Search posts is implemented in LinkedInSearchPostsAction');
286
+ }
287
+ /**
288
+ * Handle LinkedIn-specific errors
289
+ */
290
+ handleLinkedInError(error) {
291
+ if (error.response) {
292
+ const { status, data } = error.response;
293
+ const errorData = data;
294
+ switch (status) {
295
+ case 400:
296
+ throw new Error(`Bad Request: ${errorData.message || 'Invalid request parameters'}`);
297
+ case 401:
298
+ throw new Error('Unauthorized: Invalid or expired access token');
299
+ case 403:
300
+ throw new Error('Forbidden: Insufficient permissions. Ensure the app has required LinkedIn scopes.');
301
+ case 404:
302
+ throw new Error('Not Found: Resource does not exist');
303
+ case 422:
304
+ throw new Error(`Unprocessable Entity: ${errorData.message || 'Invalid data provided'}`);
305
+ case 429:
306
+ throw new Error('Rate Limit Exceeded: Too many requests');
307
+ case 500:
308
+ throw new Error('Internal Server Error: LinkedIn service error');
309
+ default:
310
+ throw new Error(`LinkedIn API Error (${status}): ${errorData.message || 'Unknown error'}`);
311
+ }
312
+ }
313
+ else if (error.request) {
314
+ throw new Error('Network Error: No response from LinkedIn');
315
+ }
316
+ else {
317
+ throw new Error(`Request Error: ${error.message}`);
318
+ }
319
+ }
320
+ /**
321
+ * Parse LinkedIn-specific rate limit headers
322
+ */
323
+ parseRateLimitHeaders(headers) {
324
+ // LinkedIn uses different header names
325
+ const appRemaining = headers['x-app-rate-limit-remaining'];
326
+ const appLimit = headers['x-app-rate-limit-limit'];
327
+ const memberRemaining = headers['x-member-rate-limit-remaining'];
328
+ const memberLimit = headers['x-member-rate-limit-limit'];
329
+ // Use the more restrictive limit
330
+ const remaining = Math.min(appRemaining ? parseInt(appRemaining) : Infinity, memberRemaining ? parseInt(memberRemaining) : Infinity);
331
+ const limit = Math.min(appLimit ? parseInt(appLimit) : Infinity, memberLimit ? parseInt(memberLimit) : Infinity);
332
+ if (remaining !== Infinity && limit !== Infinity) {
333
+ // LinkedIn resets rate limits at the top of each hour
334
+ const now = new Date();
335
+ const reset = new Date(now);
336
+ reset.setHours(reset.getHours() + 1, 0, 0, 0);
337
+ return { remaining, reset, limit };
338
+ }
339
+ return null;
340
+ }
341
+ };
342
+ exports.LinkedInBaseAction = LinkedInBaseAction;
343
+ exports.LinkedInBaseAction = LinkedInBaseAction = __decorate([
344
+ (0, global_1.RegisterClass)(base_social_action_1.BaseSocialMediaAction, 'LinkedInBaseAction')
345
+ ], LinkedInBaseAction);
346
+ //# sourceMappingURL=linkedin-base.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkedin-base.action.js","sourceRoot":"","sources":["../../../src/providers/linkedin/linkedin-base.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { TikTokBaseAction } from '../tiktok-base.action';
2
+ import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
3
+ /**
4
+ * Action to create a video post on TikTok
5
+ * Note: This requires special API approval from TikTok
6
+ */
7
+ export declare class CreateVideoPostAction extends TikTokBaseAction {
8
+ /**
9
+ * Create a video post on TikTok
10
+ */
11
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
12
+ /**
13
+ * Define the parameters this action expects
14
+ */
15
+ get Params(): ActionParam[];
16
+ /**
17
+ * Metadata about this action
18
+ */
19
+ get Description(): string;
20
+ }
21
+ //# sourceMappingURL=create-video-post.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-video-post.action.d.ts","sourceRoot":"","sources":["../../../../src/providers/tiktok/actions/create-video-post.action.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEhG;;;GAGG;AACH,qBACa,qBAAsB,SAAQ,gBAAgB;IAEvD;;OAEG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsIvF;;OAEG;IACH,IAAW,MAAM,IAAI,WAAW,EAAE,CA0EjC;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;CACJ"}
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CreateVideoPostAction = void 0;
10
+ const global_1 = require("@memberjunction/global");
11
+ const tiktok_base_action_1 = require("../tiktok-base.action");
12
+ /**
13
+ * Action to create a video post on TikTok
14
+ * Note: This requires special API approval from TikTok
15
+ */
16
+ let CreateVideoPostAction = class CreateVideoPostAction extends tiktok_base_action_1.TikTokBaseAction {
17
+ /**
18
+ * Create a video post on TikTok
19
+ */
20
+ async InternalRunAction(params) {
21
+ const { Params } = params;
22
+ try {
23
+ // Initialize OAuth
24
+ const companyIntegrationId = this.getParamValue(Params, 'CompanyIntegrationID');
25
+ if (!companyIntegrationId) {
26
+ throw new Error('CompanyIntegrationID is required');
27
+ }
28
+ await this.initializeOAuth(companyIntegrationId);
29
+ // Extract parameters
30
+ const videoUrl = this.getParamValue(Params, 'VideoURL');
31
+ const title = this.getParamValue(Params, 'Title');
32
+ const description = this.getParamValue(Params, 'Description');
33
+ const hashtags = this.getParamValue(Params, 'Hashtags') || [];
34
+ const privacyLevel = this.getParamValue(Params, 'PrivacyLevel') || 'PUBLIC';
35
+ const allowComments = this.getParamValue(Params, 'AllowComments') !== false;
36
+ const allowDuet = this.getParamValue(Params, 'AllowDuet') !== false;
37
+ const allowStitch = this.getParamValue(Params, 'AllowStitch') !== false;
38
+ const scheduleTime = this.getParamValue(Params, 'ScheduleTime');
39
+ // Validate required parameters
40
+ if (!videoUrl && !this.getParamValue(Params, 'VideoFile')) {
41
+ throw new Error('Either VideoURL or VideoFile is required');
42
+ }
43
+ // Build description with hashtags
44
+ const hashtagString = hashtags.map((tag) => tag.startsWith('#') ? tag : `#${tag}`).join(' ');
45
+ const fullDescription = description ? `${description} ${hashtagString}`.trim() : hashtagString;
46
+ // Check if we have video upload approval
47
+ const hasUploadApproval = this.getCustomAttribute(3) === 'approved';
48
+ if (!hasUploadApproval) {
49
+ // Return informative message about TikTok limitations
50
+ const alternativeSteps = {
51
+ manualProcess: [
52
+ '1. Download the TikTok mobile app',
53
+ '2. Log in to your TikTok account',
54
+ '3. Tap the + button to create a new video',
55
+ '4. Upload your video or record a new one',
56
+ `5. Add title: "${title || 'Your video title'}"`,
57
+ `6. Add description: "${fullDescription}"`,
58
+ '7. Set privacy and interaction settings',
59
+ '8. Post immediately or save as draft'
60
+ ],
61
+ businessSolution: 'For automated posting, apply for TikTok Marketing API access at https://ads.tiktok.com/marketing_api/',
62
+ thirdPartyTools: [
63
+ 'TikTok Creator Studio (web interface)',
64
+ 'Buffer (with TikTok integration)',
65
+ 'Hootsuite (business plans)'
66
+ ]
67
+ };
68
+ // Update output parameters with alternative instructions
69
+ const outputParams = [...Params];
70
+ const postIdParam = outputParams.find(p => p.Name === 'PostID');
71
+ if (postIdParam)
72
+ postIdParam.Value = null;
73
+ const postUrlParam = outputParams.find(p => p.Name === 'PostURL');
74
+ if (postUrlParam)
75
+ postUrlParam.Value = null;
76
+ const alternativesParam = outputParams.find(p => p.Name === 'Alternatives');
77
+ if (alternativesParam)
78
+ alternativesParam.Value = alternativeSteps;
79
+ return {
80
+ Success: false,
81
+ ResultCode: 'API_LIMITATION',
82
+ Message: 'TikTok video upload requires special API approval. See Alternatives output for manual posting instructions.',
83
+ Params: outputParams
84
+ };
85
+ }
86
+ // If we have approval, attempt to create the post
87
+ // This is the theoretical implementation if approval is granted
88
+ const createPostData = {
89
+ video_url: videoUrl,
90
+ title: title,
91
+ description: fullDescription,
92
+ privacy_level: privacyLevel,
93
+ allow_comments: allowComments,
94
+ allow_duet: allowDuet,
95
+ allow_stitch: allowStitch,
96
+ scheduled_publish_time: scheduleTime ? new Date(scheduleTime).toISOString() : undefined
97
+ };
98
+ const response = await this.makeTikTokRequest('/v2/video/upload/', 'POST', createPostData);
99
+ const postData = response.data;
100
+ // Update output parameters
101
+ const outputParams = [...Params];
102
+ const postIdParam = outputParams.find(p => p.Name === 'PostID');
103
+ if (postIdParam)
104
+ postIdParam.Value = postData.video_id;
105
+ const postUrlParam = outputParams.find(p => p.Name === 'PostURL');
106
+ if (postUrlParam)
107
+ postUrlParam.Value = postData.share_url;
108
+ const statusParam = outputParams.find(p => p.Name === 'Status');
109
+ if (statusParam)
110
+ statusParam.Value = postData.status;
111
+ return {
112
+ Success: true,
113
+ ResultCode: 'SUCCESS',
114
+ Message: `Successfully created TikTok video post: ${postData.video_id}`,
115
+ Params: outputParams
116
+ };
117
+ }
118
+ catch (error) {
119
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
120
+ // Check for specific TikTok error codes
121
+ if (errorMessage.includes('insufficient_permissions')) {
122
+ return {
123
+ Success: false,
124
+ ResultCode: 'INSUFFICIENT_PERMISSIONS',
125
+ Message: 'This action requires TikTok Marketing API approval. Contact TikTok for Business.',
126
+ Params
127
+ };
128
+ }
129
+ return {
130
+ Success: false,
131
+ ResultCode: this.isAuthError(error) ? 'INVALID_TOKEN' : 'ERROR',
132
+ Message: `Failed to create TikTok video post: ${errorMessage}`,
133
+ Params
134
+ };
135
+ }
136
+ }
137
+ /**
138
+ * Define the parameters this action expects
139
+ */
140
+ get Params() {
141
+ return [
142
+ ...this.commonSocialParams,
143
+ {
144
+ Name: 'VideoURL',
145
+ Type: 'Input',
146
+ Value: null
147
+ },
148
+ {
149
+ Name: 'VideoFile',
150
+ Type: 'Input',
151
+ Value: null
152
+ },
153
+ {
154
+ Name: 'Title',
155
+ Type: 'Input',
156
+ Value: null
157
+ },
158
+ {
159
+ Name: 'Description',
160
+ Type: 'Input',
161
+ Value: null
162
+ },
163
+ {
164
+ Name: 'Hashtags',
165
+ Type: 'Input',
166
+ Value: []
167
+ },
168
+ {
169
+ Name: 'PrivacyLevel',
170
+ Type: 'Input',
171
+ Value: 'PUBLIC'
172
+ },
173
+ {
174
+ Name: 'AllowComments',
175
+ Type: 'Input',
176
+ Value: true
177
+ },
178
+ {
179
+ Name: 'AllowDuet',
180
+ Type: 'Input',
181
+ Value: true
182
+ },
183
+ {
184
+ Name: 'AllowStitch',
185
+ Type: 'Input',
186
+ Value: true
187
+ },
188
+ {
189
+ Name: 'ScheduleTime',
190
+ Type: 'Input',
191
+ Value: null
192
+ },
193
+ {
194
+ Name: 'PostID',
195
+ Type: 'Output',
196
+ Value: null
197
+ },
198
+ {
199
+ Name: 'PostURL',
200
+ Type: 'Output',
201
+ Value: null
202
+ },
203
+ {
204
+ Name: 'Status',
205
+ Type: 'Output',
206
+ Value: null
207
+ },
208
+ {
209
+ Name: 'Alternatives',
210
+ Type: 'Output',
211
+ Value: null
212
+ }
213
+ ];
214
+ }
215
+ /**
216
+ * Metadata about this action
217
+ */
218
+ get Description() {
219
+ return 'Creates a video post on TikTok (requires special API approval from TikTok)';
220
+ }
221
+ };
222
+ exports.CreateVideoPostAction = CreateVideoPostAction;
223
+ exports.CreateVideoPostAction = CreateVideoPostAction = __decorate([
224
+ (0, global_1.RegisterClass)(tiktok_base_action_1.TikTokBaseAction, 'CreateVideoPostAction')
225
+ ], CreateVideoPostAction);
226
+ //# sourceMappingURL=create-video-post.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-video-post.action.js","sourceRoot":"","sources":["../../../../src/providers/tiktok/actions/create-video-post.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { TikTokBaseAction } from '../tiktok-base.action';
2
+ import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
3
+ /**
4
+ * Action to get analytics for a TikTok account
5
+ */
6
+ export declare class GetAccountAnalyticsAction extends TikTokBaseAction {
7
+ /**
8
+ * Get account-level analytics from TikTok
9
+ */
10
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
11
+ /**
12
+ * Calculate average engagement rate for videos
13
+ */
14
+ private calculateAverageEngagementRate;
15
+ /**
16
+ * Calculate account-level engagement rate
17
+ */
18
+ private calculateAccountEngagementRate;
19
+ /**
20
+ * Generate recommendations based on analytics
21
+ */
22
+ private generateRecommendations;
23
+ /**
24
+ * Define the parameters this action expects
25
+ */
26
+ get Params(): ActionParam[];
27
+ /**
28
+ * Metadata about this action
29
+ */
30
+ get Description(): string;
31
+ }
32
+ //# sourceMappingURL=get-account-analytics.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-account-analytics.action.d.ts","sourceRoot":"","sources":["../../../../src/providers/tiktok/actions/get-account-analytics.action.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEhG;;GAEG;AACH,qBACa,yBAA0B,SAAQ,gBAAgB;IAE3D;;OAEG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkIvF;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAatC;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAUtC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAkC/B;;OAEG;IACH,IAAW,MAAM,IAAI,WAAW,EAAE,CAkCjC;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;CACJ"}