@koda-sl/baker-cli 0.495.0-dev.6b9c22aff → 0.495.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 (860) hide show
  1. package/README.md +1 -5
  2. package/dist/account-EF6OPUJT.js +80 -0
  3. package/dist/account-UHNR5KTE.js +79 -0
  4. package/dist/account-reads-CDZ3EL5D.js +218 -0
  5. package/dist/account-writes-VWU4FRGQ.js +66 -0
  6. package/dist/accounts-KMLXHADA.js +77 -0
  7. package/dist/accounts-QDGNTSTV.js +611 -0
  8. package/dist/actions-QL5UD2W4.js +55 -0
  9. package/dist/activecampaign-5OD45ROS.js +935 -0
  10. package/dist/ad-group-writes-ID6I3QUZ.js +170 -0
  11. package/dist/ad-groups-M7CV6NTH.js +68 -0
  12. package/dist/ad-writes-TSOAZYRE.js +174 -0
  13. package/dist/add-6K6LO7CM.js +104 -0
  14. package/dist/add-LYDJZDGO.js +302 -0
  15. package/dist/ads-CGLO73MH.js +77 -0
  16. package/dist/ads-DHPJFU52.js +40 -0
  17. package/dist/advertisers-23LU7GTV.js +120 -0
  18. package/dist/analytics-DVD4OBBR.js +1976 -0
  19. package/dist/analytics-HO2SLL4W.js +433 -0
  20. package/dist/animate-RGZWDZG2.js +480 -0
  21. package/dist/assign-CLKJKH2B.js +77 -0
  22. package/dist/audience-size-NNYYXODL.js +73 -0
  23. package/dist/audiences-WXIP5PJH.js +268 -0
  24. package/dist/audit-KB4P2XGS.js +151 -0
  25. package/dist/autocomplete-VZD2SMTE.js +111 -0
  26. package/dist/avatars-FKOO6VZ2.js +38 -0
  27. package/dist/bid-pricing-6LLXOLLI.js +100 -0
  28. package/dist/brand-NNWHBIAX.js +22 -0
  29. package/dist/brief-CPJQWT6W.js +538 -0
  30. package/dist/campaign-groups-YPYNXOWU.js +95 -0
  31. package/dist/campaign-groups-YPYNXOWU.js.map +1 -0
  32. package/dist/campaign-writes-UJ4L2O6G.js +165 -0
  33. package/dist/campaign-writes-W5IL6ZGB.js +170 -0
  34. package/dist/campaigns-FLTPD66X.js +76 -0
  35. package/dist/campaigns-HLBZRH5A.js +107 -0
  36. package/dist/campaigns-N44ZDGB5.js +109 -0
  37. package/dist/campaigns-N44ZDGB5.js.map +1 -0
  38. package/dist/canvas-D64GLWUO.js +46 -0
  39. package/dist/capabilities-LWXCWMIY.js +144 -0
  40. package/dist/catalog-ZDLQAODO.js +65 -0
  41. package/dist/catalogs-26VXVUST.js +128 -0
  42. package/dist/changes-SX2N5KIO.js +135 -0
  43. package/dist/chatgpt-YI6YNACI.js +47 -0
  44. package/dist/chats-7WGC2CVW.js +276 -0
  45. package/dist/check-EH6BXWWL.js +104 -0
  46. package/dist/chunk-2B772ZEA.js +169 -0
  47. package/dist/chunk-2KRK667G.js +51 -0
  48. package/dist/chunk-2TVXJPGR.js +103 -0
  49. package/dist/chunk-3AMLOCXY.js +392 -0
  50. package/dist/chunk-3N5A44NQ.js +122 -0
  51. package/dist/chunk-3S274625.js +131 -0
  52. package/dist/chunk-3WAYZQNV.js +61 -0
  53. package/dist/chunk-5A257KJA.js +160 -0
  54. package/dist/chunk-6QGS3RQP.js +363 -0
  55. package/dist/chunk-7KHTJQGV.js +1518 -0
  56. package/dist/chunk-A3DKSAEL.js +1606 -0
  57. package/dist/chunk-A4DZ5L3T.js +665 -0
  58. package/dist/chunk-ACDLKTUP.js +23992 -0
  59. package/dist/chunk-ACDLKTUP.js.map +1 -0
  60. package/dist/chunk-AFD32O4A.js +494 -0
  61. package/dist/chunk-AW2GKIGS.js +433 -0
  62. package/dist/chunk-B7GF34FU.js +8914 -0
  63. package/dist/chunk-BDYLILMW.js +150 -0
  64. package/dist/chunk-DAO63OOP.js +6352 -0
  65. package/dist/chunk-DAO63OOP.js.map +1 -0
  66. package/dist/chunk-EJ4QCMM6.js +285 -0
  67. package/dist/chunk-EMQUW6JB.js +942 -0
  68. package/dist/chunk-EW3JEKIV.js +139 -0
  69. package/dist/chunk-F377KYIM.js +274 -0
  70. package/dist/chunk-FBFWMTOP.js +19 -0
  71. package/dist/chunk-FCM6VPFP.js +98 -0
  72. package/dist/chunk-FKYPAGKK.js +1919 -0
  73. package/dist/chunk-GXGYTFZA.js +8939 -0
  74. package/dist/chunk-I7J7YQXZ.js +142 -0
  75. package/dist/chunk-IBY44U2M.js +1079 -0
  76. package/dist/chunk-IFXGCI33.js +297 -0
  77. package/dist/chunk-IKLHXGMF.js +91 -0
  78. package/dist/chunk-IYTPWAN3.js +604 -0
  79. package/dist/chunk-J3CWAERS.js +3868 -0
  80. package/dist/chunk-JAC6JVCI.js +26 -0
  81. package/dist/chunk-JH2L5CQD.js +206 -0
  82. package/dist/chunk-JUVVCA7B.js +97 -0
  83. package/dist/chunk-MCJ5I5LR.js +3187 -0
  84. package/dist/chunk-MCJ5I5LR.js.map +1 -0
  85. package/dist/chunk-MK6XJUCQ.js +197 -0
  86. package/dist/chunk-MOFMOYUA.js +148 -0
  87. package/dist/chunk-MZPS46OR.js +76 -0
  88. package/dist/chunk-N3I6ZXR7.js +66 -0
  89. package/dist/chunk-NBO2NSAW.js +592 -0
  90. package/dist/chunk-NEU5QD2C.js +249 -0
  91. package/dist/chunk-NKIBXOHT.js +344 -0
  92. package/dist/chunk-NZKBW4YB.js +846 -0
  93. package/dist/chunk-OE3MIV4F.js +547 -0
  94. package/dist/chunk-OL7JS4NG.js +5368 -0
  95. package/dist/chunk-P2MFWJR3.js +903 -0
  96. package/dist/chunk-PHCIFBP3.js +89 -0
  97. package/dist/chunk-PTUXBO5O.js +224 -0
  98. package/dist/chunk-Q3LXLWZY.js +275 -0
  99. package/dist/chunk-Q5WBTVA7.js +455 -0
  100. package/dist/chunk-QMOYQJIN.js +46 -0
  101. package/dist/chunk-QRLTVJ6F.js +167 -0
  102. package/dist/chunk-RDEAVCMF.js +399 -0
  103. package/dist/chunk-RGMKXNQP.js +23 -0
  104. package/dist/chunk-RJZS4XDJ.js +64 -0
  105. package/dist/chunk-RZTKCCUL.js +831 -0
  106. package/dist/chunk-S4VLLGTW.js +843 -0
  107. package/dist/chunk-SVM3DGAQ.js +228 -0
  108. package/dist/chunk-TTKBNBQF.js +156 -0
  109. package/dist/chunk-VB3XUR6A.js +207 -0
  110. package/dist/chunk-WTJSMYY2.js +4249 -0
  111. package/dist/chunk-WTJSMYY2.js.map +1 -0
  112. package/dist/chunk-XCKINS7K.js +57 -0
  113. package/dist/chunk-Y46FE75E.js +627 -0
  114. package/dist/chunk-Y6GKV7CU.js +346 -0
  115. package/dist/chunk-Y6GKV7CU.js.map +1 -0
  116. package/dist/chunk-Z2GQREJY.js +159 -0
  117. package/dist/chunk-ZA7OQLDJ.js +225 -0
  118. package/dist/chunk-ZDAVSTEE.js +172 -0
  119. package/dist/chunk-ZXCSOVS5.js +191 -0
  120. package/dist/claim-SVDCQ2AI.js +197 -0
  121. package/dist/cli.js +34 -34
  122. package/dist/companies-BYMYQK6A.js +195 -0
  123. package/dist/complete-NEH3MWRI.js +81 -0
  124. package/dist/connect-5PGL7ZOM.js +42 -0
  125. package/dist/conversation-CSOKJXDW.js +93 -0
  126. package/dist/conversion-report-7JJ5L6WH.js +125 -0
  127. package/dist/conversion-upload-command-UO2QWG3J.js +438 -0
  128. package/dist/conversion-writes-GIGAZT4T.js +120 -0
  129. package/dist/conversions-4JOTTFEH.js +135 -0
  130. package/dist/conversions-4JOTTFEH.js.map +1 -0
  131. package/dist/conversions-CIJZLGII.js +76 -0
  132. package/dist/create-2XYMBULY.js +207 -0
  133. package/dist/create-56PTZABQ.js +235 -0
  134. package/dist/create-D6S6TGWY.js +59 -0
  135. package/dist/create-SMW4O5PC.js +132 -0
  136. package/dist/creatives-OO76DAFS.js +58 -0
  137. package/dist/creatives-VJUYWJL6.js +182 -0
  138. package/dist/creatives-VJUYWJL6.js.map +1 -0
  139. package/dist/credentials-2ONYUJW6.js +287 -0
  140. package/dist/critique-NDDFSGPE.js +1458 -0
  141. package/dist/critique-YXZVMLZ4.js +227 -0
  142. package/dist/crm-Q6CEP5XV.js +224 -0
  143. package/dist/crm-WRONZYDH.js +318 -0
  144. package/dist/currency-TAEJVMVK.js +88 -0
  145. package/dist/customers-2EFYSCU2.js +56 -0
  146. package/dist/delete-7WEVC3FS.js +66 -0
  147. package/dist/delete-RBWK255M.js +54 -0
  148. package/dist/delete-VN4WWMQF.js +64 -0
  149. package/dist/demographics-I5XZ435C.js +138 -0
  150. package/dist/discard-XJLIXTNM.js +66 -0
  151. package/dist/discover-5Z253HXF.js +172 -0
  152. package/dist/domain-M7AEGAYI.js +98 -0
  153. package/dist/draft-5DQI4W5F.js +306 -0
  154. package/dist/draft-5DQI4W5F.js.map +1 -0
  155. package/dist/draft-7DWRFCXW.js +281 -0
  156. package/dist/draft-7IIYHSY2.js +332 -0
  157. package/dist/draft-CN6GKVBF.js +217 -0
  158. package/dist/draft-MNEM4N5W.js +307 -0
  159. package/dist/engine/index.js +7 -7
  160. package/dist/experiment-IDDWRCJ7.js +1397 -0
  161. package/dist/facets-ZLZ6LIHN.js +114 -0
  162. package/dist/feedback-7LEX2P5Q.js +106 -0
  163. package/dist/feedback-record-P4JJ63KA.js +260 -0
  164. package/dist/fetch-MIVCEHXZ.js +176 -0
  165. package/dist/find-VHN34MWL.js +134 -0
  166. package/dist/fit-SS6HSZPU.js +62 -0
  167. package/dist/flows-UTIIHDNE.js +247 -0
  168. package/dist/fonts-YPNN7ZJP.js +36 -0
  169. package/dist/forecast-OBSHG2GJ.js +118 -0
  170. package/dist/forecast-W7Z5TVQX.js +168 -0
  171. package/dist/funnel-Z2VLXUEQ.js +394 -0
  172. package/dist/ga4-ZPAEF2G2.js +55 -0
  173. package/dist/generate-Y76WU7M7.js +263 -0
  174. package/dist/get-MDAO6I7T.js +56 -0
  175. package/dist/get-ZB553BSH.js +79 -0
  176. package/dist/google-C3X7O2UO.js +136 -0
  177. package/dist/google-WYXDMH2N.js +3265 -0
  178. package/dist/google-ads-FTWL772L.js +195 -0
  179. package/dist/gsc-SDDHGTZK.js +30 -0
  180. package/dist/history-DGHMJ2XF.js +67 -0
  181. package/dist/history-WKJYKDMG.js +133 -0
  182. package/dist/hubspot-EPHVEPOO.js +779 -0
  183. package/dist/icon-MYPDC6FM.js +137 -0
  184. package/dist/ideas-3PBH7VEX.js +40 -0
  185. package/dist/images-J35C3WG4.js +92 -0
  186. package/dist/ingest-5QOPUKFE.js +107 -0
  187. package/dist/ingest-OKUYP632.js +23 -0
  188. package/dist/insights-EU45J56U.js +122 -0
  189. package/dist/inspect-PMNCP6MV.js +189 -0
  190. package/dist/inspiration-QAL7NS7G.js +53 -0
  191. package/dist/intent-FUGWRUSW.js +95 -0
  192. package/dist/keyword-gap-DXTKZLV2.js +130 -0
  193. package/dist/keyword-metrics-R752SJIT.js +197 -0
  194. package/dist/keywords-for-site-7UWPJYQF.js +128 -0
  195. package/dist/landing-CBVIOGJ5.js +28 -0
  196. package/dist/languages-XRTTEJ5P.js +40 -0
  197. package/dist/leads-LIJS6Y5W.js +90 -0
  198. package/dist/leads-LIJS6Y5W.js.map +1 -0
  199. package/dist/learn-N6QV7GXA.js +204 -0
  200. package/dist/line-item-writes-3WPJXKIL.js +208 -0
  201. package/dist/line-items-ZOFKOGAA.js +103 -0
  202. package/dist/link-DDRQKOUL.js +64 -0
  203. package/dist/linkedin-UWZCF66X.js +1057 -0
  204. package/dist/linkedin-UWZCF66X.js.map +1 -0
  205. package/dist/list-5PLXVPLB.js +151 -0
  206. package/dist/list-VSJISE7U.js +303 -0
  207. package/dist/list-WTVOBQYX.js +64 -0
  208. package/dist/locations-PCZPKH47.js +40 -0
  209. package/dist/locations-TGJH3URF.js +67 -0
  210. package/dist/log-YKKPROLZ.js +92 -0
  211. package/dist/logo-WE2UELX6.js +18 -0
  212. package/dist/make-RNOWBLZQ.js +1353 -0
  213. package/dist/map-WTDPQLVO.js +433 -0
  214. package/dist/mcp-XJNSCPP3.js +714 -0
  215. package/dist/media-sources-JGBDDXZ5.js +32 -0
  216. package/dist/members-O3BTMRXX.js +44 -0
  217. package/dist/metrics-PYPCW7FJ.js +152 -0
  218. package/dist/models-IAGO5GIH.js +155 -0
  219. package/dist/normalize-R5AYLA2J.js +141 -0
  220. package/dist/options-AILRY7JY.js +122 -0
  221. package/dist/organization-KJJXZLVK.js +946 -0
  222. package/dist/performance-7YU4HOGH.js +24 -0
  223. package/dist/pixels-R4MOLWAR.js +60 -0
  224. package/dist/promoted-tweet-writes-TNELWPVG.js +180 -0
  225. package/dist/promoted-tweets-76WKUFJQ.js +119 -0
  226. package/dist/publish-BKLHCKHB.js +341 -0
  227. package/dist/query-XDHZMGLX.js +61 -0
  228. package/dist/reddit-YK3YUZEI.js +26 -0
  229. package/dist/refresh-WIII7KXB.js +94 -0
  230. package/dist/release-ZHXYQI7G.js +60 -0
  231. package/dist/relevant-pages-CTG72PBR.js +99 -0
  232. package/dist/remove-NOX4BXWK.js +50 -0
  233. package/dist/reopen-NLWKK5HB.js +63 -0
  234. package/dist/rerun-DZWQNMZQ.js +90 -0
  235. package/dist/research-Q3P76RHN.js +62 -0
  236. package/dist/research-UDZBCDNX.js +262 -0
  237. package/dist/reset-5UHFX7QY.js +54 -0
  238. package/dist/reset-MTRJQUP7.js +54 -0
  239. package/dist/resolve-DA72VT7Q.js +121 -0
  240. package/dist/retry-LQUBX5TK.js +62 -0
  241. package/dist/retry-U6F4CS6O.js +60 -0
  242. package/dist/rules-VS5PZ7VO.js +96 -0
  243. package/dist/rules-add-LMVZYDXE.js +462 -0
  244. package/dist/run-6PRA2YSD.js +65 -0
  245. package/dist/run-R6COFNOR.js +66 -0
  246. package/dist/scaffold-ad-3OVJ7VZQ.js +1511 -0
  247. package/dist/scaffold-static-ad-DDRA3Q5I.js +1005 -0
  248. package/dist/scaffold-video-3JZYFYFU.js +883 -0
  249. package/dist/schedule-ED2YDUPY.js +61 -0
  250. package/dist/scheduled-agents-5P67MVGX.js +50 -0
  251. package/dist/schema-4XVKERSA.js +132 -0
  252. package/dist/search-Y2UMIQ57.js +174 -0
  253. package/dist/select-OZ4E6VLF.js +101 -0
  254. package/dist/set-prompt-O4YAE4CE.js +193 -0
  255. package/dist/setup-links-2GJYCV2A.js +141 -0
  256. package/dist/site-47B6V2UX.js +177 -0
  257. package/dist/sources-DXPZAPQ7.js +454 -0
  258. package/dist/sources-NDXYTASG.js +30 -0
  259. package/dist/stale-VLVBO2L6.js +71 -0
  260. package/dist/stats-37OFAMPW.js +34 -0
  261. package/dist/status-4ODD46XY.js +62 -0
  262. package/dist/stock-6R5E7MJX.js +179 -0
  263. package/dist/studio-LEIGL3Q7.js +49 -0
  264. package/dist/sync-TKNVBUDM.js +54 -0
  265. package/dist/sync-definition-M5R3H3TP.js +64 -0
  266. package/dist/tag-manager-3Q55PBEW.js +43 -0
  267. package/dist/tags-4N5UUUN6.js +26 -0
  268. package/dist/tags-5NHIAD5A.js +20 -0
  269. package/dist/tags-UUKWSWCN.js +20 -0
  270. package/dist/tags-VK7B5DJF.js +20 -0
  271. package/dist/tags-XAHIB3WA.js +224 -0
  272. package/dist/targeting-criteria-AVARWV2G.js +113 -0
  273. package/dist/targets-6RYLQRID.js +103 -0
  274. package/dist/testimonials-6TF6BOFN.js +32 -0
  275. package/dist/themes-JZ3DPE7L.js +94 -0
  276. package/dist/top-companies-45EHRCJD.js +108 -0
  277. package/dist/translate-VHLBACCE.js +604 -0
  278. package/dist/triggers-ERQONJNO.js +142 -0
  279. package/dist/unlink-TPDO6JNF.js +67 -0
  280. package/dist/unstage-YKKQQ7LW.js +85 -0
  281. package/dist/update-43WU6X7R.js +63 -0
  282. package/dist/update-CAHLAXWO.js +98 -0
  283. package/dist/update-NGH6YADN.js +152 -0
  284. package/dist/update-SPJIHHLE.js +188 -0
  285. package/dist/upload-ACESIZIZ.js +126 -0
  286. package/dist/url-options-VNX5KYUQ.js +130 -0
  287. package/dist/url-params-MIXEDBF7.js +98 -0
  288. package/dist/validate-XJJA7ULE.js +117 -0
  289. package/dist/videos-LBXPG7WC.js +39 -0
  290. package/dist/viewer-check-7VJ3GUZX.js +80 -0
  291. package/dist/web-EWQJC2SD.js +140 -0
  292. package/dist/winning-ads-SAOJAKEQ.js +86 -0
  293. package/dist/write-commands-QPDE4GWW.js +1024 -0
  294. package/dist/write-commands-QPDE4GWW.js.map +1 -0
  295. package/dist/x-LXOJPCRF.js +47 -0
  296. package/package.json +1 -1
  297. package/dist/account-CJGLH2OL.js +0 -80
  298. package/dist/account-UTFFCFNW.js +0 -79
  299. package/dist/account-reads-SOTNVUM6.js +0 -218
  300. package/dist/account-users-FUJVP4UG.js +0 -61
  301. package/dist/account-users-FUJVP4UG.js.map +0 -1
  302. package/dist/account-writes-OE5FKALN.js +0 -66
  303. package/dist/accounts-OY4DII7M.js +0 -611
  304. package/dist/accounts-XUMRFVLY.js +0 -77
  305. package/dist/actions-KYKLFVUI.js +0 -55
  306. package/dist/activecampaign-P6RO7B2Q.js +0 -935
  307. package/dist/ad-group-writes-343HA4ZG.js +0 -170
  308. package/dist/ad-groups-YMU6ATTW.js +0 -68
  309. package/dist/ad-writes-MINKG33L.js +0 -174
  310. package/dist/add-34QTAS7S.js +0 -104
  311. package/dist/add-3IZ3Z2PX.js +0 -302
  312. package/dist/ads-JRZVJFXS.js +0 -40
  313. package/dist/ads-QOXCMKZ2.js +0 -77
  314. package/dist/advertisers-G2UUCWA7.js +0 -120
  315. package/dist/analytics-CKF7HTWT.js +0 -433
  316. package/dist/analytics-FO4EDDQW.js +0 -1976
  317. package/dist/animate-K3MJ3GW4.js +0 -480
  318. package/dist/assign-76E76PJY.js +0 -77
  319. package/dist/audience-size-IGDEX4XR.js +0 -73
  320. package/dist/audiences-4GRCVFZN.js +0 -268
  321. package/dist/audit-LPSYEY4S.js +0 -151
  322. package/dist/autocomplete-G7MSIJQL.js +0 -111
  323. package/dist/avatars-BF7VWGPH.js +0 -38
  324. package/dist/bid-pricing-EAZHVAMJ.js +0 -100
  325. package/dist/brand-WQI4NV3H.js +0 -22
  326. package/dist/brief-DVFCPBR3.js +0 -538
  327. package/dist/campaign-groups-LCTAUXTU.js +0 -96
  328. package/dist/campaign-groups-LCTAUXTU.js.map +0 -1
  329. package/dist/campaign-writes-ECPSPFAB.js +0 -165
  330. package/dist/campaign-writes-EZEJNO3O.js +0 -170
  331. package/dist/campaigns-7S35PC44.js +0 -76
  332. package/dist/campaigns-MVLKQWX2.js +0 -110
  333. package/dist/campaigns-MVLKQWX2.js.map +0 -1
  334. package/dist/campaigns-R3EUC5Y2.js +0 -107
  335. package/dist/canvas-Y3DKVETP.js +0 -46
  336. package/dist/capabilities-OBP5PDRK.js +0 -144
  337. package/dist/catalog-SZS2JCLN.js +0 -65
  338. package/dist/catalogs-LEABW6AS.js +0 -128
  339. package/dist/changes-4EDY3RNX.js +0 -135
  340. package/dist/chatgpt-JOAEGWCB.js +0 -47
  341. package/dist/chats-KE7FNWKF.js +0 -276
  342. package/dist/check-XHK2HVD2.js +0 -104
  343. package/dist/chunk-22HH46DF.js +0 -122
  344. package/dist/chunk-2VWWLUDJ.js +0 -23
  345. package/dist/chunk-2WBRRYSS.js +0 -197
  346. package/dist/chunk-2XH7GKCO.js +0 -156
  347. package/dist/chunk-3LMAPV6P.js +0 -942
  348. package/dist/chunk-3LZM5MWM.js +0 -57
  349. package/dist/chunk-4ARHIC23.js +0 -392
  350. package/dist/chunk-5KEQXSCN.js +0 -1919
  351. package/dist/chunk-5PMEMWKS.js +0 -665
  352. package/dist/chunk-64BRPYJD.js +0 -225
  353. package/dist/chunk-6DQDZIBL.js +0 -363
  354. package/dist/chunk-6H64SENZ.js +0 -285
  355. package/dist/chunk-6KGLAMPV.js +0 -167
  356. package/dist/chunk-6OIKNJ7G.js +0 -26
  357. package/dist/chunk-6VIHWBOD.js +0 -1606
  358. package/dist/chunk-74BP3JIV.js +0 -275
  359. package/dist/chunk-7AWSJ6Z5.js +0 -66
  360. package/dist/chunk-7IVY55AU.js +0 -903
  361. package/dist/chunk-7POQSUPH.js +0 -455
  362. package/dist/chunk-7RCNWRKK.js +0 -206
  363. package/dist/chunk-ABEIEHOV.js +0 -131
  364. package/dist/chunk-AREUZGX7.js +0 -344
  365. package/dist/chunk-CNFFNE4L.js +0 -274
  366. package/dist/chunk-CORXHFKY.js +0 -433
  367. package/dist/chunk-D3SHD4KA.js +0 -399
  368. package/dist/chunk-DD3C6TSW.js +0 -61
  369. package/dist/chunk-DQU2GVU7.js +0 -51
  370. package/dist/chunk-ECHVJII5.js +0 -97
  371. package/dist/chunk-EFWXYUSK.js +0 -139
  372. package/dist/chunk-F3CZFUXZ.js +0 -3187
  373. package/dist/chunk-F3CZFUXZ.js.map +0 -1
  374. package/dist/chunk-F4KWLFCC.js +0 -103
  375. package/dist/chunk-FL2KIDPV.js +0 -494
  376. package/dist/chunk-FT7RYWOL.js +0 -160
  377. package/dist/chunk-HPIKZPTU.js +0 -297
  378. package/dist/chunk-HUPHZ35H.js +0 -547
  379. package/dist/chunk-JGM4WGC2.js +0 -6704
  380. package/dist/chunk-JGM4WGC2.js.map +0 -1
  381. package/dist/chunk-JMW3AVN7.js +0 -346
  382. package/dist/chunk-JMW3AVN7.js.map +0 -1
  383. package/dist/chunk-JQHLF74O.js +0 -8939
  384. package/dist/chunk-K2TOE6XL.js +0 -142
  385. package/dist/chunk-KI6TENTW.js +0 -5368
  386. package/dist/chunk-LMYCLUY2.js +0 -8914
  387. package/dist/chunk-LQR4CKYW.js +0 -191
  388. package/dist/chunk-LRFNUCHV.js +0 -89
  389. package/dist/chunk-M2D7ZWEU.js +0 -150
  390. package/dist/chunk-ML7GGHTU.js +0 -592
  391. package/dist/chunk-MMUGSEF4.js +0 -23992
  392. package/dist/chunk-MMUGSEF4.js.map +0 -1
  393. package/dist/chunk-MYSLMKTG.js +0 -604
  394. package/dist/chunk-NAA4CKZZ.js +0 -4249
  395. package/dist/chunk-NAA4CKZZ.js.map +0 -1
  396. package/dist/chunk-NDKLPDZ3.js +0 -1079
  397. package/dist/chunk-OUQSDUVI.js +0 -831
  398. package/dist/chunk-PFPUPR3H.js +0 -91
  399. package/dist/chunk-PGD7USOH.js +0 -207
  400. package/dist/chunk-QKT7W5JP.js +0 -98
  401. package/dist/chunk-QU4XX5Z7.js +0 -169
  402. package/dist/chunk-R3OXH3ML.js +0 -148
  403. package/dist/chunk-RNQMXS7G.js +0 -172
  404. package/dist/chunk-SEMNRIOR.js +0 -19
  405. package/dist/chunk-SHBFBQYT.js +0 -846
  406. package/dist/chunk-SIKCVWM3.js +0 -76
  407. package/dist/chunk-UJPURLUZ.js +0 -3868
  408. package/dist/chunk-UM7NJIOU.js +0 -64
  409. package/dist/chunk-V57TZQPI.js +0 -228
  410. package/dist/chunk-WXKSUL4U.js +0 -224
  411. package/dist/chunk-YJRZVGES.js +0 -1518
  412. package/dist/chunk-YQICNXIA.js +0 -249
  413. package/dist/chunk-YTF2MI3E.js +0 -627
  414. package/dist/chunk-YYPWVQZQ.js +0 -843
  415. package/dist/chunk-Z7BQGWKG.js +0 -46
  416. package/dist/chunk-ZXSXRSFX.js +0 -159
  417. package/dist/claim-W2ZV4SH3.js +0 -197
  418. package/dist/companies-ITK3W3H6.js +0 -195
  419. package/dist/complete-RYEVEF3S.js +0 -81
  420. package/dist/connect-FFFNSJ2O.js +0 -42
  421. package/dist/conversation-KKJNQRFB.js +0 -93
  422. package/dist/conversion-report-PLQ4MVJR.js +0 -125
  423. package/dist/conversion-upload-command-Z7F6NQH4.js +0 -438
  424. package/dist/conversion-writes-VNOXZ4NR.js +0 -120
  425. package/dist/conversions-KHAXFD3Z.js +0 -137
  426. package/dist/conversions-KHAXFD3Z.js.map +0 -1
  427. package/dist/conversions-KPIFDO2R.js +0 -76
  428. package/dist/create-3R6Q2E2M.js +0 -59
  429. package/dist/create-A3R7YRT3.js +0 -235
  430. package/dist/create-TYWQP57A.js +0 -207
  431. package/dist/create-UUEWQUPT.js +0 -132
  432. package/dist/creatives-EEDDL3VG.js +0 -220
  433. package/dist/creatives-EEDDL3VG.js.map +0 -1
  434. package/dist/creatives-UK4VITNW.js +0 -58
  435. package/dist/credentials-A65GYH4D.js +0 -287
  436. package/dist/critique-46O4VVPM.js +0 -1458
  437. package/dist/critique-RPRMG2ZC.js +0 -227
  438. package/dist/crm-2WYW3D22.js +0 -224
  439. package/dist/crm-PQ24MNIU.js +0 -318
  440. package/dist/currency-Q3HCK447.js +0 -88
  441. package/dist/customers-YTQ7IQ5C.js +0 -56
  442. package/dist/delete-BBISJTFG.js +0 -54
  443. package/dist/delete-PQ4NUNLX.js +0 -66
  444. package/dist/delete-TBW6TJ6A.js +0 -64
  445. package/dist/demographics-EVP55FT3.js +0 -138
  446. package/dist/discard-LPJA4DEY.js +0 -66
  447. package/dist/discover-3G6CE7X3.js +0 -172
  448. package/dist/domain-5MM7V7JD.js +0 -98
  449. package/dist/draft-34D5MOKA.js +0 -217
  450. package/dist/draft-A6M562M4.js +0 -307
  451. package/dist/draft-A6M562M4.js.map +0 -1
  452. package/dist/draft-EGS7UFF3.js +0 -281
  453. package/dist/draft-J6GJXZRX.js +0 -307
  454. package/dist/draft-K3O7Q3A5.js +0 -332
  455. package/dist/experiment-7RJ5X2LL.js +0 -1397
  456. package/dist/experiments-HERTVBYK.js +0 -233
  457. package/dist/experiments-HERTVBYK.js.map +0 -1
  458. package/dist/facets-RUZKALF3.js +0 -114
  459. package/dist/feedback-S5LHJYZD.js +0 -106
  460. package/dist/feedback-record-GAM2R5GG.js +0 -260
  461. package/dist/fetch-FA6TR66Y.js +0 -176
  462. package/dist/find-2EPXK5RF.js +0 -134
  463. package/dist/fit-MOMO4AXL.js +0 -62
  464. package/dist/flows-DMMCSBWY.js +0 -247
  465. package/dist/fonts-G4JLXWX2.js +0 -36
  466. package/dist/forecast-OOP4K5DE.js +0 -118
  467. package/dist/forecast-V65WS5QG.js +0 -168
  468. package/dist/funnel-SEQPUM3X.js +0 -394
  469. package/dist/ga4-6EIQC2TG.js +0 -55
  470. package/dist/generate-IDDQD5FU.js +0 -263
  471. package/dist/get-DEOZMGOQ.js +0 -56
  472. package/dist/get-SEJINVOS.js +0 -79
  473. package/dist/google-7L3FWKPJ.js +0 -3265
  474. package/dist/google-O5OI6QFU.js +0 -136
  475. package/dist/google-ads-MIGWMCWY.js +0 -195
  476. package/dist/gsc-BM3T2GDL.js +0 -30
  477. package/dist/history-IBWXCDCB.js +0 -133
  478. package/dist/history-Z5577FPQ.js +0 -67
  479. package/dist/hubspot-6AZKUX72.js +0 -779
  480. package/dist/icon-B7DG53S5.js +0 -137
  481. package/dist/ideas-AX7S3NCG.js +0 -40
  482. package/dist/images-632SXTB5.js +0 -92
  483. package/dist/ingest-HS55RVKH.js +0 -23
  484. package/dist/ingest-T3OK3DRG.js +0 -107
  485. package/dist/insights-UDX66IMV.js +0 -122
  486. package/dist/inspect-D6ZIUBH3.js +0 -189
  487. package/dist/inspiration-TCCKM4R7.js +0 -53
  488. package/dist/intent-3WTKKTUX.js +0 -95
  489. package/dist/keyword-gap-7GESZXY2.js +0 -130
  490. package/dist/keyword-metrics-J43MV3RQ.js +0 -197
  491. package/dist/keywords-for-site-6YKCTFJZ.js +0 -128
  492. package/dist/landing-Y7DI2FUT.js +0 -28
  493. package/dist/languages-LSKNZI2A.js +0 -40
  494. package/dist/leads-R3WBKADF.js +0 -112
  495. package/dist/leads-R3WBKADF.js.map +0 -1
  496. package/dist/learn-M4UHA476.js +0 -204
  497. package/dist/line-item-writes-F2OPBMIE.js +0 -208
  498. package/dist/line-items-YJ3DLV2U.js +0 -103
  499. package/dist/link-RZKYW22K.js +0 -64
  500. package/dist/linkedin-JYZOPU7A.js +0 -1299
  501. package/dist/linkedin-JYZOPU7A.js.map +0 -1
  502. package/dist/list-NPJ34244.js +0 -151
  503. package/dist/list-WTVBOTA4.js +0 -64
  504. package/dist/list-XK5CHKYJ.js +0 -303
  505. package/dist/locations-DSDCNP5Z.js +0 -40
  506. package/dist/locations-SFZN4MYW.js +0 -67
  507. package/dist/log-K4FWHXIM.js +0 -92
  508. package/dist/logo-QTSBKP2J.js +0 -18
  509. package/dist/make-VQDUKVPB.js +0 -1353
  510. package/dist/map-Z3MEM6QX.js +0 -433
  511. package/dist/mcp-KJOSR534.js +0 -714
  512. package/dist/media-sources-44HTWIY3.js +0 -32
  513. package/dist/members-HGU22NL3.js +0 -44
  514. package/dist/metrics-OV2EKPJ6.js +0 -152
  515. package/dist/models-NGAUD6QJ.js +0 -155
  516. package/dist/normalize-IUPOHEZJ.js +0 -141
  517. package/dist/options-TL5TPGHK.js +0 -122
  518. package/dist/organization-3ORT4474.js +0 -946
  519. package/dist/performance-PCZHQCZ5.js +0 -24
  520. package/dist/pixels-GHEAK62X.js +0 -60
  521. package/dist/promoted-tweet-writes-O4RTZFSI.js +0 -180
  522. package/dist/promoted-tweets-AWP6MGJI.js +0 -119
  523. package/dist/publish-PODZKJHW.js +0 -341
  524. package/dist/query-FUSR27T4.js +0 -61
  525. package/dist/reddit-UNUNWSNR.js +0 -26
  526. package/dist/refresh-34UO2LXY.js +0 -94
  527. package/dist/release-BD3EAD75.js +0 -60
  528. package/dist/relevant-pages-FNKYR2OG.js +0 -99
  529. package/dist/remove-YQYSQCWI.js +0 -50
  530. package/dist/reopen-MULNJOR5.js +0 -63
  531. package/dist/rerun-6YGYJPM7.js +0 -90
  532. package/dist/research-6WEL3USW.js +0 -62
  533. package/dist/research-OBECRSPL.js +0 -262
  534. package/dist/reset-5TTLZ43U.js +0 -54
  535. package/dist/reset-PRTK6YUD.js +0 -54
  536. package/dist/resolve-6RM63T55.js +0 -121
  537. package/dist/retry-XYTVP7BV.js +0 -60
  538. package/dist/retry-Z3C624JW.js +0 -62
  539. package/dist/revenue-VSH6KXCV.js +0 -88
  540. package/dist/revenue-VSH6KXCV.js.map +0 -1
  541. package/dist/rules-AUAJUM2T.js +0 -96
  542. package/dist/rules-add-7VFGPGZ7.js +0 -462
  543. package/dist/run-S3SVCTIB.js +0 -65
  544. package/dist/run-YA5RCRIX.js +0 -66
  545. package/dist/scaffold-ad-2KQULVJU.js +0 -1511
  546. package/dist/scaffold-static-ad-S46QADGV.js +0 -1005
  547. package/dist/scaffold-video-ZMHI2JDU.js +0 -883
  548. package/dist/schedule-FT6P3EKG.js +0 -61
  549. package/dist/scheduled-agents-L7K4QWMD.js +0 -50
  550. package/dist/schema-CH654RZB.js +0 -132
  551. package/dist/search-YKYB2P2M.js +0 -174
  552. package/dist/select-PM7JUDQY.js +0 -101
  553. package/dist/set-prompt-VATAT7H6.js +0 -193
  554. package/dist/setup-links-TM3NCVU7.js +0 -141
  555. package/dist/site-ATAXCWXS.js +0 -177
  556. package/dist/sources-N5RKYKFS.js +0 -30
  557. package/dist/sources-V544MB26.js +0 -454
  558. package/dist/stale-RNEYXKFX.js +0 -71
  559. package/dist/stats-CVF6AC7R.js +0 -34
  560. package/dist/status-DPTFOJVV.js +0 -62
  561. package/dist/stock-4LPQ6SM7.js +0 -179
  562. package/dist/studio-NZ3NA4L4.js +0 -49
  563. package/dist/sync-UBLCCOQZ.js +0 -54
  564. package/dist/sync-definition-RXRSI2LT.js +0 -64
  565. package/dist/tag-manager-FLXXLNKP.js +0 -43
  566. package/dist/tags-2D4AN2QB.js +0 -224
  567. package/dist/tags-5OM2VN3Q.js +0 -26
  568. package/dist/tags-CJWSUBCD.js +0 -20
  569. package/dist/tags-MHKZW2JN.js +0 -20
  570. package/dist/tags-Z6AH7FDT.js +0 -20
  571. package/dist/targeting-criteria-RSAN4KW5.js +0 -113
  572. package/dist/targets-EER2G4WH.js +0 -103
  573. package/dist/testimonials-4WJKAZ5S.js +0 -32
  574. package/dist/themes-XUALHDHR.js +0 -94
  575. package/dist/top-companies-BSOYGMIB.js +0 -108
  576. package/dist/translate-2XRHDWSC.js +0 -604
  577. package/dist/triggers-NU6BQ5NJ.js +0 -142
  578. package/dist/unlink-LQGPZND2.js +0 -67
  579. package/dist/unstage-GDKW56MH.js +0 -85
  580. package/dist/update-43QN723C.js +0 -63
  581. package/dist/update-6CAZKFTC.js +0 -188
  582. package/dist/update-EGOWYBEH.js +0 -152
  583. package/dist/update-QRGEMNBY.js +0 -98
  584. package/dist/upload-LIHRXWUY.js +0 -126
  585. package/dist/url-options-JXL4W7TB.js +0 -130
  586. package/dist/url-params-YXRZ4TUD.js +0 -98
  587. package/dist/validate-KO3MEJUZ.js +0 -117
  588. package/dist/videos-BPJ34YZL.js +0 -39
  589. package/dist/viewer-check-SA5AUQ26.js +0 -80
  590. package/dist/web-KS47ZHXX.js +0 -140
  591. package/dist/winning-ads-LE2ALICG.js +0 -86
  592. package/dist/write-commands-PPR7G4UN.js +0 -1453
  593. package/dist/write-commands-PPR7G4UN.js.map +0 -1
  594. package/dist/x-DZGRJQ7Y.js +0 -47
  595. /package/dist/{account-CJGLH2OL.js.map → account-EF6OPUJT.js.map} +0 -0
  596. /package/dist/{account-UTFFCFNW.js.map → account-UHNR5KTE.js.map} +0 -0
  597. /package/dist/{account-reads-SOTNVUM6.js.map → account-reads-CDZ3EL5D.js.map} +0 -0
  598. /package/dist/{account-writes-OE5FKALN.js.map → account-writes-VWU4FRGQ.js.map} +0 -0
  599. /package/dist/{accounts-XUMRFVLY.js.map → accounts-KMLXHADA.js.map} +0 -0
  600. /package/dist/{accounts-OY4DII7M.js.map → accounts-QDGNTSTV.js.map} +0 -0
  601. /package/dist/{actions-KYKLFVUI.js.map → actions-QL5UD2W4.js.map} +0 -0
  602. /package/dist/{activecampaign-P6RO7B2Q.js.map → activecampaign-5OD45ROS.js.map} +0 -0
  603. /package/dist/{ad-group-writes-343HA4ZG.js.map → ad-group-writes-ID6I3QUZ.js.map} +0 -0
  604. /package/dist/{ad-groups-YMU6ATTW.js.map → ad-groups-M7CV6NTH.js.map} +0 -0
  605. /package/dist/{ad-writes-MINKG33L.js.map → ad-writes-TSOAZYRE.js.map} +0 -0
  606. /package/dist/{add-34QTAS7S.js.map → add-6K6LO7CM.js.map} +0 -0
  607. /package/dist/{add-3IZ3Z2PX.js.map → add-LYDJZDGO.js.map} +0 -0
  608. /package/dist/{ads-QOXCMKZ2.js.map → ads-CGLO73MH.js.map} +0 -0
  609. /package/dist/{ads-JRZVJFXS.js.map → ads-DHPJFU52.js.map} +0 -0
  610. /package/dist/{advertisers-G2UUCWA7.js.map → advertisers-23LU7GTV.js.map} +0 -0
  611. /package/dist/{analytics-FO4EDDQW.js.map → analytics-DVD4OBBR.js.map} +0 -0
  612. /package/dist/{analytics-CKF7HTWT.js.map → analytics-HO2SLL4W.js.map} +0 -0
  613. /package/dist/{animate-K3MJ3GW4.js.map → animate-RGZWDZG2.js.map} +0 -0
  614. /package/dist/{assign-76E76PJY.js.map → assign-CLKJKH2B.js.map} +0 -0
  615. /package/dist/{audience-size-IGDEX4XR.js.map → audience-size-NNYYXODL.js.map} +0 -0
  616. /package/dist/{audiences-4GRCVFZN.js.map → audiences-WXIP5PJH.js.map} +0 -0
  617. /package/dist/{audit-LPSYEY4S.js.map → audit-KB4P2XGS.js.map} +0 -0
  618. /package/dist/{autocomplete-G7MSIJQL.js.map → autocomplete-VZD2SMTE.js.map} +0 -0
  619. /package/dist/{avatars-BF7VWGPH.js.map → avatars-FKOO6VZ2.js.map} +0 -0
  620. /package/dist/{bid-pricing-EAZHVAMJ.js.map → bid-pricing-6LLXOLLI.js.map} +0 -0
  621. /package/dist/{brand-WQI4NV3H.js.map → brand-NNWHBIAX.js.map} +0 -0
  622. /package/dist/{brief-DVFCPBR3.js.map → brief-CPJQWT6W.js.map} +0 -0
  623. /package/dist/{campaign-writes-ECPSPFAB.js.map → campaign-writes-UJ4L2O6G.js.map} +0 -0
  624. /package/dist/{campaign-writes-EZEJNO3O.js.map → campaign-writes-W5IL6ZGB.js.map} +0 -0
  625. /package/dist/{campaigns-7S35PC44.js.map → campaigns-FLTPD66X.js.map} +0 -0
  626. /package/dist/{campaigns-R3EUC5Y2.js.map → campaigns-HLBZRH5A.js.map} +0 -0
  627. /package/dist/{canvas-Y3DKVETP.js.map → canvas-D64GLWUO.js.map} +0 -0
  628. /package/dist/{capabilities-OBP5PDRK.js.map → capabilities-LWXCWMIY.js.map} +0 -0
  629. /package/dist/{catalog-SZS2JCLN.js.map → catalog-ZDLQAODO.js.map} +0 -0
  630. /package/dist/{catalogs-LEABW6AS.js.map → catalogs-26VXVUST.js.map} +0 -0
  631. /package/dist/{changes-4EDY3RNX.js.map → changes-SX2N5KIO.js.map} +0 -0
  632. /package/dist/{chatgpt-JOAEGWCB.js.map → chatgpt-YI6YNACI.js.map} +0 -0
  633. /package/dist/{chats-KE7FNWKF.js.map → chats-7WGC2CVW.js.map} +0 -0
  634. /package/dist/{check-XHK2HVD2.js.map → check-EH6BXWWL.js.map} +0 -0
  635. /package/dist/{chunk-QU4XX5Z7.js.map → chunk-2B772ZEA.js.map} +0 -0
  636. /package/dist/{chunk-DQU2GVU7.js.map → chunk-2KRK667G.js.map} +0 -0
  637. /package/dist/{chunk-F4KWLFCC.js.map → chunk-2TVXJPGR.js.map} +0 -0
  638. /package/dist/{chunk-4ARHIC23.js.map → chunk-3AMLOCXY.js.map} +0 -0
  639. /package/dist/{chunk-22HH46DF.js.map → chunk-3N5A44NQ.js.map} +0 -0
  640. /package/dist/{chunk-ABEIEHOV.js.map → chunk-3S274625.js.map} +0 -0
  641. /package/dist/{chunk-DD3C6TSW.js.map → chunk-3WAYZQNV.js.map} +0 -0
  642. /package/dist/{chunk-FT7RYWOL.js.map → chunk-5A257KJA.js.map} +0 -0
  643. /package/dist/{chunk-6DQDZIBL.js.map → chunk-6QGS3RQP.js.map} +0 -0
  644. /package/dist/{chunk-YJRZVGES.js.map → chunk-7KHTJQGV.js.map} +0 -0
  645. /package/dist/{chunk-6VIHWBOD.js.map → chunk-A3DKSAEL.js.map} +0 -0
  646. /package/dist/{chunk-5PMEMWKS.js.map → chunk-A4DZ5L3T.js.map} +0 -0
  647. /package/dist/{chunk-FL2KIDPV.js.map → chunk-AFD32O4A.js.map} +0 -0
  648. /package/dist/{chunk-CORXHFKY.js.map → chunk-AW2GKIGS.js.map} +0 -0
  649. /package/dist/{chunk-LMYCLUY2.js.map → chunk-B7GF34FU.js.map} +0 -0
  650. /package/dist/{chunk-M2D7ZWEU.js.map → chunk-BDYLILMW.js.map} +0 -0
  651. /package/dist/{chunk-6H64SENZ.js.map → chunk-EJ4QCMM6.js.map} +0 -0
  652. /package/dist/{chunk-3LMAPV6P.js.map → chunk-EMQUW6JB.js.map} +0 -0
  653. /package/dist/{chunk-EFWXYUSK.js.map → chunk-EW3JEKIV.js.map} +0 -0
  654. /package/dist/{chunk-CNFFNE4L.js.map → chunk-F377KYIM.js.map} +0 -0
  655. /package/dist/{chunk-SEMNRIOR.js.map → chunk-FBFWMTOP.js.map} +0 -0
  656. /package/dist/{chunk-QKT7W5JP.js.map → chunk-FCM6VPFP.js.map} +0 -0
  657. /package/dist/{chunk-5KEQXSCN.js.map → chunk-FKYPAGKK.js.map} +0 -0
  658. /package/dist/{chunk-JQHLF74O.js.map → chunk-GXGYTFZA.js.map} +0 -0
  659. /package/dist/{chunk-K2TOE6XL.js.map → chunk-I7J7YQXZ.js.map} +0 -0
  660. /package/dist/{chunk-NDKLPDZ3.js.map → chunk-IBY44U2M.js.map} +0 -0
  661. /package/dist/{chunk-HPIKZPTU.js.map → chunk-IFXGCI33.js.map} +0 -0
  662. /package/dist/{chunk-PFPUPR3H.js.map → chunk-IKLHXGMF.js.map} +0 -0
  663. /package/dist/{chunk-MYSLMKTG.js.map → chunk-IYTPWAN3.js.map} +0 -0
  664. /package/dist/{chunk-UJPURLUZ.js.map → chunk-J3CWAERS.js.map} +0 -0
  665. /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
  666. /package/dist/{chunk-7RCNWRKK.js.map → chunk-JH2L5CQD.js.map} +0 -0
  667. /package/dist/{chunk-ECHVJII5.js.map → chunk-JUVVCA7B.js.map} +0 -0
  668. /package/dist/{chunk-2WBRRYSS.js.map → chunk-MK6XJUCQ.js.map} +0 -0
  669. /package/dist/{chunk-R3OXH3ML.js.map → chunk-MOFMOYUA.js.map} +0 -0
  670. /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
  671. /package/dist/{chunk-7AWSJ6Z5.js.map → chunk-N3I6ZXR7.js.map} +0 -0
  672. /package/dist/{chunk-ML7GGHTU.js.map → chunk-NBO2NSAW.js.map} +0 -0
  673. /package/dist/{chunk-YQICNXIA.js.map → chunk-NEU5QD2C.js.map} +0 -0
  674. /package/dist/{chunk-AREUZGX7.js.map → chunk-NKIBXOHT.js.map} +0 -0
  675. /package/dist/{chunk-SHBFBQYT.js.map → chunk-NZKBW4YB.js.map} +0 -0
  676. /package/dist/{chunk-HUPHZ35H.js.map → chunk-OE3MIV4F.js.map} +0 -0
  677. /package/dist/{chunk-KI6TENTW.js.map → chunk-OL7JS4NG.js.map} +0 -0
  678. /package/dist/{chunk-7IVY55AU.js.map → chunk-P2MFWJR3.js.map} +0 -0
  679. /package/dist/{chunk-LRFNUCHV.js.map → chunk-PHCIFBP3.js.map} +0 -0
  680. /package/dist/{chunk-WXKSUL4U.js.map → chunk-PTUXBO5O.js.map} +0 -0
  681. /package/dist/{chunk-74BP3JIV.js.map → chunk-Q3LXLWZY.js.map} +0 -0
  682. /package/dist/{chunk-7POQSUPH.js.map → chunk-Q5WBTVA7.js.map} +0 -0
  683. /package/dist/{chunk-Z7BQGWKG.js.map → chunk-QMOYQJIN.js.map} +0 -0
  684. /package/dist/{chunk-6KGLAMPV.js.map → chunk-QRLTVJ6F.js.map} +0 -0
  685. /package/dist/{chunk-D3SHD4KA.js.map → chunk-RDEAVCMF.js.map} +0 -0
  686. /package/dist/{chunk-2VWWLUDJ.js.map → chunk-RGMKXNQP.js.map} +0 -0
  687. /package/dist/{chunk-UM7NJIOU.js.map → chunk-RJZS4XDJ.js.map} +0 -0
  688. /package/dist/{chunk-OUQSDUVI.js.map → chunk-RZTKCCUL.js.map} +0 -0
  689. /package/dist/{chunk-YYPWVQZQ.js.map → chunk-S4VLLGTW.js.map} +0 -0
  690. /package/dist/{chunk-V57TZQPI.js.map → chunk-SVM3DGAQ.js.map} +0 -0
  691. /package/dist/{chunk-2XH7GKCO.js.map → chunk-TTKBNBQF.js.map} +0 -0
  692. /package/dist/{chunk-PGD7USOH.js.map → chunk-VB3XUR6A.js.map} +0 -0
  693. /package/dist/{chunk-3LZM5MWM.js.map → chunk-XCKINS7K.js.map} +0 -0
  694. /package/dist/{chunk-YTF2MI3E.js.map → chunk-Y46FE75E.js.map} +0 -0
  695. /package/dist/{chunk-ZXSXRSFX.js.map → chunk-Z2GQREJY.js.map} +0 -0
  696. /package/dist/{chunk-64BRPYJD.js.map → chunk-ZA7OQLDJ.js.map} +0 -0
  697. /package/dist/{chunk-RNQMXS7G.js.map → chunk-ZDAVSTEE.js.map} +0 -0
  698. /package/dist/{chunk-LQR4CKYW.js.map → chunk-ZXCSOVS5.js.map} +0 -0
  699. /package/dist/{claim-W2ZV4SH3.js.map → claim-SVDCQ2AI.js.map} +0 -0
  700. /package/dist/{companies-ITK3W3H6.js.map → companies-BYMYQK6A.js.map} +0 -0
  701. /package/dist/{complete-RYEVEF3S.js.map → complete-NEH3MWRI.js.map} +0 -0
  702. /package/dist/{connect-FFFNSJ2O.js.map → connect-5PGL7ZOM.js.map} +0 -0
  703. /package/dist/{conversation-KKJNQRFB.js.map → conversation-CSOKJXDW.js.map} +0 -0
  704. /package/dist/{conversion-report-PLQ4MVJR.js.map → conversion-report-7JJ5L6WH.js.map} +0 -0
  705. /package/dist/{conversion-upload-command-Z7F6NQH4.js.map → conversion-upload-command-UO2QWG3J.js.map} +0 -0
  706. /package/dist/{conversion-writes-VNOXZ4NR.js.map → conversion-writes-GIGAZT4T.js.map} +0 -0
  707. /package/dist/{conversions-KPIFDO2R.js.map → conversions-CIJZLGII.js.map} +0 -0
  708. /package/dist/{create-TYWQP57A.js.map → create-2XYMBULY.js.map} +0 -0
  709. /package/dist/{create-A3R7YRT3.js.map → create-56PTZABQ.js.map} +0 -0
  710. /package/dist/{create-3R6Q2E2M.js.map → create-D6S6TGWY.js.map} +0 -0
  711. /package/dist/{create-UUEWQUPT.js.map → create-SMW4O5PC.js.map} +0 -0
  712. /package/dist/{creatives-UK4VITNW.js.map → creatives-OO76DAFS.js.map} +0 -0
  713. /package/dist/{credentials-A65GYH4D.js.map → credentials-2ONYUJW6.js.map} +0 -0
  714. /package/dist/{critique-46O4VVPM.js.map → critique-NDDFSGPE.js.map} +0 -0
  715. /package/dist/{critique-RPRMG2ZC.js.map → critique-YXZVMLZ4.js.map} +0 -0
  716. /package/dist/{crm-2WYW3D22.js.map → crm-Q6CEP5XV.js.map} +0 -0
  717. /package/dist/{crm-PQ24MNIU.js.map → crm-WRONZYDH.js.map} +0 -0
  718. /package/dist/{currency-Q3HCK447.js.map → currency-TAEJVMVK.js.map} +0 -0
  719. /package/dist/{customers-YTQ7IQ5C.js.map → customers-2EFYSCU2.js.map} +0 -0
  720. /package/dist/{delete-PQ4NUNLX.js.map → delete-7WEVC3FS.js.map} +0 -0
  721. /package/dist/{delete-BBISJTFG.js.map → delete-RBWK255M.js.map} +0 -0
  722. /package/dist/{delete-TBW6TJ6A.js.map → delete-VN4WWMQF.js.map} +0 -0
  723. /package/dist/{demographics-EVP55FT3.js.map → demographics-I5XZ435C.js.map} +0 -0
  724. /package/dist/{discard-LPJA4DEY.js.map → discard-XJLIXTNM.js.map} +0 -0
  725. /package/dist/{discover-3G6CE7X3.js.map → discover-5Z253HXF.js.map} +0 -0
  726. /package/dist/{domain-5MM7V7JD.js.map → domain-M7AEGAYI.js.map} +0 -0
  727. /package/dist/{draft-EGS7UFF3.js.map → draft-7DWRFCXW.js.map} +0 -0
  728. /package/dist/{draft-K3O7Q3A5.js.map → draft-7IIYHSY2.js.map} +0 -0
  729. /package/dist/{draft-34D5MOKA.js.map → draft-CN6GKVBF.js.map} +0 -0
  730. /package/dist/{draft-J6GJXZRX.js.map → draft-MNEM4N5W.js.map} +0 -0
  731. /package/dist/{experiment-7RJ5X2LL.js.map → experiment-IDDWRCJ7.js.map} +0 -0
  732. /package/dist/{facets-RUZKALF3.js.map → facets-ZLZ6LIHN.js.map} +0 -0
  733. /package/dist/{feedback-S5LHJYZD.js.map → feedback-7LEX2P5Q.js.map} +0 -0
  734. /package/dist/{feedback-record-GAM2R5GG.js.map → feedback-record-P4JJ63KA.js.map} +0 -0
  735. /package/dist/{fetch-FA6TR66Y.js.map → fetch-MIVCEHXZ.js.map} +0 -0
  736. /package/dist/{find-2EPXK5RF.js.map → find-VHN34MWL.js.map} +0 -0
  737. /package/dist/{fit-MOMO4AXL.js.map → fit-SS6HSZPU.js.map} +0 -0
  738. /package/dist/{flows-DMMCSBWY.js.map → flows-UTIIHDNE.js.map} +0 -0
  739. /package/dist/{fonts-G4JLXWX2.js.map → fonts-YPNN7ZJP.js.map} +0 -0
  740. /package/dist/{forecast-OOP4K5DE.js.map → forecast-OBSHG2GJ.js.map} +0 -0
  741. /package/dist/{forecast-V65WS5QG.js.map → forecast-W7Z5TVQX.js.map} +0 -0
  742. /package/dist/{funnel-SEQPUM3X.js.map → funnel-Z2VLXUEQ.js.map} +0 -0
  743. /package/dist/{ga4-6EIQC2TG.js.map → ga4-ZPAEF2G2.js.map} +0 -0
  744. /package/dist/{generate-IDDQD5FU.js.map → generate-Y76WU7M7.js.map} +0 -0
  745. /package/dist/{get-DEOZMGOQ.js.map → get-MDAO6I7T.js.map} +0 -0
  746. /package/dist/{get-SEJINVOS.js.map → get-ZB553BSH.js.map} +0 -0
  747. /package/dist/{google-O5OI6QFU.js.map → google-C3X7O2UO.js.map} +0 -0
  748. /package/dist/{google-7L3FWKPJ.js.map → google-WYXDMH2N.js.map} +0 -0
  749. /package/dist/{google-ads-MIGWMCWY.js.map → google-ads-FTWL772L.js.map} +0 -0
  750. /package/dist/{gsc-BM3T2GDL.js.map → gsc-SDDHGTZK.js.map} +0 -0
  751. /package/dist/{history-Z5577FPQ.js.map → history-DGHMJ2XF.js.map} +0 -0
  752. /package/dist/{history-IBWXCDCB.js.map → history-WKJYKDMG.js.map} +0 -0
  753. /package/dist/{hubspot-6AZKUX72.js.map → hubspot-EPHVEPOO.js.map} +0 -0
  754. /package/dist/{icon-B7DG53S5.js.map → icon-MYPDC6FM.js.map} +0 -0
  755. /package/dist/{ideas-AX7S3NCG.js.map → ideas-3PBH7VEX.js.map} +0 -0
  756. /package/dist/{images-632SXTB5.js.map → images-J35C3WG4.js.map} +0 -0
  757. /package/dist/{ingest-T3OK3DRG.js.map → ingest-5QOPUKFE.js.map} +0 -0
  758. /package/dist/{ingest-HS55RVKH.js.map → ingest-OKUYP632.js.map} +0 -0
  759. /package/dist/{insights-UDX66IMV.js.map → insights-EU45J56U.js.map} +0 -0
  760. /package/dist/{inspect-D6ZIUBH3.js.map → inspect-PMNCP6MV.js.map} +0 -0
  761. /package/dist/{inspiration-TCCKM4R7.js.map → inspiration-QAL7NS7G.js.map} +0 -0
  762. /package/dist/{intent-3WTKKTUX.js.map → intent-FUGWRUSW.js.map} +0 -0
  763. /package/dist/{keyword-gap-7GESZXY2.js.map → keyword-gap-DXTKZLV2.js.map} +0 -0
  764. /package/dist/{keyword-metrics-J43MV3RQ.js.map → keyword-metrics-R752SJIT.js.map} +0 -0
  765. /package/dist/{keywords-for-site-6YKCTFJZ.js.map → keywords-for-site-7UWPJYQF.js.map} +0 -0
  766. /package/dist/{landing-Y7DI2FUT.js.map → landing-CBVIOGJ5.js.map} +0 -0
  767. /package/dist/{languages-LSKNZI2A.js.map → languages-XRTTEJ5P.js.map} +0 -0
  768. /package/dist/{learn-M4UHA476.js.map → learn-N6QV7GXA.js.map} +0 -0
  769. /package/dist/{line-item-writes-F2OPBMIE.js.map → line-item-writes-3WPJXKIL.js.map} +0 -0
  770. /package/dist/{line-items-YJ3DLV2U.js.map → line-items-ZOFKOGAA.js.map} +0 -0
  771. /package/dist/{link-RZKYW22K.js.map → link-DDRQKOUL.js.map} +0 -0
  772. /package/dist/{list-NPJ34244.js.map → list-5PLXVPLB.js.map} +0 -0
  773. /package/dist/{list-XK5CHKYJ.js.map → list-VSJISE7U.js.map} +0 -0
  774. /package/dist/{list-WTVBOTA4.js.map → list-WTVOBQYX.js.map} +0 -0
  775. /package/dist/{locations-DSDCNP5Z.js.map → locations-PCZPKH47.js.map} +0 -0
  776. /package/dist/{locations-SFZN4MYW.js.map → locations-TGJH3URF.js.map} +0 -0
  777. /package/dist/{log-K4FWHXIM.js.map → log-YKKPROLZ.js.map} +0 -0
  778. /package/dist/{logo-QTSBKP2J.js.map → logo-WE2UELX6.js.map} +0 -0
  779. /package/dist/{make-VQDUKVPB.js.map → make-RNOWBLZQ.js.map} +0 -0
  780. /package/dist/{map-Z3MEM6QX.js.map → map-WTDPQLVO.js.map} +0 -0
  781. /package/dist/{mcp-KJOSR534.js.map → mcp-XJNSCPP3.js.map} +0 -0
  782. /package/dist/{media-sources-44HTWIY3.js.map → media-sources-JGBDDXZ5.js.map} +0 -0
  783. /package/dist/{members-HGU22NL3.js.map → members-O3BTMRXX.js.map} +0 -0
  784. /package/dist/{metrics-OV2EKPJ6.js.map → metrics-PYPCW7FJ.js.map} +0 -0
  785. /package/dist/{models-NGAUD6QJ.js.map → models-IAGO5GIH.js.map} +0 -0
  786. /package/dist/{normalize-IUPOHEZJ.js.map → normalize-R5AYLA2J.js.map} +0 -0
  787. /package/dist/{options-TL5TPGHK.js.map → options-AILRY7JY.js.map} +0 -0
  788. /package/dist/{organization-3ORT4474.js.map → organization-KJJXZLVK.js.map} +0 -0
  789. /package/dist/{performance-PCZHQCZ5.js.map → performance-7YU4HOGH.js.map} +0 -0
  790. /package/dist/{pixels-GHEAK62X.js.map → pixels-R4MOLWAR.js.map} +0 -0
  791. /package/dist/{promoted-tweet-writes-O4RTZFSI.js.map → promoted-tweet-writes-TNELWPVG.js.map} +0 -0
  792. /package/dist/{promoted-tweets-AWP6MGJI.js.map → promoted-tweets-76WKUFJQ.js.map} +0 -0
  793. /package/dist/{publish-PODZKJHW.js.map → publish-BKLHCKHB.js.map} +0 -0
  794. /package/dist/{query-FUSR27T4.js.map → query-XDHZMGLX.js.map} +0 -0
  795. /package/dist/{reddit-UNUNWSNR.js.map → reddit-YK3YUZEI.js.map} +0 -0
  796. /package/dist/{refresh-34UO2LXY.js.map → refresh-WIII7KXB.js.map} +0 -0
  797. /package/dist/{release-BD3EAD75.js.map → release-ZHXYQI7G.js.map} +0 -0
  798. /package/dist/{relevant-pages-FNKYR2OG.js.map → relevant-pages-CTG72PBR.js.map} +0 -0
  799. /package/dist/{remove-YQYSQCWI.js.map → remove-NOX4BXWK.js.map} +0 -0
  800. /package/dist/{reopen-MULNJOR5.js.map → reopen-NLWKK5HB.js.map} +0 -0
  801. /package/dist/{rerun-6YGYJPM7.js.map → rerun-DZWQNMZQ.js.map} +0 -0
  802. /package/dist/{research-6WEL3USW.js.map → research-Q3P76RHN.js.map} +0 -0
  803. /package/dist/{research-OBECRSPL.js.map → research-UDZBCDNX.js.map} +0 -0
  804. /package/dist/{reset-5TTLZ43U.js.map → reset-5UHFX7QY.js.map} +0 -0
  805. /package/dist/{reset-PRTK6YUD.js.map → reset-MTRJQUP7.js.map} +0 -0
  806. /package/dist/{resolve-6RM63T55.js.map → resolve-DA72VT7Q.js.map} +0 -0
  807. /package/dist/{retry-Z3C624JW.js.map → retry-LQUBX5TK.js.map} +0 -0
  808. /package/dist/{retry-XYTVP7BV.js.map → retry-U6F4CS6O.js.map} +0 -0
  809. /package/dist/{rules-AUAJUM2T.js.map → rules-VS5PZ7VO.js.map} +0 -0
  810. /package/dist/{rules-add-7VFGPGZ7.js.map → rules-add-LMVZYDXE.js.map} +0 -0
  811. /package/dist/{run-S3SVCTIB.js.map → run-6PRA2YSD.js.map} +0 -0
  812. /package/dist/{run-YA5RCRIX.js.map → run-R6COFNOR.js.map} +0 -0
  813. /package/dist/{scaffold-ad-2KQULVJU.js.map → scaffold-ad-3OVJ7VZQ.js.map} +0 -0
  814. /package/dist/{scaffold-static-ad-S46QADGV.js.map → scaffold-static-ad-DDRA3Q5I.js.map} +0 -0
  815. /package/dist/{scaffold-video-ZMHI2JDU.js.map → scaffold-video-3JZYFYFU.js.map} +0 -0
  816. /package/dist/{schedule-FT6P3EKG.js.map → schedule-ED2YDUPY.js.map} +0 -0
  817. /package/dist/{scheduled-agents-L7K4QWMD.js.map → scheduled-agents-5P67MVGX.js.map} +0 -0
  818. /package/dist/{schema-CH654RZB.js.map → schema-4XVKERSA.js.map} +0 -0
  819. /package/dist/{search-YKYB2P2M.js.map → search-Y2UMIQ57.js.map} +0 -0
  820. /package/dist/{select-PM7JUDQY.js.map → select-OZ4E6VLF.js.map} +0 -0
  821. /package/dist/{set-prompt-VATAT7H6.js.map → set-prompt-O4YAE4CE.js.map} +0 -0
  822. /package/dist/{setup-links-TM3NCVU7.js.map → setup-links-2GJYCV2A.js.map} +0 -0
  823. /package/dist/{site-ATAXCWXS.js.map → site-47B6V2UX.js.map} +0 -0
  824. /package/dist/{sources-V544MB26.js.map → sources-DXPZAPQ7.js.map} +0 -0
  825. /package/dist/{sources-N5RKYKFS.js.map → sources-NDXYTASG.js.map} +0 -0
  826. /package/dist/{stale-RNEYXKFX.js.map → stale-VLVBO2L6.js.map} +0 -0
  827. /package/dist/{stats-CVF6AC7R.js.map → stats-37OFAMPW.js.map} +0 -0
  828. /package/dist/{status-DPTFOJVV.js.map → status-4ODD46XY.js.map} +0 -0
  829. /package/dist/{stock-4LPQ6SM7.js.map → stock-6R5E7MJX.js.map} +0 -0
  830. /package/dist/{studio-NZ3NA4L4.js.map → studio-LEIGL3Q7.js.map} +0 -0
  831. /package/dist/{sync-UBLCCOQZ.js.map → sync-TKNVBUDM.js.map} +0 -0
  832. /package/dist/{sync-definition-RXRSI2LT.js.map → sync-definition-M5R3H3TP.js.map} +0 -0
  833. /package/dist/{tag-manager-FLXXLNKP.js.map → tag-manager-3Q55PBEW.js.map} +0 -0
  834. /package/dist/{tags-5OM2VN3Q.js.map → tags-4N5UUUN6.js.map} +0 -0
  835. /package/dist/{tags-MHKZW2JN.js.map → tags-5NHIAD5A.js.map} +0 -0
  836. /package/dist/{tags-Z6AH7FDT.js.map → tags-UUKWSWCN.js.map} +0 -0
  837. /package/dist/{tags-CJWSUBCD.js.map → tags-VK7B5DJF.js.map} +0 -0
  838. /package/dist/{tags-2D4AN2QB.js.map → tags-XAHIB3WA.js.map} +0 -0
  839. /package/dist/{targeting-criteria-RSAN4KW5.js.map → targeting-criteria-AVARWV2G.js.map} +0 -0
  840. /package/dist/{targets-EER2G4WH.js.map → targets-6RYLQRID.js.map} +0 -0
  841. /package/dist/{testimonials-4WJKAZ5S.js.map → testimonials-6TF6BOFN.js.map} +0 -0
  842. /package/dist/{themes-XUALHDHR.js.map → themes-JZ3DPE7L.js.map} +0 -0
  843. /package/dist/{top-companies-BSOYGMIB.js.map → top-companies-45EHRCJD.js.map} +0 -0
  844. /package/dist/{translate-2XRHDWSC.js.map → translate-VHLBACCE.js.map} +0 -0
  845. /package/dist/{triggers-NU6BQ5NJ.js.map → triggers-ERQONJNO.js.map} +0 -0
  846. /package/dist/{unlink-LQGPZND2.js.map → unlink-TPDO6JNF.js.map} +0 -0
  847. /package/dist/{unstage-GDKW56MH.js.map → unstage-YKKQQ7LW.js.map} +0 -0
  848. /package/dist/{update-43QN723C.js.map → update-43WU6X7R.js.map} +0 -0
  849. /package/dist/{update-QRGEMNBY.js.map → update-CAHLAXWO.js.map} +0 -0
  850. /package/dist/{update-EGOWYBEH.js.map → update-NGH6YADN.js.map} +0 -0
  851. /package/dist/{update-6CAZKFTC.js.map → update-SPJIHHLE.js.map} +0 -0
  852. /package/dist/{upload-LIHRXWUY.js.map → upload-ACESIZIZ.js.map} +0 -0
  853. /package/dist/{url-options-JXL4W7TB.js.map → url-options-VNX5KYUQ.js.map} +0 -0
  854. /package/dist/{url-params-YXRZ4TUD.js.map → url-params-MIXEDBF7.js.map} +0 -0
  855. /package/dist/{validate-KO3MEJUZ.js.map → validate-XJJA7ULE.js.map} +0 -0
  856. /package/dist/{videos-BPJ34YZL.js.map → videos-LBXPG7WC.js.map} +0 -0
  857. /package/dist/{viewer-check-SA5AUQ26.js.map → viewer-check-7VJ3GUZX.js.map} +0 -0
  858. /package/dist/{web-KS47ZHXX.js.map → web-EWQJC2SD.js.map} +0 -0
  859. /package/dist/{winning-ads-LE2ALICG.js.map → winning-ads-SAOJAKEQ.js.map} +0 -0
  860. /package/dist/{x-DZGRJQ7Y.js.map → x-LXOJPCRF.js.map} +0 -0
@@ -0,0 +1,1024 @@
1
+ import {
2
+ TOTAL_BUDGET_HELP,
3
+ bareAccountId,
4
+ failWriteValidation,
5
+ loadJsonFileArg,
6
+ loadTargetingFileArg,
7
+ mergePayload,
8
+ parseDateFlag,
9
+ parseListFileArg,
10
+ parseLocaleFlag,
11
+ parseMoneyFlag,
12
+ parseOnOffFlag,
13
+ requireTarget,
14
+ requireTargets,
15
+ stageLinkedinOps,
16
+ stageOp,
17
+ stageStatusChange
18
+ } from "./chunk-Y6GKV7CU.js";
19
+ import {
20
+ handleLinkedinError
21
+ } from "./chunk-VB3XUR6A.js";
22
+ import {
23
+ repeatedValues
24
+ } from "./chunk-ERSX3MKH.js";
25
+ import "./chunk-WHWSLDNR.js";
26
+ import "./chunk-4NZ47VXO.js";
27
+ import "./chunk-D5FY4FAK.js";
28
+ import "./chunk-6UNOK7WV.js";
29
+ import {
30
+ writeJsonEnvelope
31
+ } from "./chunk-2VIZ4UUZ.js";
32
+ import "./chunk-UFKO626N.js";
33
+ import "./chunk-XRIM7NYV.js";
34
+ import "./chunk-A6WKCV3V.js";
35
+ import "./chunk-U7YR5CZL.js";
36
+ import "./chunk-VI5YQQ63.js";
37
+ import "./chunk-JX7BX2NB.js";
38
+ import {
39
+ TEMP_REF_PREFIX,
40
+ TRACKING_PARAM_DYNAMIC_VALUES,
41
+ campaignExcludeCompaniesSchema
42
+ } from "./chunk-DAO63OOP.js";
43
+ import "./chunk-GXDLWBOY.js";
44
+ import "./chunk-GIWHHCD6.js";
45
+ import "./chunk-XQIOCIDO.js";
46
+ import "./chunk-WTJSMYY2.js";
47
+ import {
48
+ apiPost
49
+ } from "./chunk-6YLNY6CK.js";
50
+ import "./chunk-D5NEIESR.js";
51
+ import {
52
+ requireChatId
53
+ } from "./chunk-57KKVDDR.js";
54
+ import "./chunk-QANGHND7.js";
55
+ import "./chunk-YQSBHWOI.js";
56
+
57
+ // src/commands/ads/linkedin/write-commands.ts
58
+ import { defineCommand } from "citty";
59
+ var STAGED_NOTE = "Staged until publish \u2014 review with `baker ads linkedin draft`.";
60
+ var accountArgs = {
61
+ "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
62
+ "account-urn": { type: "string", description: "Alias for --account-id" }
63
+ };
64
+ function runScheduleFromFlags(args) {
65
+ const start = parseDateFlag(args.start, "--start");
66
+ const end = parseDateFlag(args.end, "--end");
67
+ if (start === void 0 && end === void 0) {
68
+ return void 0;
69
+ }
70
+ return { ...start !== void 0 ? { start } : {}, ...end !== void 0 ? { end } : {} };
71
+ }
72
+ var campaignGroupsCreateCommand = defineCommand({
73
+ meta: {
74
+ name: "create",
75
+ description: `Stage a new campaign group. ${STAGED_NOTE}
76
+ A group can't be created PAUSED, and a --total-budget needs an --end.
77
+ Example: baker ads linkedin campaign-groups create --name "Q3 ABM" --start 2026-07-10 --end 2026-09-30 --total-budget 5000 --currency EUR`
78
+ },
79
+ args: {
80
+ ...accountArgs,
81
+ name: { type: "string", description: "Campaign group name (\u2264100 chars)" },
82
+ start: { type: "string", description: "Run schedule start (ISO date or epoch ms)" },
83
+ end: { type: "string", description: "Run schedule end" },
84
+ "total-budget": { type: "string", description: TOTAL_BUDGET_HELP },
85
+ currency: { type: "string", description: "3-letter currency code (defaults to the ad account currency)" },
86
+ status: {
87
+ type: "string",
88
+ description: "DRAFT|ACTIVE (default DRAFT) \u2014 LinkedIn refuses a new group created PAUSED; pause it once it exists"
89
+ },
90
+ file: { type: "string", description: "JSON file with the full payload; flags override file keys" }
91
+ },
92
+ run: async ({ args }) => {
93
+ const accountId = bareAccountId(args);
94
+ const payload = mergePayload(loadJsonFileArg(args.file), {
95
+ name: args.name,
96
+ runSchedule: runScheduleFromFlags(args),
97
+ totalBudget: parseMoneyFlag(args["total-budget"], args.currency, "--total-budget"),
98
+ status: args.status ? String(args.status).toUpperCase() : void 0
99
+ });
100
+ await stageOp({ kind: "campaignGroup.create", accountId, payload });
101
+ }
102
+ });
103
+ var campaignGroupsUpdateCommand = defineCommand({
104
+ meta: {
105
+ name: "update",
106
+ description: `Stage changes to an existing campaign group. ${STAGED_NOTE}
107
+ Pass a li_temp_* ref to amend a group staged in this chat \u2014 fields merge into the staged create.
108
+ Example: baker ads linkedin campaign-groups update 635137195 --total-budget 8000 --currency EUR`
109
+ },
110
+ args: {
111
+ id: { type: "positional", description: "Campaign group id or URN", required: true },
112
+ ...accountArgs,
113
+ name: { type: "string", description: "New name" },
114
+ start: { type: "string", description: "New run schedule start" },
115
+ end: { type: "string", description: "New run schedule end" },
116
+ "total-budget": { type: "string", description: TOTAL_BUDGET_HELP },
117
+ currency: { type: "string", description: "3-letter currency code (defaults to the ad account currency)" },
118
+ status: { type: "string", description: "ACTIVE|PAUSED|ARCHIVED|\u2026" },
119
+ file: { type: "string", description: "JSON file with fields to change" }
120
+ },
121
+ run: async ({ args }) => {
122
+ const accountId = bareAccountId(args);
123
+ const payload = mergePayload(loadJsonFileArg(args.file), {
124
+ name: args.name,
125
+ runSchedule: runScheduleFromFlags(args),
126
+ totalBudget: parseMoneyFlag(args["total-budget"], args.currency, "--total-budget"),
127
+ status: args.status ? String(args.status).toUpperCase() : void 0
128
+ });
129
+ await stageOp({
130
+ kind: "campaignGroup.update",
131
+ accountId,
132
+ target: requireTarget(args, "campaign group"),
133
+ payload
134
+ });
135
+ }
136
+ });
137
+ function campaignPayloadFromFlags(args) {
138
+ return {
139
+ name: args.name,
140
+ campaignGroup: args.group,
141
+ type: args.type ? String(args.type).toUpperCase() : void 0,
142
+ objectiveType: args.objective ? String(args.objective).toUpperCase() : void 0,
143
+ costType: args["cost-type"] ? String(args["cost-type"]).toUpperCase() : void 0,
144
+ unitCost: parseMoneyFlag(args.bid, args.currency, "--bid"),
145
+ dailyBudget: parseMoneyFlag(args["daily-budget"], args.currency, "--daily-budget"),
146
+ totalBudget: parseMoneyFlag(args["total-budget"], args.currency, "--total-budget"),
147
+ runSchedule: runScheduleFromFlags(args),
148
+ locale: parseLocaleFlag(args.locale),
149
+ targetingCriteria: loadTargetingFileArg(args["targeting-file"]),
150
+ audienceExpansionEnabled: parseOnOffFlag(args["audience-expansion"], "--audience-expansion"),
151
+ offsiteDeliveryEnabled: parseOnOffFlag(args.lan, "--lan"),
152
+ connectedTelevisionOnly: parseOnOffFlag(args.ctv, "--ctv"),
153
+ creativeSelection: args["creative-selection"] ? String(args["creative-selection"]).toUpperCase() : void 0,
154
+ associatedEntity: args["associated-entity"],
155
+ politicalIntent: args["political-intent"] ? String(args["political-intent"]).toUpperCase() : void 0,
156
+ status: args.status ? String(args.status).toUpperCase() : void 0
157
+ };
158
+ }
159
+ var POLITICAL_INTENT_HELP = `NOT_DECLARED (default)|NOT_POLITICAL|POLITICAL \u2014 the advertiser's own declaration. Pass NOT_POLITICAL only after the user confirms: "I confirm this is not political advertising. None of my ads qualify as political advertising under the law of the targeted countries, including EU law for ads targeted to the EU."`;
160
+ var campaignFlagArgs = {
161
+ ...accountArgs,
162
+ name: { type: "string", description: "Campaign name (\u2264255 chars)" },
163
+ group: { type: "string", description: "Campaign group id/URN, or li_temp_* ref staged in this chat" },
164
+ type: { type: "string", description: "SPONSORED_UPDATES|TEXT_AD|SPONSORED_INMAILS|DYNAMIC" },
165
+ objective: { type: "string", description: "e.g. LEAD_GENERATION, WEBSITE_VISIT, BRAND_AWARENESS" },
166
+ "cost-type": { type: "string", description: "CPC|CPM|CPV" },
167
+ bid: { type: "string", description: "Manual bid (unitCost) \u2014 playbook mandates manual bidding" },
168
+ "daily-budget": { type: "string", description: "Daily budget amount" },
169
+ "total-budget": { type: "string", description: TOTAL_BUDGET_HELP },
170
+ currency: { type: "string", description: "3-letter currency code (defaults to the ad account currency)" },
171
+ start: { type: "string", description: "Run schedule start (ISO date or epoch ms)" },
172
+ end: { type: "string", description: "Run schedule end" },
173
+ locale: { type: "string", description: "Profile locale like en_US" },
174
+ "targeting-file": { type: "string", description: "JSON file with targetingCriteria (include.and[].or facets)" },
175
+ "audience-expansion": { type: "string", description: "on|off (playbook: off)" },
176
+ lan: { type: "string", description: "LinkedIn Audience Network on|off (playbook: off)" },
177
+ ctv: { type: "string", description: "Connected TV on|off" },
178
+ "creative-selection": { type: "string", description: "OPTIMIZED|ROUND_ROBIN" },
179
+ "associated-entity": { type: "string", description: "Organization URN" },
180
+ "political-intent": { type: "string", description: POLITICAL_INTENT_HELP },
181
+ status: { type: "string", description: "DRAFT|ACTIVE|PAUSED \u2014 PAUSED needs a group that is not DRAFT" },
182
+ file: { type: "string", description: "JSON file with the full payload; flags override file keys" }
183
+ };
184
+ var campaignsCreateCommand = defineCommand({
185
+ meta: {
186
+ name: "create",
187
+ description: `Stage a new campaign. ${STAGED_NOTE}
188
+ Targeting goes in --targeting-file (facet URNs). --group accepts a li_temp_* ref from a campaign group staged in this chat.
189
+ 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`
190
+ },
191
+ args: campaignFlagArgs,
192
+ run: async ({ args }) => {
193
+ const accountId = bareAccountId(args);
194
+ const payload = mergePayload(loadJsonFileArg(args.file), campaignPayloadFromFlags(args));
195
+ if (payload.locale === void 0) {
196
+ payload.locale = { country: "US", language: "en" };
197
+ }
198
+ await stageOp({ kind: "campaign.create", accountId, payload });
199
+ }
200
+ });
201
+ function campaignUpdatePayloadFromFlags(args, target, file) {
202
+ const flags = campaignPayloadFromFlags(args);
203
+ if (!target.startsWith(TEMP_REF_PREFIX)) {
204
+ flags.campaignGroup = void 0;
205
+ flags.type = void 0;
206
+ flags.locale = void 0;
207
+ flags.associatedEntity = void 0;
208
+ }
209
+ return mergePayload(file, flags);
210
+ }
211
+ var campaignsUpdateCommand = defineCommand({
212
+ meta: {
213
+ name: "update",
214
+ description: `Stage changes to an existing campaign (budget, bid, targeting, flags, schedule, status). ${STAGED_NOTE}
215
+ 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).
216
+ Example: baker ads linkedin campaigns update 123456 --daily-budget 100 --currency EUR --audience-expansion off`
217
+ },
218
+ args: {
219
+ id: { type: "positional", description: "Campaign id or URN", required: true },
220
+ ...campaignFlagArgs
221
+ },
222
+ run: async ({ args }) => {
223
+ const accountId = bareAccountId(args);
224
+ const target = requireTarget(args, "campaign");
225
+ const payload = campaignUpdatePayloadFromFlags(args, target, loadJsonFileArg(args.file));
226
+ await stageOp({ kind: "campaign.update", accountId, target, payload });
227
+ }
228
+ });
229
+ function commaList(value) {
230
+ return typeof value === "string" ? value.split(",").map((entry) => entry.trim()).filter((entry) => entry.length > 0) : [];
231
+ }
232
+ function excludeCompaniesPayload(args) {
233
+ const employers = commaList(args.org).map((org) => org.startsWith("urn:") ? org : `urn:li:organization:${org}`);
234
+ const segments = commaList(args.segment);
235
+ return {
236
+ add: {
237
+ ...employers.length > 0 ? { employers } : {},
238
+ ...segments.length > 0 ? { segments } : {}
239
+ }
240
+ };
241
+ }
242
+ var EXCLUSION_FLAG_BY_FIELD = { employers: "--org", segments: "--segment" };
243
+ function excludeCompaniesRefusal(args) {
244
+ const payload = excludeCompaniesPayload(args);
245
+ if (!payload.add.employers && !payload.add.segments) {
246
+ return "pass --org and/or --segment \u2014 the companies or audiences this ad set should stop reaching";
247
+ }
248
+ const parsed = campaignExcludeCompaniesSchema.safeParse(payload);
249
+ if (parsed.success) {
250
+ return void 0;
251
+ }
252
+ return parsed.error.issues.map((issue) => {
253
+ const flag = EXCLUSION_FLAG_BY_FIELD[String(issue.path[1])];
254
+ return flag ? `${flag}: ${issue.message}` : issue.message;
255
+ }).join("; ");
256
+ }
257
+ var campaignsExcludeCompaniesCommand = defineCommand({
258
+ meta: {
259
+ name: "exclude-companies",
260
+ description: `Stop an ad set reaching some companies \u2014 customers, open deals, competitors. ${STAGED_NOTE}
261
+ 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.
262
+ --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).
263
+ Example: baker ads linkedin campaigns exclude-companies 123456 --org 1035,1441`
264
+ },
265
+ args: {
266
+ id: {
267
+ type: "positional",
268
+ description: "Ad set (campaign) id or URN \u2014 must already be on LinkedIn",
269
+ required: true
270
+ },
271
+ ...accountArgs,
272
+ org: { type: "string", description: "Company ids or urn:li:organization URNs to exclude, comma-separated" },
273
+ segment: {
274
+ type: "string",
275
+ description: "Matched audiences to exclude, comma-separated: urn:li:dmpSegment:N / urn:li:adSegment:N or a li_temp_* ref"
276
+ }
277
+ },
278
+ run: async ({ args }) => {
279
+ const accountId = bareAccountId(args);
280
+ const target = requireTarget(args, "campaign");
281
+ const refusal = excludeCompaniesRefusal(args);
282
+ if (refusal) {
283
+ failWriteValidation(refusal);
284
+ }
285
+ const payload = excludeCompaniesPayload(args);
286
+ await stageOp({ kind: "campaign.excludeCompanies", accountId, target, payload });
287
+ }
288
+ });
289
+ function statusSugarCommand(entity, kind, name) {
290
+ const status = name === "pause" ? "PAUSED" : name === "resume" ? "ACTIVE" : "ARCHIVED";
291
+ return defineCommand({
292
+ meta: {
293
+ name,
294
+ description: `Stage a status change to ${status}, for one id or many. ${STAGED_NOTE}
295
+ Examples:
296
+ baker ads linkedin ${entity} ${name} 123456
297
+ baker ads linkedin ${entity} ${name} 123456,123457,123458
298
+ baker ads linkedin ${entity} ${name} --ids-file ids.txt`
299
+ },
300
+ args: {
301
+ id: { type: "positional", description: "Entity id or URN \u2014 comma-separate several", required: false },
302
+ "ids-file": { type: "string", description: "File of ids, one per line or comma-separated" },
303
+ ...accountArgs
304
+ },
305
+ run: async ({ args }) => {
306
+ await stageStatusChange({
307
+ kind,
308
+ accountId: bareAccountId(args),
309
+ targets: requireTargets(args, entity.replace(/-/g, " ").replace(/s$/, "")),
310
+ status
311
+ });
312
+ }
313
+ });
314
+ }
315
+ function trackingPairs(value, flag) {
316
+ const raw = value === void 0 ? [] : Array.isArray(value) ? value : [value];
317
+ return raw.flatMap(
318
+ (entry) => String(entry).split("&").filter((pair) => pair.length > 0).map((pair) => {
319
+ const at = pair.indexOf("=");
320
+ if (at < 1 || at === pair.length - 1) {
321
+ failWriteValidation(`${flag} expects key=value pairs \u2014 got "${pair}"`);
322
+ }
323
+ return [pair.slice(0, at).trim(), pair.slice(at + 1).trim()];
324
+ })
325
+ );
326
+ }
327
+ function asDynamicValue(value) {
328
+ const bare = value.replace(/^\{+|\}+$/g, "").toUpperCase();
329
+ return TRACKING_PARAM_DYNAMIC_VALUES.includes(bare) ? bare : void 0;
330
+ }
331
+ function trackingParamsPayload(args, rawArgs) {
332
+ if (args.clear) {
333
+ return { dynamicValueParameters: {}, customValueParameters: {} };
334
+ }
335
+ const customValueParameters = {};
336
+ for (const [key, value] of trackingPairs(repeatedValues(rawArgs, "param", args.param), "--param")) {
337
+ if (asDynamicValue(value)) {
338
+ failWriteValidation(
339
+ `--param ${key}=${value} names a value LinkedIn fills in per ad \u2014 pass it as --dynamic ${key}=${value.replace(/^\{+|\}+$/g, "").toUpperCase()}`
340
+ );
341
+ }
342
+ customValueParameters[key] = value;
343
+ }
344
+ const dynamicValueParameters = {};
345
+ for (const [key, value] of trackingPairs(repeatedValues(rawArgs, "dynamic", args.dynamic), "--dynamic")) {
346
+ const resolved = asDynamicValue(value);
347
+ if (!resolved) {
348
+ failWriteValidation(
349
+ `--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`
350
+ );
351
+ }
352
+ dynamicValueParameters[key] = resolved;
353
+ }
354
+ return mergePayload(loadJsonFileArg(args.file), {
355
+ customValueParameters: Object.keys(customValueParameters).length > 0 ? customValueParameters : void 0,
356
+ dynamicValueParameters: Object.keys(dynamicValueParameters).length > 0 ? dynamicValueParameters : void 0
357
+ });
358
+ }
359
+ var campaignsUrlParamsCommand = defineCommand({
360
+ meta: {
361
+ name: "url-params",
362
+ 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}
363
+
364
+ 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.
365
+
366
+ 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.
367
+
368
+ 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.
369
+
370
+ Examples:
371
+ 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
372
+ baker ads linkedin campaigns url-params 123456 --param utm_agency=baker
373
+ baker ads linkedin campaigns url-params 123456 --clear`
374
+ },
375
+ args: {
376
+ id: { type: "positional", description: "Ad set (campaign) id or URN", required: true },
377
+ ...accountArgs,
378
+ param: {
379
+ type: "string",
380
+ description: 'Fixed key=value, repeatable or &-joined (e.g. --param "utm_source=linkedin&utm_medium=paid")'
381
+ },
382
+ dynamic: {
383
+ type: "string",
384
+ description: "key=PLACEHOLDER LinkedIn fills in per ad, repeatable (e.g. --dynamic utm_campaign=CAMPAIGN_NAME)"
385
+ },
386
+ clear: { type: "boolean", description: "Remove every tracking parameter from this ad set" },
387
+ file: { type: "string", description: "JSON file with the full payload; flags override file keys" }
388
+ },
389
+ run: async ({ args, rawArgs }) => {
390
+ const accountId = bareAccountId(args);
391
+ await stageOp({
392
+ kind: "trackingParams.set",
393
+ accountId,
394
+ target: requireTarget(args, "ad set"),
395
+ payload: trackingParamsPayload(args, rawArgs)
396
+ });
397
+ }
398
+ });
399
+ function accountTrackingTarget(args) {
400
+ const accountId = bareAccountId(args);
401
+ return { accountId, target: `urn:li:sponsoredAccount:${accountId}` };
402
+ }
403
+ var accountUrlParamsCommand = defineCommand({
404
+ meta: {
405
+ name: "url-params",
406
+ 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}
407
+
408
+ 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.
409
+
410
+ 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.
411
+
412
+ 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.
413
+
414
+ Examples:
415
+ baker ads linkedin account url-params --param "utm_source=linkedin&utm_medium=paid_social"
416
+ baker ads linkedin account url-params --param utm_source=linkedin --dynamic utm_campaign=CAMPAIGN_NAME
417
+ baker ads linkedin account url-params --clear`
418
+ },
419
+ args: {
420
+ ...accountArgs,
421
+ param: {
422
+ type: "string",
423
+ description: 'Fixed key=value, repeatable or &-joined (e.g. --param "utm_source=linkedin&utm_medium=paid")'
424
+ },
425
+ dynamic: {
426
+ type: "string",
427
+ description: "key=PLACEHOLDER LinkedIn fills in per ad, repeatable (e.g. --dynamic utm_campaign=CAMPAIGN_NAME)"
428
+ },
429
+ clear: { type: "boolean", description: "Remove every tracking parameter set on the ad account" },
430
+ file: { type: "string", description: "JSON file with the full payload; flags override file keys" }
431
+ },
432
+ run: async ({ args, rawArgs }) => {
433
+ const { accountId, target } = accountTrackingTarget(args);
434
+ await stageOp({
435
+ kind: "trackingParams.set",
436
+ accountId,
437
+ target,
438
+ payload: trackingParamsPayload(args, rawArgs)
439
+ });
440
+ }
441
+ });
442
+ var campaignsPauseCommand = statusSugarCommand("campaigns", "campaign.update", "pause");
443
+ var campaignsResumeCommand = statusSugarCommand("campaigns", "campaign.update", "resume");
444
+ var campaignsArchiveCommand = statusSugarCommand("campaigns", "campaign.update", "archive");
445
+ var campaignGroupsPauseCommand = statusSugarCommand("campaign-groups", "campaignGroup.update", "pause");
446
+ var campaignGroupsResumeCommand = statusSugarCommand("campaign-groups", "campaignGroup.update", "resume");
447
+ var creativesPauseCommand = statusSugarCommand("creatives", "creative.update", "pause");
448
+ var creativesResumeCommand = statusSugarCommand("creatives", "creative.update", "resume");
449
+ function duplicateCommand(entity, cliGroup) {
450
+ return defineCommand({
451
+ meta: {
452
+ name: "duplicate",
453
+ description: `Stage a copy of an existing ${entity} as a new DRAFT create (playbook: duplicate, never link-to-original). ${STAGED_NOTE}
454
+ Example: baker ads linkedin ${cliGroup} duplicate 123456 --name "New variant"`
455
+ },
456
+ args: {
457
+ id: { type: "positional", description: "Source id or URN", required: true },
458
+ ...accountArgs,
459
+ name: { type: "string", description: "Name for the copy" },
460
+ file: { type: "string", description: "JSON file with field overrides for the copy" }
461
+ },
462
+ run: async ({ args }) => {
463
+ try {
464
+ const chatId = requireChatId();
465
+ const overrides = mergePayload(loadJsonFileArg(args.file), { name: args.name });
466
+ const response = await apiPost(
467
+ "/api/ads/linkedin/draft/duplicate",
468
+ {
469
+ chatId,
470
+ accountId: bareAccountId(args),
471
+ entity,
472
+ sourceId: requireTarget(args, entity),
473
+ ...Object.keys(overrides).length > 0 ? { overrides } : {}
474
+ }
475
+ );
476
+ writeJsonEnvelope(response);
477
+ } catch (err) {
478
+ handleLinkedinError(err);
479
+ }
480
+ }
481
+ });
482
+ }
483
+ var campaignsDuplicateCommand = duplicateCommand("campaign", "campaigns");
484
+ var campaignGroupsDuplicateCommand = duplicateCommand("campaignGroup", "campaign-groups");
485
+ var creativesDuplicateCommand = defineCommand({
486
+ meta: {
487
+ name: "duplicate",
488
+ description: `Stage a copy of an existing ad, optionally with new content. ${STAGED_NOTE}
489
+ 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.
490
+ --replace also pauses the original once the new ad publishes (skipped if the new ad fails).
491
+ Examples:
492
+ baker ads linkedin creatives duplicate 1458413484 --headline "10x Demos, Same Team" --description "AI handles every demo request." --replace
493
+ baker ads linkedin creatives duplicate urn:li:sponsoredCreative:789 --campaign 799305464`
494
+ },
495
+ args: {
496
+ id: { type: "positional", description: "Source creative id or URN", required: true },
497
+ ...accountArgs,
498
+ campaign: { type: "string", description: "Stage the copy under a different ad set (id/URN or li_temp_*)" },
499
+ "intended-status": {
500
+ type: "string",
501
+ description: "Status for the copy (default DRAFT; with --replace, the source's status)"
502
+ },
503
+ replace: {
504
+ type: "boolean",
505
+ description: "Also pause the original once the new ad publishes; the copy inherits the source's status"
506
+ },
507
+ intro: { type: "string", description: "New commentary / intro text" },
508
+ headline: { type: "string", description: "New headline" },
509
+ description: { type: "string", description: "New description (text/spotlight ads)" },
510
+ "landing-url": {
511
+ type: "string",
512
+ description: "New https destination URL (direct-content ads only \u2014 a post-based ad's URL lives in its post)"
513
+ },
514
+ cta: { type: "string", description: "New CTA (LEARN_MORE|REQUEST_DEMO|\u2026)" },
515
+ "cta-label": { type: "string", description: "Spotlight custom CTA label" },
516
+ "image-id": { type: "string", description: "Baker image library id" },
517
+ "image-urn": { type: "string", description: "Existing urn:li:image:*" },
518
+ "video-id": {
519
+ type: "string",
520
+ description: "Baker video library id \u2014 not sent to LinkedIn yet; staging refuses it, use --video-urn"
521
+ },
522
+ "video-urn": { type: "string", description: "Existing urn:li:video:*" },
523
+ "logo-image-id": { type: "string", description: "Baker image id for the logo" },
524
+ title: { type: "string", description: "Media title" },
525
+ file: { type: "string", description: "JSON file with field overrides for the copy" }
526
+ },
527
+ run: async ({ args }) => {
528
+ try {
529
+ const chatId = requireChatId();
530
+ const file = loadJsonFileArg(args.file);
531
+ const fileContent = file.content !== null && typeof file.content === "object" && !Array.isArray(file.content) ? file.content : {};
532
+ const content = { ...fileContent, ...creativeContentPatch(args) };
533
+ const overrides = mergePayload(file, {
534
+ campaign: args.campaign,
535
+ intendedStatus: args["intended-status"] ? String(args["intended-status"]).toUpperCase() : void 0,
536
+ content: Object.keys(content).length > 0 ? content : void 0
537
+ });
538
+ const response = await apiPost(
539
+ "/api/ads/linkedin/draft/duplicate",
540
+ {
541
+ chatId,
542
+ accountId: bareAccountId(args),
543
+ entity: "creative",
544
+ sourceId: requireTarget(args, "creative"),
545
+ ...Object.keys(overrides).length > 0 ? { overrides } : {},
546
+ ...args.replace ? { replace: true } : {}
547
+ }
548
+ );
549
+ writeJsonEnvelope(response);
550
+ } catch (err) {
551
+ handleLinkedinError(err);
552
+ }
553
+ }
554
+ });
555
+ var CREATIVE_FORMATS = [
556
+ "image",
557
+ "video",
558
+ "text",
559
+ "spotlight",
560
+ "follower",
561
+ "document",
562
+ "carousel",
563
+ "conversation",
564
+ "tla",
565
+ "jobs",
566
+ "event",
567
+ "article"
568
+ ];
569
+ var creativesCreateCommand = defineCommand({
570
+ meta: {
571
+ name: "create",
572
+ description: `Stage a new creative (ad). ${STAGED_NOTE}
573
+ 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, nested messages recurse).
574
+ Examples:
575
+ 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
576
+ baker ads linkedin creatives create --campaign 123456 --format tla --post-urn urn:li:ugcPost:789`
577
+ },
578
+ args: {
579
+ ...accountArgs,
580
+ campaign: { type: "string", description: "Campaign id/URN, or li_temp_* ref staged in this chat" },
581
+ format: { type: "string", description: CREATIVE_FORMATS.join("|") },
582
+ "image-id": { type: "string", description: "Baker image library id (uploaded to LinkedIn at publish)" },
583
+ "image-urn": { type: "string", description: "Existing urn:li:image:*" },
584
+ "video-id": {
585
+ type: "string",
586
+ description: "Baker video library id \u2014 not sent to LinkedIn yet; staging refuses it, use --video-urn"
587
+ },
588
+ "video-urn": { type: "string", description: "Existing urn:li:video:*" },
589
+ "logo-image-id": { type: "string", description: "Baker image id for logo (text/spotlight/follower/jobs)" },
590
+ intro: { type: "string", description: "Commentary / intro text (\u2264600 chars before feed truncation)" },
591
+ headline: { type: "string", description: "Headline (\u226470; text ads \u226425)" },
592
+ description: { type: "string", description: "Description (text ads \u226475, spotlight \u226470)" },
593
+ "landing-url": { type: "string", description: "https destination URL" },
594
+ cta: { type: "string", description: "LEARN_MORE|REQUEST_DEMO|SIGN_UP|REGISTER|DOWNLOAD|\u2026" },
595
+ "cta-label": { type: "string", description: "Spotlight custom CTA label (\u226418 chars)" },
596
+ "post-urn": { type: "string", description: "TLA: existing post to sponsor (urn:li:share|ugcPost:*)" },
597
+ "event-urn": { type: "string", description: "Event ads: the LinkedIn event to sponsor (urn:li:event:*)" },
598
+ "article-url": { type: "string", description: "Article ads: https URL of the article/newsletter to sponsor" },
599
+ "thumbnail-image-id": { type: "string", description: "Article ads: Baker image id for the link thumbnail" },
600
+ "thumbnail-urn": { type: "string", description: "Article ads: existing urn:li:image:* thumbnail" },
601
+ "intended-status": { type: "string", description: "DRAFT|ACTIVE|PAUSED (default DRAFT)" },
602
+ title: { type: "string", description: "Media title (image/video) or article title" },
603
+ file: { type: "string", description: "JSON file with the full content object; flags override" }
604
+ },
605
+ run: async ({ args }) => {
606
+ const accountId = bareAccountId(args);
607
+ if (!args.campaign) {
608
+ failWriteValidation("--campaign is required (id, URN, or li_temp_* ref)");
609
+ }
610
+ const format = args.format ? String(args.format) : void 0;
611
+ if (!format || !CREATIVE_FORMATS.includes(format)) {
612
+ failWriteValidation(`--format must be one of ${CREATIVE_FORMATS.join("|")}`);
613
+ }
614
+ const content = mergePayload(loadJsonFileArg(args.file), {
615
+ format,
616
+ commentary: args.intro,
617
+ imageId: args["image-id"],
618
+ imageUrn: args["image-urn"],
619
+ videoId: args["video-id"],
620
+ videoUrn: args["video-urn"],
621
+ logoImageId: args["logo-image-id"],
622
+ headline: args.headline,
623
+ description: args.description,
624
+ landingUrl: args["landing-url"],
625
+ cta: args.cta ? String(args.cta).toUpperCase() : void 0,
626
+ ctaLabel: args["cta-label"],
627
+ postUrn: args["post-urn"],
628
+ eventUrn: args["event-urn"],
629
+ source: args["article-url"],
630
+ thumbnailImageId: args["thumbnail-image-id"],
631
+ thumbnailUrn: args["thumbnail-urn"],
632
+ mediaTitle: args.title,
633
+ title: args.title
634
+ });
635
+ await stageOp({
636
+ kind: "creative.create",
637
+ accountId,
638
+ payload: {
639
+ campaign: args.campaign,
640
+ intendedStatus: args["intended-status"] ? String(args["intended-status"]).toUpperCase() : void 0,
641
+ content
642
+ }
643
+ });
644
+ }
645
+ });
646
+ var CREATIVE_AMEND_CONTENT_FLAGS = [
647
+ ["intro", "commentary"],
648
+ ["headline", "headline"],
649
+ ["description", "description"],
650
+ ["landing-url", "landingUrl"],
651
+ ["cta-label", "ctaLabel"],
652
+ ["image-id", "imageId"],
653
+ ["image-urn", "imageUrn"],
654
+ ["video-id", "videoId"],
655
+ ["video-urn", "videoUrn"],
656
+ ["logo-image-id", "logoImageId"],
657
+ ["thumbnail-image-id", "thumbnailImageId"],
658
+ ["thumbnail-urn", "thumbnailUrn"],
659
+ ["title", "title"]
660
+ ];
661
+ function creativeContentPatch(args) {
662
+ const patch = {};
663
+ for (const [flag, key] of CREATIVE_AMEND_CONTENT_FLAGS) {
664
+ if (args[flag] !== void 0) {
665
+ patch[key] = args[flag];
666
+ }
667
+ }
668
+ if (args.cta !== void 0) {
669
+ patch.cta = String(args.cta).toUpperCase();
670
+ }
671
+ return patch;
672
+ }
673
+ var creativesUpdateCommand = defineCommand({
674
+ meta: {
675
+ name: "update",
676
+ description: `Stage changes to an existing creative, or amend a creative staged in this chat by passing its li_temp_* ref. ${STAGED_NOTE}
677
+ 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.
678
+ 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.
679
+ --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.
680
+ Examples:
681
+ baker ads linkedin creatives update 1458423674 --headline "Sharper headline" --description "New copy."
682
+ baker ads linkedin creatives update urn:li:sponsoredCreative:789 --intended-status PAUSED
683
+ baker ads linkedin creatives update 1458423674,1458423675,1458423676 --intended-status PAUSED
684
+ baker ads linkedin creatives update --ids-file ads.txt --intended-status PAUSED
685
+ baker ads linkedin creatives update li_temp_x3 --campaign li_temp_x2`
686
+ },
687
+ args: {
688
+ id: {
689
+ type: "positional",
690
+ description: "Creative id/URN \u2014 comma-separate several. A li_temp_* ref amends what this chat staged and must be passed on its own.",
691
+ required: false
692
+ },
693
+ "ids-file": { type: "string", description: "File of creative ids, one per line or comma-separated" },
694
+ ...accountArgs,
695
+ "intended-status": { type: "string", description: "ACTIVE|PAUSED|ARCHIVED|DRAFT" },
696
+ name: { type: "string", description: "New creative name" },
697
+ campaign: {
698
+ type: "string",
699
+ description: "Re-parent to a different ad set (id/URN or li_temp_*) \u2014 staged creatives only"
700
+ },
701
+ intro: { type: "string", description: "Commentary / intro text" },
702
+ headline: { type: "string", description: "New headline" },
703
+ description: { type: "string", description: "Description (text/spotlight ads)" },
704
+ "landing-url": { type: "string", description: "New https destination URL" },
705
+ cta: { type: "string", description: "New CTA (LEARN_MORE|REQUEST_DEMO|\u2026)" },
706
+ "cta-label": { type: "string", description: "Spotlight custom CTA label" },
707
+ "image-id": { type: "string", description: "Baker image library id" },
708
+ "image-urn": { type: "string", description: "Existing urn:li:image:*" },
709
+ "video-id": {
710
+ type: "string",
711
+ description: "Baker video library id \u2014 not sent to LinkedIn yet; staging refuses it, use --video-urn"
712
+ },
713
+ "video-urn": { type: "string", description: "Existing urn:li:video:*" },
714
+ "logo-image-id": { type: "string", description: "Baker image id for the logo" },
715
+ "thumbnail-image-id": { type: "string", description: "Baker image id for the article thumbnail" },
716
+ "thumbnail-urn": { type: "string", description: "Existing urn:li:image:* thumbnail" },
717
+ title: { type: "string", description: "Media or article title" },
718
+ file: { type: "string", description: "JSON file with fields to change; flags override file keys" }
719
+ },
720
+ run: async ({ args }) => {
721
+ const accountId = bareAccountId(args);
722
+ const targets = requireTargets(args, "creative");
723
+ const file = loadJsonFileArg(args.file);
724
+ const contentPatch = creativeContentPatch(args);
725
+ const intendedStatus = args["intended-status"] ? String(args["intended-status"]).toUpperCase() : void 0;
726
+ const fileContent = file.content !== null && typeof file.content === "object" && !Array.isArray(file.content) ? file.content : {};
727
+ const content = { ...fileContent, ...contentPatch };
728
+ const payload = mergePayload(file, {
729
+ intendedStatus,
730
+ name: args.name,
731
+ campaign: args.campaign,
732
+ content: Object.keys(content).length > 0 ? content : void 0
733
+ });
734
+ await stageLinkedinOps(targets.map((target) => ({ kind: "creative.update", accountId, target, payload })));
735
+ }
736
+ });
737
+ var AUDIENCE_TYPES = ["company-list", "user-list", "retargeting", "engagement"];
738
+ var INLINE_ROWS_MAX = 1e4;
739
+ var audiencesCreateCommand = defineCommand({
740
+ meta: {
741
+ name: "create",
742
+ description: `Stage a new matched audience. ${STAGED_NOTE}
743
+ List audiences take --list-file (CSV: companyName,domain,organizationUrn for companies \u2014 organizationUrn matches the company page exactly; email,\u2026 for contacts \u2014 emails are SHA-256 hashed locally). LinkedIn needs 300+ MATCHED members to serve.
744
+ Example: baker ads linkedin audiences create --name "ABM Tier-1" --type company-list --list-file accounts.csv`
745
+ },
746
+ args: {
747
+ ...accountArgs,
748
+ name: { type: "string", description: "Audience name (\u2264100 chars)" },
749
+ type: { type: "string", description: AUDIENCE_TYPES.join("|") },
750
+ "list-file": { type: "string", description: "CSV file with the list rows (header row required)" },
751
+ file: {
752
+ type: "string",
753
+ 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"}}}]}'
754
+ }
755
+ },
756
+ run: async ({ args }) => {
757
+ const accountId = bareAccountId(args);
758
+ const list = parseListFileArg(args["list-file"], INLINE_ROWS_MAX);
759
+ const raw = args.file ? loadJsonFileArg(args.file) : void 0;
760
+ await stageOp({
761
+ kind: "audience.create",
762
+ accountId,
763
+ payload: {
764
+ name: args.name,
765
+ audienceType: args.type,
766
+ ...list ? { listColumns: list.columns, listRows: list.rows } : {},
767
+ ...raw ? { raw } : {}
768
+ }
769
+ });
770
+ }
771
+ });
772
+ var audiencesUploadCommand = defineCommand({
773
+ meta: {
774
+ name: "upload",
775
+ description: `Stage a list upload into an existing audience segment. ${STAGED_NOTE}
776
+ Example: baker ads linkedin audiences upload urn:li:dmpSegment:42 --list-file more-accounts.csv`
777
+ },
778
+ args: {
779
+ id: { type: "positional", description: "Segment URN/id, or li_temp_* ref staged in this chat", required: true },
780
+ ...accountArgs,
781
+ "list-file": { type: "string", description: "CSV file with the rows to add", required: true }
782
+ },
783
+ run: async ({ args }) => {
784
+ const accountId = bareAccountId(args);
785
+ const list = parseListFileArg(args["list-file"], INLINE_ROWS_MAX);
786
+ if (!list) {
787
+ failWriteValidation("--list-file is required");
788
+ }
789
+ await stageOp({
790
+ kind: "audience.uploadList",
791
+ accountId,
792
+ payload: {
793
+ segment: requireTarget(args, "audience segment"),
794
+ listColumns: list.columns,
795
+ listRows: list.rows
796
+ }
797
+ });
798
+ }
799
+ });
800
+ var audiencesCommand = defineCommand({
801
+ meta: {
802
+ name: "audiences",
803
+ description: "Stage LinkedIn matched-audience changes (create lists, upload rows). Staged until publish \u2014 never hits the API directly."
804
+ },
805
+ subCommands: {
806
+ create: audiencesCreateCommand,
807
+ upload: audiencesUploadCommand
808
+ }
809
+ });
810
+ var conversionsCreateCommand = defineCommand({
811
+ meta: {
812
+ name: "create",
813
+ description: `Stage a new conversion rule. ${STAGED_NOTE}
814
+ Example: baker ads linkedin conversions create --name "Demo booked" --type LEAD --method INSIGHT_TAG --post-click-window 30 --view-window 7`
815
+ },
816
+ args: {
817
+ ...accountArgs,
818
+ name: { type: "string", description: "Conversion rule name" },
819
+ type: {
820
+ type: "string",
821
+ 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"
822
+ },
823
+ method: { type: "string", description: "INSIGHT_TAG|CONVERSIONS_API" },
824
+ "post-click-window": {
825
+ type: "string",
826
+ 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"
827
+ },
828
+ "view-window": {
829
+ type: "string",
830
+ 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"
831
+ },
832
+ "attribution-type": { type: "string", description: "LAST_TOUCH_BY_CAMPAIGN|LAST_TOUCH_BY_CONVERSION" },
833
+ "associate-all-campaigns": { type: "boolean", description: "Auto-associate with active campaigns" },
834
+ file: { type: "string", description: "JSON file with the full payload (e.g. urlMatchRuleExpression)" }
835
+ },
836
+ run: async ({ args }) => {
837
+ const accountId = bareAccountId(args);
838
+ const payload = mergePayload(loadJsonFileArg(args.file), {
839
+ name: args.name,
840
+ type: args.type ? String(args.type).toUpperCase() : void 0,
841
+ conversionMethod: args.method ? String(args.method).toUpperCase() : void 0,
842
+ postClickAttributionWindowSize: args["post-click-window"] ? Number(args["post-click-window"]) : void 0,
843
+ viewThroughAttributionWindowSize: args["view-window"] ? Number(args["view-window"]) : void 0,
844
+ attributionType: args["attribution-type"] ? String(args["attribution-type"]).toUpperCase() : void 0,
845
+ associateAllCampaigns: args["associate-all-campaigns"] === true ? true : void 0
846
+ });
847
+ await stageOp({ kind: "conversion.create", accountId, payload });
848
+ }
849
+ });
850
+ var conversionsUpdateCommand = defineCommand({
851
+ meta: {
852
+ name: "update",
853
+ description: `Stage changes to a conversion rule (windows, name, enabled). ${STAGED_NOTE}
854
+ Example: baker ads linkedin conversions update 104988516 --post-click-window 30 --view-window 7`
855
+ },
856
+ args: {
857
+ id: { type: "positional", description: "Conversion rule id or URN", required: true },
858
+ ...accountArgs,
859
+ name: { type: "string", description: "New name" },
860
+ "post-click-window": {
861
+ type: "string",
862
+ 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"
863
+ },
864
+ "view-window": {
865
+ type: "string",
866
+ 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"
867
+ },
868
+ "attribution-type": { type: "string", description: "LAST_TOUCH_BY_CAMPAIGN|LAST_TOUCH_BY_CONVERSION" },
869
+ enabled: { type: "string", description: "on|off" },
870
+ file: { type: "string", description: "JSON file with fields to change" }
871
+ },
872
+ run: async ({ args }) => {
873
+ const accountId = bareAccountId(args);
874
+ const payload = mergePayload(loadJsonFileArg(args.file), {
875
+ name: args.name,
876
+ postClickAttributionWindowSize: args["post-click-window"] ? Number(args["post-click-window"]) : void 0,
877
+ viewThroughAttributionWindowSize: args["view-window"] ? Number(args["view-window"]) : void 0,
878
+ attributionType: args["attribution-type"] ? String(args["attribution-type"]).toUpperCase() : void 0,
879
+ enabled: parseOnOffFlag(args.enabled, "--enabled")
880
+ });
881
+ await stageOp({
882
+ kind: "conversion.update",
883
+ accountId,
884
+ target: requireTarget(args, "conversion rule"),
885
+ payload
886
+ });
887
+ }
888
+ });
889
+ 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.`;
890
+ function conversionCampaignArgs() {
891
+ return {
892
+ id: { type: "positional", description: "Conversion rule id or URN", required: true },
893
+ ...accountArgs,
894
+ campaign: { type: "string", description: "Ad set (campaign) id or URN", required: true }
895
+ };
896
+ }
897
+ function requireCampaignArg(args) {
898
+ const campaign = args.campaign;
899
+ if (typeof campaign !== "string" || campaign.length === 0) {
900
+ failWriteValidation("--campaign is required \u2014 pass the ad set id or URN this conversion should count for");
901
+ }
902
+ return campaign;
903
+ }
904
+ var conversionsAssociateCommand = defineCommand({
905
+ meta: {
906
+ name: "associate-campaign",
907
+ description: `Count an existing conversion rule for one ad set. ${STAGED_NOTE}
908
+ ${CONVERSION_CAMPAIGN_EXPLAINER}
909
+ Example: baker ads linkedin conversions associate-campaign 104988516 --campaign 337643194`
910
+ },
911
+ args: conversionCampaignArgs(),
912
+ run: async ({ args }) => {
913
+ const accountId = bareAccountId(args);
914
+ await stageOp({
915
+ kind: "conversion.associateCampaign",
916
+ accountId,
917
+ target: requireTarget(args, "conversion rule"),
918
+ payload: { campaign: requireCampaignArg(args) }
919
+ });
920
+ }
921
+ });
922
+ var conversionsDissociateCommand = defineCommand({
923
+ meta: {
924
+ name: "dissociate-campaign",
925
+ description: `Stop counting an existing conversion rule for one ad set. ${STAGED_NOTE}
926
+ ${CONVERSION_CAMPAIGN_EXPLAINER}
927
+ Example: baker ads linkedin conversions dissociate-campaign 104988516 --campaign 337643194`
928
+ },
929
+ args: conversionCampaignArgs(),
930
+ run: async ({ args }) => {
931
+ const accountId = bareAccountId(args);
932
+ await stageOp({
933
+ kind: "conversion.dissociateCampaign",
934
+ accountId,
935
+ target: requireTarget(args, "conversion rule"),
936
+ payload: { campaign: requireCampaignArg(args) }
937
+ });
938
+ }
939
+ });
940
+ var leadFormsCreateCommand = defineCommand({
941
+ meta: {
942
+ name: "create",
943
+ description: `Stage a new Lead Gen Form from a JSON file. ${STAGED_NOTE}
944
+ Required: name, headline (\u226460), privacyPolicyUrl, questions[] (\u226412; playbook: \u22644 for completion).
945
+ Each question is a predefined profile field ({ name, predefinedField: "EMAIL" }) or a custom question ({ name, questionType: "MULTIPLE_CHOICE", options: [...] }; \u22643 custom).
946
+ Best-practice fields the preview will nudge for if missing: 1-3 qualifying questions, consents[] (disclosure checkboxes), thankYou.message + thankYou.landingUrl|appointmentUrl.
947
+ Also supported: locale, formImageId|formImageUrn, hiddenFields[], legalDisclaimer, thankYou.cta. Example: baker ads linkedin lead-forms create --file form.json`
948
+ },
949
+ args: {
950
+ ...accountArgs,
951
+ file: { type: "string", description: "JSON file with the form definition", required: true },
952
+ name: { type: "string", description: "Override the form name" }
953
+ },
954
+ run: async ({ args }) => {
955
+ const accountId = bareAccountId(args);
956
+ const payload = mergePayload(loadJsonFileArg(args.file), { name: args.name });
957
+ await stageOp({ kind: "leadForm.create", accountId, payload });
958
+ }
959
+ });
960
+ var leadFormsUpdateCommand = defineCommand({
961
+ meta: {
962
+ name: "update",
963
+ description: `Stage changes to a Lead Gen Form from a JSON file. ${STAGED_NOTE}`
964
+ },
965
+ args: {
966
+ id: { type: "positional", description: "Lead form id or URN", required: true },
967
+ ...accountArgs,
968
+ file: { type: "string", description: "JSON file with the fields to change", required: true },
969
+ name: { type: "string", description: "New form name" }
970
+ },
971
+ run: async ({ args }) => {
972
+ const accountId = bareAccountId(args);
973
+ const payload = mergePayload({ raw: loadJsonFileArg(args.file) }, { name: args.name });
974
+ await stageOp({
975
+ kind: "leadForm.update",
976
+ accountId,
977
+ target: requireTarget(args, "lead form"),
978
+ payload
979
+ });
980
+ }
981
+ });
982
+ var leadFormsCommand = defineCommand({
983
+ meta: {
984
+ name: "lead-forms",
985
+ description: "Stage LinkedIn Lead Gen Form changes (file-first). Staged until publish \u2014 never hits the API directly."
986
+ },
987
+ subCommands: {
988
+ create: leadFormsCreateCommand,
989
+ update: leadFormsUpdateCommand
990
+ }
991
+ });
992
+ export {
993
+ accountTrackingTarget,
994
+ accountUrlParamsCommand,
995
+ audiencesCommand,
996
+ campaignGroupsCreateCommand,
997
+ campaignGroupsDuplicateCommand,
998
+ campaignGroupsPauseCommand,
999
+ campaignGroupsResumeCommand,
1000
+ campaignGroupsUpdateCommand,
1001
+ campaignUpdatePayloadFromFlags,
1002
+ campaignsArchiveCommand,
1003
+ campaignsCreateCommand,
1004
+ campaignsDuplicateCommand,
1005
+ campaignsExcludeCompaniesCommand,
1006
+ campaignsPauseCommand,
1007
+ campaignsResumeCommand,
1008
+ campaignsUpdateCommand,
1009
+ campaignsUrlParamsCommand,
1010
+ conversionsAssociateCommand,
1011
+ conversionsCreateCommand,
1012
+ conversionsDissociateCommand,
1013
+ conversionsUpdateCommand,
1014
+ creativesCreateCommand,
1015
+ creativesDuplicateCommand,
1016
+ creativesPauseCommand,
1017
+ creativesResumeCommand,
1018
+ creativesUpdateCommand,
1019
+ excludeCompaniesPayload,
1020
+ excludeCompaniesRefusal,
1021
+ leadFormsCommand,
1022
+ trackingParamsPayload
1023
+ };
1024
+ //# sourceMappingURL=write-commands-QPDE4GWW.js.map