@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,359 @@
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.FacebookGetPageInsightsAction = void 0;
13
+ const global_1 = require("@memberjunction/global");
14
+ const facebook_base_action_1 = require("../facebook-base.action");
15
+ const core_1 = require("@memberjunction/core");
16
+ const axios_1 = __importDefault(require("axios"));
17
+ /**
18
+ * Retrieves comprehensive analytics and insights for a Facebook page.
19
+ * Provides metrics like page views, likes, engagement, demographics, and more.
20
+ */
21
+ let FacebookGetPageInsightsAction = class FacebookGetPageInsightsAction extends facebook_base_action_1.FacebookBaseAction {
22
+ /**
23
+ * Get action description
24
+ */
25
+ get Description() {
26
+ return 'Retrieves comprehensive analytics for a Facebook page including views, engagement, demographics, and performance metrics';
27
+ }
28
+ /**
29
+ * Define the parameters for this action
30
+ */
31
+ get Params() {
32
+ return [
33
+ ...this.commonSocialParams,
34
+ {
35
+ Name: 'PageID',
36
+ Type: 'Input',
37
+ Value: null,
38
+ },
39
+ {
40
+ Name: 'MetricTypes',
41
+ Type: 'Input',
42
+ Value: null,
43
+ },
44
+ {
45
+ Name: 'Period',
46
+ Type: 'Input',
47
+ Value: 'day',
48
+ },
49
+ {
50
+ Name: 'StartDate',
51
+ Type: 'Input',
52
+ Value: null,
53
+ },
54
+ {
55
+ Name: 'EndDate',
56
+ Type: 'Input',
57
+ Value: null,
58
+ },
59
+ {
60
+ Name: 'IncludeDemographics',
61
+ Type: 'Input',
62
+ Value: true,
63
+ },
64
+ {
65
+ Name: 'IncludeVideoMetrics',
66
+ Type: 'Input',
67
+ Value: true,
68
+ },
69
+ {
70
+ Name: 'CompareWithPrevious',
71
+ Type: 'Input',
72
+ Value: false,
73
+ }
74
+ ];
75
+ }
76
+ /**
77
+ * Execute the action
78
+ */
79
+ async InternalRunAction(params) {
80
+ const { Params, ContextUser } = params;
81
+ try {
82
+ // Validate required parameters
83
+ const companyIntegrationId = this.getParamValue(Params, 'CompanyIntegrationID');
84
+ const pageId = this.getParamValue(Params, 'PageID');
85
+ if (!companyIntegrationId) {
86
+ return {
87
+ Success: false,
88
+ Message: 'CompanyIntegrationID is required',
89
+ ResultCode: 'INVALID_TOKEN'
90
+ };
91
+ }
92
+ if (!pageId) {
93
+ return {
94
+ Success: false,
95
+ Message: 'PageID is required',
96
+ ResultCode: 'MISSING_REQUIRED_PARAM'
97
+ };
98
+ }
99
+ // Initialize OAuth
100
+ if (!await this.initializeOAuth(companyIntegrationId)) {
101
+ return {
102
+ Success: false,
103
+ Message: 'Failed to initialize Facebook OAuth connection',
104
+ ResultCode: 'INVALID_TOKEN'
105
+ };
106
+ }
107
+ // Get parameters
108
+ const metricTypes = this.getParamValue(Params, 'MetricTypes');
109
+ const period = this.getParamValue(Params, 'Period') || 'day';
110
+ const startDate = this.getParamValue(Params, 'StartDate');
111
+ const endDate = this.getParamValue(Params, 'EndDate');
112
+ const includeDemographics = this.getParamValue(Params, 'IncludeDemographics') !== false;
113
+ const includeVideoMetrics = this.getParamValue(Params, 'IncludeVideoMetrics') !== false;
114
+ const compareWithPrevious = this.getParamValue(Params, 'CompareWithPrevious');
115
+ (0, core_1.LogStatus)(`Retrieving insights for Facebook page ${pageId}...`);
116
+ // Get page access token
117
+ const pageToken = await this.getPageAccessToken(pageId);
118
+ // Build metrics list
119
+ const metrics = metricTypes && metricTypes.length > 0
120
+ ? metricTypes
121
+ : this.getDefaultPageMetrics(includeDemographics, includeVideoMetrics);
122
+ // Build date range parameters
123
+ const dateParams = {};
124
+ if (startDate && endDate) {
125
+ dateParams.since = new Date(startDate).toISOString();
126
+ dateParams.until = new Date(endDate).toISOString();
127
+ }
128
+ else if (period !== 'lifetime') {
129
+ // Default to last 30 days if no date range specified
130
+ const end = new Date();
131
+ const start = new Date();
132
+ start.setDate(start.getDate() - 30);
133
+ dateParams.since = start.toISOString();
134
+ dateParams.until = end.toISOString();
135
+ }
136
+ // Get page insights
137
+ const insightsResponse = await axios_1.default.get(`${this.apiBaseUrl}/${pageId}/insights`, {
138
+ params: {
139
+ access_token: pageToken,
140
+ metric: metrics.join(','),
141
+ period: period,
142
+ ...dateParams
143
+ }
144
+ });
145
+ const insights = insightsResponse.data.data || [];
146
+ // Get page info for context
147
+ const pageInfoResponse = await axios_1.default.get(`${this.apiBaseUrl}/${pageId}`, {
148
+ params: {
149
+ access_token: pageToken,
150
+ fields: 'id,name,category,fan_count,followers_count,about,cover,picture'
151
+ }
152
+ });
153
+ const pageInfo = pageInfoResponse.data;
154
+ // Process insights into categories
155
+ const processedInsights = this.categorizeInsights(insights);
156
+ // Get comparison data if requested
157
+ let comparison = null;
158
+ if (compareWithPrevious && startDate && endDate) {
159
+ comparison = await this.getComparisonData(pageId, pageToken, metrics, period, new Date(startDate), new Date(endDate));
160
+ }
161
+ // Calculate summary metrics
162
+ const summary = this.calculateSummaryMetrics(processedInsights, pageInfo);
163
+ (0, core_1.LogStatus)(`Successfully retrieved insights for page ${pageId}`);
164
+ return {
165
+ Success: true,
166
+ Message: 'Page insights retrieved successfully',
167
+ ResultCode: 'SUCCESS',
168
+ Params
169
+ };
170
+ }
171
+ catch (error) {
172
+ (0, core_1.LogError)(`Failed to get Facebook page insights: ${error instanceof Error ? error.message : 'Unknown error'}`);
173
+ if (this.isAuthError(error)) {
174
+ return this.handleOAuthError(error);
175
+ }
176
+ return {
177
+ Success: false,
178
+ Message: error instanceof Error ? error.message : 'Unknown error occurred',
179
+ ResultCode: 'ERROR'
180
+ };
181
+ }
182
+ }
183
+ /**
184
+ * Get default page metrics based on options
185
+ */
186
+ getDefaultPageMetrics(includeDemographics, includeVideo) {
187
+ const metrics = [
188
+ // Page Views
189
+ 'page_views_total',
190
+ 'page_views_logged_in_unique',
191
+ 'page_views_by_site_logged_in_unique',
192
+ // Page Likes
193
+ 'page_fan_adds',
194
+ 'page_fan_removes',
195
+ 'page_fan_adds_unique',
196
+ 'page_fans',
197
+ // Engagement
198
+ 'page_engaged_users',
199
+ 'page_post_engagements',
200
+ 'page_consumptions',
201
+ 'page_consumptions_unique',
202
+ 'page_places_checkin_total',
203
+ // Impressions
204
+ 'page_impressions',
205
+ 'page_impressions_unique',
206
+ 'page_impressions_paid',
207
+ 'page_impressions_paid_unique',
208
+ 'page_impressions_organic',
209
+ 'page_impressions_organic_unique',
210
+ // Posts
211
+ 'page_posts_impressions',
212
+ 'page_posts_impressions_unique',
213
+ // Actions
214
+ 'page_actions_post_reactions_total',
215
+ 'page_actions_post_reactions_like_total',
216
+ 'page_actions_post_reactions_love_total',
217
+ 'page_actions_post_reactions_wow_total',
218
+ 'page_actions_post_reactions_haha_total',
219
+ 'page_actions_post_reactions_sorry_total',
220
+ 'page_actions_post_reactions_anger_total',
221
+ // CTA Clicks
222
+ 'page_total_actions',
223
+ 'page_cta_clicks_logged_in_total',
224
+ // Messages
225
+ 'page_messages_total_messaging_connections',
226
+ 'page_messages_new_conversations',
227
+ // Negative Feedback
228
+ 'page_negative_feedback',
229
+ 'page_negative_feedback_unique'
230
+ ];
231
+ if (includeDemographics) {
232
+ metrics.push('page_fans_gender_age', 'page_fans_country', 'page_fans_city', 'page_fans_locale', 'page_impressions_by_age_gender_unique', 'page_engaged_users_by_age_gender');
233
+ }
234
+ if (includeVideo) {
235
+ metrics.push('page_video_views', 'page_video_views_paid', 'page_video_views_organic', 'page_video_views_autoplayed', 'page_video_views_click_to_play', 'page_video_views_unique', 'page_video_repeat_views', 'page_video_complete_views_30s', 'page_video_complete_views_30s_paid', 'page_video_complete_views_30s_organic', 'page_video_views_10s', 'page_video_views_10s_paid', 'page_video_views_10s_organic');
236
+ }
237
+ return metrics;
238
+ }
239
+ /**
240
+ * Categorize insights by type for better organization
241
+ */
242
+ categorizeInsights(insights) {
243
+ const categories = {
244
+ pageViews: {},
245
+ engagement: {},
246
+ likes: {},
247
+ impressions: {},
248
+ posts: {},
249
+ reactions: {},
250
+ demographics: {},
251
+ video: {},
252
+ messages: {},
253
+ negativeFeedback: {}
254
+ };
255
+ for (const insight of insights) {
256
+ const name = insight.name;
257
+ const value = insight.values?.[0]?.value;
258
+ if (name.includes('page_views')) {
259
+ categories.pageViews[name] = value;
260
+ }
261
+ else if (name.includes('engaged') || name.includes('engagement')) {
262
+ categories.engagement[name] = value;
263
+ }
264
+ else if (name.includes('fan') || name === 'page_fans') {
265
+ categories.likes[name] = value;
266
+ }
267
+ else if (name.includes('impressions')) {
268
+ categories.impressions[name] = value;
269
+ }
270
+ else if (name.includes('posts')) {
271
+ categories.posts[name] = value;
272
+ }
273
+ else if (name.includes('reactions')) {
274
+ categories.reactions[name] = value;
275
+ }
276
+ else if (name.includes('gender') || name.includes('country') || name.includes('city') || name.includes('locale')) {
277
+ categories.demographics[name] = value;
278
+ }
279
+ else if (name.includes('video')) {
280
+ categories.video[name] = value;
281
+ }
282
+ else if (name.includes('messages')) {
283
+ categories.messages[name] = value;
284
+ }
285
+ else if (name.includes('negative')) {
286
+ categories.negativeFeedback[name] = value;
287
+ }
288
+ }
289
+ return categories;
290
+ }
291
+ /**
292
+ * Calculate summary metrics
293
+ */
294
+ calculateSummaryMetrics(insights, pageInfo) {
295
+ const summary = {
296
+ totalFans: pageInfo.fan_count || 0,
297
+ totalFollowers: pageInfo.followers_count || 0,
298
+ totalPageViews: insights.pageViews.page_views_total || 0,
299
+ totalEngagements: insights.engagement.page_engaged_users || 0,
300
+ totalImpressions: insights.impressions.page_impressions || 0,
301
+ netNewFans: (insights.likes.page_fan_adds || 0) - (insights.likes.page_fan_removes || 0)
302
+ };
303
+ // Calculate engagement rate if we have the data
304
+ if (summary.totalImpressions > 0) {
305
+ summary.engagementRate = (summary.totalEngagements / summary.totalImpressions) * 100;
306
+ }
307
+ // Add reaction breakdown
308
+ const reactions = insights.reactions;
309
+ if (reactions) {
310
+ summary.reactionBreakdown = {
311
+ total: reactions.page_actions_post_reactions_total || 0,
312
+ like: reactions.page_actions_post_reactions_like_total || 0,
313
+ love: reactions.page_actions_post_reactions_love_total || 0,
314
+ wow: reactions.page_actions_post_reactions_wow_total || 0,
315
+ haha: reactions.page_actions_post_reactions_haha_total || 0,
316
+ sorry: reactions.page_actions_post_reactions_sorry_total || 0,
317
+ anger: reactions.page_actions_post_reactions_anger_total || 0
318
+ };
319
+ }
320
+ return summary;
321
+ }
322
+ /**
323
+ * Get comparison data for previous period
324
+ */
325
+ async getComparisonData(pageId, pageToken, metrics, period, startDate, endDate) {
326
+ try {
327
+ const duration = endDate.getTime() - startDate.getTime();
328
+ const previousStart = new Date(startDate.getTime() - duration);
329
+ const previousEnd = new Date(startDate.getTime());
330
+ const response = await axios_1.default.get(`${this.apiBaseUrl}/${pageId}/insights`, {
331
+ params: {
332
+ access_token: pageToken,
333
+ metric: metrics.join(','),
334
+ period: period,
335
+ since: previousStart.toISOString(),
336
+ until: previousEnd.toISOString()
337
+ }
338
+ });
339
+ const previousInsights = response.data.data || [];
340
+ const processedPrevious = this.categorizeInsights(previousInsights);
341
+ return {
342
+ period: {
343
+ start: previousStart.toISOString(),
344
+ end: previousEnd.toISOString()
345
+ },
346
+ insights: processedPrevious
347
+ };
348
+ }
349
+ catch (error) {
350
+ (0, core_1.LogError)(`Failed to get comparison data: ${error}`);
351
+ return null;
352
+ }
353
+ }
354
+ };
355
+ exports.FacebookGetPageInsightsAction = FacebookGetPageInsightsAction;
356
+ exports.FacebookGetPageInsightsAction = FacebookGetPageInsightsAction = __decorate([
357
+ (0, global_1.RegisterClass)(facebook_base_action_1.FacebookBaseAction, 'FacebookGetPageInsightsAction')
358
+ ], FacebookGetPageInsightsAction);
359
+ //# sourceMappingURL=get-page-insights.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-page-insights.action.js","sourceRoot":"","sources":["../../../../src/providers/facebook/actions/get-page-insights.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { FacebookBaseAction } from '../facebook-base.action';
2
+ import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
3
+ /**
4
+ * Retrieves posts from a Facebook page with optional date filtering.
5
+ * Includes post content, media, and basic engagement metrics.
6
+ */
7
+ export declare class FacebookGetPagePostsAction extends FacebookBaseAction {
8
+ /**
9
+ * Get action description
10
+ */
11
+ get Description(): string;
12
+ /**
13
+ * Define the parameters for this action
14
+ */
15
+ get Params(): ActionParam[];
16
+ /**
17
+ * Execute the action
18
+ */
19
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
20
+ /**
21
+ * Get post fields without insights (for faster queries or when insights not available)
22
+ */
23
+ private getPostFieldsWithoutInsights;
24
+ /**
25
+ * Categorize posts by type based on attachments
26
+ */
27
+ private categorizePostTypes;
28
+ }
29
+ //# sourceMappingURL=get-page-posts.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-page-posts.action.d.ts","sourceRoot":"","sources":["../../../../src/providers/facebook/actions/get-page-posts.action.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAsB,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAIhG;;;GAGG;AACH,qBACa,0BAA2B,SAAQ,kBAAkB;IAC9D;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,WAAW,EAAE,CAuCjC;IAED;;OAEG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwIvF;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAIpC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CA4B9B"}
@@ -0,0 +1,216 @@
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.FacebookGetPagePostsAction = void 0;
10
+ const global_1 = require("@memberjunction/global");
11
+ const facebook_base_action_1 = require("../facebook-base.action");
12
+ const core_1 = require("@memberjunction/core");
13
+ /**
14
+ * Retrieves posts from a Facebook page with optional date filtering.
15
+ * Includes post content, media, and basic engagement metrics.
16
+ */
17
+ let FacebookGetPagePostsAction = class FacebookGetPagePostsAction extends facebook_base_action_1.FacebookBaseAction {
18
+ /**
19
+ * Get action description
20
+ */
21
+ get Description() {
22
+ return 'Retrieves posts from a Facebook page with optional date range filtering and pagination';
23
+ }
24
+ /**
25
+ * Define the parameters for this action
26
+ */
27
+ get Params() {
28
+ return [
29
+ ...this.commonSocialParams,
30
+ {
31
+ Name: 'PageID',
32
+ Type: 'Input',
33
+ Value: null,
34
+ },
35
+ {
36
+ Name: 'StartDate',
37
+ Type: 'Input',
38
+ Value: null,
39
+ },
40
+ {
41
+ Name: 'EndDate',
42
+ Type: 'Input',
43
+ Value: null,
44
+ },
45
+ {
46
+ Name: 'Limit',
47
+ Type: 'Input',
48
+ Value: 100,
49
+ },
50
+ {
51
+ Name: 'MaxResults',
52
+ Type: 'Input',
53
+ Value: null,
54
+ },
55
+ {
56
+ Name: 'IncludeUnpublished',
57
+ Type: 'Input',
58
+ Value: false,
59
+ },
60
+ {
61
+ Name: 'IncludeInsights',
62
+ Type: 'Input',
63
+ Value: true,
64
+ }
65
+ ];
66
+ }
67
+ /**
68
+ * Execute the action
69
+ */
70
+ async InternalRunAction(params) {
71
+ const { Params, ContextUser } = params;
72
+ try {
73
+ // Validate required parameters
74
+ const companyIntegrationId = this.getParamValue(Params, 'CompanyIntegrationID');
75
+ const pageId = this.getParamValue(Params, 'PageID');
76
+ if (!companyIntegrationId) {
77
+ return {
78
+ Success: false,
79
+ Message: 'CompanyIntegrationID is required',
80
+ ResultCode: 'INVALID_TOKEN'
81
+ };
82
+ }
83
+ if (!pageId) {
84
+ return {
85
+ Success: false,
86
+ Message: 'PageID is required',
87
+ ResultCode: 'MISSING_REQUIRED_PARAM'
88
+ };
89
+ }
90
+ // Initialize OAuth
91
+ if (!await this.initializeOAuth(companyIntegrationId)) {
92
+ return {
93
+ Success: false,
94
+ Message: 'Failed to initialize Facebook OAuth connection',
95
+ ResultCode: 'INVALID_TOKEN'
96
+ };
97
+ }
98
+ // Get parameters
99
+ const startDate = this.getParamValue(Params, 'StartDate');
100
+ const endDate = this.getParamValue(Params, 'EndDate');
101
+ const limit = this.getParamValue(Params, 'Limit') || 100;
102
+ const maxResults = this.getParamValue(Params, 'MaxResults');
103
+ const includeUnpublished = this.getParamValue(Params, 'IncludeUnpublished');
104
+ const includeInsights = this.getParamValue(Params, 'IncludeInsights');
105
+ // Build query parameters
106
+ const queryParams = {
107
+ limit: Math.min(limit, 100), // Facebook max is 100 per request
108
+ published: includeUnpublished ? undefined : true
109
+ };
110
+ if (startDate) {
111
+ queryParams.since = new Date(startDate);
112
+ }
113
+ if (endDate) {
114
+ queryParams.until = new Date(endDate);
115
+ }
116
+ (0, core_1.LogStatus)(`Retrieving posts from Facebook page ${pageId}...`);
117
+ // Get posts with pagination support
118
+ let allPosts = await this.getPagePosts(pageId, queryParams);
119
+ // If we need more posts and have a maxResults, use pagination
120
+ if (maxResults && allPosts.length < maxResults && allPosts.length === queryParams.limit) {
121
+ (0, core_1.LogStatus)(`Fetching additional pages of posts...`);
122
+ const pageToken = await this.getPageAccessToken(pageId);
123
+ const fields = includeInsights ? this.getPostFields() : this.getPostFieldsWithoutInsights();
124
+ allPosts = await this.getPaginatedResults(`${this.apiBaseUrl}/${pageId}/posts`, {
125
+ access_token: pageToken,
126
+ fields,
127
+ ...queryParams,
128
+ since: queryParams.since ? Math.floor(queryParams.since.getTime() / 1000) : undefined,
129
+ until: queryParams.until ? Math.floor(queryParams.until.getTime() / 1000) : undefined
130
+ }, maxResults);
131
+ }
132
+ // Limit results if maxResults specified
133
+ if (maxResults && allPosts.length > maxResults) {
134
+ allPosts = allPosts.slice(0, maxResults);
135
+ }
136
+ (0, core_1.LogStatus)(`Retrieved ${allPosts.length} posts from Facebook page`);
137
+ // Normalize posts to common format
138
+ const normalizedPosts = allPosts.map(post => this.normalizePost(post));
139
+ // Calculate summary statistics
140
+ const summary = {
141
+ totalPosts: normalizedPosts.length,
142
+ dateRange: {
143
+ earliest: normalizedPosts.length > 0
144
+ ? normalizedPosts[normalizedPosts.length - 1].publishedAt
145
+ : null,
146
+ latest: normalizedPosts.length > 0
147
+ ? normalizedPosts[0].publishedAt
148
+ : null
149
+ },
150
+ postTypes: this.categorizePostTypes(allPosts),
151
+ totalEngagements: normalizedPosts.reduce((sum, post) => sum + (post.analytics?.engagements || 0), 0),
152
+ totalImpressions: normalizedPosts.reduce((sum, post) => sum + (post.analytics?.impressions || 0), 0)
153
+ };
154
+ // Update output parameters
155
+ const outputParams = [...Params];
156
+ // TODO: Set output parameters based on result
157
+ return {
158
+ Success: true,
159
+ Message: `Successfully retrieved ${normalizedPosts.length} posts`,
160
+ ResultCode: 'SUCCESS',
161
+ Params: outputParams
162
+ };
163
+ }
164
+ catch (error) {
165
+ (0, core_1.LogError)(`Failed to get Facebook page posts: ${error instanceof Error ? error.message : 'Unknown error'}`);
166
+ if (this.isAuthError(error)) {
167
+ return this.handleOAuthError(error);
168
+ }
169
+ return {
170
+ Success: false,
171
+ Message: error instanceof Error ? error.message : 'Unknown error occurred',
172
+ ResultCode: 'ERROR'
173
+ };
174
+ }
175
+ }
176
+ /**
177
+ * Get post fields without insights (for faster queries or when insights not available)
178
+ */
179
+ getPostFieldsWithoutInsights() {
180
+ return 'id,message,created_time,updated_time,from,story,permalink_url,attachments,shares,reactions.summary(true),comments.summary(true)';
181
+ }
182
+ /**
183
+ * Categorize posts by type based on attachments
184
+ */
185
+ categorizePostTypes(posts) {
186
+ const types = {
187
+ status: 0,
188
+ photo: 0,
189
+ video: 0,
190
+ link: 0,
191
+ event: 0,
192
+ offer: 0,
193
+ album: 0
194
+ };
195
+ for (const post of posts) {
196
+ if (post.attachments?.data?.[0]?.type) {
197
+ const type = post.attachments.data[0].type.toLowerCase();
198
+ if (type in types) {
199
+ types[type]++;
200
+ }
201
+ else {
202
+ types.status++;
203
+ }
204
+ }
205
+ else {
206
+ types.status++;
207
+ }
208
+ }
209
+ return types;
210
+ }
211
+ };
212
+ exports.FacebookGetPagePostsAction = FacebookGetPagePostsAction;
213
+ exports.FacebookGetPagePostsAction = FacebookGetPagePostsAction = __decorate([
214
+ (0, global_1.RegisterClass)(facebook_base_action_1.FacebookBaseAction, 'FacebookGetPagePostsAction')
215
+ ], FacebookGetPagePostsAction);
216
+ //# sourceMappingURL=get-page-posts.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-page-posts.action.js","sourceRoot":"","sources":["../../../../src/providers/facebook/actions/get-page-posts.action.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mDAAuD;AACvD,kEAAiF;AAGjF,+CAA2D;AAE3D;;;GAGG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,yCAAkB;IAC9D;;OAEG;IACH,IAAW,WAAW;QAClB,OAAO,wFAAwF,CAAC;IACpG,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,OAAO;YACH,GAAG,IAAI,CAAC,kBAAkB;YAC1B;gBACI,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI;aACV;YACL;gBACI,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI;aACV;YACL;gBACI,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI;aACV;YACL;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,GAAG;aACT;YACL;gBACI,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI;aACV;YACL;gBACI,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK;aACX;YACL;gBACI,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI;aACV;SACR,CAAC;IACN,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACrD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAEvC,IAAI,CAAC;YACD,+BAA+B;YAC/B,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEpD,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACxB,OAAO;oBACP,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,kCAAkC;oBAC3C,UAAU,EAAE,eAAe;iBAC9B,CAAC;YACF,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO;oBACP,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,oBAAoB;oBAC7B,UAAU,EAAE,wBAAwB;iBACvC,CAAC;YACF,CAAC;YAED,mBAAmB;YACnB,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACpD,OAAO;oBACP,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,gDAAgD;oBACzD,UAAU,EAAE,eAAe;iBAC9B,CAAC;YACF,CAAC;YAED,iBAAiB;YACjB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAW,CAAC;YACpE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAW,CAAC;YAChE,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAW,IAAI,GAAG,CAAC;YACnE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAW,CAAC;YACtE,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,oBAAoB,CAAY,CAAC;YACvF,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,iBAAiB,CAAY,CAAC;YAEjF,yBAAyB;YACzB,MAAM,WAAW,GAAuB;gBACpC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,kCAAkC;gBAC/D,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;aACnD,CAAC;YAEF,IAAI,SAAS,EAAE,CAAC;gBACZ,WAAW,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACV,WAAW,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YAED,IAAA,gBAAS,EAAC,uCAAuC,MAAM,KAAK,CAAC,CAAC;YAE9D,oCAAoC;YACpC,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAE5D,8DAA8D;YAC9D,IAAI,UAAU,IAAI,QAAQ,CAAC,MAAM,GAAG,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtF,IAAA,gBAAS,EAAC,uCAAuC,CAAC,CAAC;gBAEnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACxD,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBAE5F,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CACrC,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,QAAQ,EACpC;oBACI,YAAY,EAAE,SAAS;oBACvB,MAAM;oBACN,GAAG,WAAW;oBACd,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;oBACrF,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;iBACxF,EACD,UAAU,CACb,CAAC;YACN,CAAC;YAED,wCAAwC;YACxC,IAAI,UAAU,IAAI,QAAQ,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;gBAC7C,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC7C,CAAC;YAED,IAAA,gBAAS,EAAC,aAAa,QAAQ,CAAC,MAAM,2BAA2B,CAAC,CAAC;YAEnE,mCAAmC;YACnC,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAEvE,+BAA+B;YAC/B,MAAM,OAAO,GAAG;gBACZ,UAAU,EAAE,eAAe,CAAC,MAAM;gBAClC,SAAS,EAAE;oBACP,QAAQ,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC;wBAChC,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW;wBACzD,CAAC,CAAC,IAAI;oBACV,MAAM,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC;wBAC9B,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW;wBAChC,CAAC,CAAC,IAAI;iBACb;gBACD,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;gBAC7C,gBAAgB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACnD,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAC9C;gBACD,gBAAgB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACnD,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAC9C;aACJ,CAAC;YAEF,2BAA2B;YAC3B,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YACjC,8CAA8C;YAE9C,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,0BAA0B,eAAe,CAAC,MAAM,QAAQ;gBACjE,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,YAAY;aACvB,CAAC;QAEN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAA,eAAQ,EAAC,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAE3G,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;gBAC1E,UAAU,EAAE,OAAO;aACtB,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACK,4BAA4B;QAChC,OAAO,iIAAiI,CAAC;IAC7I,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,KAAY;QACpC,MAAM,KAAK,GAA2B;YAClC,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;SACX,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzD,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;oBAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,MAAM,EAAE,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,MAAM,EAAE,CAAC;YACnB,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CAGJ,CAAA;AArOY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,sBAAa,EAAC,yCAAkB,EAAE,4BAA4B,CAAC;GACnD,0BAA0B,CAqOtC"}