@koda-sl/baker-cli 0.560.0 → 0.562.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 (1340) hide show
  1. package/README.md +6 -1
  2. package/dist/account-B77TBYMN.js +82 -0
  3. package/dist/account-OCFXNHG7.js +139 -0
  4. package/dist/account-U6DFMD2V.js +82 -0
  5. package/dist/account-assets-W7K2PUYB.js +290 -0
  6. package/dist/account-level-Z2JEIJ3X.js +611 -0
  7. package/dist/account-reads-X35O4MCA.js +219 -0
  8. package/dist/account-users-UKKABT5U.js +64 -0
  9. package/dist/account-writes-QSJ74QFR.js +68 -0
  10. package/dist/accounts-55PDBEDN.js +76 -0
  11. package/dist/accounts-AK4QIG24.js +115 -0
  12. package/dist/accounts-HGCR3WFZ.js +119 -0
  13. package/dist/accounts-QYNZXW2E.js +80 -0
  14. package/dist/accounts-XL2TMLGE.js +701 -0
  15. package/dist/actions-CVTRCHPG.js +55 -0
  16. package/dist/active-entities-HR7NJJLU.js +103 -0
  17. package/dist/activecampaign-UNNM6J7M.js +938 -0
  18. package/dist/activities-DEWHKBID.js +75 -0
  19. package/dist/ad-group-writes-QBHOPTT5.js +172 -0
  20. package/dist/ad-groups-JZDUFT6J.js +70 -0
  21. package/dist/ad-writes-QYJO4IB3.js +176 -0
  22. package/dist/add-3GOSW7LW.js +107 -0
  23. package/dist/add-DPCBGUA5.js +305 -0
  24. package/dist/add-IMKVYDQV.js +85 -0
  25. package/dist/add-PZEVRQ7Z.js +81 -0
  26. package/dist/add-QXI627AS.js +148 -0
  27. package/dist/add-SPQ4MOCQ.js +97 -0
  28. package/dist/add-accounts-D4V5K7SO.js +91 -0
  29. package/dist/ads-LDCZ65B5.js +48 -0
  30. package/dist/ads-QKVNPHBH.js +120 -0
  31. package/dist/ads-RTRWWEP5.js +128 -0
  32. package/dist/ads-UMSWEI5X.js +79 -0
  33. package/dist/adsets-FEVYHKAQ.js +182 -0
  34. package/dist/advertisers-2GKICB23.js +125 -0
  35. package/dist/advertisers-3D36UJTQ.js +123 -0
  36. package/dist/analytics-YHOXWFBI.js +2437 -0
  37. package/dist/analytics-ZPPZJETP.js +447 -0
  38. package/dist/animate-WS63CZ3Y.js +480 -0
  39. package/dist/approved-3XFZNRJR.js +73 -0
  40. package/dist/asset-writes-7RFZZYU7.js +50 -0
  41. package/dist/assign-5P7OJBAH.js +80 -0
  42. package/dist/audience-size-PHFJ22TX.js +76 -0
  43. package/dist/audience-writes-RUGU6KEC.js +327 -0
  44. package/dist/audiences-6GVUZUCN.js +106 -0
  45. package/dist/audiences-7OS2ZJYO.js +85 -0
  46. package/dist/audiences-RSAUXKHR.js +280 -0
  47. package/dist/audit-3GRXRDLR.js +154 -0
  48. package/dist/audit-4L7IKIRY.js +88 -0
  49. package/dist/autocomplete-GQLXBG5V.js +114 -0
  50. package/dist/avatars-I73KFB3F.js +38 -0
  51. package/dist/bid-pricing-6MZ7SC72.js +103 -0
  52. package/dist/brief-MI4RLV4N.js +543 -0
  53. package/dist/businesses-42NZP6FP.js +54 -0
  54. package/dist/campaign-groups-QZ2NW5AW.js +99 -0
  55. package/dist/campaign-writes-BGS53O4B.js +168 -0
  56. package/dist/campaign-writes-GKNH2EHV.js +176 -0
  57. package/dist/campaigns-7RV65SXR.js +78 -0
  58. package/dist/campaigns-FGIVPEVA.js +113 -0
  59. package/dist/campaigns-TO74Z7UH.js +130 -0
  60. package/dist/campaigns-YBPXM6B3.js +111 -0
  61. package/dist/canvas-YTSJAEOF.js +46 -0
  62. package/dist/capabilities-YFXCTUJJ.js +147 -0
  63. package/dist/cards-CAOGPPG4.js +85 -0
  64. package/dist/catalogs-5LWEXG5X.js +130 -0
  65. package/dist/catalogs-7IEXGLSR.js +782 -0
  66. package/dist/changes-6CL42LG3.js +167 -0
  67. package/dist/chatgpt-HLIQ7OJZ.js +47 -0
  68. package/dist/chats-D5W2UWD4.js +449 -0
  69. package/dist/check-FFMWUB72.js +107 -0
  70. package/dist/chunk-2DAWUWA4.js +115 -0
  71. package/dist/chunk-2DVFPCH3.js +91 -0
  72. package/dist/chunk-2LBQNTTH.js +76 -0
  73. package/dist/chunk-2VHYY4RU.js +191 -0
  74. package/dist/chunk-3E74OM2E.js +288 -0
  75. package/dist/chunk-3FLSRUID.js +344 -0
  76. package/dist/chunk-3LYT3NQX.js +42 -0
  77. package/dist/chunk-4UNJ4ENA.js +106 -0
  78. package/dist/chunk-533R4P5O.js +224 -0
  79. package/dist/chunk-5E4Y6RVY.js +56 -0
  80. package/dist/chunk-5H6N36LS.js +217 -0
  81. package/dist/chunk-6I7GJDBX.js +910 -0
  82. package/dist/chunk-6IR7IQPV.js +69 -0
  83. package/dist/chunk-6PO3WSFJ.js +97 -0
  84. package/dist/chunk-6QNXBEIN.js +207 -0
  85. package/dist/chunk-BESCYH3K.js +125 -0
  86. package/dist/chunk-BGMIO2FR.js +64 -0
  87. package/dist/chunk-BVGRKVHL.js +103 -0
  88. package/dist/chunk-C3EX5OKN.js +188 -0
  89. package/dist/chunk-CHVLFACB.js +91 -0
  90. package/dist/chunk-CP6RFWLW.js +69 -0
  91. package/dist/chunk-D2GDHVZP.js +51 -0
  92. package/dist/chunk-D3YAFC6K.js +98 -0
  93. package/dist/chunk-DFDV42NY.js +709 -0
  94. package/dist/chunk-EFTYCX5C.js +46 -0
  95. package/dist/chunk-F62BW6DJ.js +139 -0
  96. package/dist/chunk-FLQNIFG2.js +84 -0
  97. package/dist/chunk-FWHEAR7F.js +138 -0
  98. package/dist/chunk-FXZGRP3F.js +454 -0
  99. package/dist/chunk-GQ4DMO5Q.js +8954 -0
  100. package/dist/chunk-GUH2A5R5.js +66 -0
  101. package/dist/chunk-HJ3Q4NOM.js +58 -0
  102. package/dist/chunk-IDDG4QKO.js +39 -0
  103. package/dist/chunk-ILGRC7LJ.js +287 -0
  104. package/dist/chunk-JTIWQLY5.js +98 -0
  105. package/dist/chunk-KDVYI4LC.js +35 -0
  106. package/dist/chunk-LAP23AND.js +399 -0
  107. package/dist/chunk-LFPBZL2X.js +163 -0
  108. package/dist/chunk-MSGIF4EC.js +275 -0
  109. package/dist/chunk-MYIOR35H.js +225 -0
  110. package/dist/chunk-NTFNLVZG.js +26 -0
  111. package/dist/chunk-OAJ6LVL2.js +430 -0
  112. package/dist/chunk-OASXBRXQ.js +24026 -0
  113. package/dist/chunk-OFMFBRSL.js +25 -0
  114. package/dist/chunk-ORQ3WBM6.js +225 -0
  115. package/dist/chunk-OSQTSS27.js +74 -0
  116. package/dist/chunk-OTRKBCUB.js +219 -0
  117. package/dist/chunk-OWEON2S7.js +1246 -0
  118. package/dist/chunk-PH3FZZIT.js +544 -0
  119. package/dist/chunk-PXLBPOI3.js +203 -0
  120. package/dist/chunk-QEREDRZO.js +246 -0
  121. package/dist/chunk-QEREDRZO.js.map +1 -0
  122. package/dist/chunk-QLXVHWAC.js +685 -0
  123. package/dist/chunk-QPTYTM2X.js +142 -0
  124. package/dist/chunk-R2Z5L5CF.js +297 -0
  125. package/dist/chunk-R4RWQ6YX.js +152 -0
  126. package/dist/chunk-RBCO3C3Q.js +324 -0
  127. package/dist/chunk-RHSKKWPO.js +1902 -0
  128. package/dist/chunk-RJ2ETGAQ.js +73 -0
  129. package/dist/chunk-S37ZZSNM.js +604 -0
  130. package/dist/chunk-SJIEU3VG.js +831 -0
  131. package/dist/chunk-SKI7QMDT.js +170 -0
  132. package/dist/chunk-SLLY4ZTT.js +169 -0
  133. package/dist/chunk-TCR6KI6P.js +1320 -0
  134. package/dist/chunk-UKDILXEA.js +23 -0
  135. package/dist/chunk-ULIQNJ5J.js +274 -0
  136. package/dist/chunk-UR7ENZ3F.js +547 -0
  137. package/dist/chunk-UYZ4FUC7.js +225 -0
  138. package/dist/chunk-WBWEKZQ2.js +191 -0
  139. package/dist/chunk-WYXYAKUP.js +19 -0
  140. package/dist/chunk-X7XFAFU4.js +2209 -0
  141. package/dist/chunk-Y43FKOED.js +89 -0
  142. package/dist/chunk-Y6XWO4V4.js +111 -0
  143. package/dist/chunk-YB6G3B3L.js +45 -0
  144. package/dist/chunk-YD6OZSSY.js +106 -0
  145. package/dist/chunk-YFBHZ57K.js +197 -0
  146. package/dist/chunk-ZD5MNBLA.js +930 -0
  147. package/dist/chunk-ZZ5B2ZRM.js +94 -0
  148. package/dist/cite-AJ5ZQWD2.js +191 -0
  149. package/dist/claim-G4TW75Z2.js +200 -0
  150. package/dist/cli.js +100 -39
  151. package/dist/cli.js.map +1 -1
  152. package/dist/client-F6KOC77S.js +19 -0
  153. package/dist/code-NV4ARLFS.js +76 -0
  154. package/dist/companies-TYDUEKET.js +198 -0
  155. package/dist/company-V5WKGDGU.js +308 -0
  156. package/dist/complete-QEKKP7YL.js +84 -0
  157. package/dist/config-NDL2YP37.js +88 -0
  158. package/dist/connect-5Q2HQ7LT.js +45 -0
  159. package/dist/content-EQZKKIST.js +85 -0
  160. package/dist/conversation-JIVOIZ5E.js +96 -0
  161. package/dist/conversion-report-76S5JOVT.js +127 -0
  162. package/dist/conversion-upload-command-WNHVNVMW.js +439 -0
  163. package/dist/conversion-writes-6HX665JT.js +122 -0
  164. package/dist/conversions-A524MH5C.js +78 -0
  165. package/dist/conversions-PSXVU4JL.js +140 -0
  166. package/dist/copy-writes-X2LM5I4Z.js +170 -0
  167. package/dist/countries-GZSBGSVT.js +82 -0
  168. package/dist/create-7QGB33HI.js +135 -0
  169. package/dist/create-AV7UY4N5.js +239 -0
  170. package/dist/create-CHBC745Y.js +62 -0
  171. package/dist/create-SBQU7B3S.js +218 -0
  172. package/dist/creatives-LNUSBQXQ.js +229 -0
  173. package/dist/creatives-SFPNXJ6Z.js +118 -0
  174. package/dist/creatives-XQILGK6P.js +58 -0
  175. package/dist/credentials-IWF37PAQ.js +290 -0
  176. package/dist/critique-ETRQP3QZ.js +232 -0
  177. package/dist/crm-IDN55BIC.js +323 -0
  178. package/dist/crm-T2ZJNZ6G.js +229 -0
  179. package/dist/crm-T2ZJNZ6G.js.map +1 -0
  180. package/dist/currency-VQMZZXSS.js +88 -0
  181. package/dist/custom-conversions-UHRBVUD2.js +128 -0
  182. package/dist/customers-XANEOEW6.js +65 -0
  183. package/dist/decide-AM6B7WIL.js +199 -0
  184. package/dist/delete-2WL6K24W.js +69 -0
  185. package/dist/delete-46B7DSQV.js +71 -0
  186. package/dist/delete-6K7EZXNR.js +67 -0
  187. package/dist/delete-SCAVFYZL.js +57 -0
  188. package/dist/delete-WAPC4XC2.js +69 -0
  189. package/dist/delete-YYIM564B.js +85 -0
  190. package/dist/demographics-JJKL7MZC.js +141 -0
  191. package/dist/describe-5OC7XX2U.js +97 -0
  192. package/dist/describe-EAPKNUUU.js +97 -0
  193. package/dist/discard-FQDZ5GKN.js +69 -0
  194. package/dist/discover-4F4USNHE.js +172 -0
  195. package/dist/discover-P7PBB3IV.js +93 -0
  196. package/dist/domain-AFWPUOI7.js +101 -0
  197. package/dist/download-MXKBJPPF.js +172 -0
  198. package/dist/download-YB2DVMRS.js +337 -0
  199. package/dist/draft-44KTLX4P.js +134 -0
  200. package/dist/draft-CKFSZDVI.js +260 -0
  201. package/dist/draft-EKJQGNFT.js +374 -0
  202. package/dist/draft-OJHTFELQ.js +332 -0
  203. package/dist/draft-RSKZSUOS.js +138 -0
  204. package/dist/draft-VIZTQ6W4.js +557 -0
  205. package/dist/draft-WOE7KQ7T.js +315 -0
  206. package/dist/draft-Z5IVHUHR.js +220 -0
  207. package/dist/experiment-EFLKDQ3C.js +1397 -0
  208. package/dist/experiments-YUBVWNB5.js +236 -0
  209. package/dist/export-RPNRPTDK.js +168 -0
  210. package/dist/extract-VHM2UNIE.js +143 -0
  211. package/dist/facets-5GLKSHTA.js +117 -0
  212. package/dist/favorites-536I3GZD.js +178 -0
  213. package/dist/feed-W3ECHUEX.js +177 -0
  214. package/dist/feedback-36TL4GPS.js +115 -0
  215. package/dist/feedback-ECAZWGJP.js +114 -0
  216. package/dist/feedback-ECAZWGJP.js.map +1 -0
  217. package/dist/feedback-record-QGAP4HA4.js +269 -0
  218. package/dist/fetch-X4RIDS7N.js +204 -0
  219. package/dist/find-57WYB4V3.js +144 -0
  220. package/dist/fit-V4CRDVQV.js +65 -0
  221. package/dist/flows-YPBWZR4P.js +250 -0
  222. package/dist/follow-5VX5JWAQ.js +94 -0
  223. package/dist/follow-competitors-D7I33T5C.js +112 -0
  224. package/dist/following-6DI4IZ7P.js +113 -0
  225. package/dist/forecast-E2HJSD6E.js +169 -0
  226. package/dist/forecast-LMYMZHZE.js +121 -0
  227. package/dist/funding-BSAHWU35.js +85 -0
  228. package/dist/funnel-MF2KFXEX.js +397 -0
  229. package/dist/ga4-FCMTGV4S.js +55 -0
  230. package/dist/generate-VGGXTZBP.js +263 -0
  231. package/dist/get-42V7UTNF.js +59 -0
  232. package/dist/get-5SCYUC4G.js +38 -0
  233. package/dist/get-7NI64G6K.js +82 -0
  234. package/dist/get-BQBLPGFE.js +74 -0
  235. package/dist/get-JHOH74X5.js +56 -0
  236. package/dist/get-MVZWQ4BE.js +62 -0
  237. package/dist/get-TBMTBGHJ.js +62 -0
  238. package/dist/get-V4NJXKUR.js +92 -0
  239. package/dist/gif-M2GMVWM4.js +111 -0
  240. package/dist/google-YNVTLX5E.js +163 -0
  241. package/dist/google-ZRZGM2XI.js +3300 -0
  242. package/dist/google-ads-UER2CSQN.js +198 -0
  243. package/dist/group-PLTVV7UZ.js +43 -0
  244. package/dist/group-THZPJALS.js +43 -0
  245. package/dist/gsc-A3KB36WH.js +30 -0
  246. package/dist/history-3GRRZSWW.js +102 -0
  247. package/dist/history-LBIA45H3.js +153 -0
  248. package/dist/history-LXRFZNW7.js +69 -0
  249. package/dist/hubspot-NEENQKIP.js +814 -0
  250. package/dist/hubspot-NEENQKIP.js.map +1 -0
  251. package/dist/icon-7WND6UPY.js +138 -0
  252. package/dist/ideas-LDQMFMJM.js +45 -0
  253. package/dist/images-2FDXHKMR.js +92 -0
  254. package/dist/improve-NWFQI63B.js +86 -0
  255. package/dist/ingest-OJDK7AGH.js +131 -0
  256. package/dist/ingest-PS2LOYBM.js +28 -0
  257. package/dist/insights-H6M6VI43.js +132 -0
  258. package/dist/insights-LZJZGNJZ.js +658 -0
  259. package/dist/inspect-ALSHVHUP.js +192 -0
  260. package/dist/inspiration-TQHQNILK.js +53 -0
  261. package/dist/instant-experiences-J4GSS3Y6.js +264 -0
  262. package/dist/intent-ZKLT4DAW.js +95 -0
  263. package/dist/job-UFGGBDG7.js +202 -0
  264. package/dist/job-create-XM4NH322.js +109 -0
  265. package/dist/job-status-47L5Z57J.js +74 -0
  266. package/dist/keep-I6FLGJH4.js +78 -0
  267. package/dist/keyword-gap-QC3ITLNG.js +130 -0
  268. package/dist/keyword-metrics-PERWGH54.js +200 -0
  269. package/dist/keywords-for-site-CCCB6KHE.js +131 -0
  270. package/dist/knowledge-H5PJ6LZB.js +195 -0
  271. package/dist/landing-VE3MHOA3.js +28 -0
  272. package/dist/landings-AELJXEYN.js +151 -0
  273. package/dist/languages-GCRI2PI3.js +55 -0
  274. package/dist/languages-QMLC4QWZ.js +40 -0
  275. package/dist/launches-CKPZFVMQ.js +19 -0
  276. package/dist/layerize-PHY25VNC.js +190 -0
  277. package/dist/lead-routes-ZMKRNL57.js +733 -0
  278. package/dist/leads-SEEJ3KRR.js +541 -0
  279. package/dist/leads-TPMLYLBH.js +115 -0
  280. package/dist/learn-KK3AJS3N.js +207 -0
  281. package/dist/library-5YJCCEFL.js +212 -0
  282. package/dist/lighthouse-W3KAVW2G.js +75 -0
  283. package/dist/line-item-writes-ONKDXKOM.js +211 -0
  284. package/dist/line-items-ILJYVUHX.js +107 -0
  285. package/dist/link-YDHTMDC5.js +67 -0
  286. package/dist/linkedin-N3NGCE5N.js +1344 -0
  287. package/dist/linkedin-person-6F3YJHXM.js +139 -0
  288. package/dist/list-2EJ3XZ6I.js +93 -0
  289. package/dist/list-BQWHFEWY.js +65 -0
  290. package/dist/list-E7JG27WS.js +50 -0
  291. package/dist/list-EKL5HIR7.js +306 -0
  292. package/dist/list-ERCPPED6.js +76 -0
  293. package/dist/list-F7UDUU7C.js +67 -0
  294. package/dist/list-HYZL4576.js +57 -0
  295. package/dist/list-IKQFAJP7.js +51 -0
  296. package/dist/list-WDTPTY2T.js +154 -0
  297. package/dist/locations-5SLLGWZO.js +69 -0
  298. package/dist/locations-DNRK7DY4.js +40 -0
  299. package/dist/log-BZBRXB5P.js +95 -0
  300. package/dist/logo-ODONF6N7.js +19 -0
  301. package/dist/lookup-OU6CLATK.js +23 -0
  302. package/dist/make-W27CB5X4.js +1367 -0
  303. package/dist/map-FNB7IWDY.js +436 -0
  304. package/dist/mcp-QSDCAWMU.js +729 -0
  305. package/dist/media-DGV2AMZI.js +89 -0
  306. package/dist/media-YKCCMLXL.js +18 -0
  307. package/dist/media-sources-NMT4G45B.js +35 -0
  308. package/dist/members-2XQ6E33F.js +47 -0
  309. package/dist/meme-3QYKC4BF.js +108 -0
  310. package/dist/meta-5KQ6CQBT.js +122 -0
  311. package/dist/metrics-P4QDFCVB.js +152 -0
  312. package/dist/normalize-5AU7SKYY.js +144 -0
  313. package/dist/options-CH52EP5K.js +125 -0
  314. package/dist/organization-6T4Q6XYI.js +949 -0
  315. package/dist/output-7X5WPPCA.js +24 -0
  316. package/dist/page-GBLVAKU3.js +105 -0
  317. package/dist/page-photos-VYJU4RNQ.js +118 -0
  318. package/dist/pages-6YMPZDEY.js +67 -0
  319. package/dist/performance-2SCAQSQK.js +27 -0
  320. package/dist/performance-4DMGJCN7.js +5565 -0
  321. package/dist/pinterest-235S7E6H.js +105 -0
  322. package/dist/pixels-DZDVNIVL.js +109 -0
  323. package/dist/pixels-WTTLC4O5.js +62 -0
  324. package/dist/plan-JAWESWJN.js +208 -0
  325. package/dist/posts-TRQCRLYZ.js +36 -0
  326. package/dist/preview-ICZR3SGB.js +101 -0
  327. package/dist/preview-JZXGR4KN.js +245 -0
  328. package/dist/profile-MKKJT2UF.js +159 -0
  329. package/dist/promoted-tweet-writes-DR6V7MHW.js +183 -0
  330. package/dist/promoted-tweets-IRECARIO.js +119 -0
  331. package/dist/properties-Z5S3LRJ5.js +101 -0
  332. package/dist/publish-4HM2CJVF.js +350 -0
  333. package/dist/query-AQ6HNKW7.js +62 -0
  334. package/dist/query-KKXCMH3Q.js +236 -0
  335. package/dist/query-QXKGVHZL.js +231 -0
  336. package/dist/questionnaire-U7UYICEA.js +94 -0
  337. package/dist/read-ENUS7P3L.js +141 -0
  338. package/dist/reddit-KOC7KLYS.js +29 -0
  339. package/dist/refresh-2KEQLXRK.js +97 -0
  340. package/dist/refresh-JSCYTM4B.js +42 -0
  341. package/dist/release-X3Q3RFQC.js +63 -0
  342. package/dist/relevant-pages-NZKXWMNA.js +99 -0
  343. package/dist/remove-6FXTPEB6.js +49 -0
  344. package/dist/remove-RYR6EAJY.js +53 -0
  345. package/dist/reopen-PIKLC5OW.js +66 -0
  346. package/dist/rerun-2HBMXJ55.js +97 -0
  347. package/dist/research-ZBZONY3D.js +75 -0
  348. package/dist/research-ZTA4XKNA.js +265 -0
  349. package/dist/reset-7YTMXVNX.js +57 -0
  350. package/dist/reset-Q3XSD4WI.js +57 -0
  351. package/dist/resolve-P3AT2S6A.js +124 -0
  352. package/dist/retry-CEZLEN7Z.js +63 -0
  353. package/dist/retry-YNNFUDWI.js +65 -0
  354. package/dist/retry-failed-FCS6PNUZ.js +45 -0
  355. package/dist/revenue-6PR3BJFJ.js +91 -0
  356. package/dist/rule-writes-WT6DQZZE.js +530 -0
  357. package/dist/rules-R7NK5X4Z.js +99 -0
  358. package/dist/rules-Y75KR2PC.js +217 -0
  359. package/dist/rules-add-2GIJGODB.js +465 -0
  360. package/dist/run-CDMNDJ7B.js +72 -0
  361. package/dist/run-RORVKARV.js +69 -0
  362. package/dist/scaffold-ad-DDGYTRFK.js +1513 -0
  363. package/dist/scaffold-static-ad-ES5AIQPA.js +1012 -0
  364. package/dist/scaffold-video-NWRJZQ7N.js +885 -0
  365. package/dist/schedule-2ELAAXVW.js +64 -0
  366. package/dist/schedule-XFEPEQTN.js +67 -0
  367. package/dist/scheduled-agents-RRAWQYPE.js +55 -0
  368. package/dist/schema-FHP43TLD.js +135 -0
  369. package/dist/scrape-D3XGARHR.js +2209 -0
  370. package/dist/screenshot-5LWUP5VN.js +103 -0
  371. package/dist/search-4DBP6EH5.js +92 -0
  372. package/dist/search-G6W4LGVZ.js +177 -0
  373. package/dist/search-HNRANK6H.js +51 -0
  374. package/dist/search-KGE3BSSH.js +228 -0
  375. package/dist/search-O3AOWEXC.js +26 -0
  376. package/dist/search-QQDR74KQ.js +91 -0
  377. package/dist/search-copy-EB3TONDS.js +168 -0
  378. package/dist/seeds-RGIFHHYC.js +101 -0
  379. package/dist/select-GFPXXVBU.js +110 -0
  380. package/dist/sends-4ZO6BNZ4.js +349 -0
  381. package/dist/sequences-SSLZ3XTP.js +146 -0
  382. package/dist/set-prompt-TQDOBUFT.js +199 -0
  383. package/dist/setup-links-CK7LBYJK.js +144 -0
  384. package/dist/shared-UPMEBTVP.js +32 -0
  385. package/dist/shopify-SOTGSWXW.js +4009 -0
  386. package/dist/site-IAIGIP3R.js +180 -0
  387. package/dist/sitemaps-P3K5Z4TW.js +77 -0
  388. package/dist/sites-TURWC53D.js +97 -0
  389. package/dist/skills-PDHUHP2T.js +47 -0
  390. package/dist/sources-62MIDG3D.js +457 -0
  391. package/dist/sources-D5XODGIV.js +30 -0
  392. package/dist/stale-4STBM2Z3.js +90 -0
  393. package/dist/stats-XNKAJD2Z.js +34 -0
  394. package/dist/status-BKSOFB53.js +65 -0
  395. package/dist/sticker-MWICUYQM.js +103 -0
  396. package/dist/stock-F5QNFRPM.js +212 -0
  397. package/dist/studies-5G67ODR2.js +250 -0
  398. package/dist/studio-ZRAZ2C25.js +49 -0
  399. package/dist/study-writes-34BJFZAZ.js +471 -0
  400. package/dist/suggest-KCN2NDYE.js +66 -0
  401. package/dist/sync-QVEUQKU5.js +279 -0
  402. package/dist/sync-TANGFXUN.js +55 -0
  403. package/dist/sync-VPE5G6YX.js +57 -0
  404. package/dist/sync-definition-VSNVCRNG.js +70 -0
  405. package/dist/tag-NKAHDL35.js +57 -0
  406. package/dist/tag-manager-3GIW6BPB.js +43 -0
  407. package/dist/tags-CBNWQTFX.js +23 -0
  408. package/dist/tags-IFBIJ7BE.js +23 -0
  409. package/dist/tags-J6IPWIZ5.js +227 -0
  410. package/dist/tags-XPLXA3LV.js +26 -0
  411. package/dist/tags-ZV7JAF6S.js +23 -0
  412. package/dist/targeting-TVZPIUUI.js +762 -0
  413. package/dist/targeting-constants-RJS2STR5.js +118 -0
  414. package/dist/targeting-criteria-VVZQFPNS.js +113 -0
  415. package/dist/targets-EQAZUKT6.js +106 -0
  416. package/dist/terms-AATAGKPT.js +102 -0
  417. package/dist/testimonials-5MA427KH.js +32 -0
  418. package/dist/themes-WMZJWXFT.js +95 -0
  419. package/dist/top-companies-V5FVQMCS.js +111 -0
  420. package/dist/transcript-2TE2R4DH.js +165 -0
  421. package/dist/translate-XIF6VTDN.js +603 -0
  422. package/dist/triggers-ZMNQ6W3M.js +144 -0
  423. package/dist/tweets-MLDLLLDB.js +123 -0
  424. package/dist/unfollow-OEMFPAFS.js +46 -0
  425. package/dist/unlink-HRCAROB3.js +70 -0
  426. package/dist/unstage-5WSEDFNH.js +88 -0
  427. package/dist/unstage-65DUBYNZ.js +96 -0
  428. package/dist/update-A64IC24P.js +101 -0
  429. package/dist/update-BESMEMQU.js +155 -0
  430. package/dist/update-CADTFTYC.js +81 -0
  431. package/dist/update-WU4FAGEA.js +192 -0
  432. package/dist/update-ZUBU5NQP.js +66 -0
  433. package/dist/upload-FR6WRGXI.js +137 -0
  434. package/dist/upload-GXS5CTOR.js +155 -0
  435. package/dist/upscale-BCI42TCP.js +109 -0
  436. package/dist/url-options-QLDSJ7QJ.js +131 -0
  437. package/dist/url-params-YWIBMV3P.js +101 -0
  438. package/dist/use-26VARHJT.js +111 -0
  439. package/dist/validate-5EWYG4QS.js +125 -0
  440. package/dist/variant-F4EEYQJ7.js +338 -0
  441. package/dist/videos-MXEQHDMN.js +41 -0
  442. package/dist/view-X65GETAV.js +133 -0
  443. package/dist/viewer-check-QI4HKF7A.js +83 -0
  444. package/dist/web-DYT5YHEU.js +173 -0
  445. package/dist/winners-5PRDG7GT.js +113 -0
  446. package/dist/winning-ads-YKBB2UZC.js +86 -0
  447. package/dist/write-commands-OBQPQUIE.js +721 -0
  448. package/dist/write-commands-SIOVTRHH.js +1169 -0
  449. package/dist/write-commands-USXHGCVT.js +1524 -0
  450. package/dist/write-commands-XLZCRVTU.js +206 -0
  451. package/dist/x-OIDZY7DM.js +47 -0
  452. package/package.json +1 -1
  453. package/dist/account-DUGYQJEM.js +0 -82
  454. package/dist/account-NSRT5KE6.js +0 -139
  455. package/dist/account-OXD426YD.js +0 -82
  456. package/dist/account-assets-QMKT5AT7.js +0 -290
  457. package/dist/account-level-BELF6JHB.js +0 -611
  458. package/dist/account-reads-GQWTMLTY.js +0 -219
  459. package/dist/account-users-BXJQ4XZV.js +0 -64
  460. package/dist/account-writes-VRRLT356.js +0 -68
  461. package/dist/accounts-45MUDNOM.js +0 -76
  462. package/dist/accounts-DXQ3DHMB.js +0 -80
  463. package/dist/accounts-KQ7NCM4L.js +0 -115
  464. package/dist/accounts-KXQY6WKR.js +0 -701
  465. package/dist/accounts-RRCALMPX.js +0 -119
  466. package/dist/actions-LI43PTFN.js +0 -55
  467. package/dist/active-entities-3266UJYN.js +0 -103
  468. package/dist/activecampaign-5A6YHDJW.js +0 -938
  469. package/dist/activities-ORMACIG2.js +0 -75
  470. package/dist/ad-group-writes-Y6CCMPCM.js +0 -172
  471. package/dist/ad-groups-TW2UKDVU.js +0 -70
  472. package/dist/ad-writes-J3UVUH7D.js +0 -176
  473. package/dist/add-CKJXQUVI.js +0 -97
  474. package/dist/add-NJUG3IQ2.js +0 -81
  475. package/dist/add-TJHGYZYH.js +0 -85
  476. package/dist/add-W4HEMTFL.js +0 -107
  477. package/dist/add-XYSUKZSU.js +0 -148
  478. package/dist/add-ZSKEB3CI.js +0 -305
  479. package/dist/add-accounts-IRHBFNNC.js +0 -91
  480. package/dist/ads-5CJQRTUN.js +0 -79
  481. package/dist/ads-DI3J3KCQ.js +0 -128
  482. package/dist/ads-H5AEYIY3.js +0 -120
  483. package/dist/ads-OC3ENYUC.js +0 -48
  484. package/dist/adsets-BUIT7HF2.js +0 -182
  485. package/dist/advertisers-5XCIZ7WS.js +0 -125
  486. package/dist/advertisers-KPVUVXZZ.js +0 -123
  487. package/dist/analytics-4WBRNSUC.js +0 -447
  488. package/dist/analytics-XT4ANMLP.js +0 -2437
  489. package/dist/animate-Q43SOWB4.js +0 -480
  490. package/dist/approved-RP5ADN7E.js +0 -73
  491. package/dist/asset-writes-JVFE457M.js +0 -50
  492. package/dist/assign-SQK4UF3I.js +0 -80
  493. package/dist/audience-size-5Y5Q6UVA.js +0 -76
  494. package/dist/audience-writes-DWSCHYQF.js +0 -327
  495. package/dist/audiences-4MYDTY74.js +0 -280
  496. package/dist/audiences-5TOTVZMK.js +0 -85
  497. package/dist/audiences-PYBJU2GV.js +0 -106
  498. package/dist/audit-GOZNIXNM.js +0 -154
  499. package/dist/audit-SACXTAIP.js +0 -88
  500. package/dist/autocomplete-36S76BGA.js +0 -114
  501. package/dist/avatars-SDQ5LCNG.js +0 -38
  502. package/dist/bid-pricing-6DFGC6YC.js +0 -103
  503. package/dist/brief-2UXKUTFC.js +0 -543
  504. package/dist/businesses-F6PN34WK.js +0 -54
  505. package/dist/campaign-groups-32LDB42N.js +0 -99
  506. package/dist/campaign-writes-62V55CNW.js +0 -168
  507. package/dist/campaign-writes-BHS3POAH.js +0 -176
  508. package/dist/campaigns-2Z6WXIVA.js +0 -130
  509. package/dist/campaigns-I5GSGZDJ.js +0 -111
  510. package/dist/campaigns-IRMLPW6N.js +0 -78
  511. package/dist/campaigns-OGNE4XHM.js +0 -113
  512. package/dist/canvas-HGU7FJ34.js +0 -46
  513. package/dist/capabilities-EDXVGZXC.js +0 -147
  514. package/dist/cards-HUXBNMEM.js +0 -85
  515. package/dist/catalogs-OEUNVE4N.js +0 -782
  516. package/dist/catalogs-WYRRTRCM.js +0 -130
  517. package/dist/changes-AEAVFB3M.js +0 -167
  518. package/dist/chatgpt-6KBW7F5S.js +0 -47
  519. package/dist/chats-HFKSZWZD.js +0 -449
  520. package/dist/check-GRVUI3LI.js +0 -107
  521. package/dist/chunk-26UW2GMK.js +0 -8954
  522. package/dist/chunk-2LGDWOD7.js +0 -170
  523. package/dist/chunk-37QHT7J4.js +0 -91
  524. package/dist/chunk-3J52GJAY.js +0 -46
  525. package/dist/chunk-4ICSKDI7.js +0 -454
  526. package/dist/chunk-5G6R3WYN.js +0 -58
  527. package/dist/chunk-5HPKYRTE.js +0 -45
  528. package/dist/chunk-5NJQXV4K.js +0 -142
  529. package/dist/chunk-65CQYRMK.js +0 -98
  530. package/dist/chunk-6KEVNO5O.js +0 -191
  531. package/dist/chunk-6MZFOMLU.js +0 -225
  532. package/dist/chunk-724E32DM.js +0 -399
  533. package/dist/chunk-72JEATZ5.js +0 -51
  534. package/dist/chunk-7SNNQCDD.js +0 -274
  535. package/dist/chunk-AL4MRNYI.js +0 -709
  536. package/dist/chunk-AQ6LJ7EI.js +0 -23
  537. package/dist/chunk-BS4PRGEJ.js +0 -73
  538. package/dist/chunk-BU7W7MKF.js +0 -42
  539. package/dist/chunk-CQMAR4BH.js +0 -69
  540. package/dist/chunk-CXYX6G3I.js +0 -98
  541. package/dist/chunk-CZESYOCC.js +0 -94
  542. package/dist/chunk-CZTKRP6M.js +0 -103
  543. package/dist/chunk-D7FJ5KHG.js +0 -39
  544. package/dist/chunk-DSDI5DY3.js +0 -115
  545. package/dist/chunk-DYWKYP7Z.js +0 -203
  546. package/dist/chunk-EDWW3THE.js +0 -344
  547. package/dist/chunk-EENYLJUN.js +0 -225
  548. package/dist/chunk-EHNORFUW.js +0 -225
  549. package/dist/chunk-EJMPKO6V.js +0 -287
  550. package/dist/chunk-FAV6GUOZ.js +0 -24026
  551. package/dist/chunk-G3ZUMNLG.js +0 -66
  552. package/dist/chunk-G4JTXVLA.js +0 -74
  553. package/dist/chunk-GAP7SOGA.js +0 -188
  554. package/dist/chunk-GFWWHCBF.js +0 -229
  555. package/dist/chunk-GFWWHCBF.js.map +0 -1
  556. package/dist/chunk-H6GTG665.js +0 -106
  557. package/dist/chunk-HHMBHLX6.js +0 -910
  558. package/dist/chunk-IIK4WNWV.js +0 -84
  559. package/dist/chunk-J6KCVW6N.js +0 -207
  560. package/dist/chunk-KDTSXLY7.js +0 -685
  561. package/dist/chunk-KE5TI23P.js +0 -430
  562. package/dist/chunk-KV4E4KGE.js +0 -831
  563. package/dist/chunk-KY6Q4WLC.js +0 -224
  564. package/dist/chunk-LBJ2CLRT.js +0 -106
  565. package/dist/chunk-LIBSSGE4.js +0 -275
  566. package/dist/chunk-LK5OKVCM.js +0 -544
  567. package/dist/chunk-NKZDYXEN.js +0 -1246
  568. package/dist/chunk-NPDZ4EO6.js +0 -297
  569. package/dist/chunk-OEH7ANJJ.js +0 -91
  570. package/dist/chunk-OVC2PIOP.js +0 -111
  571. package/dist/chunk-P5HG6WDH.js +0 -152
  572. package/dist/chunk-PBKUESJD.js +0 -191
  573. package/dist/chunk-PGAYESXE.js +0 -25
  574. package/dist/chunk-PZSOJYER.js +0 -604
  575. package/dist/chunk-QBCZLD3A.js +0 -2209
  576. package/dist/chunk-QFODAMYR.js +0 -69
  577. package/dist/chunk-QY7EK6Q4.js +0 -217
  578. package/dist/chunk-QYH2UZAK.js +0 -324
  579. package/dist/chunk-RIVHJC6L.js +0 -35
  580. package/dist/chunk-SKVQRTDO.js +0 -197
  581. package/dist/chunk-SNSLYZIT.js +0 -64
  582. package/dist/chunk-TLNYAZX5.js +0 -76
  583. package/dist/chunk-TWFZIHKK.js +0 -219
  584. package/dist/chunk-UB34H4VD.js +0 -547
  585. package/dist/chunk-UZEKIMLY.js +0 -163
  586. package/dist/chunk-VAQOSV3I.js +0 -138
  587. package/dist/chunk-VIRPAJEF.js +0 -97
  588. package/dist/chunk-VKYDHIBT.js +0 -169
  589. package/dist/chunk-VR6XCLY6.js +0 -1320
  590. package/dist/chunk-WLD443MX.js +0 -19
  591. package/dist/chunk-WQIHLJAO.js +0 -1902
  592. package/dist/chunk-XGN3BGSL.js +0 -930
  593. package/dist/chunk-XZMO52BP.js +0 -56
  594. package/dist/chunk-YS7T735Q.js +0 -89
  595. package/dist/chunk-YXUIVOUL.js +0 -139
  596. package/dist/chunk-ZSZ76MUL.js +0 -125
  597. package/dist/chunk-ZU6JW3ZB.js +0 -26
  598. package/dist/chunk-ZW2CN6L6.js +0 -288
  599. package/dist/cite-TRNZYG4W.js +0 -191
  600. package/dist/claim-NUUED375.js +0 -200
  601. package/dist/client-45COYUUH.js +0 -19
  602. package/dist/code-K4YTLOPA.js +0 -76
  603. package/dist/companies-3EKQ6PBV.js +0 -198
  604. package/dist/company-35ZI77NI.js +0 -308
  605. package/dist/complete-V2HNULPO.js +0 -84
  606. package/dist/config-TCAHWE6T.js +0 -88
  607. package/dist/connect-77K3A6WK.js +0 -45
  608. package/dist/content-MKJP7T7L.js +0 -85
  609. package/dist/conversation-MWBPIT4W.js +0 -96
  610. package/dist/conversion-report-OFV4EKTA.js +0 -127
  611. package/dist/conversion-upload-command-U36QYHUT.js +0 -439
  612. package/dist/conversion-writes-B3H6VLA2.js +0 -122
  613. package/dist/conversions-RXNIACU5.js +0 -140
  614. package/dist/conversions-UGRVDRWU.js +0 -78
  615. package/dist/copy-writes-2B36QJUY.js +0 -170
  616. package/dist/countries-6ST54UGJ.js +0 -82
  617. package/dist/create-AE52ZZMG.js +0 -239
  618. package/dist/create-K2EUYE54.js +0 -218
  619. package/dist/create-L53KW6GN.js +0 -62
  620. package/dist/create-RJHGT2S4.js +0 -135
  621. package/dist/creatives-22BYP5VN.js +0 -118
  622. package/dist/creatives-2JP24JNL.js +0 -229
  623. package/dist/creatives-UPZU7BLY.js +0 -58
  624. package/dist/credentials-WRC7ERSS.js +0 -290
  625. package/dist/critique-VTNN6A5I.js +0 -232
  626. package/dist/crm-2MZLMSEV.js +0 -323
  627. package/dist/crm-VO6ZBW64.js +0 -227
  628. package/dist/crm-VO6ZBW64.js.map +0 -1
  629. package/dist/currency-GLHXNSHY.js +0 -88
  630. package/dist/custom-conversions-V7QPZIB4.js +0 -128
  631. package/dist/customers-MHQ72YBY.js +0 -65
  632. package/dist/decide-JZXG6LZR.js +0 -199
  633. package/dist/delete-5NEAIDA4.js +0 -85
  634. package/dist/delete-6WKVGKRF.js +0 -57
  635. package/dist/delete-POHL3TKX.js +0 -69
  636. package/dist/delete-Q7J734W2.js +0 -71
  637. package/dist/delete-QFASUSVU.js +0 -67
  638. package/dist/delete-ULI3MVAD.js +0 -69
  639. package/dist/demographics-5SXTDRFU.js +0 -141
  640. package/dist/describe-MA54W67X.js +0 -97
  641. package/dist/describe-MJ5SOVWY.js +0 -97
  642. package/dist/discard-P4PGGYYO.js +0 -69
  643. package/dist/discover-J5344ATV.js +0 -172
  644. package/dist/discover-PPMLFJMU.js +0 -93
  645. package/dist/domain-RINRCQ5G.js +0 -101
  646. package/dist/download-H3ZDQTFG.js +0 -337
  647. package/dist/download-HPYGPNHN.js +0 -172
  648. package/dist/draft-2JVWCYRF.js +0 -134
  649. package/dist/draft-4WMYCA7I.js +0 -315
  650. package/dist/draft-4WPWILSX.js +0 -220
  651. package/dist/draft-7VGBJIJU.js +0 -260
  652. package/dist/draft-DR5BJK7V.js +0 -138
  653. package/dist/draft-FWCF4Y6P.js +0 -332
  654. package/dist/draft-M7XINDQU.js +0 -374
  655. package/dist/draft-OIGJUFOH.js +0 -557
  656. package/dist/experiment-O6726OBP.js +0 -1397
  657. package/dist/experiments-NULZPBF2.js +0 -236
  658. package/dist/export-6WWVO4O6.js +0 -168
  659. package/dist/extract-Y3OZG5DZ.js +0 -143
  660. package/dist/facets-HIADYZQQ.js +0 -117
  661. package/dist/favorites-54Z7PTYR.js +0 -178
  662. package/dist/feed-TAGQWMRK.js +0 -177
  663. package/dist/feedback-WEZEKTCH.js +0 -115
  664. package/dist/feedback-Y4AXR354.js +0 -136
  665. package/dist/feedback-Y4AXR354.js.map +0 -1
  666. package/dist/feedback-record-YZNGRSNR.js +0 -269
  667. package/dist/fetch-T6WPGAWP.js +0 -204
  668. package/dist/find-TTJH5NVJ.js +0 -144
  669. package/dist/fit-MLDFA4ZK.js +0 -65
  670. package/dist/flows-XWU2XNYP.js +0 -250
  671. package/dist/follow-SX6BV6VZ.js +0 -94
  672. package/dist/follow-competitors-UBJJHX36.js +0 -112
  673. package/dist/following-L7WUEMZ2.js +0 -113
  674. package/dist/forecast-E5QXQFKQ.js +0 -121
  675. package/dist/forecast-HFCRTFIF.js +0 -169
  676. package/dist/funding-7M4TJ3MW.js +0 -85
  677. package/dist/funnel-NMC3JWTF.js +0 -397
  678. package/dist/ga4-XFJO7VK2.js +0 -55
  679. package/dist/generate-22HT24SA.js +0 -263
  680. package/dist/get-AKTMYS57.js +0 -82
  681. package/dist/get-JIB6PMGI.js +0 -59
  682. package/dist/get-JQE7XWKL.js +0 -62
  683. package/dist/get-MK6M4DKF.js +0 -62
  684. package/dist/get-Q4M6G7YN.js +0 -92
  685. package/dist/get-QS2A6YVM.js +0 -56
  686. package/dist/get-UFCNLDE2.js +0 -74
  687. package/dist/get-X44ZCIFN.js +0 -38
  688. package/dist/gif-TBKH7VSP.js +0 -111
  689. package/dist/google-TKRS4CGR.js +0 -3300
  690. package/dist/google-YDGZ2Q3M.js +0 -163
  691. package/dist/google-ads-AFJV5ZJO.js +0 -198
  692. package/dist/group-45M7V46T.js +0 -43
  693. package/dist/group-RAXOR36M.js +0 -43
  694. package/dist/gsc-ILEIJYWP.js +0 -30
  695. package/dist/history-6RCRBB4Q.js +0 -153
  696. package/dist/history-BEEREY26.js +0 -69
  697. package/dist/history-T6Y5IR4V.js +0 -102
  698. package/dist/hubspot-SNLOCDPF.js +0 -782
  699. package/dist/hubspot-SNLOCDPF.js.map +0 -1
  700. package/dist/icon-CYUIAFTE.js +0 -138
  701. package/dist/ideas-VTBVERCN.js +0 -45
  702. package/dist/images-36DGQZMH.js +0 -92
  703. package/dist/improve-PHFWWTOL.js +0 -86
  704. package/dist/ingest-MLIOEHL3.js +0 -131
  705. package/dist/ingest-OJV3CYYK.js +0 -28
  706. package/dist/insights-A5BKVXFQ.js +0 -132
  707. package/dist/insights-U6QAA77O.js +0 -658
  708. package/dist/inspect-6P2WNFAC.js +0 -192
  709. package/dist/inspiration-WGUU7W5Z.js +0 -53
  710. package/dist/instant-experiences-U6U3FYIH.js +0 -264
  711. package/dist/intent-PU3XUDLL.js +0 -95
  712. package/dist/job-RCEPBGZC.js +0 -202
  713. package/dist/job-create-MDVJ3E7K.js +0 -109
  714. package/dist/job-status-53FJIFYR.js +0 -74
  715. package/dist/keep-ZIHW5OEQ.js +0 -78
  716. package/dist/keyword-gap-B6T7ZFTZ.js +0 -130
  717. package/dist/keyword-metrics-IDMR3ES2.js +0 -200
  718. package/dist/keywords-for-site-V3SGYZDW.js +0 -131
  719. package/dist/knowledge-PN3FAZJ2.js +0 -195
  720. package/dist/landing-7PZPYD3M.js +0 -28
  721. package/dist/landings-FBRB3FF5.js +0 -151
  722. package/dist/languages-ETKG5WM3.js +0 -40
  723. package/dist/languages-Q5RMPGI4.js +0 -55
  724. package/dist/launches-EQ4VS2OR.js +0 -19
  725. package/dist/layerize-SX6LQK35.js +0 -190
  726. package/dist/lead-routes-RLYGO47M.js +0 -733
  727. package/dist/leads-IG3IIHXG.js +0 -541
  728. package/dist/leads-TWABHSJH.js +0 -115
  729. package/dist/learn-MXJSGDVI.js +0 -207
  730. package/dist/library-F4GB5X6G.js +0 -212
  731. package/dist/lighthouse-D3BJGHLO.js +0 -75
  732. package/dist/line-item-writes-2R7VSOWO.js +0 -211
  733. package/dist/line-items-MY6JP2W6.js +0 -107
  734. package/dist/link-LR5LSFTA.js +0 -67
  735. package/dist/linkedin-UJEBBO7G.js +0 -1344
  736. package/dist/linkedin-person-5LJEMW54.js +0 -139
  737. package/dist/list-2NWMHKTR.js +0 -93
  738. package/dist/list-5H6UAX6T.js +0 -57
  739. package/dist/list-5O5NB56G.js +0 -306
  740. package/dist/list-6AAKH6UV.js +0 -67
  741. package/dist/list-ACJBOHPS.js +0 -50
  742. package/dist/list-COWCCJ4F.js +0 -65
  743. package/dist/list-EEQJSTLN.js +0 -51
  744. package/dist/list-OTZB7DOX.js +0 -76
  745. package/dist/list-UYQOLFPN.js +0 -154
  746. package/dist/locations-VPZYTFVK.js +0 -40
  747. package/dist/locations-ZO7F75KT.js +0 -69
  748. package/dist/log-LPY5KYGP.js +0 -95
  749. package/dist/logo-SBIDRBA2.js +0 -19
  750. package/dist/lookup-BGNLEZMU.js +0 -23
  751. package/dist/make-UK2OYKCZ.js +0 -1367
  752. package/dist/map-XEJOI63E.js +0 -436
  753. package/dist/mcp-Y43SKNHV.js +0 -729
  754. package/dist/media-422INJCD.js +0 -89
  755. package/dist/media-AT3VV3PU.js +0 -18
  756. package/dist/media-sources-POL5DMD4.js +0 -35
  757. package/dist/members-5EJVXTE7.js +0 -47
  758. package/dist/meme-VR3IHBRW.js +0 -108
  759. package/dist/meta-XUHI3E3L.js +0 -122
  760. package/dist/metrics-J3WD2CUD.js +0 -152
  761. package/dist/normalize-IOW2V6E7.js +0 -144
  762. package/dist/options-YD6XFRZV.js +0 -125
  763. package/dist/organization-KORFOK7Q.js +0 -949
  764. package/dist/output-2MGOSPDE.js +0 -24
  765. package/dist/page-WKWRKLTC.js +0 -105
  766. package/dist/page-photos-ABK4CJME.js +0 -118
  767. package/dist/pages-LT3KCVC3.js +0 -67
  768. package/dist/performance-BXSNPNC3.js +0 -27
  769. package/dist/performance-Z353JXHB.js +0 -5565
  770. package/dist/pinterest-42NLOZW4.js +0 -105
  771. package/dist/pixels-3BHTXTDV.js +0 -62
  772. package/dist/pixels-IGJFC2XC.js +0 -109
  773. package/dist/plan-ATH2VCVA.js +0 -208
  774. package/dist/posts-K3QTBX2B.js +0 -36
  775. package/dist/preview-3UGPTK44.js +0 -101
  776. package/dist/preview-OV2EZ6YF.js +0 -245
  777. package/dist/profile-OWDBNPNI.js +0 -159
  778. package/dist/promoted-tweet-writes-3D6GG6K4.js +0 -183
  779. package/dist/promoted-tweets-BGQJDEQ2.js +0 -119
  780. package/dist/properties-VSOMFI5V.js +0 -101
  781. package/dist/publish-DBUBFV5R.js +0 -350
  782. package/dist/query-5OS6M4ON.js +0 -231
  783. package/dist/query-NTWXOWPZ.js +0 -236
  784. package/dist/query-YWDUKFS7.js +0 -62
  785. package/dist/questionnaire-HUNGUZNQ.js +0 -94
  786. package/dist/read-DXZJ7UOJ.js +0 -141
  787. package/dist/reddit-GPSRX4TI.js +0 -29
  788. package/dist/refresh-3X45Q6ZM.js +0 -97
  789. package/dist/refresh-BKYZXXRF.js +0 -42
  790. package/dist/release-PE7KBFGK.js +0 -63
  791. package/dist/relevant-pages-7U6I2WPM.js +0 -99
  792. package/dist/remove-2A3XDOKA.js +0 -53
  793. package/dist/remove-MX2FV44C.js +0 -49
  794. package/dist/reopen-LHMLXG6G.js +0 -66
  795. package/dist/rerun-S4VWOIKE.js +0 -97
  796. package/dist/research-55XA4Z2O.js +0 -265
  797. package/dist/research-JN3JGEEL.js +0 -75
  798. package/dist/reset-C5SDRQTX.js +0 -57
  799. package/dist/reset-IY7GNRLF.js +0 -57
  800. package/dist/resolve-PCN7BR7U.js +0 -124
  801. package/dist/retry-2KYMH2IV.js +0 -63
  802. package/dist/retry-KUWJ4GGA.js +0 -65
  803. package/dist/retry-failed-T6PK5SKL.js +0 -45
  804. package/dist/revenue-CRZRJJ7H.js +0 -91
  805. package/dist/rule-writes-HUBHHYEO.js +0 -530
  806. package/dist/rules-47LFGCPW.js +0 -217
  807. package/dist/rules-EKOXAK2O.js +0 -99
  808. package/dist/rules-add-IC3SXNYW.js +0 -465
  809. package/dist/run-WUD5U5GY.js +0 -72
  810. package/dist/run-Y4SEFETX.js +0 -69
  811. package/dist/scaffold-ad-OJ4WOJM6.js +0 -1513
  812. package/dist/scaffold-static-ad-EXUKKYSD.js +0 -1012
  813. package/dist/scaffold-video-7PDZZSKD.js +0 -885
  814. package/dist/schedule-ANIYXLG6.js +0 -67
  815. package/dist/schedule-VCL2OPIL.js +0 -64
  816. package/dist/scheduled-agents-YAHYCFDA.js +0 -55
  817. package/dist/schema-L6DGAUB5.js +0 -135
  818. package/dist/scrape-O4X6VGV2.js +0 -2209
  819. package/dist/screenshot-RR6RA6CN.js +0 -103
  820. package/dist/search-6XKFFDMJ.js +0 -228
  821. package/dist/search-E75B5APM.js +0 -92
  822. package/dist/search-EKTUTXVN.js +0 -51
  823. package/dist/search-OUJUEORX.js +0 -177
  824. package/dist/search-OW3E2Z7Z.js +0 -91
  825. package/dist/search-YARSBZ6D.js +0 -26
  826. package/dist/search-copy-2KO3VR6R.js +0 -168
  827. package/dist/seeds-E64JKXWS.js +0 -101
  828. package/dist/select-R3NT7OI4.js +0 -110
  829. package/dist/sends-DEVRKO4M.js +0 -349
  830. package/dist/sequences-YIQSLKV5.js +0 -146
  831. package/dist/set-prompt-F3SYRT22.js +0 -199
  832. package/dist/setup-links-AHWFGUAO.js +0 -144
  833. package/dist/shared-V5ZS25EO.js +0 -32
  834. package/dist/shopify-BPQCUFFX.js +0 -4009
  835. package/dist/site-KYB2EL72.js +0 -180
  836. package/dist/sitemaps-ZSISKT6L.js +0 -77
  837. package/dist/sites-XMZ3HPHT.js +0 -97
  838. package/dist/skills-6MJC6CSZ.js +0 -47
  839. package/dist/sources-JYOOLCOU.js +0 -30
  840. package/dist/sources-X4URMRLY.js +0 -457
  841. package/dist/stale-KFVY7LSB.js +0 -90
  842. package/dist/stats-FSAXWTSE.js +0 -34
  843. package/dist/status-YVRZBK56.js +0 -65
  844. package/dist/sticker-HMHR7QM7.js +0 -103
  845. package/dist/stock-IAQBUPGQ.js +0 -212
  846. package/dist/studies-QLSKON6M.js +0 -250
  847. package/dist/studio-ZLBBYHNY.js +0 -49
  848. package/dist/study-writes-GBUUKX4O.js +0 -471
  849. package/dist/suggest-DSMKK4FP.js +0 -66
  850. package/dist/sync-KJEXXD3P.js +0 -57
  851. package/dist/sync-WKV3N3LD.js +0 -279
  852. package/dist/sync-XFK4U6TA.js +0 -55
  853. package/dist/sync-definition-BQUVWLCC.js +0 -70
  854. package/dist/tag-L2H5TSFJ.js +0 -57
  855. package/dist/tag-manager-5WZPX2FJ.js +0 -43
  856. package/dist/tags-7CEVWFEZ.js +0 -23
  857. package/dist/tags-BU4KLB37.js +0 -26
  858. package/dist/tags-HKR2GWXV.js +0 -227
  859. package/dist/tags-SKGPECNG.js +0 -23
  860. package/dist/tags-ZLPLHP2G.js +0 -23
  861. package/dist/targeting-DAUTJDUB.js +0 -762
  862. package/dist/targeting-constants-ZS422W5A.js +0 -118
  863. package/dist/targeting-criteria-4C4M3XLJ.js +0 -113
  864. package/dist/targets-C5K2OH3B.js +0 -106
  865. package/dist/terms-NX5CAJXT.js +0 -102
  866. package/dist/testimonials-OJV7EFGS.js +0 -32
  867. package/dist/themes-C4PPU427.js +0 -95
  868. package/dist/top-companies-IZQOKMBU.js +0 -111
  869. package/dist/transcript-K6W7VRA5.js +0 -165
  870. package/dist/translate-M6W6KZZS.js +0 -603
  871. package/dist/triggers-CQFQSODZ.js +0 -144
  872. package/dist/tweets-33OCH74J.js +0 -123
  873. package/dist/unfollow-G26NHR5X.js +0 -46
  874. package/dist/unlink-ITGOP2YH.js +0 -70
  875. package/dist/unstage-EAUF74PI.js +0 -88
  876. package/dist/unstage-OAPP6Z5V.js +0 -96
  877. package/dist/update-GX26VDM4.js +0 -66
  878. package/dist/update-HOFM27UT.js +0 -192
  879. package/dist/update-KXTP3VPI.js +0 -81
  880. package/dist/update-N5NA3JTW.js +0 -101
  881. package/dist/update-PCVDM7HO.js +0 -155
  882. package/dist/upload-3ZGL4WHA.js +0 -155
  883. package/dist/upload-SPCZNAUN.js +0 -137
  884. package/dist/upscale-X3B5CHG3.js +0 -109
  885. package/dist/url-options-5PUWQKWS.js +0 -131
  886. package/dist/url-params-H4LQAYXG.js +0 -101
  887. package/dist/use-HYK67YKZ.js +0 -111
  888. package/dist/validate-XHQ4MIW5.js +0 -125
  889. package/dist/variant-MEHXEXFK.js +0 -338
  890. package/dist/videos-GY6YCGFH.js +0 -41
  891. package/dist/view-HTCYEBXN.js +0 -133
  892. package/dist/viewer-check-UCNIAY7X.js +0 -83
  893. package/dist/web-E7XDCTVJ.js +0 -173
  894. package/dist/winners-CGLS7SZ3.js +0 -113
  895. package/dist/winning-ads-L7FHCD75.js +0 -86
  896. package/dist/write-commands-F5XPPLOO.js +0 -1169
  897. package/dist/write-commands-HQQOJGP4.js +0 -721
  898. package/dist/write-commands-JESAYUEQ.js +0 -1524
  899. package/dist/write-commands-QNXR5ENS.js +0 -206
  900. package/dist/x-ROAUMBHA.js +0 -47
  901. /package/dist/{account-DUGYQJEM.js.map → account-B77TBYMN.js.map} +0 -0
  902. /package/dist/{account-NSRT5KE6.js.map → account-OCFXNHG7.js.map} +0 -0
  903. /package/dist/{account-OXD426YD.js.map → account-U6DFMD2V.js.map} +0 -0
  904. /package/dist/{account-assets-QMKT5AT7.js.map → account-assets-W7K2PUYB.js.map} +0 -0
  905. /package/dist/{account-level-BELF6JHB.js.map → account-level-Z2JEIJ3X.js.map} +0 -0
  906. /package/dist/{account-reads-GQWTMLTY.js.map → account-reads-X35O4MCA.js.map} +0 -0
  907. /package/dist/{account-users-BXJQ4XZV.js.map → account-users-UKKABT5U.js.map} +0 -0
  908. /package/dist/{account-writes-VRRLT356.js.map → account-writes-QSJ74QFR.js.map} +0 -0
  909. /package/dist/{accounts-45MUDNOM.js.map → accounts-55PDBEDN.js.map} +0 -0
  910. /package/dist/{accounts-KQ7NCM4L.js.map → accounts-AK4QIG24.js.map} +0 -0
  911. /package/dist/{accounts-RRCALMPX.js.map → accounts-HGCR3WFZ.js.map} +0 -0
  912. /package/dist/{accounts-DXQ3DHMB.js.map → accounts-QYNZXW2E.js.map} +0 -0
  913. /package/dist/{accounts-KXQY6WKR.js.map → accounts-XL2TMLGE.js.map} +0 -0
  914. /package/dist/{actions-LI43PTFN.js.map → actions-CVTRCHPG.js.map} +0 -0
  915. /package/dist/{active-entities-3266UJYN.js.map → active-entities-HR7NJJLU.js.map} +0 -0
  916. /package/dist/{activecampaign-5A6YHDJW.js.map → activecampaign-UNNM6J7M.js.map} +0 -0
  917. /package/dist/{activities-ORMACIG2.js.map → activities-DEWHKBID.js.map} +0 -0
  918. /package/dist/{ad-group-writes-Y6CCMPCM.js.map → ad-group-writes-QBHOPTT5.js.map} +0 -0
  919. /package/dist/{ad-groups-TW2UKDVU.js.map → ad-groups-JZDUFT6J.js.map} +0 -0
  920. /package/dist/{ad-writes-J3UVUH7D.js.map → ad-writes-QYJO4IB3.js.map} +0 -0
  921. /package/dist/{add-W4HEMTFL.js.map → add-3GOSW7LW.js.map} +0 -0
  922. /package/dist/{add-ZSKEB3CI.js.map → add-DPCBGUA5.js.map} +0 -0
  923. /package/dist/{add-TJHGYZYH.js.map → add-IMKVYDQV.js.map} +0 -0
  924. /package/dist/{add-NJUG3IQ2.js.map → add-PZEVRQ7Z.js.map} +0 -0
  925. /package/dist/{add-XYSUKZSU.js.map → add-QXI627AS.js.map} +0 -0
  926. /package/dist/{add-CKJXQUVI.js.map → add-SPQ4MOCQ.js.map} +0 -0
  927. /package/dist/{add-accounts-IRHBFNNC.js.map → add-accounts-D4V5K7SO.js.map} +0 -0
  928. /package/dist/{ads-OC3ENYUC.js.map → ads-LDCZ65B5.js.map} +0 -0
  929. /package/dist/{ads-H5AEYIY3.js.map → ads-QKVNPHBH.js.map} +0 -0
  930. /package/dist/{ads-DI3J3KCQ.js.map → ads-RTRWWEP5.js.map} +0 -0
  931. /package/dist/{ads-5CJQRTUN.js.map → ads-UMSWEI5X.js.map} +0 -0
  932. /package/dist/{adsets-BUIT7HF2.js.map → adsets-FEVYHKAQ.js.map} +0 -0
  933. /package/dist/{advertisers-5XCIZ7WS.js.map → advertisers-2GKICB23.js.map} +0 -0
  934. /package/dist/{advertisers-KPVUVXZZ.js.map → advertisers-3D36UJTQ.js.map} +0 -0
  935. /package/dist/{analytics-XT4ANMLP.js.map → analytics-YHOXWFBI.js.map} +0 -0
  936. /package/dist/{analytics-4WBRNSUC.js.map → analytics-ZPPZJETP.js.map} +0 -0
  937. /package/dist/{animate-Q43SOWB4.js.map → animate-WS63CZ3Y.js.map} +0 -0
  938. /package/dist/{approved-RP5ADN7E.js.map → approved-3XFZNRJR.js.map} +0 -0
  939. /package/dist/{asset-writes-JVFE457M.js.map → asset-writes-7RFZZYU7.js.map} +0 -0
  940. /package/dist/{assign-SQK4UF3I.js.map → assign-5P7OJBAH.js.map} +0 -0
  941. /package/dist/{audience-size-5Y5Q6UVA.js.map → audience-size-PHFJ22TX.js.map} +0 -0
  942. /package/dist/{audience-writes-DWSCHYQF.js.map → audience-writes-RUGU6KEC.js.map} +0 -0
  943. /package/dist/{audiences-PYBJU2GV.js.map → audiences-6GVUZUCN.js.map} +0 -0
  944. /package/dist/{audiences-5TOTVZMK.js.map → audiences-7OS2ZJYO.js.map} +0 -0
  945. /package/dist/{audiences-4MYDTY74.js.map → audiences-RSAUXKHR.js.map} +0 -0
  946. /package/dist/{audit-GOZNIXNM.js.map → audit-3GRXRDLR.js.map} +0 -0
  947. /package/dist/{audit-SACXTAIP.js.map → audit-4L7IKIRY.js.map} +0 -0
  948. /package/dist/{autocomplete-36S76BGA.js.map → autocomplete-GQLXBG5V.js.map} +0 -0
  949. /package/dist/{avatars-SDQ5LCNG.js.map → avatars-I73KFB3F.js.map} +0 -0
  950. /package/dist/{bid-pricing-6DFGC6YC.js.map → bid-pricing-6MZ7SC72.js.map} +0 -0
  951. /package/dist/{brief-2UXKUTFC.js.map → brief-MI4RLV4N.js.map} +0 -0
  952. /package/dist/{businesses-F6PN34WK.js.map → businesses-42NZP6FP.js.map} +0 -0
  953. /package/dist/{campaign-groups-32LDB42N.js.map → campaign-groups-QZ2NW5AW.js.map} +0 -0
  954. /package/dist/{campaign-writes-62V55CNW.js.map → campaign-writes-BGS53O4B.js.map} +0 -0
  955. /package/dist/{campaign-writes-BHS3POAH.js.map → campaign-writes-GKNH2EHV.js.map} +0 -0
  956. /package/dist/{campaigns-IRMLPW6N.js.map → campaigns-7RV65SXR.js.map} +0 -0
  957. /package/dist/{campaigns-OGNE4XHM.js.map → campaigns-FGIVPEVA.js.map} +0 -0
  958. /package/dist/{campaigns-2Z6WXIVA.js.map → campaigns-TO74Z7UH.js.map} +0 -0
  959. /package/dist/{campaigns-I5GSGZDJ.js.map → campaigns-YBPXM6B3.js.map} +0 -0
  960. /package/dist/{canvas-HGU7FJ34.js.map → canvas-YTSJAEOF.js.map} +0 -0
  961. /package/dist/{capabilities-EDXVGZXC.js.map → capabilities-YFXCTUJJ.js.map} +0 -0
  962. /package/dist/{cards-HUXBNMEM.js.map → cards-CAOGPPG4.js.map} +0 -0
  963. /package/dist/{catalogs-WYRRTRCM.js.map → catalogs-5LWEXG5X.js.map} +0 -0
  964. /package/dist/{catalogs-OEUNVE4N.js.map → catalogs-7IEXGLSR.js.map} +0 -0
  965. /package/dist/{changes-AEAVFB3M.js.map → changes-6CL42LG3.js.map} +0 -0
  966. /package/dist/{chatgpt-6KBW7F5S.js.map → chatgpt-HLIQ7OJZ.js.map} +0 -0
  967. /package/dist/{chats-HFKSZWZD.js.map → chats-D5W2UWD4.js.map} +0 -0
  968. /package/dist/{check-GRVUI3LI.js.map → check-FFMWUB72.js.map} +0 -0
  969. /package/dist/{chunk-DSDI5DY3.js.map → chunk-2DAWUWA4.js.map} +0 -0
  970. /package/dist/{chunk-37QHT7J4.js.map → chunk-2DVFPCH3.js.map} +0 -0
  971. /package/dist/{chunk-TLNYAZX5.js.map → chunk-2LBQNTTH.js.map} +0 -0
  972. /package/dist/{chunk-PBKUESJD.js.map → chunk-2VHYY4RU.js.map} +0 -0
  973. /package/dist/{chunk-ZW2CN6L6.js.map → chunk-3E74OM2E.js.map} +0 -0
  974. /package/dist/{chunk-EDWW3THE.js.map → chunk-3FLSRUID.js.map} +0 -0
  975. /package/dist/{chunk-BU7W7MKF.js.map → chunk-3LYT3NQX.js.map} +0 -0
  976. /package/dist/{chunk-LBJ2CLRT.js.map → chunk-4UNJ4ENA.js.map} +0 -0
  977. /package/dist/{chunk-KY6Q4WLC.js.map → chunk-533R4P5O.js.map} +0 -0
  978. /package/dist/{chunk-XZMO52BP.js.map → chunk-5E4Y6RVY.js.map} +0 -0
  979. /package/dist/{chunk-QY7EK6Q4.js.map → chunk-5H6N36LS.js.map} +0 -0
  980. /package/dist/{chunk-HHMBHLX6.js.map → chunk-6I7GJDBX.js.map} +0 -0
  981. /package/dist/{chunk-CQMAR4BH.js.map → chunk-6IR7IQPV.js.map} +0 -0
  982. /package/dist/{chunk-VIRPAJEF.js.map → chunk-6PO3WSFJ.js.map} +0 -0
  983. /package/dist/{chunk-J6KCVW6N.js.map → chunk-6QNXBEIN.js.map} +0 -0
  984. /package/dist/{chunk-ZSZ76MUL.js.map → chunk-BESCYH3K.js.map} +0 -0
  985. /package/dist/{chunk-SNSLYZIT.js.map → chunk-BGMIO2FR.js.map} +0 -0
  986. /package/dist/{chunk-CZTKRP6M.js.map → chunk-BVGRKVHL.js.map} +0 -0
  987. /package/dist/{chunk-GAP7SOGA.js.map → chunk-C3EX5OKN.js.map} +0 -0
  988. /package/dist/{chunk-OEH7ANJJ.js.map → chunk-CHVLFACB.js.map} +0 -0
  989. /package/dist/{chunk-QFODAMYR.js.map → chunk-CP6RFWLW.js.map} +0 -0
  990. /package/dist/{chunk-72JEATZ5.js.map → chunk-D2GDHVZP.js.map} +0 -0
  991. /package/dist/{chunk-CXYX6G3I.js.map → chunk-D3YAFC6K.js.map} +0 -0
  992. /package/dist/{chunk-AL4MRNYI.js.map → chunk-DFDV42NY.js.map} +0 -0
  993. /package/dist/{chunk-3J52GJAY.js.map → chunk-EFTYCX5C.js.map} +0 -0
  994. /package/dist/{chunk-YXUIVOUL.js.map → chunk-F62BW6DJ.js.map} +0 -0
  995. /package/dist/{chunk-IIK4WNWV.js.map → chunk-FLQNIFG2.js.map} +0 -0
  996. /package/dist/{chunk-VAQOSV3I.js.map → chunk-FWHEAR7F.js.map} +0 -0
  997. /package/dist/{chunk-4ICSKDI7.js.map → chunk-FXZGRP3F.js.map} +0 -0
  998. /package/dist/{chunk-26UW2GMK.js.map → chunk-GQ4DMO5Q.js.map} +0 -0
  999. /package/dist/{chunk-G3ZUMNLG.js.map → chunk-GUH2A5R5.js.map} +0 -0
  1000. /package/dist/{chunk-5G6R3WYN.js.map → chunk-HJ3Q4NOM.js.map} +0 -0
  1001. /package/dist/{chunk-D7FJ5KHG.js.map → chunk-IDDG4QKO.js.map} +0 -0
  1002. /package/dist/{chunk-EJMPKO6V.js.map → chunk-ILGRC7LJ.js.map} +0 -0
  1003. /package/dist/{chunk-65CQYRMK.js.map → chunk-JTIWQLY5.js.map} +0 -0
  1004. /package/dist/{chunk-RIVHJC6L.js.map → chunk-KDVYI4LC.js.map} +0 -0
  1005. /package/dist/{chunk-724E32DM.js.map → chunk-LAP23AND.js.map} +0 -0
  1006. /package/dist/{chunk-UZEKIMLY.js.map → chunk-LFPBZL2X.js.map} +0 -0
  1007. /package/dist/{chunk-LIBSSGE4.js.map → chunk-MSGIF4EC.js.map} +0 -0
  1008. /package/dist/{chunk-EHNORFUW.js.map → chunk-MYIOR35H.js.map} +0 -0
  1009. /package/dist/{chunk-ZU6JW3ZB.js.map → chunk-NTFNLVZG.js.map} +0 -0
  1010. /package/dist/{chunk-KE5TI23P.js.map → chunk-OAJ6LVL2.js.map} +0 -0
  1011. /package/dist/{chunk-FAV6GUOZ.js.map → chunk-OASXBRXQ.js.map} +0 -0
  1012. /package/dist/{chunk-PGAYESXE.js.map → chunk-OFMFBRSL.js.map} +0 -0
  1013. /package/dist/{chunk-6MZFOMLU.js.map → chunk-ORQ3WBM6.js.map} +0 -0
  1014. /package/dist/{chunk-G4JTXVLA.js.map → chunk-OSQTSS27.js.map} +0 -0
  1015. /package/dist/{chunk-TWFZIHKK.js.map → chunk-OTRKBCUB.js.map} +0 -0
  1016. /package/dist/{chunk-NKZDYXEN.js.map → chunk-OWEON2S7.js.map} +0 -0
  1017. /package/dist/{chunk-LK5OKVCM.js.map → chunk-PH3FZZIT.js.map} +0 -0
  1018. /package/dist/{chunk-DYWKYP7Z.js.map → chunk-PXLBPOI3.js.map} +0 -0
  1019. /package/dist/{chunk-KDTSXLY7.js.map → chunk-QLXVHWAC.js.map} +0 -0
  1020. /package/dist/{chunk-5NJQXV4K.js.map → chunk-QPTYTM2X.js.map} +0 -0
  1021. /package/dist/{chunk-NPDZ4EO6.js.map → chunk-R2Z5L5CF.js.map} +0 -0
  1022. /package/dist/{chunk-P5HG6WDH.js.map → chunk-R4RWQ6YX.js.map} +0 -0
  1023. /package/dist/{chunk-QYH2UZAK.js.map → chunk-RBCO3C3Q.js.map} +0 -0
  1024. /package/dist/{chunk-WQIHLJAO.js.map → chunk-RHSKKWPO.js.map} +0 -0
  1025. /package/dist/{chunk-BS4PRGEJ.js.map → chunk-RJ2ETGAQ.js.map} +0 -0
  1026. /package/dist/{chunk-PZSOJYER.js.map → chunk-S37ZZSNM.js.map} +0 -0
  1027. /package/dist/{chunk-KV4E4KGE.js.map → chunk-SJIEU3VG.js.map} +0 -0
  1028. /package/dist/{chunk-2LGDWOD7.js.map → chunk-SKI7QMDT.js.map} +0 -0
  1029. /package/dist/{chunk-VKYDHIBT.js.map → chunk-SLLY4ZTT.js.map} +0 -0
  1030. /package/dist/{chunk-VR6XCLY6.js.map → chunk-TCR6KI6P.js.map} +0 -0
  1031. /package/dist/{chunk-AQ6LJ7EI.js.map → chunk-UKDILXEA.js.map} +0 -0
  1032. /package/dist/{chunk-7SNNQCDD.js.map → chunk-ULIQNJ5J.js.map} +0 -0
  1033. /package/dist/{chunk-UB34H4VD.js.map → chunk-UR7ENZ3F.js.map} +0 -0
  1034. /package/dist/{chunk-EENYLJUN.js.map → chunk-UYZ4FUC7.js.map} +0 -0
  1035. /package/dist/{chunk-6KEVNO5O.js.map → chunk-WBWEKZQ2.js.map} +0 -0
  1036. /package/dist/{chunk-WLD443MX.js.map → chunk-WYXYAKUP.js.map} +0 -0
  1037. /package/dist/{chunk-QBCZLD3A.js.map → chunk-X7XFAFU4.js.map} +0 -0
  1038. /package/dist/{chunk-YS7T735Q.js.map → chunk-Y43FKOED.js.map} +0 -0
  1039. /package/dist/{chunk-OVC2PIOP.js.map → chunk-Y6XWO4V4.js.map} +0 -0
  1040. /package/dist/{chunk-5HPKYRTE.js.map → chunk-YB6G3B3L.js.map} +0 -0
  1041. /package/dist/{chunk-H6GTG665.js.map → chunk-YD6OZSSY.js.map} +0 -0
  1042. /package/dist/{chunk-SKVQRTDO.js.map → chunk-YFBHZ57K.js.map} +0 -0
  1043. /package/dist/{chunk-XGN3BGSL.js.map → chunk-ZD5MNBLA.js.map} +0 -0
  1044. /package/dist/{chunk-CZESYOCC.js.map → chunk-ZZ5B2ZRM.js.map} +0 -0
  1045. /package/dist/{cite-TRNZYG4W.js.map → cite-AJ5ZQWD2.js.map} +0 -0
  1046. /package/dist/{claim-NUUED375.js.map → claim-G4TW75Z2.js.map} +0 -0
  1047. /package/dist/{client-45COYUUH.js.map → client-F6KOC77S.js.map} +0 -0
  1048. /package/dist/{code-K4YTLOPA.js.map → code-NV4ARLFS.js.map} +0 -0
  1049. /package/dist/{companies-3EKQ6PBV.js.map → companies-TYDUEKET.js.map} +0 -0
  1050. /package/dist/{company-35ZI77NI.js.map → company-V5WKGDGU.js.map} +0 -0
  1051. /package/dist/{complete-V2HNULPO.js.map → complete-QEKKP7YL.js.map} +0 -0
  1052. /package/dist/{config-TCAHWE6T.js.map → config-NDL2YP37.js.map} +0 -0
  1053. /package/dist/{connect-77K3A6WK.js.map → connect-5Q2HQ7LT.js.map} +0 -0
  1054. /package/dist/{content-MKJP7T7L.js.map → content-EQZKKIST.js.map} +0 -0
  1055. /package/dist/{conversation-MWBPIT4W.js.map → conversation-JIVOIZ5E.js.map} +0 -0
  1056. /package/dist/{conversion-report-OFV4EKTA.js.map → conversion-report-76S5JOVT.js.map} +0 -0
  1057. /package/dist/{conversion-upload-command-U36QYHUT.js.map → conversion-upload-command-WNHVNVMW.js.map} +0 -0
  1058. /package/dist/{conversion-writes-B3H6VLA2.js.map → conversion-writes-6HX665JT.js.map} +0 -0
  1059. /package/dist/{conversions-UGRVDRWU.js.map → conversions-A524MH5C.js.map} +0 -0
  1060. /package/dist/{conversions-RXNIACU5.js.map → conversions-PSXVU4JL.js.map} +0 -0
  1061. /package/dist/{copy-writes-2B36QJUY.js.map → copy-writes-X2LM5I4Z.js.map} +0 -0
  1062. /package/dist/{countries-6ST54UGJ.js.map → countries-GZSBGSVT.js.map} +0 -0
  1063. /package/dist/{create-RJHGT2S4.js.map → create-7QGB33HI.js.map} +0 -0
  1064. /package/dist/{create-AE52ZZMG.js.map → create-AV7UY4N5.js.map} +0 -0
  1065. /package/dist/{create-L53KW6GN.js.map → create-CHBC745Y.js.map} +0 -0
  1066. /package/dist/{create-K2EUYE54.js.map → create-SBQU7B3S.js.map} +0 -0
  1067. /package/dist/{creatives-2JP24JNL.js.map → creatives-LNUSBQXQ.js.map} +0 -0
  1068. /package/dist/{creatives-22BYP5VN.js.map → creatives-SFPNXJ6Z.js.map} +0 -0
  1069. /package/dist/{creatives-UPZU7BLY.js.map → creatives-XQILGK6P.js.map} +0 -0
  1070. /package/dist/{credentials-WRC7ERSS.js.map → credentials-IWF37PAQ.js.map} +0 -0
  1071. /package/dist/{critique-VTNN6A5I.js.map → critique-ETRQP3QZ.js.map} +0 -0
  1072. /package/dist/{crm-2MZLMSEV.js.map → crm-IDN55BIC.js.map} +0 -0
  1073. /package/dist/{currency-GLHXNSHY.js.map → currency-VQMZZXSS.js.map} +0 -0
  1074. /package/dist/{custom-conversions-V7QPZIB4.js.map → custom-conversions-UHRBVUD2.js.map} +0 -0
  1075. /package/dist/{customers-MHQ72YBY.js.map → customers-XANEOEW6.js.map} +0 -0
  1076. /package/dist/{decide-JZXG6LZR.js.map → decide-AM6B7WIL.js.map} +0 -0
  1077. /package/dist/{delete-ULI3MVAD.js.map → delete-2WL6K24W.js.map} +0 -0
  1078. /package/dist/{delete-Q7J734W2.js.map → delete-46B7DSQV.js.map} +0 -0
  1079. /package/dist/{delete-QFASUSVU.js.map → delete-6K7EZXNR.js.map} +0 -0
  1080. /package/dist/{delete-6WKVGKRF.js.map → delete-SCAVFYZL.js.map} +0 -0
  1081. /package/dist/{delete-POHL3TKX.js.map → delete-WAPC4XC2.js.map} +0 -0
  1082. /package/dist/{delete-5NEAIDA4.js.map → delete-YYIM564B.js.map} +0 -0
  1083. /package/dist/{demographics-5SXTDRFU.js.map → demographics-JJKL7MZC.js.map} +0 -0
  1084. /package/dist/{describe-MJ5SOVWY.js.map → describe-5OC7XX2U.js.map} +0 -0
  1085. /package/dist/{describe-MA54W67X.js.map → describe-EAPKNUUU.js.map} +0 -0
  1086. /package/dist/{discard-P4PGGYYO.js.map → discard-FQDZ5GKN.js.map} +0 -0
  1087. /package/dist/{discover-J5344ATV.js.map → discover-4F4USNHE.js.map} +0 -0
  1088. /package/dist/{discover-PPMLFJMU.js.map → discover-P7PBB3IV.js.map} +0 -0
  1089. /package/dist/{domain-RINRCQ5G.js.map → domain-AFWPUOI7.js.map} +0 -0
  1090. /package/dist/{download-HPYGPNHN.js.map → download-MXKBJPPF.js.map} +0 -0
  1091. /package/dist/{download-H3ZDQTFG.js.map → download-YB2DVMRS.js.map} +0 -0
  1092. /package/dist/{draft-2JVWCYRF.js.map → draft-44KTLX4P.js.map} +0 -0
  1093. /package/dist/{draft-7VGBJIJU.js.map → draft-CKFSZDVI.js.map} +0 -0
  1094. /package/dist/{draft-M7XINDQU.js.map → draft-EKJQGNFT.js.map} +0 -0
  1095. /package/dist/{draft-FWCF4Y6P.js.map → draft-OJHTFELQ.js.map} +0 -0
  1096. /package/dist/{draft-DR5BJK7V.js.map → draft-RSKZSUOS.js.map} +0 -0
  1097. /package/dist/{draft-OIGJUFOH.js.map → draft-VIZTQ6W4.js.map} +0 -0
  1098. /package/dist/{draft-4WMYCA7I.js.map → draft-WOE7KQ7T.js.map} +0 -0
  1099. /package/dist/{draft-4WPWILSX.js.map → draft-Z5IVHUHR.js.map} +0 -0
  1100. /package/dist/{experiment-O6726OBP.js.map → experiment-EFLKDQ3C.js.map} +0 -0
  1101. /package/dist/{experiments-NULZPBF2.js.map → experiments-YUBVWNB5.js.map} +0 -0
  1102. /package/dist/{export-6WWVO4O6.js.map → export-RPNRPTDK.js.map} +0 -0
  1103. /package/dist/{extract-Y3OZG5DZ.js.map → extract-VHM2UNIE.js.map} +0 -0
  1104. /package/dist/{facets-HIADYZQQ.js.map → facets-5GLKSHTA.js.map} +0 -0
  1105. /package/dist/{favorites-54Z7PTYR.js.map → favorites-536I3GZD.js.map} +0 -0
  1106. /package/dist/{feed-TAGQWMRK.js.map → feed-W3ECHUEX.js.map} +0 -0
  1107. /package/dist/{feedback-WEZEKTCH.js.map → feedback-36TL4GPS.js.map} +0 -0
  1108. /package/dist/{feedback-record-YZNGRSNR.js.map → feedback-record-QGAP4HA4.js.map} +0 -0
  1109. /package/dist/{fetch-T6WPGAWP.js.map → fetch-X4RIDS7N.js.map} +0 -0
  1110. /package/dist/{find-TTJH5NVJ.js.map → find-57WYB4V3.js.map} +0 -0
  1111. /package/dist/{fit-MLDFA4ZK.js.map → fit-V4CRDVQV.js.map} +0 -0
  1112. /package/dist/{flows-XWU2XNYP.js.map → flows-YPBWZR4P.js.map} +0 -0
  1113. /package/dist/{follow-SX6BV6VZ.js.map → follow-5VX5JWAQ.js.map} +0 -0
  1114. /package/dist/{follow-competitors-UBJJHX36.js.map → follow-competitors-D7I33T5C.js.map} +0 -0
  1115. /package/dist/{following-L7WUEMZ2.js.map → following-6DI4IZ7P.js.map} +0 -0
  1116. /package/dist/{forecast-HFCRTFIF.js.map → forecast-E2HJSD6E.js.map} +0 -0
  1117. /package/dist/{forecast-E5QXQFKQ.js.map → forecast-LMYMZHZE.js.map} +0 -0
  1118. /package/dist/{funding-7M4TJ3MW.js.map → funding-BSAHWU35.js.map} +0 -0
  1119. /package/dist/{funnel-NMC3JWTF.js.map → funnel-MF2KFXEX.js.map} +0 -0
  1120. /package/dist/{ga4-XFJO7VK2.js.map → ga4-FCMTGV4S.js.map} +0 -0
  1121. /package/dist/{generate-22HT24SA.js.map → generate-VGGXTZBP.js.map} +0 -0
  1122. /package/dist/{get-JIB6PMGI.js.map → get-42V7UTNF.js.map} +0 -0
  1123. /package/dist/{get-X44ZCIFN.js.map → get-5SCYUC4G.js.map} +0 -0
  1124. /package/dist/{get-AKTMYS57.js.map → get-7NI64G6K.js.map} +0 -0
  1125. /package/dist/{get-UFCNLDE2.js.map → get-BQBLPGFE.js.map} +0 -0
  1126. /package/dist/{get-QS2A6YVM.js.map → get-JHOH74X5.js.map} +0 -0
  1127. /package/dist/{get-JQE7XWKL.js.map → get-MVZWQ4BE.js.map} +0 -0
  1128. /package/dist/{get-MK6M4DKF.js.map → get-TBMTBGHJ.js.map} +0 -0
  1129. /package/dist/{get-Q4M6G7YN.js.map → get-V4NJXKUR.js.map} +0 -0
  1130. /package/dist/{gif-TBKH7VSP.js.map → gif-M2GMVWM4.js.map} +0 -0
  1131. /package/dist/{google-YDGZ2Q3M.js.map → google-YNVTLX5E.js.map} +0 -0
  1132. /package/dist/{google-TKRS4CGR.js.map → google-ZRZGM2XI.js.map} +0 -0
  1133. /package/dist/{google-ads-AFJV5ZJO.js.map → google-ads-UER2CSQN.js.map} +0 -0
  1134. /package/dist/{group-RAXOR36M.js.map → group-PLTVV7UZ.js.map} +0 -0
  1135. /package/dist/{group-45M7V46T.js.map → group-THZPJALS.js.map} +0 -0
  1136. /package/dist/{gsc-ILEIJYWP.js.map → gsc-A3KB36WH.js.map} +0 -0
  1137. /package/dist/{history-T6Y5IR4V.js.map → history-3GRRZSWW.js.map} +0 -0
  1138. /package/dist/{history-6RCRBB4Q.js.map → history-LBIA45H3.js.map} +0 -0
  1139. /package/dist/{history-BEEREY26.js.map → history-LXRFZNW7.js.map} +0 -0
  1140. /package/dist/{icon-CYUIAFTE.js.map → icon-7WND6UPY.js.map} +0 -0
  1141. /package/dist/{ideas-VTBVERCN.js.map → ideas-LDQMFMJM.js.map} +0 -0
  1142. /package/dist/{images-36DGQZMH.js.map → images-2FDXHKMR.js.map} +0 -0
  1143. /package/dist/{improve-PHFWWTOL.js.map → improve-NWFQI63B.js.map} +0 -0
  1144. /package/dist/{ingest-MLIOEHL3.js.map → ingest-OJDK7AGH.js.map} +0 -0
  1145. /package/dist/{ingest-OJV3CYYK.js.map → ingest-PS2LOYBM.js.map} +0 -0
  1146. /package/dist/{insights-A5BKVXFQ.js.map → insights-H6M6VI43.js.map} +0 -0
  1147. /package/dist/{insights-U6QAA77O.js.map → insights-LZJZGNJZ.js.map} +0 -0
  1148. /package/dist/{inspect-6P2WNFAC.js.map → inspect-ALSHVHUP.js.map} +0 -0
  1149. /package/dist/{inspiration-WGUU7W5Z.js.map → inspiration-TQHQNILK.js.map} +0 -0
  1150. /package/dist/{instant-experiences-U6U3FYIH.js.map → instant-experiences-J4GSS3Y6.js.map} +0 -0
  1151. /package/dist/{intent-PU3XUDLL.js.map → intent-ZKLT4DAW.js.map} +0 -0
  1152. /package/dist/{job-RCEPBGZC.js.map → job-UFGGBDG7.js.map} +0 -0
  1153. /package/dist/{job-create-MDVJ3E7K.js.map → job-create-XM4NH322.js.map} +0 -0
  1154. /package/dist/{job-status-53FJIFYR.js.map → job-status-47L5Z57J.js.map} +0 -0
  1155. /package/dist/{keep-ZIHW5OEQ.js.map → keep-I6FLGJH4.js.map} +0 -0
  1156. /package/dist/{keyword-gap-B6T7ZFTZ.js.map → keyword-gap-QC3ITLNG.js.map} +0 -0
  1157. /package/dist/{keyword-metrics-IDMR3ES2.js.map → keyword-metrics-PERWGH54.js.map} +0 -0
  1158. /package/dist/{keywords-for-site-V3SGYZDW.js.map → keywords-for-site-CCCB6KHE.js.map} +0 -0
  1159. /package/dist/{knowledge-PN3FAZJ2.js.map → knowledge-H5PJ6LZB.js.map} +0 -0
  1160. /package/dist/{landing-7PZPYD3M.js.map → landing-VE3MHOA3.js.map} +0 -0
  1161. /package/dist/{landings-FBRB3FF5.js.map → landings-AELJXEYN.js.map} +0 -0
  1162. /package/dist/{languages-Q5RMPGI4.js.map → languages-GCRI2PI3.js.map} +0 -0
  1163. /package/dist/{languages-ETKG5WM3.js.map → languages-QMLC4QWZ.js.map} +0 -0
  1164. /package/dist/{launches-EQ4VS2OR.js.map → launches-CKPZFVMQ.js.map} +0 -0
  1165. /package/dist/{layerize-SX6LQK35.js.map → layerize-PHY25VNC.js.map} +0 -0
  1166. /package/dist/{lead-routes-RLYGO47M.js.map → lead-routes-ZMKRNL57.js.map} +0 -0
  1167. /package/dist/{leads-IG3IIHXG.js.map → leads-SEEJ3KRR.js.map} +0 -0
  1168. /package/dist/{leads-TWABHSJH.js.map → leads-TPMLYLBH.js.map} +0 -0
  1169. /package/dist/{learn-MXJSGDVI.js.map → learn-KK3AJS3N.js.map} +0 -0
  1170. /package/dist/{library-F4GB5X6G.js.map → library-5YJCCEFL.js.map} +0 -0
  1171. /package/dist/{lighthouse-D3BJGHLO.js.map → lighthouse-W3KAVW2G.js.map} +0 -0
  1172. /package/dist/{line-item-writes-2R7VSOWO.js.map → line-item-writes-ONKDXKOM.js.map} +0 -0
  1173. /package/dist/{line-items-MY6JP2W6.js.map → line-items-ILJYVUHX.js.map} +0 -0
  1174. /package/dist/{link-LR5LSFTA.js.map → link-YDHTMDC5.js.map} +0 -0
  1175. /package/dist/{linkedin-UJEBBO7G.js.map → linkedin-N3NGCE5N.js.map} +0 -0
  1176. /package/dist/{linkedin-person-5LJEMW54.js.map → linkedin-person-6F3YJHXM.js.map} +0 -0
  1177. /package/dist/{list-2NWMHKTR.js.map → list-2EJ3XZ6I.js.map} +0 -0
  1178. /package/dist/{list-COWCCJ4F.js.map → list-BQWHFEWY.js.map} +0 -0
  1179. /package/dist/{list-ACJBOHPS.js.map → list-E7JG27WS.js.map} +0 -0
  1180. /package/dist/{list-5O5NB56G.js.map → list-EKL5HIR7.js.map} +0 -0
  1181. /package/dist/{list-OTZB7DOX.js.map → list-ERCPPED6.js.map} +0 -0
  1182. /package/dist/{list-6AAKH6UV.js.map → list-F7UDUU7C.js.map} +0 -0
  1183. /package/dist/{list-5H6UAX6T.js.map → list-HYZL4576.js.map} +0 -0
  1184. /package/dist/{list-EEQJSTLN.js.map → list-IKQFAJP7.js.map} +0 -0
  1185. /package/dist/{list-UYQOLFPN.js.map → list-WDTPTY2T.js.map} +0 -0
  1186. /package/dist/{locations-ZO7F75KT.js.map → locations-5SLLGWZO.js.map} +0 -0
  1187. /package/dist/{locations-VPZYTFVK.js.map → locations-DNRK7DY4.js.map} +0 -0
  1188. /package/dist/{log-LPY5KYGP.js.map → log-BZBRXB5P.js.map} +0 -0
  1189. /package/dist/{logo-SBIDRBA2.js.map → logo-ODONF6N7.js.map} +0 -0
  1190. /package/dist/{lookup-BGNLEZMU.js.map → lookup-OU6CLATK.js.map} +0 -0
  1191. /package/dist/{make-UK2OYKCZ.js.map → make-W27CB5X4.js.map} +0 -0
  1192. /package/dist/{map-XEJOI63E.js.map → map-FNB7IWDY.js.map} +0 -0
  1193. /package/dist/{mcp-Y43SKNHV.js.map → mcp-QSDCAWMU.js.map} +0 -0
  1194. /package/dist/{media-422INJCD.js.map → media-DGV2AMZI.js.map} +0 -0
  1195. /package/dist/{media-AT3VV3PU.js.map → media-YKCCMLXL.js.map} +0 -0
  1196. /package/dist/{media-sources-POL5DMD4.js.map → media-sources-NMT4G45B.js.map} +0 -0
  1197. /package/dist/{members-5EJVXTE7.js.map → members-2XQ6E33F.js.map} +0 -0
  1198. /package/dist/{meme-VR3IHBRW.js.map → meme-3QYKC4BF.js.map} +0 -0
  1199. /package/dist/{meta-XUHI3E3L.js.map → meta-5KQ6CQBT.js.map} +0 -0
  1200. /package/dist/{metrics-J3WD2CUD.js.map → metrics-P4QDFCVB.js.map} +0 -0
  1201. /package/dist/{normalize-IOW2V6E7.js.map → normalize-5AU7SKYY.js.map} +0 -0
  1202. /package/dist/{options-YD6XFRZV.js.map → options-CH52EP5K.js.map} +0 -0
  1203. /package/dist/{organization-KORFOK7Q.js.map → organization-6T4Q6XYI.js.map} +0 -0
  1204. /package/dist/{output-2MGOSPDE.js.map → output-7X5WPPCA.js.map} +0 -0
  1205. /package/dist/{page-WKWRKLTC.js.map → page-GBLVAKU3.js.map} +0 -0
  1206. /package/dist/{page-photos-ABK4CJME.js.map → page-photos-VYJU4RNQ.js.map} +0 -0
  1207. /package/dist/{pages-LT3KCVC3.js.map → pages-6YMPZDEY.js.map} +0 -0
  1208. /package/dist/{performance-BXSNPNC3.js.map → performance-2SCAQSQK.js.map} +0 -0
  1209. /package/dist/{performance-Z353JXHB.js.map → performance-4DMGJCN7.js.map} +0 -0
  1210. /package/dist/{pinterest-42NLOZW4.js.map → pinterest-235S7E6H.js.map} +0 -0
  1211. /package/dist/{pixels-IGJFC2XC.js.map → pixels-DZDVNIVL.js.map} +0 -0
  1212. /package/dist/{pixels-3BHTXTDV.js.map → pixels-WTTLC4O5.js.map} +0 -0
  1213. /package/dist/{plan-ATH2VCVA.js.map → plan-JAWESWJN.js.map} +0 -0
  1214. /package/dist/{posts-K3QTBX2B.js.map → posts-TRQCRLYZ.js.map} +0 -0
  1215. /package/dist/{preview-3UGPTK44.js.map → preview-ICZR3SGB.js.map} +0 -0
  1216. /package/dist/{preview-OV2EZ6YF.js.map → preview-JZXGR4KN.js.map} +0 -0
  1217. /package/dist/{profile-OWDBNPNI.js.map → profile-MKKJT2UF.js.map} +0 -0
  1218. /package/dist/{promoted-tweet-writes-3D6GG6K4.js.map → promoted-tweet-writes-DR6V7MHW.js.map} +0 -0
  1219. /package/dist/{promoted-tweets-BGQJDEQ2.js.map → promoted-tweets-IRECARIO.js.map} +0 -0
  1220. /package/dist/{properties-VSOMFI5V.js.map → properties-Z5S3LRJ5.js.map} +0 -0
  1221. /package/dist/{publish-DBUBFV5R.js.map → publish-4HM2CJVF.js.map} +0 -0
  1222. /package/dist/{query-YWDUKFS7.js.map → query-AQ6HNKW7.js.map} +0 -0
  1223. /package/dist/{query-NTWXOWPZ.js.map → query-KKXCMH3Q.js.map} +0 -0
  1224. /package/dist/{query-5OS6M4ON.js.map → query-QXKGVHZL.js.map} +0 -0
  1225. /package/dist/{questionnaire-HUNGUZNQ.js.map → questionnaire-U7UYICEA.js.map} +0 -0
  1226. /package/dist/{read-DXZJ7UOJ.js.map → read-ENUS7P3L.js.map} +0 -0
  1227. /package/dist/{reddit-GPSRX4TI.js.map → reddit-KOC7KLYS.js.map} +0 -0
  1228. /package/dist/{refresh-3X45Q6ZM.js.map → refresh-2KEQLXRK.js.map} +0 -0
  1229. /package/dist/{refresh-BKYZXXRF.js.map → refresh-JSCYTM4B.js.map} +0 -0
  1230. /package/dist/{release-PE7KBFGK.js.map → release-X3Q3RFQC.js.map} +0 -0
  1231. /package/dist/{relevant-pages-7U6I2WPM.js.map → relevant-pages-NZKXWMNA.js.map} +0 -0
  1232. /package/dist/{remove-MX2FV44C.js.map → remove-6FXTPEB6.js.map} +0 -0
  1233. /package/dist/{remove-2A3XDOKA.js.map → remove-RYR6EAJY.js.map} +0 -0
  1234. /package/dist/{reopen-LHMLXG6G.js.map → reopen-PIKLC5OW.js.map} +0 -0
  1235. /package/dist/{rerun-S4VWOIKE.js.map → rerun-2HBMXJ55.js.map} +0 -0
  1236. /package/dist/{research-JN3JGEEL.js.map → research-ZBZONY3D.js.map} +0 -0
  1237. /package/dist/{research-55XA4Z2O.js.map → research-ZTA4XKNA.js.map} +0 -0
  1238. /package/dist/{reset-IY7GNRLF.js.map → reset-7YTMXVNX.js.map} +0 -0
  1239. /package/dist/{reset-C5SDRQTX.js.map → reset-Q3XSD4WI.js.map} +0 -0
  1240. /package/dist/{resolve-PCN7BR7U.js.map → resolve-P3AT2S6A.js.map} +0 -0
  1241. /package/dist/{retry-2KYMH2IV.js.map → retry-CEZLEN7Z.js.map} +0 -0
  1242. /package/dist/{retry-KUWJ4GGA.js.map → retry-YNNFUDWI.js.map} +0 -0
  1243. /package/dist/{retry-failed-T6PK5SKL.js.map → retry-failed-FCS6PNUZ.js.map} +0 -0
  1244. /package/dist/{revenue-CRZRJJ7H.js.map → revenue-6PR3BJFJ.js.map} +0 -0
  1245. /package/dist/{rule-writes-HUBHHYEO.js.map → rule-writes-WT6DQZZE.js.map} +0 -0
  1246. /package/dist/{rules-EKOXAK2O.js.map → rules-R7NK5X4Z.js.map} +0 -0
  1247. /package/dist/{rules-47LFGCPW.js.map → rules-Y75KR2PC.js.map} +0 -0
  1248. /package/dist/{rules-add-IC3SXNYW.js.map → rules-add-2GIJGODB.js.map} +0 -0
  1249. /package/dist/{run-WUD5U5GY.js.map → run-CDMNDJ7B.js.map} +0 -0
  1250. /package/dist/{run-Y4SEFETX.js.map → run-RORVKARV.js.map} +0 -0
  1251. /package/dist/{scaffold-ad-OJ4WOJM6.js.map → scaffold-ad-DDGYTRFK.js.map} +0 -0
  1252. /package/dist/{scaffold-static-ad-EXUKKYSD.js.map → scaffold-static-ad-ES5AIQPA.js.map} +0 -0
  1253. /package/dist/{scaffold-video-7PDZZSKD.js.map → scaffold-video-NWRJZQ7N.js.map} +0 -0
  1254. /package/dist/{schedule-VCL2OPIL.js.map → schedule-2ELAAXVW.js.map} +0 -0
  1255. /package/dist/{schedule-ANIYXLG6.js.map → schedule-XFEPEQTN.js.map} +0 -0
  1256. /package/dist/{scheduled-agents-YAHYCFDA.js.map → scheduled-agents-RRAWQYPE.js.map} +0 -0
  1257. /package/dist/{schema-L6DGAUB5.js.map → schema-FHP43TLD.js.map} +0 -0
  1258. /package/dist/{scrape-O4X6VGV2.js.map → scrape-D3XGARHR.js.map} +0 -0
  1259. /package/dist/{screenshot-RR6RA6CN.js.map → screenshot-5LWUP5VN.js.map} +0 -0
  1260. /package/dist/{search-E75B5APM.js.map → search-4DBP6EH5.js.map} +0 -0
  1261. /package/dist/{search-OUJUEORX.js.map → search-G6W4LGVZ.js.map} +0 -0
  1262. /package/dist/{search-EKTUTXVN.js.map → search-HNRANK6H.js.map} +0 -0
  1263. /package/dist/{search-6XKFFDMJ.js.map → search-KGE3BSSH.js.map} +0 -0
  1264. /package/dist/{search-YARSBZ6D.js.map → search-O3AOWEXC.js.map} +0 -0
  1265. /package/dist/{search-OW3E2Z7Z.js.map → search-QQDR74KQ.js.map} +0 -0
  1266. /package/dist/{search-copy-2KO3VR6R.js.map → search-copy-EB3TONDS.js.map} +0 -0
  1267. /package/dist/{seeds-E64JKXWS.js.map → seeds-RGIFHHYC.js.map} +0 -0
  1268. /package/dist/{select-R3NT7OI4.js.map → select-GFPXXVBU.js.map} +0 -0
  1269. /package/dist/{sends-DEVRKO4M.js.map → sends-4ZO6BNZ4.js.map} +0 -0
  1270. /package/dist/{sequences-YIQSLKV5.js.map → sequences-SSLZ3XTP.js.map} +0 -0
  1271. /package/dist/{set-prompt-F3SYRT22.js.map → set-prompt-TQDOBUFT.js.map} +0 -0
  1272. /package/dist/{setup-links-AHWFGUAO.js.map → setup-links-CK7LBYJK.js.map} +0 -0
  1273. /package/dist/{shared-V5ZS25EO.js.map → shared-UPMEBTVP.js.map} +0 -0
  1274. /package/dist/{shopify-BPQCUFFX.js.map → shopify-SOTGSWXW.js.map} +0 -0
  1275. /package/dist/{site-KYB2EL72.js.map → site-IAIGIP3R.js.map} +0 -0
  1276. /package/dist/{sitemaps-ZSISKT6L.js.map → sitemaps-P3K5Z4TW.js.map} +0 -0
  1277. /package/dist/{sites-XMZ3HPHT.js.map → sites-TURWC53D.js.map} +0 -0
  1278. /package/dist/{skills-6MJC6CSZ.js.map → skills-PDHUHP2T.js.map} +0 -0
  1279. /package/dist/{sources-X4URMRLY.js.map → sources-62MIDG3D.js.map} +0 -0
  1280. /package/dist/{sources-JYOOLCOU.js.map → sources-D5XODGIV.js.map} +0 -0
  1281. /package/dist/{stale-KFVY7LSB.js.map → stale-4STBM2Z3.js.map} +0 -0
  1282. /package/dist/{stats-FSAXWTSE.js.map → stats-XNKAJD2Z.js.map} +0 -0
  1283. /package/dist/{status-YVRZBK56.js.map → status-BKSOFB53.js.map} +0 -0
  1284. /package/dist/{sticker-HMHR7QM7.js.map → sticker-MWICUYQM.js.map} +0 -0
  1285. /package/dist/{stock-IAQBUPGQ.js.map → stock-F5QNFRPM.js.map} +0 -0
  1286. /package/dist/{studies-QLSKON6M.js.map → studies-5G67ODR2.js.map} +0 -0
  1287. /package/dist/{studio-ZLBBYHNY.js.map → studio-ZRAZ2C25.js.map} +0 -0
  1288. /package/dist/{study-writes-GBUUKX4O.js.map → study-writes-34BJFZAZ.js.map} +0 -0
  1289. /package/dist/{suggest-DSMKK4FP.js.map → suggest-KCN2NDYE.js.map} +0 -0
  1290. /package/dist/{sync-WKV3N3LD.js.map → sync-QVEUQKU5.js.map} +0 -0
  1291. /package/dist/{sync-XFK4U6TA.js.map → sync-TANGFXUN.js.map} +0 -0
  1292. /package/dist/{sync-KJEXXD3P.js.map → sync-VPE5G6YX.js.map} +0 -0
  1293. /package/dist/{sync-definition-BQUVWLCC.js.map → sync-definition-VSNVCRNG.js.map} +0 -0
  1294. /package/dist/{tag-L2H5TSFJ.js.map → tag-NKAHDL35.js.map} +0 -0
  1295. /package/dist/{tag-manager-5WZPX2FJ.js.map → tag-manager-3GIW6BPB.js.map} +0 -0
  1296. /package/dist/{tags-7CEVWFEZ.js.map → tags-CBNWQTFX.js.map} +0 -0
  1297. /package/dist/{tags-ZLPLHP2G.js.map → tags-IFBIJ7BE.js.map} +0 -0
  1298. /package/dist/{tags-HKR2GWXV.js.map → tags-J6IPWIZ5.js.map} +0 -0
  1299. /package/dist/{tags-BU4KLB37.js.map → tags-XPLXA3LV.js.map} +0 -0
  1300. /package/dist/{tags-SKGPECNG.js.map → tags-ZV7JAF6S.js.map} +0 -0
  1301. /package/dist/{targeting-DAUTJDUB.js.map → targeting-TVZPIUUI.js.map} +0 -0
  1302. /package/dist/{targeting-constants-ZS422W5A.js.map → targeting-constants-RJS2STR5.js.map} +0 -0
  1303. /package/dist/{targeting-criteria-4C4M3XLJ.js.map → targeting-criteria-VVZQFPNS.js.map} +0 -0
  1304. /package/dist/{targets-C5K2OH3B.js.map → targets-EQAZUKT6.js.map} +0 -0
  1305. /package/dist/{terms-NX5CAJXT.js.map → terms-AATAGKPT.js.map} +0 -0
  1306. /package/dist/{testimonials-OJV7EFGS.js.map → testimonials-5MA427KH.js.map} +0 -0
  1307. /package/dist/{themes-C4PPU427.js.map → themes-WMZJWXFT.js.map} +0 -0
  1308. /package/dist/{top-companies-IZQOKMBU.js.map → top-companies-V5FVQMCS.js.map} +0 -0
  1309. /package/dist/{transcript-K6W7VRA5.js.map → transcript-2TE2R4DH.js.map} +0 -0
  1310. /package/dist/{translate-M6W6KZZS.js.map → translate-XIF6VTDN.js.map} +0 -0
  1311. /package/dist/{triggers-CQFQSODZ.js.map → triggers-ZMNQ6W3M.js.map} +0 -0
  1312. /package/dist/{tweets-33OCH74J.js.map → tweets-MLDLLLDB.js.map} +0 -0
  1313. /package/dist/{unfollow-G26NHR5X.js.map → unfollow-OEMFPAFS.js.map} +0 -0
  1314. /package/dist/{unlink-ITGOP2YH.js.map → unlink-HRCAROB3.js.map} +0 -0
  1315. /package/dist/{unstage-EAUF74PI.js.map → unstage-5WSEDFNH.js.map} +0 -0
  1316. /package/dist/{unstage-OAPP6Z5V.js.map → unstage-65DUBYNZ.js.map} +0 -0
  1317. /package/dist/{update-N5NA3JTW.js.map → update-A64IC24P.js.map} +0 -0
  1318. /package/dist/{update-PCVDM7HO.js.map → update-BESMEMQU.js.map} +0 -0
  1319. /package/dist/{update-KXTP3VPI.js.map → update-CADTFTYC.js.map} +0 -0
  1320. /package/dist/{update-HOFM27UT.js.map → update-WU4FAGEA.js.map} +0 -0
  1321. /package/dist/{update-GX26VDM4.js.map → update-ZUBU5NQP.js.map} +0 -0
  1322. /package/dist/{upload-SPCZNAUN.js.map → upload-FR6WRGXI.js.map} +0 -0
  1323. /package/dist/{upload-3ZGL4WHA.js.map → upload-GXS5CTOR.js.map} +0 -0
  1324. /package/dist/{upscale-X3B5CHG3.js.map → upscale-BCI42TCP.js.map} +0 -0
  1325. /package/dist/{url-options-5PUWQKWS.js.map → url-options-QLDSJ7QJ.js.map} +0 -0
  1326. /package/dist/{url-params-H4LQAYXG.js.map → url-params-YWIBMV3P.js.map} +0 -0
  1327. /package/dist/{use-HYK67YKZ.js.map → use-26VARHJT.js.map} +0 -0
  1328. /package/dist/{validate-XHQ4MIW5.js.map → validate-5EWYG4QS.js.map} +0 -0
  1329. /package/dist/{variant-MEHXEXFK.js.map → variant-F4EEYQJ7.js.map} +0 -0
  1330. /package/dist/{videos-GY6YCGFH.js.map → videos-MXEQHDMN.js.map} +0 -0
  1331. /package/dist/{view-HTCYEBXN.js.map → view-X65GETAV.js.map} +0 -0
  1332. /package/dist/{viewer-check-UCNIAY7X.js.map → viewer-check-QI4HKF7A.js.map} +0 -0
  1333. /package/dist/{web-E7XDCTVJ.js.map → web-DYT5YHEU.js.map} +0 -0
  1334. /package/dist/{winners-CGLS7SZ3.js.map → winners-5PRDG7GT.js.map} +0 -0
  1335. /package/dist/{winning-ads-L7FHCD75.js.map → winning-ads-YKBB2UZC.js.map} +0 -0
  1336. /package/dist/{write-commands-HQQOJGP4.js.map → write-commands-OBQPQUIE.js.map} +0 -0
  1337. /package/dist/{write-commands-F5XPPLOO.js.map → write-commands-SIOVTRHH.js.map} +0 -0
  1338. /package/dist/{write-commands-JESAYUEQ.js.map → write-commands-USXHGCVT.js.map} +0 -0
  1339. /package/dist/{write-commands-QNXR5ENS.js.map → write-commands-XLZCRVTU.js.map} +0 -0
  1340. /package/dist/{x-ROAUMBHA.js.map → x-OIDZY7DM.js.map} +0 -0
@@ -1,1524 +0,0 @@
1
- import {
2
- TOTAL_BUDGET_HELP,
3
- bareAccountId,
4
- failWriteValidation,
5
- fileArg,
6
- loadJsonFileArg,
7
- loadTargetingFileArg,
8
- mergePayload,
9
- parseDateFlag,
10
- parseListFileArg,
11
- parseLocaleFlag,
12
- parseMoneyFlag,
13
- parseOnOffFlag,
14
- requireTarget,
15
- requireTargets,
16
- stageLinkedinOps,
17
- stageOp,
18
- stageStatusChange
19
- } from "./chunk-724E32DM.js";
20
- import {
21
- handleLinkedinError
22
- } from "./chunk-J6KCVW6N.js";
23
- import {
24
- repeatedValues
25
- } from "./chunk-ERSX3MKH.js";
26
- import "./chunk-CDTAKCJR.js";
27
- import "./chunk-4NZ47VXO.js";
28
- import "./chunk-D5FY4FAK.js";
29
- import "./chunk-4H6XLX7E.js";
30
- import {
31
- writeJsonEnvelope
32
- } from "./chunk-QYH2UZAK.js";
33
- import "./chunk-Y5PNLB24.js";
34
- import "./chunk-N3PASNUA.js";
35
- import "./chunk-E56V3RFO.js";
36
- import "./chunk-EL3TDR5S.js";
37
- import "./chunk-G6U45QD3.js";
38
- import "./chunk-X6U3B6YK.js";
39
- import {
40
- CONVERSION_UPLOAD_MAX_EVENTS,
41
- LEADGEN_CTA_LABELS,
42
- TEMP_REF_PREFIX,
43
- TRACKING_PARAM_DYNAMIC_VALUES,
44
- campaignExcludeCompaniesSchema,
45
- sponsoredPostUrn
46
- } from "./chunk-TK7VRZKM.js";
47
- import "./chunk-QV6AST5T.js";
48
- import "./chunk-WCU362Z6.js";
49
- import "./chunk-GIWHHCD6.js";
50
- import "./chunk-SOPVIIUW.js";
51
- import "./chunk-G4FG5EQO.js";
52
- import "./chunk-R7XDGNZD.js";
53
- import "./chunk-MSMTG6OC.js";
54
- import {
55
- apiGet,
56
- apiPost
57
- } from "./chunk-GFWWHCBF.js";
58
- import "./chunk-JXTNP3B5.js";
59
- import {
60
- requireChatId
61
- } from "./chunk-45D6WRCJ.js";
62
- import "./chunk-CCYZJMZ7.js";
63
- import "./chunk-YQSBHWOI.js";
64
-
65
- // src/commands/ads/linkedin/write-commands.ts
66
- import { readFileSync } from "fs";
67
- import { defineCommand } from "citty";
68
-
69
- // src/commands/ads/linkedin/conversion-upload-rows.ts
70
- import { createHash } from "crypto";
71
- var SHA256_HEX = /^[0-9a-f]{64}$/i;
72
- var COLUMN_FIELDS = {
73
- eventid: "eventId",
74
- id: "eventId",
75
- dealid: "eventId",
76
- orderid: "eventId",
77
- happenedat: "happenedAt",
78
- date: "happenedAt",
79
- closedat: "happenedAt",
80
- closedate: "happenedAt",
81
- conversiondatetime: "happenedAt",
82
- email: "email",
83
- emailaddress: "email",
84
- firstname: "firstName",
85
- lastname: "lastName",
86
- lifatid: "liFatId",
87
- companyname: "companyName",
88
- company: "companyName",
89
- title: "title",
90
- jobtitle: "title",
91
- countrycode: "countryCode",
92
- country: "countryCode",
93
- value: "value",
94
- amount: "value",
95
- currency: "currency"
96
- };
97
- function sha256(value) {
98
- return createHash("sha256").update(value).digest("hex");
99
- }
100
- function hashedEmail(raw) {
101
- const value = raw.trim();
102
- return SHA256_HEX.test(value) ? value.toLowerCase() : sha256(value.toLowerCase());
103
- }
104
- function hashedName(raw) {
105
- const value = raw.trim();
106
- return SHA256_HEX.test(value) ? value.toLowerCase() : sha256(value.toLowerCase().replace(/[\s\p{P}]/gu, ""));
107
- }
108
- function fieldValue(field, raw) {
109
- switch (field) {
110
- case "email":
111
- return hashedEmail(raw);
112
- case "firstName":
113
- case "lastName":
114
- return hashedName(raw);
115
- case "value":
116
- return Number(raw);
117
- case "currency":
118
- return raw.trim().toUpperCase();
119
- default:
120
- return raw.trim();
121
- }
122
- }
123
- function conversionUploadEvents(rows) {
124
- const ignored = /* @__PURE__ */ new Set();
125
- const events = rows.map((row) => {
126
- const event = {};
127
- for (const [column, raw] of Object.entries(row)) {
128
- const field = COLUMN_FIELDS[column.toLowerCase().replace(/[\s_-]/g, "")];
129
- if (!field) {
130
- ignored.add(column);
131
- continue;
132
- }
133
- if (raw === void 0 || raw === null || String(raw).trim() === "") {
134
- continue;
135
- }
136
- event[field] = fieldValue(field, String(raw));
137
- }
138
- return event;
139
- });
140
- return { events, ignored: [...ignored] };
141
- }
142
-
143
- // src/commands/ads/linkedin/write-commands.ts
144
- var STAGED_NOTE = "Staged until publish \u2014 review with `baker ads linkedin draft`.";
145
- var accountArgs = {
146
- "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
147
- "account-urn": { type: "string", description: "Alias for --account-id" }
148
- };
149
- function runScheduleFromFlags(args) {
150
- const start = parseDateFlag(args.start, "--start");
151
- const end = parseDateFlag(args.end, "--end");
152
- if (start === void 0 && end === void 0) {
153
- return void 0;
154
- }
155
- return { ...start !== void 0 ? { start } : {}, ...end !== void 0 ? { end } : {} };
156
- }
157
- function groupBudgetFlags(args) {
158
- return {
159
- objectiveType: args.objective ? String(args.objective).toUpperCase() : void 0,
160
- budgetOptimization: args["shared-budget"] ? { bidStrategy: String(args["shared-budget"]).toUpperCase() } : void 0
161
- };
162
- }
163
- function campaignGroupCreatePayload(args, file) {
164
- const payload = mergePayload(file, {
165
- name: args.name,
166
- runSchedule: runScheduleFromFlags(args),
167
- totalBudget: parseMoneyFlag(args["total-budget"], args.currency, "--total-budget"),
168
- status: args.status ? String(args.status).toUpperCase() : void 0,
169
- ...groupBudgetFlags(args)
170
- });
171
- return { ...payload, runSchedule: startingNowUnlessSet(payload.runSchedule ?? {}) };
172
- }
173
- function startingNowUnlessSet(schedule) {
174
- const fields = schedule;
175
- return fields.start === void 0 ? { ...fields, start: Date.now() } : fields;
176
- }
177
- var campaignGroupsCreateCommand = defineCommand({
178
- meta: {
179
- name: "create",
180
- description: `Stage a new campaign group. ${STAGED_NOTE}
181
- A group can't be created PAUSED, and a --total-budget needs an --end.
182
- Start now: leave out --start (or pass --start now) and add --status ACTIVE \u2014 it starts the moment the chat publishes. A start that has already passed by then also moves to that moment.
183
- Example: baker ads linkedin campaign-groups create --name "Q3 ABM" --start 2026-07-10 --end 2026-09-30 --total-budget 5000 --currency EUR
184
- Shared budget: --shared-budget COST_CAP --total-budget 3000 --end 2026-12-31 lets LinkedIn move one budget between the ad sets; each ad set must then bid that way (cost cap: --optimization CAP_COST_AND_MAXIMIZE_LEADS --cost-type CPM --bid <cap>).`
185
- },
186
- args: {
187
- ...accountArgs,
188
- name: { type: "string", description: "Campaign group name (\u2264100 chars)" },
189
- start: { type: "string", description: "Run schedule start: now (default), ISO date or epoch ms" },
190
- end: { type: "string", description: "Run schedule end" },
191
- "total-budget": { type: "string", description: TOTAL_BUDGET_HELP },
192
- currency: { type: "string", description: "3-letter currency code (defaults to the ad account currency)" },
193
- objective: {
194
- type: "string",
195
- description: "Objective every ad set in it takes (LEAD_GENERATION|WEBSITE_VISIT|\u2026), create-only"
196
- },
197
- "shared-budget": {
198
- type: "string",
199
- description: "Share the --total-budget across its ad sets, bidding one way for all: MAXIMUM_DELIVERY|MANUAL|COST_CAP (LinkedIn's budget optimization; needs --total-budget and --end)"
200
- },
201
- status: {
202
- type: "string",
203
- description: "DRAFT|ACTIVE (default DRAFT) \u2014 LinkedIn refuses a new group created PAUSED; pause it once it exists"
204
- },
205
- ...fileArg("campaignGroup.create", "JSON file with the full payload; flags override file keys")
206
- },
207
- run: async ({ args }) => {
208
- const accountId = bareAccountId(args);
209
- const payload = campaignGroupCreatePayload(args, loadJsonFileArg(args.file));
210
- await stageOp({ kind: "campaignGroup.create", accountId, payload });
211
- }
212
- });
213
- var campaignGroupsUpdateCommand = defineCommand({
214
- meta: {
215
- name: "update",
216
- description: `Stage changes to an existing campaign group. ${STAGED_NOTE}
217
- Pass a li_temp_* ref to amend a group staged in this chat \u2014 fields merge into the staged create.
218
- Example: baker ads linkedin campaign-groups update 635137195 --total-budget 8000 --currency EUR`
219
- },
220
- args: {
221
- id: { type: "positional", description: "Campaign group id or URN", required: true },
222
- ...accountArgs,
223
- name: { type: "string", description: "New name" },
224
- start: { type: "string", description: "New run schedule start" },
225
- end: { type: "string", description: "New run schedule end" },
226
- "total-budget": { type: "string", description: TOTAL_BUDGET_HELP },
227
- currency: { type: "string", description: "3-letter currency code (defaults to the ad account currency)" },
228
- "shared-budget": {
229
- type: "string",
230
- description: "Share the budget across its ad sets: MAXIMUM_DELIVERY|MANUAL|COST_CAP"
231
- },
232
- status: { type: "string", description: "ACTIVE|PAUSED|ARCHIVED|\u2026" },
233
- ...fileArg("campaignGroup.update", "JSON file with fields to change")
234
- },
235
- run: async ({ args }) => {
236
- const accountId = bareAccountId(args);
237
- const payload = mergePayload(loadJsonFileArg(args.file), {
238
- name: args.name,
239
- runSchedule: runScheduleFromFlags(args),
240
- totalBudget: parseMoneyFlag(args["total-budget"], args.currency, "--total-budget"),
241
- status: args.status ? String(args.status).toUpperCase() : void 0,
242
- budgetOptimization: args["shared-budget"] ? { bidStrategy: String(args["shared-budget"]).toUpperCase() } : void 0
243
- });
244
- await stageOp({
245
- kind: "campaignGroup.update",
246
- accountId,
247
- target: requireTarget(args, "campaign group"),
248
- payload
249
- });
250
- }
251
- });
252
- function campaignPayloadFromFlags(args) {
253
- return {
254
- name: args.name,
255
- campaignGroup: args.group,
256
- type: args.type ? String(args.type).toUpperCase() : void 0,
257
- objectiveType: args.objective ? String(args.objective).toUpperCase() : void 0,
258
- costType: args["cost-type"] ? String(args["cost-type"]).toUpperCase() : void 0,
259
- unitCost: parseMoneyFlag(args.bid, args.currency, "--bid"),
260
- dailyBudget: parseMoneyFlag(args["daily-budget"], args.currency, "--daily-budget"),
261
- totalBudget: parseMoneyFlag(args["total-budget"], args.currency, "--total-budget"),
262
- runSchedule: runScheduleFromFlags(args),
263
- locale: parseLocaleFlag(args.locale),
264
- targetingCriteria: loadTargetingFileArg(args["targeting-file"]),
265
- audienceExpansionEnabled: parseOnOffFlag(args["audience-expansion"], "--audience-expansion"),
266
- offsiteDeliveryEnabled: parseOnOffFlag(args.lan, "--lan"),
267
- connectedTelevisionOnly: parseOnOffFlag(args.ctv, "--ctv"),
268
- creativeSelection: args["creative-selection"] ? String(args["creative-selection"]).toUpperCase() : void 0,
269
- associatedEntity: args["associated-entity"],
270
- politicalIntent: args["political-intent"] ? String(args["political-intent"]).toUpperCase() : void 0,
271
- status: args.status ? String(args.status).toUpperCase() : void 0,
272
- format: args.format ? String(args.format).toUpperCase() : void 0,
273
- optimizationTargetType: args.optimization ? String(args.optimization).toUpperCase() : void 0,
274
- pacingStrategy: args.pacing ? String(args.pacing).toUpperCase() : void 0,
275
- weeklyFrequencyCap: args["frequency-cap"] !== void 0 ? Number(args["frequency-cap"]) : void 0
276
- };
277
- }
278
- var POLITICAL_INTENT_HELP = "NOT_POLITICAL (default)|POLITICAL|NOT_DECLARED \u2014 the advertiser's declaration. New ad sets are declared not political, as Google and Meta campaigns are; pass POLITICAL only when the ads are political advertising (elections, referendums, legislation), and say so to the user.";
279
- var campaignFlagArgs = {
280
- ...accountArgs,
281
- name: { type: "string", description: "Campaign name (\u2264255 chars)" },
282
- group: { type: "string", description: "Campaign group id/URN, or li_temp_* ref staged in this chat" },
283
- type: { type: "string", description: "SPONSORED_UPDATES|TEXT_AD|SPONSORED_INMAILS|DYNAMIC" },
284
- objective: { type: "string", description: "e.g. LEAD_GENERATION, WEBSITE_VISIT, BRAND_AWARENESS" },
285
- "cost-type": { type: "string", description: "CPC|CPM|CPV" },
286
- bid: {
287
- type: "string",
288
- description: "unitCost: the manual bid, or with --optimization TARGET_COST_*/CAP_COST_* the target cost or cost cap (required there)"
289
- },
290
- optimization: {
291
- type: "string",
292
- description: "How it bids (optimizationTargetType). Manual: NONE (default)|ENHANCED_CONVERSION. Maximum delivery, billed CPM: MAX_LEAD|MAX_QUALIFIED_LEAD|MAX_CONVERSION|MAX_CLICK|MAX_IMPRESSION|MAX_REACH|MAX_VIDEO_VIEW. Target cost: TARGET_COST_PER_CLICK (CPC)|TARGET_COST_PER_IMPRESSION (CPM)|TARGET_COST_PER_VIDEO_VIEW (CPV). Cost cap, billed CPM: CAP_COST_AND_MAXIMIZE_LEADS|\u2026_CLICKS|\u2026_IMPRESSIONS|\u2026_VIDEO_VIEWS"
293
- },
294
- format: {
295
- type: "string",
296
- description: "Ad format, create-only: STANDARD_UPDATE|SINGLE_VIDEO|CAROUSEL|TEXT_AD|SPOTLIGHT|FOLLOW_COMPANY|JOBS|SPONSORED_INMAIL|SPONSORED_MESSAGE|SPONSORED_UPDATE_EVENT|SPONSORED_UPDATE_NATIVE_DOCUMENT. Required for carousel and video ad sets"
297
- },
298
- pacing: {
299
- type: "string",
300
- description: "LIFETIME (spread a total budget over the schedule)|ACCELERATED \u2014 create-only"
301
- },
302
- "frequency-cap": {
303
- type: "string",
304
- description: "At most N impressions per member a week (3\u201330), Brand awareness only"
305
- },
306
- "daily-budget": { type: "string", description: "Daily budget amount" },
307
- "total-budget": { type: "string", description: TOTAL_BUDGET_HELP },
308
- currency: { type: "string", description: "3-letter currency code (defaults to the ad account currency)" },
309
- start: {
310
- type: "string",
311
- description: "Run schedule start: now (default \u2014 when the chat publishes), ISO date or epoch ms"
312
- },
313
- end: { type: "string", description: "Run schedule end" },
314
- locale: { type: "string", description: "Profile locale like en_US" },
315
- "targeting-file": { type: "string", description: "JSON file with targetingCriteria (include.and[].or facets)" },
316
- "audience-expansion": { type: "string", description: "on|off (playbook: off)" },
317
- lan: { type: "string", description: "LinkedIn Audience Network on|off (playbook: off)" },
318
- ctv: { type: "string", description: "Connected TV on|off" },
319
- "creative-selection": { type: "string", description: "OPTIMIZED|ROUND_ROBIN" },
320
- "associated-entity": { type: "string", description: "Organization URN" },
321
- "political-intent": { type: "string", description: POLITICAL_INTENT_HELP },
322
- status: { type: "string", description: "DRAFT|ACTIVE|PAUSED \u2014 PAUSED needs a group that is not DRAFT" },
323
- file: { type: "string", description: "JSON file with the full payload; flags override file keys" }
324
- };
325
- function campaignCreatePayload(args, file) {
326
- const payload = mergePayload(file, campaignPayloadFromFlags(args));
327
- return {
328
- ...payload,
329
- locale: payload.locale ?? { country: "US", language: "en" },
330
- ...payload.runSchedule ? { runSchedule: startingNowUnlessSet(payload.runSchedule) } : {}
331
- };
332
- }
333
- var campaignsCreateCommand = defineCommand({
334
- meta: {
335
- name: "create",
336
- description: `Stage a new campaign. ${STAGED_NOTE}
337
- Targeting goes in --targeting-file (facet URNs). --group accepts a li_temp_* ref from a campaign group staged in this chat.
338
- Start now: --status ACTIVE with no --start \u2014 it starts the moment the chat publishes, in an ACTIVE group. --bid can't be above --daily-budget.
339
- Example: baker ads linkedin campaigns create --name "ABM Tier-1" --group li_temp_x1 --objective WEBSITE_VISIT --type SPONSORED_UPDATES --cost-type CPC --bid 8.50 --daily-budget 75 --currency EUR --locale en_US --targeting-file targeting.json
340
- Lead gen with a cost cap: --objective LEAD_GENERATION --cost-type CPM --optimization CAP_COST_AND_MAXIMIZE_LEADS --bid 80 (at most 80 per lead). Carousel: --format CAROUSEL.`
341
- },
342
- args: { ...campaignFlagArgs, ...fileArg("campaign.create", campaignFlagArgs.file.description) },
343
- run: async ({ args }) => {
344
- const accountId = bareAccountId(args);
345
- const payload = campaignCreatePayload(args, loadJsonFileArg(args.file));
346
- await stageOp({ kind: "campaign.create", accountId, payload });
347
- }
348
- });
349
- function campaignUpdatePayloadFromFlags(args, target, file) {
350
- const flags = campaignPayloadFromFlags(args);
351
- if (!target.startsWith(TEMP_REF_PREFIX)) {
352
- flags.campaignGroup = void 0;
353
- flags.type = void 0;
354
- flags.locale = void 0;
355
- flags.associatedEntity = void 0;
356
- flags.format = void 0;
357
- flags.pacingStrategy = void 0;
358
- }
359
- return mergePayload(file, flags);
360
- }
361
- var campaignsUpdateCommand = defineCommand({
362
- meta: {
363
- name: "update",
364
- description: `Stage changes to an existing campaign (budget, bid, targeting, flags, schedule, status). ${STAGED_NOTE}
365
- Pass a li_temp_* ref to amend a campaign staged in this chat \u2014 fields merge into the staged create, and --group/--type/--locale/--associated-entity carry through too (they're create-only on a LIVE campaign, but fair game while it's still staged).
366
- Example: baker ads linkedin campaigns update 123456 --daily-budget 100 --currency EUR --audience-expansion off`
367
- },
368
- args: {
369
- id: { type: "positional", description: "Campaign id or URN", required: true },
370
- ...campaignFlagArgs,
371
- ...fileArg("campaign.update", campaignFlagArgs.file.description)
372
- },
373
- run: async ({ args }) => {
374
- const accountId = bareAccountId(args);
375
- const target = requireTarget(args, "campaign");
376
- const payload = campaignUpdatePayloadFromFlags(args, target, loadJsonFileArg(args.file));
377
- await stageOp({
378
- kind: "campaign.update",
379
- accountId,
380
- target,
381
- payload
382
- });
383
- }
384
- });
385
- function commaList(value) {
386
- return typeof value === "string" ? value.split(",").map((entry) => entry.trim()).filter((entry) => entry.length > 0) : [];
387
- }
388
- function excludeCompaniesPayload(args) {
389
- const employers = commaList(args.org).map((org) => org.startsWith("urn:") ? org : `urn:li:organization:${org}`);
390
- const segments = commaList(args.segment);
391
- return {
392
- add: {
393
- ...employers.length > 0 ? { employers } : {},
394
- ...segments.length > 0 ? { segments } : {}
395
- }
396
- };
397
- }
398
- var EXCLUSION_FLAG_BY_FIELD = { employers: "--org", segments: "--segment" };
399
- function excludeCompaniesRefusal(args) {
400
- const payload = excludeCompaniesPayload(args);
401
- if (!payload.add.employers && !payload.add.segments) {
402
- return "pass --org and/or --segment \u2014 the companies or audiences this ad set should stop reaching";
403
- }
404
- const parsed = campaignExcludeCompaniesSchema.safeParse(payload);
405
- if (parsed.success) {
406
- return void 0;
407
- }
408
- return parsed.error.issues.map((issue) => {
409
- const flag = EXCLUSION_FLAG_BY_FIELD[String(issue.path[1])];
410
- return flag ? `${flag}: ${issue.message}` : issue.message;
411
- }).join("; ");
412
- }
413
- var campaignsExcludeCompaniesCommand = defineCommand({
414
- meta: {
415
- name: "exclude-companies",
416
- description: `Stop an ad set reaching some companies \u2014 customers, open deals, competitors. ${STAGED_NOTE}
417
- Add-only: adds to the ad set's exclusions and never removes one. At publish Baker re-reads the ad set and merges into its targeting as it stands then, so audience, locations and existing exclusions are kept.
418
- --org takes company ids (as \`companies\` / \`top-companies\` print them) or urn:li:organization URNs, comma-separated, up to 200 per call. For a longer list, upload it as a company-list audience and pass it to --segment (an urn:li:dmpSegment/adSegment URN, or a li_temp_* audience staged in this chat).
419
- Example: baker ads linkedin campaigns exclude-companies 123456 --org 1035,1441`
420
- },
421
- args: {
422
- id: {
423
- type: "positional",
424
- description: "Ad set (campaign) id or URN \u2014 must already be on LinkedIn",
425
- required: true
426
- },
427
- ...accountArgs,
428
- org: { type: "string", description: "Company ids or urn:li:organization URNs to exclude, comma-separated" },
429
- segment: {
430
- type: "string",
431
- description: "Matched audiences to exclude, comma-separated: urn:li:dmpSegment:N / urn:li:adSegment:N or a li_temp_* ref"
432
- }
433
- },
434
- run: async ({ args }) => {
435
- const accountId = bareAccountId(args);
436
- const target = requireTarget(args, "campaign");
437
- const refusal = excludeCompaniesRefusal(args);
438
- if (refusal) {
439
- failWriteValidation(refusal);
440
- }
441
- const payload = excludeCompaniesPayload(args);
442
- await stageOp({ kind: "campaign.excludeCompanies", accountId, target, payload });
443
- }
444
- });
445
- function statusSugarCommand(entity, kind, name) {
446
- const status = name === "pause" ? "PAUSED" : name === "resume" ? "ACTIVE" : "ARCHIVED";
447
- return defineCommand({
448
- meta: {
449
- name,
450
- description: `Stage a status change to ${status}, for one id or many. ${STAGED_NOTE}
451
- Examples:
452
- baker ads linkedin ${entity} ${name} 123456
453
- baker ads linkedin ${entity} ${name} 123456,123457,123458
454
- baker ads linkedin ${entity} ${name} --ids-file ids.txt`
455
- },
456
- args: {
457
- id: { type: "positional", description: "Entity id or URN \u2014 comma-separate several", required: false },
458
- "ids-file": { type: "string", description: "File of ids, one per line or comma-separated" },
459
- ...accountArgs
460
- },
461
- run: async ({ args }) => {
462
- await stageStatusChange({
463
- kind,
464
- accountId: bareAccountId(args),
465
- targets: requireTargets(args, entity.replace(/-/g, " ").replace(/s$/, "")),
466
- status
467
- });
468
- }
469
- });
470
- }
471
- function deleteDraftCommand(entity, kind, what) {
472
- return defineCommand({
473
- meta: {
474
- name: "delete",
475
- description: `Stage deleting a ${what} that is still a DRAFT on LinkedIn, for one id or many \u2014 it disappears from Campaign Manager. ${STAGED_NOTE}
476
- Only a DRAFT can be deleted: anything that has been active, paused or archived stays, so pause or archive it instead. A ${what} staged in this chat is dropped with \`draft remove\`. At publish every delete runs last, ads before ad sets before campaigns.
477
- Examples:
478
- baker ads linkedin ${entity} delete 896802423
479
- baker ads linkedin ${entity} delete 896802423,896812053`
480
- },
481
- args: {
482
- id: { type: "positional", description: "Id or URN \u2014 comma-separate several", required: false },
483
- "ids-file": { type: "string", description: "File of ids, one per line or comma-separated" },
484
- ...accountArgs
485
- },
486
- run: async ({ args }) => {
487
- const accountId = bareAccountId(args);
488
- await stageLinkedinOps(
489
- requireTargets(args, what).map((target) => ({
490
- kind,
491
- accountId,
492
- target,
493
- payload: {}
494
- }))
495
- );
496
- }
497
- });
498
- }
499
- var campaignGroupsDeleteCommand = deleteDraftCommand("campaign-groups", "campaignGroup.delete", "campaign");
500
- var campaignsDeleteCommand = deleteDraftCommand("campaigns", "campaign.delete", "ad set");
501
- var creativesDeleteCommand = deleteDraftCommand("creatives", "creative.delete", "ad");
502
- function trackingPairs(value, flag) {
503
- const raw = value === void 0 ? [] : Array.isArray(value) ? value : [value];
504
- return raw.flatMap(
505
- (entry) => String(entry).split("&").filter((pair) => pair.length > 0).map((pair) => {
506
- const at = pair.indexOf("=");
507
- if (at < 1 || at === pair.length - 1) {
508
- failWriteValidation(`${flag} expects key=value pairs \u2014 got "${pair}"`);
509
- }
510
- return [pair.slice(0, at).trim(), pair.slice(at + 1).trim()];
511
- })
512
- );
513
- }
514
- function asDynamicValue(value) {
515
- const bare = value.replace(/^\{+|\}+$/g, "").toUpperCase();
516
- return TRACKING_PARAM_DYNAMIC_VALUES.includes(bare) ? bare : void 0;
517
- }
518
- function trackingParamsPayload(args, rawArgs) {
519
- if (args.clear) {
520
- return { dynamicValueParameters: {}, customValueParameters: {} };
521
- }
522
- const customValueParameters = {};
523
- for (const [key, value] of trackingPairs(repeatedValues(rawArgs, "param", args.param), "--param")) {
524
- if (asDynamicValue(value)) {
525
- failWriteValidation(
526
- `--param ${key}=${value} names a value LinkedIn fills in per ad \u2014 pass it as --dynamic ${key}=${value.replace(/^\{+|\}+$/g, "").toUpperCase()}`
527
- );
528
- }
529
- customValueParameters[key] = value;
530
- }
531
- const dynamicValueParameters = {};
532
- for (const [key, value] of trackingPairs(repeatedValues(rawArgs, "dynamic", args.dynamic), "--dynamic")) {
533
- const resolved = asDynamicValue(value);
534
- if (!resolved) {
535
- failWriteValidation(
536
- `--dynamic ${key}=${value} is not a value LinkedIn can fill in \u2014 use one of ${TRACKING_PARAM_DYNAMIC_VALUES.join(", ")}, or pass a fixed value with --param`
537
- );
538
- }
539
- dynamicValueParameters[key] = resolved;
540
- }
541
- return mergePayload(loadJsonFileArg(args.file), {
542
- customValueParameters: Object.keys(customValueParameters).length > 0 ? customValueParameters : void 0,
543
- dynamicValueParameters: Object.keys(dynamicValueParameters).length > 0 ? dynamicValueParameters : void 0
544
- });
545
- }
546
- var campaignsUrlParamsCommand = defineCommand({
547
- meta: {
548
- name: "url-params",
549
- description: `Stage the URL tracking parameters on an ad set \u2014 LinkedIn appends them to the link of EVERY ad in it, including ads already running. ${STAGED_NOTE}
550
-
551
- Start here: set UTMs at this level, not per ad. A per-ad landing URL is only for a genuinely different destination \u2014 LinkedIn appends the ad set's parameters on top of whatever the ad's own URL carries, so the same key set in both places lands twice.
552
-
553
- This REPLACES the ad set's whole parameter set \u2014 LinkedIn does not merge. Read what it carries first (\`baker ads linkedin url-params --campaign-ids <ad-set-id>\`) and re-send every pair that should survive; the drop is otherwise silent until traffic stops being attributable.
554
-
555
- Values LinkedIn fills in per ad (--dynamic): ACCOUNT_ID, ACCOUNT_NAME, CAMPAIGN_GROUP_ID, CAMPAIGN_GROUP_NAME, CAMPAIGN_ID, CAMPAIGN_NAME, CREATIVE_ID, CREATIVE_NAME.
556
-
557
- Examples:
558
- baker ads linkedin campaigns url-params 123456 --param "utm_source=linkedin&utm_medium=paid-social" --dynamic utm_campaign=CAMPAIGN_NAME --dynamic utm_content=CREATIVE_ID
559
- baker ads linkedin campaigns url-params 123456 --param utm_agency=baker
560
- baker ads linkedin campaigns url-params 123456 --clear`
561
- },
562
- args: {
563
- id: { type: "positional", description: "Ad set (campaign) id or URN", required: true },
564
- ...accountArgs,
565
- param: {
566
- type: "string",
567
- description: 'Fixed key=value, repeatable or &-joined (e.g. --param "utm_source=linkedin&utm_medium=paid")'
568
- },
569
- dynamic: {
570
- type: "string",
571
- description: "key=PLACEHOLDER LinkedIn fills in per ad, repeatable (e.g. --dynamic utm_campaign=CAMPAIGN_NAME)"
572
- },
573
- clear: { type: "boolean", description: "Remove every tracking parameter from this ad set" },
574
- file: { type: "string", description: "JSON file with the full payload; flags override file keys" }
575
- },
576
- run: async ({ args, rawArgs }) => {
577
- const accountId = bareAccountId(args);
578
- await stageOp({
579
- kind: "trackingParams.set",
580
- accountId,
581
- target: requireTarget(args, "ad set"),
582
- payload: trackingParamsPayload(args, rawArgs)
583
- });
584
- }
585
- });
586
- function accountTrackingTarget(args) {
587
- const accountId = bareAccountId(args);
588
- return { accountId, target: `urn:li:sponsoredAccount:${accountId}` };
589
- }
590
- var accountUrlParamsCommand = defineCommand({
591
- meta: {
592
- name: "url-params",
593
- description: `Stage the URL tracking parameters on the whole AD ACCOUNT \u2014 LinkedIn appends them to the link of every ad in every ad set, including ads already running. ${STAGED_NOTE}
594
-
595
- Use this for the parameters that never vary across the account (utm_source, utm_medium, an agency tag). Anything that identifies a specific ad set belongs on the ad set (\`campaigns url-params\`) \u2014 LinkedIn appends BOTH levels, so a key set in both places lands in the URL twice.
596
-
597
- This REPLACES the account's whole parameter set \u2014 LinkedIn does not merge. Read what it carries first with \`baker ads linkedin url-params\` and re-send every pair that should survive.
598
-
599
- Values LinkedIn fills in per ad (--dynamic): ACCOUNT_ID, ACCOUNT_NAME, CAMPAIGN_GROUP_ID, CAMPAIGN_GROUP_NAME, CAMPAIGN_ID, CAMPAIGN_NAME, CREATIVE_ID, CREATIVE_NAME.
600
-
601
- Examples:
602
- baker ads linkedin account url-params --param "utm_source=linkedin&utm_medium=paid_social"
603
- baker ads linkedin account url-params --param utm_source=linkedin --dynamic utm_campaign=CAMPAIGN_NAME
604
- baker ads linkedin account url-params --clear`
605
- },
606
- args: {
607
- ...accountArgs,
608
- param: {
609
- type: "string",
610
- description: 'Fixed key=value, repeatable or &-joined (e.g. --param "utm_source=linkedin&utm_medium=paid")'
611
- },
612
- dynamic: {
613
- type: "string",
614
- description: "key=PLACEHOLDER LinkedIn fills in per ad, repeatable (e.g. --dynamic utm_campaign=CAMPAIGN_NAME)"
615
- },
616
- clear: { type: "boolean", description: "Remove every tracking parameter set on the ad account" },
617
- file: { type: "string", description: "JSON file with the full payload; flags override file keys" }
618
- },
619
- run: async ({ args, rawArgs }) => {
620
- const { accountId, target } = accountTrackingTarget(args);
621
- await stageOp({
622
- kind: "trackingParams.set",
623
- accountId,
624
- target,
625
- payload: trackingParamsPayload(args, rawArgs)
626
- });
627
- }
628
- });
629
- var campaignsPauseCommand = statusSugarCommand("campaigns", "campaign.update", "pause");
630
- var campaignsResumeCommand = statusSugarCommand("campaigns", "campaign.update", "resume");
631
- var campaignsArchiveCommand = statusSugarCommand("campaigns", "campaign.update", "archive");
632
- var campaignGroupsPauseCommand = statusSugarCommand("campaign-groups", "campaignGroup.update", "pause");
633
- var campaignGroupsResumeCommand = statusSugarCommand("campaign-groups", "campaignGroup.update", "resume");
634
- var creativesPauseCommand = statusSugarCommand("creatives", "creative.update", "pause");
635
- var creativesResumeCommand = statusSugarCommand("creatives", "creative.update", "resume");
636
- function duplicateCommand(entity, cliGroup) {
637
- return defineCommand({
638
- meta: {
639
- name: "duplicate",
640
- description: `Stage a copy of an existing ${entity} as a new DRAFT create (playbook: duplicate, never link-to-original). ${STAGED_NOTE}
641
- Example: baker ads linkedin ${cliGroup} duplicate 123456 --name "New variant"`
642
- },
643
- args: {
644
- id: { type: "positional", description: "Source id or URN", required: true },
645
- ...accountArgs,
646
- name: { type: "string", description: "Name for the copy" },
647
- file: { type: "string", description: "JSON file with field overrides for the copy" }
648
- },
649
- run: async ({ args }) => {
650
- try {
651
- const chatId = requireChatId();
652
- const overrides = mergePayload(loadJsonFileArg(args.file), { name: args.name });
653
- const response = await apiPost(
654
- "/api/ads/linkedin/draft/duplicate",
655
- {
656
- chatId,
657
- accountId: bareAccountId(args),
658
- entity,
659
- sourceId: requireTarget(args, entity),
660
- ...Object.keys(overrides).length > 0 ? { overrides } : {}
661
- }
662
- );
663
- writeJsonEnvelope(response);
664
- } catch (err) {
665
- handleLinkedinError(err);
666
- }
667
- }
668
- });
669
- }
670
- var campaignsDuplicateCommand = duplicateCommand("campaign", "campaigns");
671
- var campaignGroupsDuplicateCommand = duplicateCommand("campaignGroup", "campaign-groups");
672
- var creativesDuplicateCommand = defineCommand({
673
- meta: {
674
- name: "duplicate",
675
- description: `Stage a copy of an existing ad, optionally with new content. ${STAGED_NOTE}
676
- Content flags only apply to direct-content ads (text|spotlight|follower|jobs) \u2014 LinkedIn makes their content immutable, so a copy is how their copy/media/URL changes. Post-based ads (image|video|carousel|document|article|event|tla) sponsor a post that owns the copy, media and destination: a copy re-sponsors the SAME post, so content flags are rejected \u2014 stage \`creatives create\` with the new content instead, then pause the old ad.
677
- --replace also pauses the original once the new ad publishes (skipped if the new ad fails).
678
- Examples:
679
- baker ads linkedin creatives duplicate 1458413484 --headline "10x Demos, Same Team" --description "AI handles every demo request." --replace
680
- baker ads linkedin creatives duplicate urn:li:sponsoredCreative:789 --campaign 799305464`
681
- },
682
- args: {
683
- id: { type: "positional", description: "Source creative id or URN", required: true },
684
- ...accountArgs,
685
- campaign: { type: "string", description: "Stage the copy under a different ad set (id/URN or li_temp_*)" },
686
- "intended-status": {
687
- type: "string",
688
- description: "Status for the copy (default DRAFT; with --replace, the source's status)"
689
- },
690
- replace: {
691
- type: "boolean",
692
- description: "Also pause the original once the new ad publishes; the copy inherits the source's status"
693
- },
694
- intro: { type: "string", description: "New commentary / intro text" },
695
- headline: { type: "string", description: "New headline" },
696
- description: { type: "string", description: "New description (text/spotlight ads)" },
697
- "landing-url": {
698
- type: "string",
699
- description: "New https destination URL (direct-content ads only \u2014 a post-based ad's URL lives in its post)"
700
- },
701
- cta: { type: "string", description: "New CTA (LEARN_MORE|REQUEST_DEMO|\u2026)" },
702
- "cta-label": { type: "string", description: "Spotlight custom CTA label" },
703
- "image-id": { type: "string", description: "Baker image library id" },
704
- "image-urn": { type: "string", description: "Existing urn:li:image:*" },
705
- "video-id": {
706
- type: "string",
707
- description: "Baker video library id (`baker videos`) \u2014 uploaded to LinkedIn at publish; a first publish may ask to retry while the full-quality copy is prepared"
708
- },
709
- "video-urn": { type: "string", description: "Existing urn:li:video:*" },
710
- "logo-image-id": { type: "string", description: "Baker image id for the logo" },
711
- title: { type: "string", description: "Media title" },
712
- file: { type: "string", description: "JSON file with field overrides for the copy" }
713
- },
714
- run: async ({ args }) => {
715
- try {
716
- const chatId = requireChatId();
717
- const file = loadJsonFileArg(args.file);
718
- const fileContent = file.content !== null && typeof file.content === "object" && !Array.isArray(file.content) ? file.content : {};
719
- const content = { ...fileContent, ...creativeContentPatch(args) };
720
- const overrides = mergePayload(file, {
721
- campaign: args.campaign,
722
- intendedStatus: args["intended-status"] ? String(args["intended-status"]).toUpperCase() : void 0,
723
- content: Object.keys(content).length > 0 ? content : void 0
724
- });
725
- const response = await apiPost(
726
- "/api/ads/linkedin/draft/duplicate",
727
- {
728
- chatId,
729
- accountId: bareAccountId(args),
730
- entity: "creative",
731
- sourceId: requireTarget(args, "creative"),
732
- ...Object.keys(overrides).length > 0 ? { overrides } : {},
733
- ...args.replace ? { replace: true } : {}
734
- }
735
- );
736
- writeJsonEnvelope(response);
737
- } catch (err) {
738
- handleLinkedinError(err);
739
- }
740
- }
741
- });
742
- var CREATIVE_FORMATS = [
743
- "image",
744
- "video",
745
- "text",
746
- "spotlight",
747
- "follower",
748
- "document",
749
- "carousel",
750
- "conversation",
751
- "tla",
752
- "jobs",
753
- "event",
754
- "article"
755
- ];
756
- var creativesCreateCommand = defineCommand({
757
- meta: {
758
- name: "create",
759
- description: `Stage a new creative (ad). ${STAGED_NOTE}
760
- Formats: ${CREATIVE_FORMATS.join("|")}. Media comes from the Baker library (--image-id / --video-id from \`baker images\`/\`baker videos\`) or as LinkedIn URNs. Complex formats (carousel, jobs) take --file with the full content object. Conversation ads take --file with the message flow ({message: {subject, body, buttons[]}} \u2014 buttons NESTED|LANDING_PAGE|LEAD_FORM (LEAD_FORM takes leadForm: li_temp_* or form id and opens the form in the thread), nested messages recurse).
761
- Examples:
762
- baker ads linkedin creatives create --campaign li_temp_x2 --format image --image-id <bakerImageId> --intro "Meet the platform\u2026" --headline "Book a demo" --landing-url https://example.com/demo --cta REQUEST_DEMO
763
- baker ads linkedin creatives create --campaign 123456 --format tla --post <post id from \`baker posts list\`>
764
- Boosting a post (Thought Leader ad): --format tla sponsors a post that already exists \u2014 the company page's own (not a reshare) or a person's (the CEO's\u2026) once they approve it in Campaign Manager. Name it with --post <Baker post id> (\`baker posts list --usable usable\` or \`--usable needs_approval\`), or --post-url with any link to the post (a normal "copy link" works: Baker reads the post and adds it to Posts). Staging refuses a post that can't run as an ad, with the reason. A video post goes in a SINGLE_VIDEO ad set, any other in STANDARD_UPDATE.
765
- Document ads run in a SPONSORED_UPDATE_NATIVE_DOCUMENT ad set: --document <Baker document name> or --document-url <PDF link>, plus --title. Gate it (lead gen ad set) with --lead-form and --preview-pages N \u2014 the first N pages show, the form unlocks the rest:
766
- baker ads linkedin creatives create --campaign li_temp_x2 --format document --document solar-report --title "2026 solar report" --intro "\u2026" --lead-form li_temp_f1 --lead-form-button UNLOCK_FULL_DOCUMENT --preview-pages 3
767
- Lead gen ads (an ad set with objective LEAD_GENERATION) open a form instead of a landing page \u2014 every ad in one needs --lead-form, and staging refuses it without:
768
- baker ads linkedin lead-forms create --file form.json # \u2192 li_temp_f1
769
- baker ads linkedin creatives create --campaign li_temp_x2 --format image --image-id <id> --intro "\u2026" --headline "Get the report" --lead-form li_temp_f1 --lead-form-button DOWNLOAD`
770
- },
771
- args: {
772
- ...accountArgs,
773
- campaign: { type: "string", description: "Campaign id/URN, or li_temp_* ref staged in this chat" },
774
- format: { type: "string", description: CREATIVE_FORMATS.join("|") },
775
- "image-id": { type: "string", description: "Baker image library id (uploaded to LinkedIn at publish)" },
776
- "image-urn": { type: "string", description: "Existing urn:li:image:*" },
777
- "video-id": {
778
- type: "string",
779
- description: "Baker video library id (`baker videos`) \u2014 uploaded to LinkedIn at publish; a first publish may ask to retry while the full-quality copy is prepared"
780
- },
781
- "video-urn": { type: "string", description: "Existing urn:li:video:*" },
782
- "logo-image-id": { type: "string", description: "Baker image id for logo (text/spotlight/follower/jobs)" },
783
- intro: { type: "string", description: "Commentary / intro text (\u2264600 chars before feed truncation)" },
784
- headline: { type: "string", description: "Headline (\u226470; text ads \u226425)" },
785
- description: { type: "string", description: "Description (text ads \u226475, spotlight \u226470)" },
786
- "landing-url": { type: "string", description: "https destination URL" },
787
- cta: { type: "string", description: "LEARN_MORE|REQUEST_DEMO|SIGN_UP|REGISTER|DOWNLOAD|\u2026" },
788
- "cta-label": { type: "string", description: "Spotlight custom CTA label (\u226418 chars)" },
789
- post: {
790
- type: "string",
791
- description: "TLA: the post to sponsor, by its Baker post id (`baker posts list`) \u2014 the simplest way"
792
- },
793
- "post-urn": {
794
- type: "string",
795
- description: "TLA: the post to sponsor by its URN \u2014 urn:li:share|ugcPost:*"
796
- },
797
- "post-url": {
798
- type: "string",
799
- description: "TLA: any link to the post (normal or embed); Baker reads it and adds it to Posts"
800
- },
801
- sender: {
802
- type: "string",
803
- description: "Conversation ads: urn:li:person:* the conversation arrives from (from `account-users`; default: whoever connected LinkedIn)"
804
- },
805
- "lead-form": {
806
- type: "string",
807
- description: "Lead gen form the ad opens (image|video|carousel|document|tla): li_temp_* ref from `lead-forms create`, or a form id from `lead-forms`. Required in a LEAD_GENERATION ad set; replaces --landing-url"
808
- },
809
- "lead-form-button": {
810
- type: "string",
811
- description: `Button that opens the form: ${LEADGEN_CTA_LABELS.join("|")} (default SIGN_UP)`
812
- },
813
- document: {
814
- type: "string",
815
- description: "Document ads: a Baker document's folder name (src/documents/<name>) \u2014 its PDF goes to LinkedIn at publish, after the document itself is published"
816
- },
817
- "document-url": {
818
- type: "string",
819
- description: "Document ads: https link to a PDF, PowerPoint or Word file (\u2264100 MB, \u2264300 pages)"
820
- },
821
- "document-urn": { type: "string", description: "Document ads: existing urn:li:document:*" },
822
- "preview-pages": {
823
- type: "string",
824
- description: "Gated document ads: pages shown before the lead gen form (needs --lead-form; fewer than the document has, which must be 2+ pages)"
825
- },
826
- "event-urn": { type: "string", description: "Event ads: the LinkedIn event to sponsor (urn:li:event:*)" },
827
- "article-url": { type: "string", description: "Article ads: https URL of the article/newsletter to sponsor" },
828
- "thumbnail-image-id": { type: "string", description: "Article ads: Baker image id for the link thumbnail" },
829
- "thumbnail-urn": { type: "string", description: "Article ads: existing urn:li:image:* thumbnail" },
830
- "intended-status": {
831
- type: "string",
832
- description: "DRAFT|ACTIVE (default DRAFT) \u2014 a new ad can't start PAUSED; DRAFT holds it back"
833
- },
834
- title: { type: "string", description: "Media title (image/video), article title, or document title" },
835
- file: { type: "string", description: "JSON file with the full content object; flags override" }
836
- },
837
- run: async ({ args }) => {
838
- const accountId = bareAccountId(args);
839
- if (!args.campaign) {
840
- failWriteValidation("--campaign is required (id, URN, or li_temp_* ref)");
841
- }
842
- const format = args.format ? String(args.format) : void 0;
843
- if (!format || !CREATIVE_FORMATS.includes(format)) {
844
- failWriteValidation(`--format must be one of ${CREATIVE_FORMATS.join("|")}`);
845
- }
846
- const content = mergePayload(loadJsonFileArg(args.file), {
847
- format,
848
- commentary: args.intro,
849
- imageId: args["image-id"],
850
- imageUrn: args["image-urn"],
851
- videoId: args["video-id"],
852
- videoUrn: args["video-urn"],
853
- logoImageId: args["logo-image-id"],
854
- headline: args.headline,
855
- description: args.description,
856
- landingUrl: args["landing-url"],
857
- cta: args.cta ? String(args.cta).toUpperCase() : void 0,
858
- ctaLabel: args["cta-label"],
859
- ...sponsoredPostArgs(args),
860
- sender: args.sender,
861
- eventUrn: args["event-urn"],
862
- source: args["article-url"],
863
- thumbnailImageId: args["thumbnail-image-id"],
864
- thumbnailUrn: args["thumbnail-urn"],
865
- mediaTitle: args.title,
866
- title: args.title,
867
- ...documentContentArgs(format, args)
868
- });
869
- const leadgenCallToAction = leadgenCallToActionArg(args);
870
- await stageOp({
871
- kind: "creative.create",
872
- accountId,
873
- payload: {
874
- campaign: args.campaign,
875
- intendedStatus: args["intended-status"] ? String(args["intended-status"]).toUpperCase() : void 0,
876
- content,
877
- ...leadgenCallToAction ? { leadgenCallToAction } : {}
878
- }
879
- });
880
- }
881
- });
882
- function documentContentArgs(format, args) {
883
- if (format !== "document") {
884
- return {};
885
- }
886
- const previewPages = args["preview-pages"] === void 0 ? void 0 : Number(args["preview-pages"]);
887
- if (previewPages !== void 0 && !(Number.isInteger(previewPages) && previewPages >= 1)) {
888
- failWriteValidation("--preview-pages must be a whole number of pages, e.g. 3");
889
- }
890
- return {
891
- documentId: args.document,
892
- documentUrl: args["document-url"],
893
- documentUrn: args["document-urn"],
894
- documentTitle: args.title,
895
- previewPages
896
- };
897
- }
898
- function sponsoredPostArgs(args) {
899
- const named = ["post", "post-urn", "post-url"].filter((flag) => args[flag] !== void 0);
900
- if (named.length > 1) {
901
- failWriteValidation(`name the post once: ${named.map((flag) => `--${flag}`).join(" and ")} were both passed`);
902
- }
903
- if (args.post !== void 0) {
904
- return { bakerPostId: String(args.post) };
905
- }
906
- const value = args["post-urn"] ?? args["post-url"];
907
- if (value === void 0) {
908
- return {};
909
- }
910
- const post = sponsoredPostUrn(String(value));
911
- if ("urn" in post) {
912
- return { postUrn: post.urn };
913
- }
914
- if (/^https?:\/\//i.test(String(value).trim())) {
915
- return { postLink: String(value).trim() };
916
- }
917
- failWriteValidation(`--post-urn: ${post.error}`);
918
- }
919
- function leadgenCallToActionArg(args) {
920
- const destination = args["lead-form"] !== void 0 ? String(args["lead-form"]) : void 0;
921
- const label = args["lead-form-button"] !== void 0 ? String(args["lead-form-button"]).toUpperCase() : void 0;
922
- if (destination === void 0) {
923
- if (label !== void 0) {
924
- failWriteValidation("--lead-form-button needs --lead-form (the form the button opens)");
925
- }
926
- return void 0;
927
- }
928
- return { destination, label: label ?? "SIGN_UP" };
929
- }
930
- var CREATIVE_AMEND_CONTENT_FLAGS = [
931
- ["intro", "commentary"],
932
- ["headline", "headline"],
933
- ["description", "description"],
934
- ["landing-url", "landingUrl"],
935
- ["cta-label", "ctaLabel"],
936
- ["image-id", "imageId"],
937
- ["image-urn", "imageUrn"],
938
- ["video-id", "videoId"],
939
- ["video-urn", "videoUrn"],
940
- ["logo-image-id", "logoImageId"],
941
- ["thumbnail-image-id", "thumbnailImageId"],
942
- ["thumbnail-urn", "thumbnailUrn"],
943
- ["title", "title"]
944
- ];
945
- function creativeContentPatch(args) {
946
- const patch = {};
947
- for (const [flag, key] of CREATIVE_AMEND_CONTENT_FLAGS) {
948
- if (args[flag] !== void 0) {
949
- patch[key] = args[flag];
950
- }
951
- }
952
- if (args.cta !== void 0) {
953
- patch.cta = String(args.cta).toUpperCase();
954
- }
955
- return patch;
956
- }
957
- var creativesUpdateCommand = defineCommand({
958
- meta: {
959
- name: "update",
960
- description: `Stage changes to an existing creative, or amend a creative staged in this chat by passing its li_temp_* ref. ${STAGED_NOTE}
961
- Direct-content ads (text/spotlight/follower/jobs) update copy/media/URL IN PLACE \u2014 changed fields merge into the ad's current content. Post-based ads (image/video/carousel/\u2026) sponsor a post that owns the copy, media and destination: neither this command nor \`creatives duplicate\` can change it \u2014 stage \`creatives create\` with the new content, then pause the old ad. Staged creatives (li_temp_*) accept all content flags and re-validate.
962
- Applies the same change to several ads at once: comma-separate the ids, or pass --ids-file. All of them stage together or none does. Live ids only \u2014 a li_temp_* amend has to be its own call.
963
- --campaign re-parents the ad to a different ad set \u2014 LinkedIn has no in-place move API, so this only works while the creative is still staged (li_temp_*); passing it against a live creative id/URN is rejected at stage time.
964
- Examples:
965
- baker ads linkedin creatives update 1458423674 --headline "Sharper headline" --description "New copy."
966
- baker ads linkedin creatives update urn:li:sponsoredCreative:789 --intended-status PAUSED
967
- baker ads linkedin creatives update 1458423674,1458423675,1458423676 --intended-status PAUSED
968
- baker ads linkedin creatives update --ids-file ads.txt --intended-status PAUSED
969
- baker ads linkedin creatives update li_temp_x3 --campaign li_temp_x2
970
- baker ads linkedin creatives update li_temp_x3 --lead-form li_temp_f1 --lead-form-button REQUEST_DEMO
971
- --lead-form on a live ad works only while that ad is DRAFT \u2014 LinkedIn locks the form once it leaves DRAFT.`
972
- },
973
- args: {
974
- id: {
975
- type: "positional",
976
- description: "Creative id/URN \u2014 comma-separate several. A li_temp_* ref amends what this chat staged and must be passed on its own.",
977
- required: false
978
- },
979
- "ids-file": { type: "string", description: "File of creative ids, one per line or comma-separated" },
980
- ...accountArgs,
981
- "intended-status": { type: "string", description: "ACTIVE|PAUSED|ARCHIVED|DRAFT" },
982
- name: { type: "string", description: "New creative name" },
983
- campaign: {
984
- type: "string",
985
- description: "Re-parent to a different ad set (id/URN or li_temp_*) \u2014 staged creatives only"
986
- },
987
- intro: { type: "string", description: "Commentary / intro text" },
988
- headline: { type: "string", description: "New headline" },
989
- description: { type: "string", description: "Description (text/spotlight ads)" },
990
- "landing-url": { type: "string", description: "New https destination URL" },
991
- cta: { type: "string", description: "New CTA (LEARN_MORE|REQUEST_DEMO|\u2026)" },
992
- "cta-label": { type: "string", description: "Spotlight custom CTA label" },
993
- "lead-form": {
994
- type: "string",
995
- description: "Lead gen form the ad opens: li_temp_* or form id (live ads: DRAFT only)"
996
- },
997
- "lead-form-button": {
998
- type: "string",
999
- description: `Button that opens the form: ${LEADGEN_CTA_LABELS.join("|")} (default SIGN_UP); needs --lead-form`
1000
- },
1001
- "image-id": { type: "string", description: "Baker image library id" },
1002
- "image-urn": { type: "string", description: "Existing urn:li:image:*" },
1003
- "video-id": {
1004
- type: "string",
1005
- description: "Baker video library id (`baker videos`) \u2014 uploaded to LinkedIn at publish; a first publish may ask to retry while the full-quality copy is prepared"
1006
- },
1007
- "video-urn": { type: "string", description: "Existing urn:li:video:*" },
1008
- "logo-image-id": { type: "string", description: "Baker image id for the logo" },
1009
- "thumbnail-image-id": { type: "string", description: "Baker image id for the article thumbnail" },
1010
- "thumbnail-urn": { type: "string", description: "Existing urn:li:image:* thumbnail" },
1011
- title: { type: "string", description: "Media or article title" },
1012
- ...fileArg("creative.update", "JSON file with fields to change; flags override file keys")
1013
- },
1014
- run: async ({ args }) => {
1015
- const accountId = bareAccountId(args);
1016
- const targets = requireTargets(args, "creative");
1017
- const file = loadJsonFileArg(args.file);
1018
- const contentPatch = creativeContentPatch(args);
1019
- const intendedStatus = args["intended-status"] ? String(args["intended-status"]).toUpperCase() : void 0;
1020
- const fileContent = file.content !== null && typeof file.content === "object" && !Array.isArray(file.content) ? file.content : {};
1021
- const content = { ...fileContent, ...contentPatch };
1022
- const payload = mergePayload(file, {
1023
- intendedStatus,
1024
- name: args.name,
1025
- campaign: args.campaign,
1026
- content: Object.keys(content).length > 0 ? content : void 0,
1027
- leadgenCallToAction: leadgenCallToActionArg(args)
1028
- });
1029
- await stageLinkedinOps(targets.map((target) => ({ kind: "creative.update", accountId, target, payload })));
1030
- }
1031
- });
1032
- var AUDIENCE_TYPES = ["company-list", "user-list", "retargeting", "engagement"];
1033
- var INLINE_ROWS_MAX = 1e4;
1034
- var audiencesCreateCommand = defineCommand({
1035
- meta: {
1036
- name: "create",
1037
- description: `Stage a new matched audience. ${STAGED_NOTE}
1038
- List audiences take --list-file (CSV: companies by companyName, domain and the LinkedIn page \u2014 a linkedinCompanyPageUrl column (LinkedIn's own template; https://www.linkedin.com/company/<slug>) or organizationUrn \u2014 which matches the company exactly, so keep it, never drop it; email,\u2026 for contacts \u2014 emails are SHA-256 hashed locally). LinkedIn needs 300+ MATCHED members to serve: a contact list needs well above 300 rows; a company list counts every employee of its companies.
1039
- Example: baker ads linkedin audiences create --name "ABM Tier-1" --type company-list --list-file accounts.csv`
1040
- },
1041
- args: {
1042
- ...accountArgs,
1043
- name: { type: "string", description: "Audience name (\u2264100 chars)" },
1044
- type: { type: "string", description: AUDIENCE_TYPES.join("|") },
1045
- "list-file": { type: "string", description: "CSV file with the list rows (header row required)" },
1046
- file: {
1047
- type: "string",
1048
- description: 'JSON file with a raw source config (retargeting/engagement) \u2014 sourcePlatform, type USER and at least one engagementRules entry, e.g. {"sourcePlatform":"VIDEO_ADS","type":"USER","engagementRules":[{"engagementSource":"urn:li:sponsoredCampaign:123","engagementTrigger":"urn:li:dmpEngagementTrigger:(urn:li:dmpEngagementSourceType:VIDEO_ADS,FIRST_QUARTILE)","timeFrame":{"timeSpan":{"duration":90,"unit":"DAY"}}}]}'
1049
- }
1050
- },
1051
- run: async ({ args }) => {
1052
- const accountId = bareAccountId(args);
1053
- const list = parseListFileArg(args["list-file"], INLINE_ROWS_MAX);
1054
- const raw = args.file ? loadJsonFileArg(args.file) : void 0;
1055
- await stageOp({
1056
- kind: "audience.create",
1057
- accountId,
1058
- payload: {
1059
- name: args.name,
1060
- audienceType: args.type,
1061
- ...list ? { listColumns: list.columns, listRows: list.rows } : {},
1062
- ...list?.emailPreviews ? { listEmailPreviews: list.emailPreviews } : {},
1063
- ...raw ? { raw } : {}
1064
- }
1065
- });
1066
- }
1067
- });
1068
- var audiencesUploadCommand = defineCommand({
1069
- meta: {
1070
- name: "upload",
1071
- description: `Stage replacing an audience's list with a new file. ${STAGED_NOTE}
1072
- LinkedIn keeps ONE list per audience and gives this app no row-level add or remove, so the file is the whole list the audience should hold: to add people, send the old rows plus the new; to remove people (a customer who closed, someone who opted out), send the list without them. Rematching takes up to 48h.
1073
- Example: baker ads linkedin audiences upload urn:li:dmpSegment:42 --list-file all-target-accounts.csv`
1074
- },
1075
- args: {
1076
- id: { type: "positional", description: "Segment URN/id, or li_temp_* ref staged in this chat", required: true },
1077
- ...accountArgs,
1078
- "list-file": {
1079
- type: "string",
1080
- description: "CSV file with the WHOLE list the audience should hold",
1081
- required: true
1082
- }
1083
- },
1084
- run: async ({ args }) => {
1085
- const accountId = bareAccountId(args);
1086
- const list = parseListFileArg(args["list-file"], INLINE_ROWS_MAX);
1087
- if (!list) {
1088
- failWriteValidation("--list-file is required");
1089
- }
1090
- await stageOp({
1091
- kind: "audience.uploadList",
1092
- accountId,
1093
- payload: {
1094
- segment: requireTarget(args, "audience segment"),
1095
- listColumns: list.columns,
1096
- listRows: list.rows,
1097
- ...list.emailPreviews ? { listEmailPreviews: list.emailPreviews } : {}
1098
- }
1099
- });
1100
- }
1101
- });
1102
- var audiencesDeleteCommand = defineCommand({
1103
- meta: {
1104
- name: "delete",
1105
- description: `Stage deleting a matched audience \u2014 its list and its targetable twin go too. ${STAGED_NOTE}
1106
- LinkedIn keeps at most 1,000 audiences per ad account and refuses to delete one a live ad set still targets. An audience staged in this chat is dropped with \`draft remove\` instead.
1107
- Example: baker ads linkedin audiences delete urn:li:dmpSegment:77530978`
1108
- },
1109
- args: {
1110
- id: {
1111
- type: "positional",
1112
- description: "Audience URN (urn:li:dmpSegment:\u2026) or id from `audiences`",
1113
- required: true
1114
- },
1115
- ...accountArgs
1116
- },
1117
- run: async ({ args }) => {
1118
- await stageOp({
1119
- kind: "audience.delete",
1120
- accountId: bareAccountId(args),
1121
- target: requireTarget(args, "audience"),
1122
- payload: {}
1123
- });
1124
- }
1125
- });
1126
- var audiencesListCommand = defineCommand({
1127
- meta: {
1128
- name: "list",
1129
- description: "List the ad account's matched audiences: status (BUILDING until LinkedIn has matched it, READY to serve), rows uploaded vs matched, and targetingUrn \u2014 the urn:li:adSegment:\u2026 targeting and exclusions take. Runs by default."
1130
- },
1131
- args: { ...accountArgs },
1132
- run: async ({ args }) => {
1133
- try {
1134
- const data = await apiGet("/api/ads/linkedin/audiences", {
1135
- "account-id": bareAccountId(args)
1136
- });
1137
- writeJsonEnvelope({ ok: true, data });
1138
- } catch (err) {
1139
- handleLinkedinError(err);
1140
- }
1141
- }
1142
- });
1143
- var audiencesCommand = defineCommand({
1144
- meta: {
1145
- name: "audiences",
1146
- description: `List the ad account's matched audiences, or stage changes to them (create lists, upload rows \u2014 staged until publish).
1147
- Examples:
1148
- baker ads linkedin audiences # status, uploaded vs matched, targetingUrn
1149
- baker ads linkedin audiences create --name "ABM Tier-1" --type company-list --list-file accounts.csv`
1150
- },
1151
- // A parent must never declare `run` — see `creativesCommand`.
1152
- args: { ...accountArgs },
1153
- default: "list",
1154
- subCommands: {
1155
- list: audiencesListCommand,
1156
- create: audiencesCreateCommand,
1157
- upload: audiencesUploadCommand,
1158
- delete: audiencesDeleteCommand
1159
- }
1160
- });
1161
- var conversionsCreateCommand = defineCommand({
1162
- meta: {
1163
- name: "create",
1164
- description: `Stage a new conversion rule. ${STAGED_NOTE}
1165
- Example: baker ads linkedin conversions create --name "Demo booked" --type LEAD --method INSIGHT_TAG --post-click-window 30 --view-window 7`
1166
- },
1167
- args: {
1168
- ...accountArgs,
1169
- name: { type: "string", description: "Conversion rule name" },
1170
- type: {
1171
- type: "string",
1172
- description: "Conversion type. Common: LEAD, QUALIFIED_LEAD, MARKETING_QUALIFIED_LEAD, SALES_QUALIFIED_LEAD, SIGN_UP, DOWNLOAD, PURCHASE, KEY_PAGE_VIEW, ADD_TO_CART, BOOK_APPOINTMENT, SUBMIT_APPLICATION, OTHER \u2014 `baker schema ads.linkedin.conversions.create` lists all 34"
1173
- },
1174
- method: { type: "string", description: "INSIGHT_TAG|CONVERSIONS_API" },
1175
- "post-click-window": {
1176
- type: "string",
1177
- description: "1|7|30|90 days (playbook default 30); 180|365 only for LEAD, QUALIFIED_LEAD, MARKETING_QUALIFIED_LEAD, SALES_QUALIFIED_LEAD, PURCHASE, ADD_TO_CART, SUBMIT_APPLICATION"
1178
- },
1179
- "view-window": {
1180
- type: "string",
1181
- description: "1|7|30|90 days (playbook default 7); 180|365 only for LEAD, QUALIFIED_LEAD, MARKETING_QUALIFIED_LEAD, SALES_QUALIFIED_LEAD, PURCHASE, ADD_TO_CART, SUBMIT_APPLICATION"
1182
- },
1183
- "attribution-type": { type: "string", description: "LAST_TOUCH_BY_CAMPAIGN|LAST_TOUCH_BY_CONVERSION" },
1184
- "associate-all-campaigns": { type: "boolean", description: "Auto-associate with active campaigns" },
1185
- ...fileArg("conversion.create", "JSON file with the full payload (e.g. urlMatchRuleExpression)")
1186
- },
1187
- run: async ({ args }) => {
1188
- const accountId = bareAccountId(args);
1189
- const payload = mergePayload(loadJsonFileArg(args.file), {
1190
- name: args.name,
1191
- type: args.type ? String(args.type).toUpperCase() : void 0,
1192
- conversionMethod: args.method ? String(args.method).toUpperCase() : void 0,
1193
- postClickAttributionWindowSize: args["post-click-window"] ? Number(args["post-click-window"]) : void 0,
1194
- viewThroughAttributionWindowSize: args["view-window"] ? Number(args["view-window"]) : void 0,
1195
- attributionType: args["attribution-type"] ? String(args["attribution-type"]).toUpperCase() : void 0,
1196
- associateAllCampaigns: args["associate-all-campaigns"] === true ? true : void 0
1197
- });
1198
- await stageOp({ kind: "conversion.create", accountId, payload });
1199
- }
1200
- });
1201
- var conversionsUpdateCommand = defineCommand({
1202
- meta: {
1203
- name: "update",
1204
- description: `Stage changes to a conversion rule (windows, name, enabled). ${STAGED_NOTE}
1205
- Example: baker ads linkedin conversions update 104988516 --post-click-window 30 --view-window 7`
1206
- },
1207
- args: {
1208
- id: { type: "positional", description: "Conversion rule id or URN", required: true },
1209
- ...accountArgs,
1210
- name: { type: "string", description: "New name" },
1211
- "post-click-window": {
1212
- type: "string",
1213
- description: "1|7|30|90 days; 180|365 only for LEAD, QUALIFIED_LEAD, MARKETING_QUALIFIED_LEAD, SALES_QUALIFIED_LEAD, PURCHASE, ADD_TO_CART, SUBMIT_APPLICATION"
1214
- },
1215
- "view-window": {
1216
- type: "string",
1217
- description: "1|7|30|90 days; 180|365 only for LEAD, QUALIFIED_LEAD, MARKETING_QUALIFIED_LEAD, SALES_QUALIFIED_LEAD, PURCHASE, ADD_TO_CART, SUBMIT_APPLICATION"
1218
- },
1219
- "attribution-type": { type: "string", description: "LAST_TOUCH_BY_CAMPAIGN|LAST_TOUCH_BY_CONVERSION" },
1220
- enabled: { type: "string", description: "on|off" },
1221
- ...fileArg("conversion.update", "JSON file with fields to change")
1222
- },
1223
- run: async ({ args }) => {
1224
- const accountId = bareAccountId(args);
1225
- const payload = mergePayload(loadJsonFileArg(args.file), {
1226
- name: args.name,
1227
- postClickAttributionWindowSize: args["post-click-window"] ? Number(args["post-click-window"]) : void 0,
1228
- viewThroughAttributionWindowSize: args["view-window"] ? Number(args["view-window"]) : void 0,
1229
- attributionType: args["attribution-type"] ? String(args["attribution-type"]).toUpperCase() : void 0,
1230
- enabled: parseOnOffFlag(args.enabled, "--enabled")
1231
- });
1232
- await stageOp({
1233
- kind: "conversion.update",
1234
- accountId,
1235
- target: requireTarget(args, "conversion rule"),
1236
- payload
1237
- });
1238
- }
1239
- });
1240
- var conversionsUploadCommand = defineCommand({
1241
- meta: {
1242
- name: "upload",
1243
- description: `Stage sending conversions that happened off LinkedIn's tag \u2014 deals a CRM closed, leads qualified on a call \u2014 to a Conversions API rule, so LinkedIn credits the ads that drove them and bids toward them. ${STAGED_NOTE}
1244
- Start here: \`conversions\` lists the rules \u2014 pick one whose conversionMethod is CONVERSIONS_API (or stage one with \`conversions create --method CONVERSIONS_API\`). Ongoing sends from Baker's own conversions already reach LinkedIn on their own; this is for a backfill or a CRM export.
1245
- The file (CSV with a header row, or a JSON array) carries one conversion per row: eventId (the CRM deal or order id \u2014 LinkedIn counts a re-sent id once), happenedAt (ISO time WITH timezone, last 90 days), and something to match the person on: email, or firstName + lastName (with companyName, title, countryCode to sharpen it), or liFatId. Optional value + currency. Emails and names are hashed here; nothing readable is stored. Up to 2,000 per upload; staging again for the same rule replaces the rows.
1246
- Example: baker ads linkedin conversions upload 19997433 --file closed-won.csv`
1247
- },
1248
- args: {
1249
- id: { type: "positional", description: "Conversions API rule id (from `conversions`)", required: true },
1250
- ...accountArgs,
1251
- file: { type: "string", description: "CSV or JSON file of conversions", required: true }
1252
- },
1253
- run: async ({ args }) => {
1254
- const path = String(args.file);
1255
- const rows = path.toLowerCase().endsWith(".json") ? jsonRowsArg(path) : parseListFileArg(path, CONVERSION_UPLOAD_MAX_EVENTS)?.rows ?? [];
1256
- const { events, ignored } = conversionUploadEvents(rows);
1257
- if (ignored.length > 0) {
1258
- process.stderr.write(
1259
- `Ignored column(s) that are not part of a conversion: ${ignored.join(", ")}. Used: eventId, happenedAt, email, firstName, lastName, companyName, title, countryCode, liFatId, value, currency.
1260
- `
1261
- );
1262
- }
1263
- await stageOp({
1264
- kind: "conversion.upload",
1265
- accountId: bareAccountId(args),
1266
- target: requireTarget(args, "conversion rule"),
1267
- payload: { events }
1268
- });
1269
- }
1270
- });
1271
- function jsonRowsArg(path) {
1272
- const parsed = JSON.parse(readFileSync(path, "utf8"));
1273
- if (!Array.isArray(parsed)) {
1274
- failWriteValidation(`${path} must hold a JSON array, one conversion per element`);
1275
- }
1276
- return parsed;
1277
- }
1278
- var CONVERSION_CAMPAIGN_EXPLAINER = `Which ad sets a conversion rule counts for is a separate LinkedIn record, not a field on the rule \u2014 \`conversions update\` cannot change it, and \`--associate-all-campaigns\` only exists on create.`;
1279
- function conversionCampaignArgs() {
1280
- return {
1281
- id: { type: "positional", description: "Conversion rule id or URN", required: true },
1282
- ...accountArgs,
1283
- campaign: { type: "string", description: "Ad set (campaign) id or URN", required: true }
1284
- };
1285
- }
1286
- function requireCampaignArg(args) {
1287
- const campaign = args.campaign;
1288
- if (typeof campaign !== "string" || campaign.length === 0) {
1289
- failWriteValidation("--campaign is required \u2014 pass the ad set id or URN this conversion should count for");
1290
- }
1291
- return campaign;
1292
- }
1293
- var conversionsAssociateCommand = defineCommand({
1294
- meta: {
1295
- name: "associate-campaign",
1296
- description: `Count an existing conversion rule for one ad set. ${STAGED_NOTE}
1297
- ${CONVERSION_CAMPAIGN_EXPLAINER}
1298
- Example: baker ads linkedin conversions associate-campaign 104988516 --campaign 337643194`
1299
- },
1300
- args: conversionCampaignArgs(),
1301
- run: async ({ args }) => {
1302
- const accountId = bareAccountId(args);
1303
- await stageOp({
1304
- kind: "conversion.associateCampaign",
1305
- accountId,
1306
- target: requireTarget(args, "conversion rule"),
1307
- payload: { campaign: requireCampaignArg(args) }
1308
- });
1309
- }
1310
- });
1311
- var conversionsDissociateCommand = defineCommand({
1312
- meta: {
1313
- name: "dissociate-campaign",
1314
- description: `Stop counting an existing conversion rule for one ad set. ${STAGED_NOTE}
1315
- ${CONVERSION_CAMPAIGN_EXPLAINER}
1316
- Example: baker ads linkedin conversions dissociate-campaign 104988516 --campaign 337643194`
1317
- },
1318
- args: conversionCampaignArgs(),
1319
- run: async ({ args }) => {
1320
- const accountId = bareAccountId(args);
1321
- await stageOp({
1322
- kind: "conversion.dissociateCampaign",
1323
- accountId,
1324
- target: requireTarget(args, "conversion rule"),
1325
- payload: { campaign: requireCampaignArg(args) }
1326
- });
1327
- }
1328
- });
1329
- var leadFormsCreateCommand = defineCommand({
1330
- meta: {
1331
- name: "create",
1332
- description: `Stage a new Lead Gen Form from a JSON file. ${STAGED_NOTE}
1333
- Required: name, headline (\u226460), privacyPolicyUrl, questions[] (\u226412; playbook: \u22644 for completion).
1334
- Each question is a predefined profile field ({ name, predefinedField: "EMAIL" }) or a custom question ({ name, questionType: "MULTIPLE_CHOICE", options: [...] }; \u22643 custom).
1335
- Best-practice fields the preview will nudge for if missing: 1-3 qualifying questions, consents[] (disclosure checkboxes), thankYou.message + thankYou.landingUrl|appointmentUrl.
1336
- Also supported: locale, formImageId|formImageUrn, hiddenFields[], legalDisclaimer, thankYou.cta. Example: baker ads linkedin lead-forms create --file form.json`
1337
- },
1338
- args: {
1339
- ...accountArgs,
1340
- file: { ...fileArg("leadForm.create", "JSON file with the form definition").file, required: true },
1341
- name: { type: "string", description: "Override the form name" }
1342
- },
1343
- run: async ({ args }) => {
1344
- const accountId = bareAccountId(args);
1345
- const payload = mergePayload(loadJsonFileArg(args.file), { name: args.name });
1346
- await stageOp({ kind: "leadForm.create", accountId, payload });
1347
- }
1348
- });
1349
- function leadFormUpdatePayload(args) {
1350
- const file = args.file ? loadJsonFileArg(args.file) : {};
1351
- const thankYou = mergePayload(
1352
- file.thankYou !== null && typeof file.thankYou === "object" ? file.thankYou : {},
1353
- { message: args["thank-you-message"], landingUrl: args["thank-you-url"] }
1354
- );
1355
- return mergePayload(file, {
1356
- name: args.name,
1357
- state: args.state ? String(args.state).toUpperCase() : void 0,
1358
- headline: args.headline,
1359
- description: args.description,
1360
- privacyPolicyUrl: args["privacy-policy-url"],
1361
- legalDisclaimer: args["legal-disclaimer"],
1362
- thankYou: Object.keys(thankYou).length > 0 ? thankYou : void 0
1363
- });
1364
- }
1365
- var leadFormsUpdateCommand = defineCommand({
1366
- meta: {
1367
- name: "update",
1368
- description: `Stage changes to a Lead Gen Form. ${STAGED_NOTE}
1369
- Once a form's ads are live LinkedIn keeps only its copy editable: name, headline, description, privacy policy URL, legal disclaimer, thank-you message and link, and state. Copy is written in the form's own language.
1370
- Examples:
1371
- baker ads linkedin lead-forms update 1028403421 --headline "Get the 2026 report" --thank-you-message "Check your inbox"
1372
- baker ads linkedin lead-forms update 1028403421 --state PUBLISHED`
1373
- },
1374
- args: {
1375
- id: { type: "positional", description: "Lead form id or URN", required: true },
1376
- ...accountArgs,
1377
- name: { type: "string", description: "New form name (internal)" },
1378
- state: { type: "string", description: "PUBLISHED (make a DRAFT form usable) | ARCHIVED (stop its ads)" },
1379
- headline: { type: "string", description: "Form headline (\u226460)" },
1380
- description: { type: "string", description: "Form details text" },
1381
- "privacy-policy-url": { type: "string", description: "https privacy policy URL" },
1382
- "legal-disclaimer": { type: "string", description: "Custom legal disclaimer" },
1383
- "thank-you-message": { type: "string", description: "Confirmation message after submitting" },
1384
- "thank-you-url": { type: "string", description: "https link on the confirmation screen" },
1385
- ...fileArg("leadForm.update", "JSON file with any of the fields above (thankYou as an object); flags override")
1386
- },
1387
- run: async ({ args }) => {
1388
- const accountId = bareAccountId(args);
1389
- await stageOp({
1390
- kind: "leadForm.update",
1391
- accountId,
1392
- target: requireTarget(args, "lead form"),
1393
- payload: leadFormUpdatePayload(args)
1394
- });
1395
- }
1396
- });
1397
- function leadFormStateCommand(name, state, what) {
1398
- return defineCommand({
1399
- meta: { name, description: `${what} ${STAGED_NOTE}
1400
- Example: baker ads linkedin lead-forms ${name} 1028403421` },
1401
- args: {
1402
- id: { type: "positional", description: "Lead form id or URN", required: true },
1403
- ...accountArgs
1404
- },
1405
- run: async ({ args }) => {
1406
- await stageOp({
1407
- kind: "leadForm.update",
1408
- accountId: bareAccountId(args),
1409
- target: requireTarget(args, "lead form"),
1410
- payload: { state }
1411
- });
1412
- }
1413
- });
1414
- }
1415
- var leadFormsPublishCommand = leadFormStateCommand(
1416
- "publish",
1417
- "PUBLISHED",
1418
- "Stage publishing a DRAFT lead gen form, so ads that open it can serve."
1419
- );
1420
- var leadFormsArchiveCommand = leadFormStateCommand(
1421
- "archive",
1422
- "ARCHIVED",
1423
- "Stage archiving a lead gen form \u2014 every ad that opens it stops serving."
1424
- );
1425
- var leadFormsListArgs = {
1426
- ...accountArgs,
1427
- "form-id": { type: "string", description: "Read one form (id or urn:li:leadGenForm:N), questions included" },
1428
- full: { type: "boolean", description: "Every form's questions and options, not just how many it has" }
1429
- };
1430
- function leadFormsListing(forms, opts) {
1431
- if (opts.full || opts.oneForm) {
1432
- return [...forms];
1433
- }
1434
- return forms.map((form) => ({
1435
- id: form.id,
1436
- name: form.name,
1437
- state: form.state,
1438
- version: form.version,
1439
- questions: form.questions?.length ?? 0
1440
- }));
1441
- }
1442
- var leadFormsListCommand = defineCommand({
1443
- meta: {
1444
- name: "list",
1445
- description: "List the ad account's lead gen forms: id, name, state (DRAFT forms can't serve), version, how many questions. --full (or --form-id) spells out each question and its options. Runs by default."
1446
- },
1447
- args: leadFormsListArgs,
1448
- run: async ({ args }) => {
1449
- const accountId = bareAccountId(args);
1450
- try {
1451
- const params = { "account-id": accountId };
1452
- if (args["form-id"]) params["form-id"] = String(args["form-id"]);
1453
- const forms = await apiGet("/api/ads/linkedin/lead-forms", params);
1454
- const data = leadFormsListing(forms, { full: Boolean(args.full), oneForm: Boolean(args["form-id"]) });
1455
- writeJsonEnvelope({ ok: true, data });
1456
- } catch (err) {
1457
- handleLinkedinError(err);
1458
- }
1459
- }
1460
- });
1461
- var leadFormsCommand = defineCommand({
1462
- meta: {
1463
- name: "lead-forms",
1464
- description: `List the ad account's lead gen forms, or stage changes to them (staged until publish).
1465
- Examples:
1466
- baker ads linkedin lead-forms # every form: id, name, state, question count
1467
- baker ads linkedin lead-forms --form-id 1028403421 # one form, every question and option
1468
- baker ads linkedin lead-forms create --file form.json # \u2192 li_temp ref; pass it to \`creatives create --lead-form\`
1469
- baker ads linkedin lead-forms publish 1028403421 # a DRAFT form can't serve
1470
- baker ads linkedin lead-forms archive 1028403421 # its ads stop serving`
1471
- },
1472
- // A parent must never declare `run` — see `creativesCommand`.
1473
- args: leadFormsListArgs,
1474
- default: "list",
1475
- subCommands: {
1476
- list: leadFormsListCommand,
1477
- create: leadFormsCreateCommand,
1478
- update: leadFormsUpdateCommand,
1479
- publish: leadFormsPublishCommand,
1480
- archive: leadFormsArchiveCommand
1481
- }
1482
- });
1483
- export {
1484
- accountTrackingTarget,
1485
- accountUrlParamsCommand,
1486
- audiencesCommand,
1487
- campaignCreatePayload,
1488
- campaignGroupCreatePayload,
1489
- campaignGroupsCreateCommand,
1490
- campaignGroupsDeleteCommand,
1491
- campaignGroupsDuplicateCommand,
1492
- campaignGroupsPauseCommand,
1493
- campaignGroupsResumeCommand,
1494
- campaignGroupsUpdateCommand,
1495
- campaignUpdatePayloadFromFlags,
1496
- campaignsArchiveCommand,
1497
- campaignsCreateCommand,
1498
- campaignsDeleteCommand,
1499
- campaignsDuplicateCommand,
1500
- campaignsExcludeCompaniesCommand,
1501
- campaignsPauseCommand,
1502
- campaignsResumeCommand,
1503
- campaignsUpdateCommand,
1504
- campaignsUrlParamsCommand,
1505
- conversionsAssociateCommand,
1506
- conversionsCreateCommand,
1507
- conversionsDissociateCommand,
1508
- conversionsUpdateCommand,
1509
- conversionsUploadCommand,
1510
- creativesCreateCommand,
1511
- creativesDeleteCommand,
1512
- creativesDuplicateCommand,
1513
- creativesPauseCommand,
1514
- creativesResumeCommand,
1515
- creativesUpdateCommand,
1516
- excludeCompaniesPayload,
1517
- excludeCompaniesRefusal,
1518
- leadFormsCommand,
1519
- leadFormsListing,
1520
- leadgenCallToActionArg,
1521
- sponsoredPostArgs,
1522
- trackingParamsPayload
1523
- };
1524
- //# sourceMappingURL=write-commands-JESAYUEQ.js.map