@koda-sl/baker-cli 0.575.0-dev.85f21462e → 0.576.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 (879) hide show
  1. package/README.md +1 -1
  2. package/dist/account-H44DUS4O.js +82 -0
  3. package/dist/account-WFAMHUCQ.js +82 -0
  4. package/dist/account-reads-JPQ2K343.js +219 -0
  5. package/dist/account-users-R3CIZPV5.js +64 -0
  6. package/dist/account-writes-EEKHPF5I.js +68 -0
  7. package/dist/accounts-GGP5J2FI.js +498 -0
  8. package/dist/accounts-H3KO5AEN.js +119 -0
  9. package/dist/accounts-K5IASJQV.js +80 -0
  10. package/dist/actions-JXDJOGSY.js +55 -0
  11. package/dist/activecampaign-LXLAD2PF.js +938 -0
  12. package/dist/ad-group-writes-UDQ4563V.js +172 -0
  13. package/dist/ad-groups-RXT2XKSE.js +70 -0
  14. package/dist/ad-writes-SHLTL2FY.js +176 -0
  15. package/dist/add-DJQ5B245.js +305 -0
  16. package/dist/add-MPXVC7L3.js +107 -0
  17. package/dist/ads-2TUJH4L3.js +48 -0
  18. package/dist/ads-CUMOMBI3.js +79 -0
  19. package/dist/advertisers-EWSPWD6I.js +123 -0
  20. package/dist/alerts-4FE3PUUK.js +151 -0
  21. package/dist/analytics-HZDE5TKC.js +447 -0
  22. package/dist/analytics-QEYAVXZB.js +2397 -0
  23. package/dist/animate-MBNFCDUZ.js +480 -0
  24. package/dist/assign-JZ5E7XRJ.js +80 -0
  25. package/dist/audience-size-UXIGBCIO.js +76 -0
  26. package/dist/audiences-KBW2UAOP.js +280 -0
  27. package/dist/audit-B2X3ON7Y.js +154 -0
  28. package/dist/autocomplete-VB74AP3J.js +114 -0
  29. package/dist/avatars-WINNSCJK.js +38 -0
  30. package/dist/bid-pricing-JAR4EBDA.js +103 -0
  31. package/dist/brand-ZLBQSOKD.js +22 -0
  32. package/dist/brief-35KFM74X.js +543 -0
  33. package/dist/campaign-groups-2HUFNJK6.js +99 -0
  34. package/dist/campaign-writes-JYMQF6CK.js +176 -0
  35. package/dist/campaign-writes-SZX7DHNE.js +168 -0
  36. package/dist/campaigns-6NWQZXBM.js +113 -0
  37. package/dist/campaigns-DIP7NUSQ.js +111 -0
  38. package/dist/campaigns-TMHFCPAZ.js +78 -0
  39. package/dist/canvas-JP5EFSGB.js +46 -0
  40. package/dist/capabilities-2SLWTKI5.js +147 -0
  41. package/dist/catalog-2P422WOQ.js +66 -0
  42. package/dist/catalogs-XFYYY3CS.js +130 -0
  43. package/dist/changes-GFJITHF6.js +167 -0
  44. package/dist/chatgpt-KNLATOZ6.js +47 -0
  45. package/dist/chats-FID6CLCA.js +589 -0
  46. package/dist/check-M337BOPG.js +107 -0
  47. package/dist/chunk-2QAYZXPI.js +494 -0
  48. package/dist/chunk-37QNC344.js +843 -0
  49. package/dist/chunk-3WLUQ7DM.js +757 -0
  50. package/dist/chunk-3XGZFZVD.js +454 -0
  51. package/dist/chunk-4DHHMWP4.js +24026 -0
  52. package/dist/chunk-4DHHMWP4.js.map +1 -0
  53. package/dist/chunk-4GRVNPHA.js +274 -0
  54. package/dist/chunk-4HQR2O2K.js +479 -0
  55. package/dist/chunk-6CRNIIYN.js +604 -0
  56. package/dist/chunk-6LDG4LFO.js +455 -0
  57. package/dist/chunk-6LLA6IF6.js +285 -0
  58. package/dist/chunk-6PJGHPXG.js +131 -0
  59. package/dist/chunk-73NWLLZ3.js +8998 -0
  60. package/dist/chunk-73NWLLZ3.js.map +1 -0
  61. package/dist/chunk-7CVBEA7J.js +61 -0
  62. package/dist/chunk-7HZTVVO7.js +504 -0
  63. package/dist/chunk-7LFOSBF4.js +3510 -0
  64. package/dist/chunk-A7ICTIR5.js +51 -0
  65. package/dist/chunk-AUFQAR3V.js +220 -0
  66. package/dist/chunk-AYOTYURE.js +1518 -0
  67. package/dist/chunk-B2S5TT4L.js +547 -0
  68. package/dist/chunk-BMMXYR7A.js +238 -0
  69. package/dist/chunk-BNEWJXKU.js +638 -0
  70. package/dist/chunk-BS4VGXTM.js +19 -0
  71. package/dist/chunk-BUNG52KH.js +432 -0
  72. package/dist/chunk-BYV4VS5E.js +5471 -0
  73. package/dist/chunk-DCBCEYSH.js +98 -0
  74. package/dist/chunk-DWJV6IOW.js +224 -0
  75. package/dist/chunk-DZIP5OQX.js +142 -0
  76. package/dist/chunk-E7LNNUKD.js +23 -0
  77. package/dist/chunk-FTP6NDOU.js +1320 -0
  78. package/dist/chunk-FZQU47P4.js +163 -0
  79. package/dist/chunk-G624WZD6.js +66 -0
  80. package/dist/chunk-GBXTEXVK.js +297 -0
  81. package/dist/chunk-HFQSTIM5.js +344 -0
  82. package/dist/chunk-IGCS3X4F.js +150 -0
  83. package/dist/chunk-IPDDXD5K.js +8141 -0
  84. package/dist/chunk-IPDDXD5K.js.map +1 -0
  85. package/dist/chunk-IQ2V4ENC.js +91 -0
  86. package/dist/chunk-JAC6JVCI.js +26 -0
  87. package/dist/chunk-JMTCCPK6.js +930 -0
  88. package/dist/chunk-JTYD7A3C.js +225 -0
  89. package/dist/chunk-L3MNDL6D.js +392 -0
  90. package/dist/chunk-LJ4AMUHS.js +309 -0
  91. package/dist/chunk-LRIP2J5S.js +5368 -0
  92. package/dist/chunk-M7BSXJNL.js +167 -0
  93. package/dist/chunk-MCJ5I5LR.js +3187 -0
  94. package/dist/chunk-MCJ5I5LR.js.map +1 -0
  95. package/dist/chunk-MI327KRO.js +399 -0
  96. package/dist/chunk-MJCOTA6T.js +312 -0
  97. package/dist/chunk-MQU4LNYG.js +46 -0
  98. package/dist/chunk-MZPS46OR.js +76 -0
  99. package/dist/chunk-N24ZFIEW.js +169 -0
  100. package/dist/chunk-N6OIIBTB.js +170 -0
  101. package/dist/chunk-NEALLMDP.js +1919 -0
  102. package/dist/chunk-NGHOYXJD.js +962 -0
  103. package/dist/chunk-NPAXHLAP.js +351 -0
  104. package/dist/chunk-OG76GZU3.js +78 -0
  105. package/dist/chunk-OU542F66.js +819 -0
  106. package/dist/chunk-OWO3CB6D.js +103 -0
  107. package/dist/chunk-OXH63BGJ.js +57 -0
  108. package/dist/chunk-Q45FEJZ6.js +249 -0
  109. package/dist/chunk-QENSBNRJ.js +1258 -0
  110. package/dist/chunk-QKGIXXXB.js +89 -0
  111. package/dist/chunk-SR65SC66.js +91 -0
  112. package/dist/chunk-T5TJJJGI.js +156 -0
  113. package/dist/chunk-TQIEDVJB.js +218 -0
  114. package/dist/chunk-UWWL7QIQ.js +197 -0
  115. package/dist/chunk-WPBXN37A.js +2234 -0
  116. package/dist/chunk-XHWHBGKX.js +4277 -0
  117. package/dist/chunk-XHWHBGKX.js.map +1 -0
  118. package/dist/chunk-XQNWHPRV.js +685 -0
  119. package/dist/chunk-XWWX3WFJ.js +259 -0
  120. package/dist/chunk-Y25W6RSY.js +203 -0
  121. package/dist/chunk-YP5SD6O2.js +148 -0
  122. package/dist/chunk-Z3KRNKEA.js +64 -0
  123. package/dist/chunk-ZWFYBQ7N.js +1920 -0
  124. package/dist/claim-DXDA6XRM.js +200 -0
  125. package/dist/cli.js +32 -32
  126. package/dist/companies-UNAN4THP.js +34 -0
  127. package/dist/company-ALE2HVTA.js +308 -0
  128. package/dist/complete-GZC6MQD2.js +84 -0
  129. package/dist/connect-664TAEG6.js +45 -0
  130. package/dist/conversation-AYXZYWMG.js +96 -0
  131. package/dist/conversion-report-6SVHPLHT.js +127 -0
  132. package/dist/conversion-upload-command-J3STKMAL.js +439 -0
  133. package/dist/conversion-writes-PEKNBIDQ.js +122 -0
  134. package/dist/conversions-ICSKSSLX.js +78 -0
  135. package/dist/conversions-SHKCWNNC.js +140 -0
  136. package/dist/create-2FCQZ7PD.js +239 -0
  137. package/dist/create-42TY74QW.js +62 -0
  138. package/dist/create-7EJEY5EK.js +135 -0
  139. package/dist/create-SKI4H2XI.js +218 -0
  140. package/dist/creatives-OBKNNJAI.js +229 -0
  141. package/dist/creatives-QNPP5S4Q.js +58 -0
  142. package/dist/credentials-BCMMD3XG.js +290 -0
  143. package/dist/critique-KSQKDC7Y.js +232 -0
  144. package/dist/critique-NWZIHUBH.js +1451 -0
  145. package/dist/crm-ANNNZDM5.js +323 -0
  146. package/dist/crm-NP5LXKMN.js +313 -0
  147. package/dist/currency-YZBACARU.js +88 -0
  148. package/dist/customers-IUS7M6PJ.js +65 -0
  149. package/dist/delete-NBHAHWZ7.js +57 -0
  150. package/dist/delete-OJPKAYMV.js +69 -0
  151. package/dist/delete-Y75QNAE4.js +67 -0
  152. package/dist/demographics-HDUPFELB.js +141 -0
  153. package/dist/discard-32HKP4BV.js +69 -0
  154. package/dist/discover-RKW25QME.js +172 -0
  155. package/dist/domain-ODCRVC6V.js +101 -0
  156. package/dist/download-75W2T7R7.js +172 -0
  157. package/dist/draft-3KPRQ3YL.js +374 -0
  158. package/dist/draft-EHDIVMWL.js +615 -0
  159. package/dist/draft-VJPB5MFJ.js +332 -0
  160. package/dist/draft-X6Y62O3Y.js +220 -0
  161. package/dist/draft-ZDS6KFZ3.js +315 -0
  162. package/dist/engine/index.js +8 -8
  163. package/dist/experiments-GECLY35Q.js +236 -0
  164. package/dist/extract-KYD4M3XU.js +143 -0
  165. package/dist/facets-CA7J44EY.js +117 -0
  166. package/dist/feedback-FB2QIIRX.js +115 -0
  167. package/dist/feedback-P36JL2MA.js +114 -0
  168. package/dist/feedback-record-O4KVZAOF.js +269 -0
  169. package/dist/fetch-Z42TLLI4.js +204 -0
  170. package/dist/fit-ANYF4UJ2.js +65 -0
  171. package/dist/flows-3KUFFMLO.js +340 -0
  172. package/dist/fonts-TAJRK4HZ.js +39 -0
  173. package/dist/forecast-327XLLZ3.js +169 -0
  174. package/dist/forecast-FIYKBAEW.js +121 -0
  175. package/dist/funnel-OGQVXGM7.js +397 -0
  176. package/dist/generate-GBFLO76C.js +263 -0
  177. package/dist/get-LM4KTWKF.js +82 -0
  178. package/dist/get-OSBYMC2N.js +62 -0
  179. package/dist/google-FMGXNCW3.js +3300 -0
  180. package/dist/google-RHPQWNMK.js +163 -0
  181. package/dist/google-ads-EHJBMUJ4.js +198 -0
  182. package/dist/history-6X3VIQP3.js +102 -0
  183. package/dist/history-CDHA25XG.js +153 -0
  184. package/dist/history-K4VYVCZC.js +69 -0
  185. package/dist/hubspot-7E6EAUIV.js +817 -0
  186. package/dist/ideas-3UNEUSMO.js +45 -0
  187. package/dist/images-7KJX5JFY.js +92 -0
  188. package/dist/ingest-4Y35DBZV.js +28 -0
  189. package/dist/ingest-LGZ3R4OI.js +131 -0
  190. package/dist/insights-RHOCF7VR.js +132 -0
  191. package/dist/inspect-WYOMSTBG.js +192 -0
  192. package/dist/intent-TKFH57DZ.js +95 -0
  193. package/dist/keyword-gap-7I2CIUTK.js +130 -0
  194. package/dist/keyword-metrics-35TFEXA5.js +200 -0
  195. package/dist/keywords-for-site-IMHNWTTB.js +131 -0
  196. package/dist/landing-RKUGZ3LB.js +28 -0
  197. package/dist/languages-FMHPUVOL.js +40 -0
  198. package/dist/leads-C46ZXIXF.js +115 -0
  199. package/dist/learn-WDPCW5ZD.js +207 -0
  200. package/dist/line-item-writes-IZKFY3GR.js +211 -0
  201. package/dist/line-items-CBVRZ43V.js +107 -0
  202. package/dist/link-GEPIZSVI.js +67 -0
  203. package/dist/linkedin-FHEYMG4M.js +1381 -0
  204. package/dist/linkedin-person-2M3WBL66.js +139 -0
  205. package/dist/list-APJDJZL7.js +154 -0
  206. package/dist/list-CLJN4YN5.js +67 -0
  207. package/dist/list-LE6DJG44.js +306 -0
  208. package/dist/locations-DD3JRZ4C.js +69 -0
  209. package/dist/locations-HWMEJ64P.js +40 -0
  210. package/dist/log-FC2GLXIK.js +95 -0
  211. package/dist/make-4IIUKMLK.js +1367 -0
  212. package/dist/map-DGS5KKDJ.js +445 -0
  213. package/dist/mcp-IRG5E6U3.js +729 -0
  214. package/dist/media-sources-SXUKFPBW.js +35 -0
  215. package/dist/members-TNY3CQSI.js +47 -0
  216. package/dist/metrics-KXTFXSWK.js +152 -0
  217. package/dist/models-2ZEM64H5.js +155 -0
  218. package/dist/normalize-74VF6BZV.js +144 -0
  219. package/dist/options-LNJH5LJR.js +125 -0
  220. package/dist/organization-DHYTS3KH.js +949 -0
  221. package/dist/people-R3YTQXYH.js +164 -0
  222. package/dist/people-U6EP77HS.js +171 -0
  223. package/dist/performance-AZGVR3IG.js +27 -0
  224. package/dist/performance-LYBUVYLQ.js +5565 -0
  225. package/dist/pixels-3CINROKJ.js +62 -0
  226. package/dist/preview-3OGMMUT4.js +101 -0
  227. package/dist/promoted-tweet-writes-EPNO2VUY.js +183 -0
  228. package/dist/promoted-tweets-UNG4FV3M.js +119 -0
  229. package/dist/publish-YHU5K76M.js +350 -0
  230. package/dist/query-NYH5PMQF.js +62 -0
  231. package/dist/reddit-BYHNEZWI.js +29 -0
  232. package/dist/refresh-3L4DCDVG.js +97 -0
  233. package/dist/release-LIDQL3KW.js +63 -0
  234. package/dist/relevant-pages-QIF35NBQ.js +99 -0
  235. package/dist/remove-RZSRYB4K.js +53 -0
  236. package/dist/reopen-C2SDKYRQ.js +66 -0
  237. package/dist/rerun-5JHAKEXF.js +97 -0
  238. package/dist/research-BNUMVIBI.js +265 -0
  239. package/dist/research-JQGHHTHS.js +78 -0
  240. package/dist/reset-FZ475DZK.js +57 -0
  241. package/dist/reset-MES3UU3L.js +57 -0
  242. package/dist/resolve-3EJ2ZI64.js +124 -0
  243. package/dist/retry-IMGUCVDF.js +63 -0
  244. package/dist/retry-OFFHBZG2.js +65 -0
  245. package/dist/revenue-IACHOM7M.js +91 -0
  246. package/dist/rules-C72VPDXE.js +99 -0
  247. package/dist/rules-add-A3PKTQNR.js +465 -0
  248. package/dist/run-XVULTREI.js +72 -0
  249. package/dist/run-XYRUAAJH.js +69 -0
  250. package/dist/scaffold-ad-Y4FKVKVJ.js +1513 -0
  251. package/dist/scaffold-static-ad-TVMEGBHZ.js +1012 -0
  252. package/dist/scaffold-video-JYUGPW2L.js +885 -0
  253. package/dist/schedule-NMMJZXZH.js +64 -0
  254. package/dist/scheduled-agents-NFVSFOPB.js +56 -0
  255. package/dist/schema-MIWJBYFP.js +135 -0
  256. package/dist/search-B3EI65TS.js +177 -0
  257. package/dist/select-UH73L657.js +110 -0
  258. package/dist/set-prompt-Y3IPUFUH.js +199 -0
  259. package/dist/setup-links-2Y3A676T.js +144 -0
  260. package/dist/shopify-5LZ5IWSB.js +4009 -0
  261. package/dist/site-GXH6QLNZ.js +180 -0
  262. package/dist/sources-7VWSZZHQ.js +30 -0
  263. package/dist/sources-KYAVCA5P.js +457 -0
  264. package/dist/stale-TDAEKOJB.js +90 -0
  265. package/dist/status-II4PTBUU.js +65 -0
  266. package/dist/stock-WZN53KCQ.js +212 -0
  267. package/dist/studio-TG2UAKFI.js +49 -0
  268. package/dist/sync-OSHJH7TD.js +57 -0
  269. package/dist/sync-definition-AP6CA6BU.js +70 -0
  270. package/dist/tags-36OYKBFE.js +227 -0
  271. package/dist/tags-3K6QGK5B.js +26 -0
  272. package/dist/tags-53FUK4HL.js +23 -0
  273. package/dist/tags-B3Z3OQ6G.js +23 -0
  274. package/dist/tags-DXKEOOGL.js +23 -0
  275. package/dist/targeting-criteria-UFE3MLWR.js +113 -0
  276. package/dist/targets-JSBKVSRO.js +106 -0
  277. package/dist/testimonials-6KYRLQVP.js +32 -0
  278. package/dist/themes-7XHHY4XY.js +95 -0
  279. package/dist/top-companies-W3GBGJGL.js +246 -0
  280. package/dist/transcript-VTVLH4VV.js +165 -0
  281. package/dist/translate-TIFUZLPE.js +603 -0
  282. package/dist/triggers-ULFGRFHQ.js +144 -0
  283. package/dist/unlink-FGUCQNNF.js +70 -0
  284. package/dist/unstage-UHKSQUPR.js +88 -0
  285. package/dist/update-CF6437MN.js +192 -0
  286. package/dist/update-G2IRXCSJ.js +66 -0
  287. package/dist/update-KO5VEPRN.js +101 -0
  288. package/dist/update-OQUIUKSX.js +155 -0
  289. package/dist/upload-GD552SG7.js +137 -0
  290. package/dist/url-options-RTTLWCU5.js +131 -0
  291. package/dist/url-params-ZFX3EBLE.js +101 -0
  292. package/dist/validate-BBXOFK4S.js +135 -0
  293. package/dist/videos-OA3PSDF6.js +41 -0
  294. package/dist/viewer-check-OIORNTQG.js +83 -0
  295. package/dist/web-RKEKSDU3.js +173 -0
  296. package/dist/winning-ads-CJQEQ6JQ.js +86 -0
  297. package/dist/write-commands-CPAOTG6H.js +1524 -0
  298. package/dist/x-PF3FDWKU.js +47 -0
  299. package/package.json +1 -1
  300. package/dist/account-MDLPCIDQ.js +0 -82
  301. package/dist/account-VRXCDDXY.js +0 -82
  302. package/dist/account-reads-FSOURMSH.js +0 -219
  303. package/dist/account-users-FXOWESWY.js +0 -64
  304. package/dist/account-writes-SRTOKSMT.js +0 -68
  305. package/dist/accounts-5YJZVSTB.js +0 -498
  306. package/dist/accounts-AT2UB2L3.js +0 -80
  307. package/dist/accounts-NR3ARJ72.js +0 -119
  308. package/dist/actions-766X6XRB.js +0 -55
  309. package/dist/activecampaign-MC4FYCCF.js +0 -938
  310. package/dist/ad-group-writes-UFBFB2PL.js +0 -172
  311. package/dist/ad-groups-KRKMZPF3.js +0 -70
  312. package/dist/ad-writes-SIAGGUDJ.js +0 -176
  313. package/dist/add-DWKVVW76.js +0 -305
  314. package/dist/add-MYX3BSUJ.js +0 -107
  315. package/dist/ads-3T4C4BBH.js +0 -79
  316. package/dist/ads-UGMHE33I.js +0 -48
  317. package/dist/advertisers-UFOLIRIK.js +0 -123
  318. package/dist/alerts-2GMBX6JV.js +0 -151
  319. package/dist/analytics-3EWNAHNG.js +0 -2397
  320. package/dist/analytics-G4WFP37R.js +0 -447
  321. package/dist/animate-PSOAMA52.js +0 -480
  322. package/dist/assign-5FALEZYD.js +0 -80
  323. package/dist/audience-size-VRYRLPO5.js +0 -76
  324. package/dist/audiences-EH426E3T.js +0 -280
  325. package/dist/audit-WHIVWMAI.js +0 -154
  326. package/dist/autocomplete-3HCLXTGK.js +0 -114
  327. package/dist/avatars-HN74FWDF.js +0 -38
  328. package/dist/bid-pricing-NN5JKZS4.js +0 -103
  329. package/dist/brand-MWU5IVEZ.js +0 -22
  330. package/dist/brief-6TXWQWHJ.js +0 -543
  331. package/dist/campaign-groups-MGEKCP7J.js +0 -99
  332. package/dist/campaign-writes-ORUT54WL.js +0 -168
  333. package/dist/campaign-writes-Z7B6V6Q3.js +0 -176
  334. package/dist/campaigns-3BDIHUSW.js +0 -78
  335. package/dist/campaigns-E7YC762Q.js +0 -111
  336. package/dist/campaigns-WLOJFSLV.js +0 -113
  337. package/dist/canvas-SEVIQRXN.js +0 -46
  338. package/dist/capabilities-KWJYBYQO.js +0 -147
  339. package/dist/catalog-DHTZDVWS.js +0 -66
  340. package/dist/catalogs-R4QFA5XO.js +0 -130
  341. package/dist/changes-F2GP72MO.js +0 -167
  342. package/dist/chatgpt-MN4XHO6L.js +0 -47
  343. package/dist/chats-IBMO724I.js +0 -589
  344. package/dist/check-EZI4OF3Q.js +0 -107
  345. package/dist/chunk-2CSNR4U7.js +0 -8954
  346. package/dist/chunk-2CSNR4U7.js.map +0 -1
  347. package/dist/chunk-2VUD4CIW.js +0 -64
  348. package/dist/chunk-423G75A7.js +0 -494
  349. package/dist/chunk-4ZAHRAWL.js +0 -454
  350. package/dist/chunk-5WOZ7OGU.js +0 -1919
  351. package/dist/chunk-66LUQENO.js +0 -197
  352. package/dist/chunk-6J2UZJ6F.js +0 -962
  353. package/dist/chunk-6OIKNJ7G.js +0 -26
  354. package/dist/chunk-7EPR7L2D.js +0 -203
  355. package/dist/chunk-AFWLBOIN.js +0 -757
  356. package/dist/chunk-ALCRXFIZ.js +0 -351
  357. package/dist/chunk-BJH2G3QF.js +0 -312
  358. package/dist/chunk-BTOGDXA4.js +0 -8141
  359. package/dist/chunk-BTOGDXA4.js.map +0 -1
  360. package/dist/chunk-BZXIDMV7.js +0 -91
  361. package/dist/chunk-C57NXUM2.js +0 -24026
  362. package/dist/chunk-C57NXUM2.js.map +0 -1
  363. package/dist/chunk-CNZ5KS4I.js +0 -344
  364. package/dist/chunk-D32EWSMB.js +0 -150
  365. package/dist/chunk-DAXBST7G.js +0 -51
  366. package/dist/chunk-DD6X3AZB.js +0 -1258
  367. package/dist/chunk-DI7M2JUA.js +0 -167
  368. package/dist/chunk-EA3643ET.js +0 -392
  369. package/dist/chunk-EBFKPGTL.js +0 -220
  370. package/dist/chunk-ETHUDFUY.js +0 -169
  371. package/dist/chunk-EZ3YSJTP.js +0 -685
  372. package/dist/chunk-F3CZFUXZ.js +0 -3187
  373. package/dist/chunk-F3CZFUXZ.js.map +0 -1
  374. package/dist/chunk-G6CLJ3WL.js +0 -3510
  375. package/dist/chunk-GLY3CB2F.js +0 -78
  376. package/dist/chunk-HXHGDFXA.js +0 -103
  377. package/dist/chunk-IEUF733F.js +0 -5471
  378. package/dist/chunk-IEX4RRHJ.js +0 -163
  379. package/dist/chunk-IMS53EQU.js +0 -4277
  380. package/dist/chunk-IMS53EQU.js.map +0 -1
  381. package/dist/chunk-IR2NRXHA.js +0 -309
  382. package/dist/chunk-J7L457MF.js +0 -1518
  383. package/dist/chunk-JFWTQDZL.js +0 -604
  384. package/dist/chunk-JGMQD3PX.js +0 -274
  385. package/dist/chunk-JTAPNHW5.js +0 -98
  386. package/dist/chunk-K2DKQ52D.js +0 -89
  387. package/dist/chunk-K3VMHRLJ.js +0 -61
  388. package/dist/chunk-LBPJDFFN.js +0 -19
  389. package/dist/chunk-LNRYMWXE.js +0 -930
  390. package/dist/chunk-LQRPFL2N.js +0 -218
  391. package/dist/chunk-LY7PDE76.js +0 -285
  392. package/dist/chunk-NOCBNING.js +0 -638
  393. package/dist/chunk-PEPLYJWK.js +0 -91
  394. package/dist/chunk-PK2U2ALQ.js +0 -57
  395. package/dist/chunk-PKSIPLMS.js +0 -399
  396. package/dist/chunk-QNY4IK3C.js +0 -297
  397. package/dist/chunk-QORVZUMT.js +0 -2234
  398. package/dist/chunk-RDIZCSTV.js +0 -156
  399. package/dist/chunk-RQ43VL2X.js +0 -148
  400. package/dist/chunk-S4QGD7PV.js +0 -170
  401. package/dist/chunk-S7WFZYKP.js +0 -46
  402. package/dist/chunk-SIKCVWM3.js +0 -76
  403. package/dist/chunk-SRMQCQ7T.js +0 -142
  404. package/dist/chunk-SZFWQVAC.js +0 -819
  405. package/dist/chunk-TBBAHTP3.js +0 -1320
  406. package/dist/chunk-U6EQMX3B.js +0 -131
  407. package/dist/chunk-UECTXVAO.js +0 -479
  408. package/dist/chunk-UQTINFCP.js +0 -455
  409. package/dist/chunk-UUUYWBTR.js +0 -225
  410. package/dist/chunk-UZ5ZC43B.js +0 -259
  411. package/dist/chunk-VSHXHSIW.js +0 -249
  412. package/dist/chunk-VTLW24DM.js +0 -23
  413. package/dist/chunk-WZXMZFVB.js +0 -238
  414. package/dist/chunk-X7NRAGJ5.js +0 -504
  415. package/dist/chunk-XYHAIEAF.js +0 -5368
  416. package/dist/chunk-XZJK2QB3.js +0 -1920
  417. package/dist/chunk-YLHWZOW7.js +0 -224
  418. package/dist/chunk-YNWBIAXJ.js +0 -843
  419. package/dist/chunk-YYYGUO2E.js +0 -66
  420. package/dist/chunk-ZAQQBVEM.js +0 -432
  421. package/dist/chunk-ZHQSXEJ2.js +0 -547
  422. package/dist/claim-JQCSXR4C.js +0 -200
  423. package/dist/companies-GHBIZKOK.js +0 -34
  424. package/dist/company-KNCYMQIA.js +0 -308
  425. package/dist/complete-V53XRNEQ.js +0 -84
  426. package/dist/connect-NUZQSIGL.js +0 -45
  427. package/dist/conversation-LBYO6ONM.js +0 -96
  428. package/dist/conversion-report-SRHJGIMT.js +0 -127
  429. package/dist/conversion-upload-command-5EKILBP2.js +0 -439
  430. package/dist/conversion-writes-P5FDTA6Y.js +0 -122
  431. package/dist/conversions-BXCGFNRK.js +0 -140
  432. package/dist/conversions-WJBOEPOO.js +0 -78
  433. package/dist/create-3PNWKXLP.js +0 -239
  434. package/dist/create-6FZR7JZT.js +0 -135
  435. package/dist/create-QXJ3UEOT.js +0 -218
  436. package/dist/create-XO7HUNPB.js +0 -62
  437. package/dist/creatives-O6TA2DOG.js +0 -58
  438. package/dist/creatives-YRYPXOCS.js +0 -229
  439. package/dist/credentials-ATAP54ZI.js +0 -290
  440. package/dist/critique-3UY7TUVQ.js +0 -232
  441. package/dist/critique-UC6SBKGO.js +0 -1451
  442. package/dist/crm-AXK74BCO.js +0 -313
  443. package/dist/crm-MGVGQ7PK.js +0 -323
  444. package/dist/currency-335ARWP5.js +0 -88
  445. package/dist/customers-7NBNJCDC.js +0 -65
  446. package/dist/delete-EKGTJSLK.js +0 -69
  447. package/dist/delete-OFG7FBMA.js +0 -57
  448. package/dist/delete-QQDGR7DD.js +0 -67
  449. package/dist/demographics-QWFAMEC2.js +0 -141
  450. package/dist/discard-4VW3AWI3.js +0 -69
  451. package/dist/discover-O6322XPL.js +0 -172
  452. package/dist/domain-EDPDUVAX.js +0 -101
  453. package/dist/download-46GLVBYU.js +0 -172
  454. package/dist/draft-IBR2W6GZ.js +0 -332
  455. package/dist/draft-NCUQFRGS.js +0 -315
  456. package/dist/draft-RRUJU2ZR.js +0 -220
  457. package/dist/draft-SLGJRUOV.js +0 -615
  458. package/dist/draft-TJAD7P6W.js +0 -374
  459. package/dist/experiments-DUVO7C7A.js +0 -236
  460. package/dist/extract-WYNFE6TQ.js +0 -143
  461. package/dist/facets-WTY6NOUV.js +0 -117
  462. package/dist/feedback-57BP27NA.js +0 -115
  463. package/dist/feedback-XDREGDOK.js +0 -114
  464. package/dist/feedback-record-HXSBLAZD.js +0 -269
  465. package/dist/fetch-L27MLPXM.js +0 -204
  466. package/dist/fit-K3G7HIMK.js +0 -65
  467. package/dist/flows-VJTWU3SU.js +0 -340
  468. package/dist/fonts-SEMIVGXJ.js +0 -39
  469. package/dist/forecast-EHOMHLUH.js +0 -169
  470. package/dist/forecast-VODA7N3G.js +0 -121
  471. package/dist/funnel-BXJDMVMF.js +0 -397
  472. package/dist/generate-VCGSO7HI.js +0 -263
  473. package/dist/get-EASXXOQR.js +0 -62
  474. package/dist/get-EN4UQI7R.js +0 -82
  475. package/dist/google-ATEQHENA.js +0 -163
  476. package/dist/google-ZVVKAI7T.js +0 -3300
  477. package/dist/google-ads-OUNSPGRQ.js +0 -198
  478. package/dist/history-5OJVW2ZF.js +0 -153
  479. package/dist/history-RQMCZQSC.js +0 -69
  480. package/dist/history-TDGBO76N.js +0 -102
  481. package/dist/hubspot-VQGONQQU.js +0 -817
  482. package/dist/ideas-B7RQXWHQ.js +0 -45
  483. package/dist/images-Q45MP4Q2.js +0 -92
  484. package/dist/ingest-6MMY4KDM.js +0 -131
  485. package/dist/ingest-UMQQIINM.js +0 -28
  486. package/dist/insights-WDHDMULM.js +0 -132
  487. package/dist/inspect-W2BIGA5F.js +0 -192
  488. package/dist/intent-3S6SHAYC.js +0 -95
  489. package/dist/keyword-gap-MGHKWE6A.js +0 -130
  490. package/dist/keyword-metrics-6R5TSHCE.js +0 -200
  491. package/dist/keywords-for-site-EFBLFX6E.js +0 -131
  492. package/dist/landing-WC5FX3UP.js +0 -28
  493. package/dist/languages-4J7JHZNB.js +0 -40
  494. package/dist/leads-CBOQ5CNM.js +0 -115
  495. package/dist/learn-ZUP35H3T.js +0 -207
  496. package/dist/line-item-writes-W4UFIYEA.js +0 -211
  497. package/dist/line-items-SGCUJF3S.js +0 -107
  498. package/dist/link-KLJB7COB.js +0 -67
  499. package/dist/linkedin-TANR45ZZ.js +0 -1381
  500. package/dist/linkedin-person-ECWP4XPE.js +0 -139
  501. package/dist/list-PXEJMDB4.js +0 -67
  502. package/dist/list-SVR5HBLA.js +0 -306
  503. package/dist/list-XELB7UV2.js +0 -154
  504. package/dist/locations-KM4XY56A.js +0 -40
  505. package/dist/locations-SNK2NDH3.js +0 -69
  506. package/dist/log-PMPOO42C.js +0 -95
  507. package/dist/make-Q36WVKT3.js +0 -1367
  508. package/dist/map-DQ65PS65.js +0 -445
  509. package/dist/mcp-XMFKYN3E.js +0 -729
  510. package/dist/media-sources-HG524YO4.js +0 -35
  511. package/dist/members-D4DI2IFH.js +0 -47
  512. package/dist/metrics-QVDXMTEI.js +0 -152
  513. package/dist/models-VOSJJFO2.js +0 -155
  514. package/dist/normalize-XRVNJTML.js +0 -144
  515. package/dist/options-HT27WLNS.js +0 -125
  516. package/dist/organization-DYPTFZBA.js +0 -949
  517. package/dist/people-5MJXHC3D.js +0 -171
  518. package/dist/people-TTUIYT3L.js +0 -164
  519. package/dist/performance-2AQ34OPB.js +0 -27
  520. package/dist/performance-WE4LHJ2B.js +0 -5565
  521. package/dist/pixels-EWFDIDFA.js +0 -62
  522. package/dist/preview-JYVRWRTT.js +0 -101
  523. package/dist/promoted-tweet-writes-HCVRPH45.js +0 -183
  524. package/dist/promoted-tweets-P56ZU6OK.js +0 -119
  525. package/dist/publish-4VWZHRYO.js +0 -350
  526. package/dist/query-DK7WWCJJ.js +0 -62
  527. package/dist/reddit-NSKYHSAC.js +0 -29
  528. package/dist/refresh-O3CLJX4O.js +0 -97
  529. package/dist/release-6TQQW4HB.js +0 -63
  530. package/dist/relevant-pages-B3ZFOGHQ.js +0 -99
  531. package/dist/remove-R55VAM47.js +0 -53
  532. package/dist/reopen-S426N3OD.js +0 -66
  533. package/dist/rerun-5KHANQR3.js +0 -97
  534. package/dist/research-5REXCSSO.js +0 -265
  535. package/dist/research-DMZLXMM2.js +0 -78
  536. package/dist/reset-5N2IVHFL.js +0 -57
  537. package/dist/reset-D4NGVG35.js +0 -57
  538. package/dist/resolve-V75JGD75.js +0 -124
  539. package/dist/retry-SB7EIJBA.js +0 -65
  540. package/dist/retry-WIKW6CGT.js +0 -63
  541. package/dist/revenue-GZJU3XMD.js +0 -91
  542. package/dist/rules-WI6YKZA4.js +0 -99
  543. package/dist/rules-add-JCRB4AJR.js +0 -465
  544. package/dist/run-RDHTORWZ.js +0 -69
  545. package/dist/run-VVK23U5P.js +0 -72
  546. package/dist/scaffold-ad-QSVBY3XR.js +0 -1513
  547. package/dist/scaffold-static-ad-64BZMUHP.js +0 -1012
  548. package/dist/scaffold-video-X27MRW7R.js +0 -885
  549. package/dist/schedule-XHPIVUJ6.js +0 -64
  550. package/dist/scheduled-agents-OMUQCGDG.js +0 -56
  551. package/dist/schema-RDVJQ5VW.js +0 -135
  552. package/dist/search-VX5ATSCD.js +0 -177
  553. package/dist/select-NX3VHQTH.js +0 -110
  554. package/dist/set-prompt-QGEWZ3HD.js +0 -199
  555. package/dist/setup-links-LIDZVTSU.js +0 -144
  556. package/dist/shopify-LZU3MCDG.js +0 -4009
  557. package/dist/site-CEO2V3BI.js +0 -180
  558. package/dist/sources-C7AQCP2Z.js +0 -30
  559. package/dist/sources-SIGZVORA.js +0 -457
  560. package/dist/stale-BOUBKOAA.js +0 -90
  561. package/dist/status-NIG6OSAG.js +0 -65
  562. package/dist/stock-KY6BCN76.js +0 -212
  563. package/dist/studio-VQFYNK5O.js +0 -49
  564. package/dist/sync-3RS5E5ZI.js +0 -57
  565. package/dist/sync-definition-VHYZWLS5.js +0 -70
  566. package/dist/tags-F6DBHGIL.js +0 -26
  567. package/dist/tags-HGKEOIR7.js +0 -23
  568. package/dist/tags-I2LINXA7.js +0 -23
  569. package/dist/tags-UM6Y4DVQ.js +0 -227
  570. package/dist/tags-YCBZVXJQ.js +0 -23
  571. package/dist/targeting-criteria-XPK76HRH.js +0 -113
  572. package/dist/targets-KT4BNTKZ.js +0 -106
  573. package/dist/testimonials-QGXMSSWV.js +0 -32
  574. package/dist/themes-ZKUHKUZD.js +0 -95
  575. package/dist/top-companies-RC5KTWQ5.js +0 -246
  576. package/dist/transcript-OLF62WCH.js +0 -165
  577. package/dist/translate-NON5ZD3S.js +0 -603
  578. package/dist/triggers-UOQY4RFC.js +0 -144
  579. package/dist/unlink-RNIJPHHW.js +0 -70
  580. package/dist/unstage-QVDYVN77.js +0 -88
  581. package/dist/update-7KR5ABJP.js +0 -66
  582. package/dist/update-JAUWIWOH.js +0 -192
  583. package/dist/update-QZEF5MUW.js +0 -101
  584. package/dist/update-TRWHYXF4.js +0 -155
  585. package/dist/upload-MLK2MZB6.js +0 -137
  586. package/dist/url-options-2FVG55JF.js +0 -131
  587. package/dist/url-params-F4XNWPOD.js +0 -101
  588. package/dist/validate-P3AQVXG6.js +0 -135
  589. package/dist/videos-PAKAAFRD.js +0 -41
  590. package/dist/viewer-check-KXMDJH7R.js +0 -83
  591. package/dist/web-E5NHFG4Y.js +0 -173
  592. package/dist/winning-ads-P6PDTCCU.js +0 -86
  593. package/dist/write-commands-MBNO7DCX.js +0 -1524
  594. package/dist/x-5A74OD5P.js +0 -47
  595. /package/dist/{account-MDLPCIDQ.js.map → account-H44DUS4O.js.map} +0 -0
  596. /package/dist/{account-VRXCDDXY.js.map → account-WFAMHUCQ.js.map} +0 -0
  597. /package/dist/{account-reads-FSOURMSH.js.map → account-reads-JPQ2K343.js.map} +0 -0
  598. /package/dist/{account-users-FXOWESWY.js.map → account-users-R3CIZPV5.js.map} +0 -0
  599. /package/dist/{account-writes-SRTOKSMT.js.map → account-writes-EEKHPF5I.js.map} +0 -0
  600. /package/dist/{accounts-5YJZVSTB.js.map → accounts-GGP5J2FI.js.map} +0 -0
  601. /package/dist/{accounts-NR3ARJ72.js.map → accounts-H3KO5AEN.js.map} +0 -0
  602. /package/dist/{accounts-AT2UB2L3.js.map → accounts-K5IASJQV.js.map} +0 -0
  603. /package/dist/{actions-766X6XRB.js.map → actions-JXDJOGSY.js.map} +0 -0
  604. /package/dist/{activecampaign-MC4FYCCF.js.map → activecampaign-LXLAD2PF.js.map} +0 -0
  605. /package/dist/{ad-group-writes-UFBFB2PL.js.map → ad-group-writes-UDQ4563V.js.map} +0 -0
  606. /package/dist/{ad-groups-KRKMZPF3.js.map → ad-groups-RXT2XKSE.js.map} +0 -0
  607. /package/dist/{ad-writes-SIAGGUDJ.js.map → ad-writes-SHLTL2FY.js.map} +0 -0
  608. /package/dist/{add-DWKVVW76.js.map → add-DJQ5B245.js.map} +0 -0
  609. /package/dist/{add-MYX3BSUJ.js.map → add-MPXVC7L3.js.map} +0 -0
  610. /package/dist/{ads-UGMHE33I.js.map → ads-2TUJH4L3.js.map} +0 -0
  611. /package/dist/{ads-3T4C4BBH.js.map → ads-CUMOMBI3.js.map} +0 -0
  612. /package/dist/{advertisers-UFOLIRIK.js.map → advertisers-EWSPWD6I.js.map} +0 -0
  613. /package/dist/{alerts-2GMBX6JV.js.map → alerts-4FE3PUUK.js.map} +0 -0
  614. /package/dist/{analytics-G4WFP37R.js.map → analytics-HZDE5TKC.js.map} +0 -0
  615. /package/dist/{analytics-3EWNAHNG.js.map → analytics-QEYAVXZB.js.map} +0 -0
  616. /package/dist/{animate-PSOAMA52.js.map → animate-MBNFCDUZ.js.map} +0 -0
  617. /package/dist/{assign-5FALEZYD.js.map → assign-JZ5E7XRJ.js.map} +0 -0
  618. /package/dist/{audience-size-VRYRLPO5.js.map → audience-size-UXIGBCIO.js.map} +0 -0
  619. /package/dist/{audiences-EH426E3T.js.map → audiences-KBW2UAOP.js.map} +0 -0
  620. /package/dist/{audit-WHIVWMAI.js.map → audit-B2X3ON7Y.js.map} +0 -0
  621. /package/dist/{autocomplete-3HCLXTGK.js.map → autocomplete-VB74AP3J.js.map} +0 -0
  622. /package/dist/{avatars-HN74FWDF.js.map → avatars-WINNSCJK.js.map} +0 -0
  623. /package/dist/{bid-pricing-NN5JKZS4.js.map → bid-pricing-JAR4EBDA.js.map} +0 -0
  624. /package/dist/{brand-MWU5IVEZ.js.map → brand-ZLBQSOKD.js.map} +0 -0
  625. /package/dist/{brief-6TXWQWHJ.js.map → brief-35KFM74X.js.map} +0 -0
  626. /package/dist/{campaign-groups-MGEKCP7J.js.map → campaign-groups-2HUFNJK6.js.map} +0 -0
  627. /package/dist/{campaign-writes-Z7B6V6Q3.js.map → campaign-writes-JYMQF6CK.js.map} +0 -0
  628. /package/dist/{campaign-writes-ORUT54WL.js.map → campaign-writes-SZX7DHNE.js.map} +0 -0
  629. /package/dist/{campaigns-WLOJFSLV.js.map → campaigns-6NWQZXBM.js.map} +0 -0
  630. /package/dist/{campaigns-E7YC762Q.js.map → campaigns-DIP7NUSQ.js.map} +0 -0
  631. /package/dist/{campaigns-3BDIHUSW.js.map → campaigns-TMHFCPAZ.js.map} +0 -0
  632. /package/dist/{canvas-SEVIQRXN.js.map → canvas-JP5EFSGB.js.map} +0 -0
  633. /package/dist/{capabilities-KWJYBYQO.js.map → capabilities-2SLWTKI5.js.map} +0 -0
  634. /package/dist/{catalog-DHTZDVWS.js.map → catalog-2P422WOQ.js.map} +0 -0
  635. /package/dist/{catalogs-R4QFA5XO.js.map → catalogs-XFYYY3CS.js.map} +0 -0
  636. /package/dist/{changes-F2GP72MO.js.map → changes-GFJITHF6.js.map} +0 -0
  637. /package/dist/{chatgpt-MN4XHO6L.js.map → chatgpt-KNLATOZ6.js.map} +0 -0
  638. /package/dist/{chats-IBMO724I.js.map → chats-FID6CLCA.js.map} +0 -0
  639. /package/dist/{check-EZI4OF3Q.js.map → check-M337BOPG.js.map} +0 -0
  640. /package/dist/{chunk-423G75A7.js.map → chunk-2QAYZXPI.js.map} +0 -0
  641. /package/dist/{chunk-YNWBIAXJ.js.map → chunk-37QNC344.js.map} +0 -0
  642. /package/dist/{chunk-AFWLBOIN.js.map → chunk-3WLUQ7DM.js.map} +0 -0
  643. /package/dist/{chunk-4ZAHRAWL.js.map → chunk-3XGZFZVD.js.map} +0 -0
  644. /package/dist/{chunk-JGMQD3PX.js.map → chunk-4GRVNPHA.js.map} +0 -0
  645. /package/dist/{chunk-UECTXVAO.js.map → chunk-4HQR2O2K.js.map} +0 -0
  646. /package/dist/{chunk-JFWTQDZL.js.map → chunk-6CRNIIYN.js.map} +0 -0
  647. /package/dist/{chunk-UQTINFCP.js.map → chunk-6LDG4LFO.js.map} +0 -0
  648. /package/dist/{chunk-LY7PDE76.js.map → chunk-6LLA6IF6.js.map} +0 -0
  649. /package/dist/{chunk-U6EQMX3B.js.map → chunk-6PJGHPXG.js.map} +0 -0
  650. /package/dist/{chunk-K3VMHRLJ.js.map → chunk-7CVBEA7J.js.map} +0 -0
  651. /package/dist/{chunk-X7NRAGJ5.js.map → chunk-7HZTVVO7.js.map} +0 -0
  652. /package/dist/{chunk-G6CLJ3WL.js.map → chunk-7LFOSBF4.js.map} +0 -0
  653. /package/dist/{chunk-DAXBST7G.js.map → chunk-A7ICTIR5.js.map} +0 -0
  654. /package/dist/{chunk-EBFKPGTL.js.map → chunk-AUFQAR3V.js.map} +0 -0
  655. /package/dist/{chunk-J7L457MF.js.map → chunk-AYOTYURE.js.map} +0 -0
  656. /package/dist/{chunk-ZHQSXEJ2.js.map → chunk-B2S5TT4L.js.map} +0 -0
  657. /package/dist/{chunk-WZXMZFVB.js.map → chunk-BMMXYR7A.js.map} +0 -0
  658. /package/dist/{chunk-NOCBNING.js.map → chunk-BNEWJXKU.js.map} +0 -0
  659. /package/dist/{chunk-LBPJDFFN.js.map → chunk-BS4VGXTM.js.map} +0 -0
  660. /package/dist/{chunk-ZAQQBVEM.js.map → chunk-BUNG52KH.js.map} +0 -0
  661. /package/dist/{chunk-IEUF733F.js.map → chunk-BYV4VS5E.js.map} +0 -0
  662. /package/dist/{chunk-JTAPNHW5.js.map → chunk-DCBCEYSH.js.map} +0 -0
  663. /package/dist/{chunk-YLHWZOW7.js.map → chunk-DWJV6IOW.js.map} +0 -0
  664. /package/dist/{chunk-SRMQCQ7T.js.map → chunk-DZIP5OQX.js.map} +0 -0
  665. /package/dist/{chunk-VTLW24DM.js.map → chunk-E7LNNUKD.js.map} +0 -0
  666. /package/dist/{chunk-TBBAHTP3.js.map → chunk-FTP6NDOU.js.map} +0 -0
  667. /package/dist/{chunk-IEX4RRHJ.js.map → chunk-FZQU47P4.js.map} +0 -0
  668. /package/dist/{chunk-YYYGUO2E.js.map → chunk-G624WZD6.js.map} +0 -0
  669. /package/dist/{chunk-QNY4IK3C.js.map → chunk-GBXTEXVK.js.map} +0 -0
  670. /package/dist/{chunk-CNZ5KS4I.js.map → chunk-HFQSTIM5.js.map} +0 -0
  671. /package/dist/{chunk-D32EWSMB.js.map → chunk-IGCS3X4F.js.map} +0 -0
  672. /package/dist/{chunk-BZXIDMV7.js.map → chunk-IQ2V4ENC.js.map} +0 -0
  673. /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
  674. /package/dist/{chunk-LNRYMWXE.js.map → chunk-JMTCCPK6.js.map} +0 -0
  675. /package/dist/{chunk-UUUYWBTR.js.map → chunk-JTYD7A3C.js.map} +0 -0
  676. /package/dist/{chunk-EA3643ET.js.map → chunk-L3MNDL6D.js.map} +0 -0
  677. /package/dist/{chunk-IR2NRXHA.js.map → chunk-LJ4AMUHS.js.map} +0 -0
  678. /package/dist/{chunk-XYHAIEAF.js.map → chunk-LRIP2J5S.js.map} +0 -0
  679. /package/dist/{chunk-DI7M2JUA.js.map → chunk-M7BSXJNL.js.map} +0 -0
  680. /package/dist/{chunk-PKSIPLMS.js.map → chunk-MI327KRO.js.map} +0 -0
  681. /package/dist/{chunk-BJH2G3QF.js.map → chunk-MJCOTA6T.js.map} +0 -0
  682. /package/dist/{chunk-S7WFZYKP.js.map → chunk-MQU4LNYG.js.map} +0 -0
  683. /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
  684. /package/dist/{chunk-ETHUDFUY.js.map → chunk-N24ZFIEW.js.map} +0 -0
  685. /package/dist/{chunk-S4QGD7PV.js.map → chunk-N6OIIBTB.js.map} +0 -0
  686. /package/dist/{chunk-5WOZ7OGU.js.map → chunk-NEALLMDP.js.map} +0 -0
  687. /package/dist/{chunk-6J2UZJ6F.js.map → chunk-NGHOYXJD.js.map} +0 -0
  688. /package/dist/{chunk-ALCRXFIZ.js.map → chunk-NPAXHLAP.js.map} +0 -0
  689. /package/dist/{chunk-GLY3CB2F.js.map → chunk-OG76GZU3.js.map} +0 -0
  690. /package/dist/{chunk-SZFWQVAC.js.map → chunk-OU542F66.js.map} +0 -0
  691. /package/dist/{chunk-HXHGDFXA.js.map → chunk-OWO3CB6D.js.map} +0 -0
  692. /package/dist/{chunk-PK2U2ALQ.js.map → chunk-OXH63BGJ.js.map} +0 -0
  693. /package/dist/{chunk-VSHXHSIW.js.map → chunk-Q45FEJZ6.js.map} +0 -0
  694. /package/dist/{chunk-DD6X3AZB.js.map → chunk-QENSBNRJ.js.map} +0 -0
  695. /package/dist/{chunk-K2DKQ52D.js.map → chunk-QKGIXXXB.js.map} +0 -0
  696. /package/dist/{chunk-PEPLYJWK.js.map → chunk-SR65SC66.js.map} +0 -0
  697. /package/dist/{chunk-RDIZCSTV.js.map → chunk-T5TJJJGI.js.map} +0 -0
  698. /package/dist/{chunk-LQRPFL2N.js.map → chunk-TQIEDVJB.js.map} +0 -0
  699. /package/dist/{chunk-66LUQENO.js.map → chunk-UWWL7QIQ.js.map} +0 -0
  700. /package/dist/{chunk-QORVZUMT.js.map → chunk-WPBXN37A.js.map} +0 -0
  701. /package/dist/{chunk-EZ3YSJTP.js.map → chunk-XQNWHPRV.js.map} +0 -0
  702. /package/dist/{chunk-UZ5ZC43B.js.map → chunk-XWWX3WFJ.js.map} +0 -0
  703. /package/dist/{chunk-7EPR7L2D.js.map → chunk-Y25W6RSY.js.map} +0 -0
  704. /package/dist/{chunk-RQ43VL2X.js.map → chunk-YP5SD6O2.js.map} +0 -0
  705. /package/dist/{chunk-2VUD4CIW.js.map → chunk-Z3KRNKEA.js.map} +0 -0
  706. /package/dist/{chunk-XZJK2QB3.js.map → chunk-ZWFYBQ7N.js.map} +0 -0
  707. /package/dist/{claim-JQCSXR4C.js.map → claim-DXDA6XRM.js.map} +0 -0
  708. /package/dist/{companies-GHBIZKOK.js.map → companies-UNAN4THP.js.map} +0 -0
  709. /package/dist/{company-KNCYMQIA.js.map → company-ALE2HVTA.js.map} +0 -0
  710. /package/dist/{complete-V53XRNEQ.js.map → complete-GZC6MQD2.js.map} +0 -0
  711. /package/dist/{connect-NUZQSIGL.js.map → connect-664TAEG6.js.map} +0 -0
  712. /package/dist/{conversation-LBYO6ONM.js.map → conversation-AYXZYWMG.js.map} +0 -0
  713. /package/dist/{conversion-report-SRHJGIMT.js.map → conversion-report-6SVHPLHT.js.map} +0 -0
  714. /package/dist/{conversion-upload-command-5EKILBP2.js.map → conversion-upload-command-J3STKMAL.js.map} +0 -0
  715. /package/dist/{conversion-writes-P5FDTA6Y.js.map → conversion-writes-PEKNBIDQ.js.map} +0 -0
  716. /package/dist/{conversions-WJBOEPOO.js.map → conversions-ICSKSSLX.js.map} +0 -0
  717. /package/dist/{conversions-BXCGFNRK.js.map → conversions-SHKCWNNC.js.map} +0 -0
  718. /package/dist/{create-3PNWKXLP.js.map → create-2FCQZ7PD.js.map} +0 -0
  719. /package/dist/{create-XO7HUNPB.js.map → create-42TY74QW.js.map} +0 -0
  720. /package/dist/{create-6FZR7JZT.js.map → create-7EJEY5EK.js.map} +0 -0
  721. /package/dist/{create-QXJ3UEOT.js.map → create-SKI4H2XI.js.map} +0 -0
  722. /package/dist/{creatives-YRYPXOCS.js.map → creatives-OBKNNJAI.js.map} +0 -0
  723. /package/dist/{creatives-O6TA2DOG.js.map → creatives-QNPP5S4Q.js.map} +0 -0
  724. /package/dist/{credentials-ATAP54ZI.js.map → credentials-BCMMD3XG.js.map} +0 -0
  725. /package/dist/{critique-3UY7TUVQ.js.map → critique-KSQKDC7Y.js.map} +0 -0
  726. /package/dist/{critique-UC6SBKGO.js.map → critique-NWZIHUBH.js.map} +0 -0
  727. /package/dist/{crm-MGVGQ7PK.js.map → crm-ANNNZDM5.js.map} +0 -0
  728. /package/dist/{crm-AXK74BCO.js.map → crm-NP5LXKMN.js.map} +0 -0
  729. /package/dist/{currency-335ARWP5.js.map → currency-YZBACARU.js.map} +0 -0
  730. /package/dist/{customers-7NBNJCDC.js.map → customers-IUS7M6PJ.js.map} +0 -0
  731. /package/dist/{delete-OFG7FBMA.js.map → delete-NBHAHWZ7.js.map} +0 -0
  732. /package/dist/{delete-EKGTJSLK.js.map → delete-OJPKAYMV.js.map} +0 -0
  733. /package/dist/{delete-QQDGR7DD.js.map → delete-Y75QNAE4.js.map} +0 -0
  734. /package/dist/{demographics-QWFAMEC2.js.map → demographics-HDUPFELB.js.map} +0 -0
  735. /package/dist/{discard-4VW3AWI3.js.map → discard-32HKP4BV.js.map} +0 -0
  736. /package/dist/{discover-O6322XPL.js.map → discover-RKW25QME.js.map} +0 -0
  737. /package/dist/{domain-EDPDUVAX.js.map → domain-ODCRVC6V.js.map} +0 -0
  738. /package/dist/{download-46GLVBYU.js.map → download-75W2T7R7.js.map} +0 -0
  739. /package/dist/{draft-TJAD7P6W.js.map → draft-3KPRQ3YL.js.map} +0 -0
  740. /package/dist/{draft-SLGJRUOV.js.map → draft-EHDIVMWL.js.map} +0 -0
  741. /package/dist/{draft-IBR2W6GZ.js.map → draft-VJPB5MFJ.js.map} +0 -0
  742. /package/dist/{draft-RRUJU2ZR.js.map → draft-X6Y62O3Y.js.map} +0 -0
  743. /package/dist/{draft-NCUQFRGS.js.map → draft-ZDS6KFZ3.js.map} +0 -0
  744. /package/dist/{experiments-DUVO7C7A.js.map → experiments-GECLY35Q.js.map} +0 -0
  745. /package/dist/{extract-WYNFE6TQ.js.map → extract-KYD4M3XU.js.map} +0 -0
  746. /package/dist/{facets-WTY6NOUV.js.map → facets-CA7J44EY.js.map} +0 -0
  747. /package/dist/{feedback-57BP27NA.js.map → feedback-FB2QIIRX.js.map} +0 -0
  748. /package/dist/{feedback-XDREGDOK.js.map → feedback-P36JL2MA.js.map} +0 -0
  749. /package/dist/{feedback-record-HXSBLAZD.js.map → feedback-record-O4KVZAOF.js.map} +0 -0
  750. /package/dist/{fetch-L27MLPXM.js.map → fetch-Z42TLLI4.js.map} +0 -0
  751. /package/dist/{fit-K3G7HIMK.js.map → fit-ANYF4UJ2.js.map} +0 -0
  752. /package/dist/{flows-VJTWU3SU.js.map → flows-3KUFFMLO.js.map} +0 -0
  753. /package/dist/{fonts-SEMIVGXJ.js.map → fonts-TAJRK4HZ.js.map} +0 -0
  754. /package/dist/{forecast-EHOMHLUH.js.map → forecast-327XLLZ3.js.map} +0 -0
  755. /package/dist/{forecast-VODA7N3G.js.map → forecast-FIYKBAEW.js.map} +0 -0
  756. /package/dist/{funnel-BXJDMVMF.js.map → funnel-OGQVXGM7.js.map} +0 -0
  757. /package/dist/{generate-VCGSO7HI.js.map → generate-GBFLO76C.js.map} +0 -0
  758. /package/dist/{get-EN4UQI7R.js.map → get-LM4KTWKF.js.map} +0 -0
  759. /package/dist/{get-EASXXOQR.js.map → get-OSBYMC2N.js.map} +0 -0
  760. /package/dist/{google-ZVVKAI7T.js.map → google-FMGXNCW3.js.map} +0 -0
  761. /package/dist/{google-ATEQHENA.js.map → google-RHPQWNMK.js.map} +0 -0
  762. /package/dist/{google-ads-OUNSPGRQ.js.map → google-ads-EHJBMUJ4.js.map} +0 -0
  763. /package/dist/{history-TDGBO76N.js.map → history-6X3VIQP3.js.map} +0 -0
  764. /package/dist/{history-5OJVW2ZF.js.map → history-CDHA25XG.js.map} +0 -0
  765. /package/dist/{history-RQMCZQSC.js.map → history-K4VYVCZC.js.map} +0 -0
  766. /package/dist/{hubspot-VQGONQQU.js.map → hubspot-7E6EAUIV.js.map} +0 -0
  767. /package/dist/{ideas-B7RQXWHQ.js.map → ideas-3UNEUSMO.js.map} +0 -0
  768. /package/dist/{images-Q45MP4Q2.js.map → images-7KJX5JFY.js.map} +0 -0
  769. /package/dist/{ingest-UMQQIINM.js.map → ingest-4Y35DBZV.js.map} +0 -0
  770. /package/dist/{ingest-6MMY4KDM.js.map → ingest-LGZ3R4OI.js.map} +0 -0
  771. /package/dist/{insights-WDHDMULM.js.map → insights-RHOCF7VR.js.map} +0 -0
  772. /package/dist/{inspect-W2BIGA5F.js.map → inspect-WYOMSTBG.js.map} +0 -0
  773. /package/dist/{intent-3S6SHAYC.js.map → intent-TKFH57DZ.js.map} +0 -0
  774. /package/dist/{keyword-gap-MGHKWE6A.js.map → keyword-gap-7I2CIUTK.js.map} +0 -0
  775. /package/dist/{keyword-metrics-6R5TSHCE.js.map → keyword-metrics-35TFEXA5.js.map} +0 -0
  776. /package/dist/{keywords-for-site-EFBLFX6E.js.map → keywords-for-site-IMHNWTTB.js.map} +0 -0
  777. /package/dist/{landing-WC5FX3UP.js.map → landing-RKUGZ3LB.js.map} +0 -0
  778. /package/dist/{languages-4J7JHZNB.js.map → languages-FMHPUVOL.js.map} +0 -0
  779. /package/dist/{leads-CBOQ5CNM.js.map → leads-C46ZXIXF.js.map} +0 -0
  780. /package/dist/{learn-ZUP35H3T.js.map → learn-WDPCW5ZD.js.map} +0 -0
  781. /package/dist/{line-item-writes-W4UFIYEA.js.map → line-item-writes-IZKFY3GR.js.map} +0 -0
  782. /package/dist/{line-items-SGCUJF3S.js.map → line-items-CBVRZ43V.js.map} +0 -0
  783. /package/dist/{link-KLJB7COB.js.map → link-GEPIZSVI.js.map} +0 -0
  784. /package/dist/{linkedin-TANR45ZZ.js.map → linkedin-FHEYMG4M.js.map} +0 -0
  785. /package/dist/{linkedin-person-ECWP4XPE.js.map → linkedin-person-2M3WBL66.js.map} +0 -0
  786. /package/dist/{list-XELB7UV2.js.map → list-APJDJZL7.js.map} +0 -0
  787. /package/dist/{list-PXEJMDB4.js.map → list-CLJN4YN5.js.map} +0 -0
  788. /package/dist/{list-SVR5HBLA.js.map → list-LE6DJG44.js.map} +0 -0
  789. /package/dist/{locations-SNK2NDH3.js.map → locations-DD3JRZ4C.js.map} +0 -0
  790. /package/dist/{locations-KM4XY56A.js.map → locations-HWMEJ64P.js.map} +0 -0
  791. /package/dist/{log-PMPOO42C.js.map → log-FC2GLXIK.js.map} +0 -0
  792. /package/dist/{make-Q36WVKT3.js.map → make-4IIUKMLK.js.map} +0 -0
  793. /package/dist/{map-DQ65PS65.js.map → map-DGS5KKDJ.js.map} +0 -0
  794. /package/dist/{mcp-XMFKYN3E.js.map → mcp-IRG5E6U3.js.map} +0 -0
  795. /package/dist/{media-sources-HG524YO4.js.map → media-sources-SXUKFPBW.js.map} +0 -0
  796. /package/dist/{members-D4DI2IFH.js.map → members-TNY3CQSI.js.map} +0 -0
  797. /package/dist/{metrics-QVDXMTEI.js.map → metrics-KXTFXSWK.js.map} +0 -0
  798. /package/dist/{models-VOSJJFO2.js.map → models-2ZEM64H5.js.map} +0 -0
  799. /package/dist/{normalize-XRVNJTML.js.map → normalize-74VF6BZV.js.map} +0 -0
  800. /package/dist/{options-HT27WLNS.js.map → options-LNJH5LJR.js.map} +0 -0
  801. /package/dist/{organization-DYPTFZBA.js.map → organization-DHYTS3KH.js.map} +0 -0
  802. /package/dist/{people-TTUIYT3L.js.map → people-R3YTQXYH.js.map} +0 -0
  803. /package/dist/{people-5MJXHC3D.js.map → people-U6EP77HS.js.map} +0 -0
  804. /package/dist/{performance-2AQ34OPB.js.map → performance-AZGVR3IG.js.map} +0 -0
  805. /package/dist/{performance-WE4LHJ2B.js.map → performance-LYBUVYLQ.js.map} +0 -0
  806. /package/dist/{pixels-EWFDIDFA.js.map → pixels-3CINROKJ.js.map} +0 -0
  807. /package/dist/{preview-JYVRWRTT.js.map → preview-3OGMMUT4.js.map} +0 -0
  808. /package/dist/{promoted-tweet-writes-HCVRPH45.js.map → promoted-tweet-writes-EPNO2VUY.js.map} +0 -0
  809. /package/dist/{promoted-tweets-P56ZU6OK.js.map → promoted-tweets-UNG4FV3M.js.map} +0 -0
  810. /package/dist/{publish-4VWZHRYO.js.map → publish-YHU5K76M.js.map} +0 -0
  811. /package/dist/{query-DK7WWCJJ.js.map → query-NYH5PMQF.js.map} +0 -0
  812. /package/dist/{reddit-NSKYHSAC.js.map → reddit-BYHNEZWI.js.map} +0 -0
  813. /package/dist/{refresh-O3CLJX4O.js.map → refresh-3L4DCDVG.js.map} +0 -0
  814. /package/dist/{release-6TQQW4HB.js.map → release-LIDQL3KW.js.map} +0 -0
  815. /package/dist/{relevant-pages-B3ZFOGHQ.js.map → relevant-pages-QIF35NBQ.js.map} +0 -0
  816. /package/dist/{remove-R55VAM47.js.map → remove-RZSRYB4K.js.map} +0 -0
  817. /package/dist/{reopen-S426N3OD.js.map → reopen-C2SDKYRQ.js.map} +0 -0
  818. /package/dist/{rerun-5KHANQR3.js.map → rerun-5JHAKEXF.js.map} +0 -0
  819. /package/dist/{research-5REXCSSO.js.map → research-BNUMVIBI.js.map} +0 -0
  820. /package/dist/{research-DMZLXMM2.js.map → research-JQGHHTHS.js.map} +0 -0
  821. /package/dist/{reset-D4NGVG35.js.map → reset-FZ475DZK.js.map} +0 -0
  822. /package/dist/{reset-5N2IVHFL.js.map → reset-MES3UU3L.js.map} +0 -0
  823. /package/dist/{resolve-V75JGD75.js.map → resolve-3EJ2ZI64.js.map} +0 -0
  824. /package/dist/{retry-WIKW6CGT.js.map → retry-IMGUCVDF.js.map} +0 -0
  825. /package/dist/{retry-SB7EIJBA.js.map → retry-OFFHBZG2.js.map} +0 -0
  826. /package/dist/{revenue-GZJU3XMD.js.map → revenue-IACHOM7M.js.map} +0 -0
  827. /package/dist/{rules-WI6YKZA4.js.map → rules-C72VPDXE.js.map} +0 -0
  828. /package/dist/{rules-add-JCRB4AJR.js.map → rules-add-A3PKTQNR.js.map} +0 -0
  829. /package/dist/{run-VVK23U5P.js.map → run-XVULTREI.js.map} +0 -0
  830. /package/dist/{run-RDHTORWZ.js.map → run-XYRUAAJH.js.map} +0 -0
  831. /package/dist/{scaffold-ad-QSVBY3XR.js.map → scaffold-ad-Y4FKVKVJ.js.map} +0 -0
  832. /package/dist/{scaffold-static-ad-64BZMUHP.js.map → scaffold-static-ad-TVMEGBHZ.js.map} +0 -0
  833. /package/dist/{scaffold-video-X27MRW7R.js.map → scaffold-video-JYUGPW2L.js.map} +0 -0
  834. /package/dist/{schedule-XHPIVUJ6.js.map → schedule-NMMJZXZH.js.map} +0 -0
  835. /package/dist/{scheduled-agents-OMUQCGDG.js.map → scheduled-agents-NFVSFOPB.js.map} +0 -0
  836. /package/dist/{schema-RDVJQ5VW.js.map → schema-MIWJBYFP.js.map} +0 -0
  837. /package/dist/{search-VX5ATSCD.js.map → search-B3EI65TS.js.map} +0 -0
  838. /package/dist/{select-NX3VHQTH.js.map → select-UH73L657.js.map} +0 -0
  839. /package/dist/{set-prompt-QGEWZ3HD.js.map → set-prompt-Y3IPUFUH.js.map} +0 -0
  840. /package/dist/{setup-links-LIDZVTSU.js.map → setup-links-2Y3A676T.js.map} +0 -0
  841. /package/dist/{shopify-LZU3MCDG.js.map → shopify-5LZ5IWSB.js.map} +0 -0
  842. /package/dist/{site-CEO2V3BI.js.map → site-GXH6QLNZ.js.map} +0 -0
  843. /package/dist/{sources-C7AQCP2Z.js.map → sources-7VWSZZHQ.js.map} +0 -0
  844. /package/dist/{sources-SIGZVORA.js.map → sources-KYAVCA5P.js.map} +0 -0
  845. /package/dist/{stale-BOUBKOAA.js.map → stale-TDAEKOJB.js.map} +0 -0
  846. /package/dist/{status-NIG6OSAG.js.map → status-II4PTBUU.js.map} +0 -0
  847. /package/dist/{stock-KY6BCN76.js.map → stock-WZN53KCQ.js.map} +0 -0
  848. /package/dist/{studio-VQFYNK5O.js.map → studio-TG2UAKFI.js.map} +0 -0
  849. /package/dist/{sync-3RS5E5ZI.js.map → sync-OSHJH7TD.js.map} +0 -0
  850. /package/dist/{sync-definition-VHYZWLS5.js.map → sync-definition-AP6CA6BU.js.map} +0 -0
  851. /package/dist/{tags-UM6Y4DVQ.js.map → tags-36OYKBFE.js.map} +0 -0
  852. /package/dist/{tags-F6DBHGIL.js.map → tags-3K6QGK5B.js.map} +0 -0
  853. /package/dist/{tags-I2LINXA7.js.map → tags-53FUK4HL.js.map} +0 -0
  854. /package/dist/{tags-YCBZVXJQ.js.map → tags-B3Z3OQ6G.js.map} +0 -0
  855. /package/dist/{tags-HGKEOIR7.js.map → tags-DXKEOOGL.js.map} +0 -0
  856. /package/dist/{targeting-criteria-XPK76HRH.js.map → targeting-criteria-UFE3MLWR.js.map} +0 -0
  857. /package/dist/{targets-KT4BNTKZ.js.map → targets-JSBKVSRO.js.map} +0 -0
  858. /package/dist/{testimonials-QGXMSSWV.js.map → testimonials-6KYRLQVP.js.map} +0 -0
  859. /package/dist/{themes-ZKUHKUZD.js.map → themes-7XHHY4XY.js.map} +0 -0
  860. /package/dist/{top-companies-RC5KTWQ5.js.map → top-companies-W3GBGJGL.js.map} +0 -0
  861. /package/dist/{transcript-OLF62WCH.js.map → transcript-VTVLH4VV.js.map} +0 -0
  862. /package/dist/{translate-NON5ZD3S.js.map → translate-TIFUZLPE.js.map} +0 -0
  863. /package/dist/{triggers-UOQY4RFC.js.map → triggers-ULFGRFHQ.js.map} +0 -0
  864. /package/dist/{unlink-RNIJPHHW.js.map → unlink-FGUCQNNF.js.map} +0 -0
  865. /package/dist/{unstage-QVDYVN77.js.map → unstage-UHKSQUPR.js.map} +0 -0
  866. /package/dist/{update-JAUWIWOH.js.map → update-CF6437MN.js.map} +0 -0
  867. /package/dist/{update-7KR5ABJP.js.map → update-G2IRXCSJ.js.map} +0 -0
  868. /package/dist/{update-QZEF5MUW.js.map → update-KO5VEPRN.js.map} +0 -0
  869. /package/dist/{update-TRWHYXF4.js.map → update-OQUIUKSX.js.map} +0 -0
  870. /package/dist/{upload-MLK2MZB6.js.map → upload-GD552SG7.js.map} +0 -0
  871. /package/dist/{url-options-2FVG55JF.js.map → url-options-RTTLWCU5.js.map} +0 -0
  872. /package/dist/{url-params-F4XNWPOD.js.map → url-params-ZFX3EBLE.js.map} +0 -0
  873. /package/dist/{validate-P3AQVXG6.js.map → validate-BBXOFK4S.js.map} +0 -0
  874. /package/dist/{videos-PAKAAFRD.js.map → videos-OA3PSDF6.js.map} +0 -0
  875. /package/dist/{viewer-check-KXMDJH7R.js.map → viewer-check-OIORNTQG.js.map} +0 -0
  876. /package/dist/{web-E5NHFG4Y.js.map → web-RKEKSDU3.js.map} +0 -0
  877. /package/dist/{winning-ads-P6PDTCCU.js.map → winning-ads-CJQEQ6JQ.js.map} +0 -0
  878. /package/dist/{write-commands-MBNO7DCX.js.map → write-commands-CPAOTG6H.js.map} +0 -0
  879. /package/dist/{x-5A74OD5P.js.map → x-PF3FDWKU.js.map} +0 -0
@@ -0,0 +1,1381 @@
1
+ import {
2
+ TOTAL_BUDGET_HELP
3
+ } from "./chunk-MI327KRO.js";
4
+ import {
5
+ normalizeLinkedinAccountId,
6
+ statusesArgDescription
7
+ } from "./chunk-TQIEDVJB.js";
8
+ import {
9
+ applyAccountRule
10
+ } from "./chunk-USFXKWTX.js";
11
+ import "./chunk-YT6YI47O.js";
12
+ import "./chunk-4NZ47VXO.js";
13
+ import "./chunk-D5FY4FAK.js";
14
+ import "./chunk-HZ7QUFUW.js";
15
+ import {
16
+ AVAILABLE_ARG
17
+ } from "./chunk-ITABNSX6.js";
18
+ import "./chunk-VJUVTMHY.js";
19
+ import "./chunk-T4HIFVNK.js";
20
+ import "./chunk-CGLNCFAG.js";
21
+ import {
22
+ NO_CACHE_ARG
23
+ } from "./chunk-HPF3USL2.js";
24
+ import "./chunk-E2G2USTA.js";
25
+ import "./chunk-EFZVDV7F.js";
26
+ import "./chunk-U3LO5TDH.js";
27
+ import "./chunk-TJTCHTR4.js";
28
+ import {
29
+ CHAT_READ_ARG,
30
+ DRAFT_FULL_ARG
31
+ } from "./chunk-X32MFGWW.js";
32
+ import "./chunk-IPDDXD5K.js";
33
+ import "./chunk-QV6AST5T.js";
34
+ import "./chunk-WCU362Z6.js";
35
+ import "./chunk-GIWHHCD6.js";
36
+ import "./chunk-SOPVIIUW.js";
37
+ import "./chunk-G4FG5EQO.js";
38
+ import "./chunk-3WOFZTGC.js";
39
+ import "./chunk-XHWHBGKX.js";
40
+ import {
41
+ apiGet
42
+ } from "./chunk-JCFZ7ECN.js";
43
+ import "./chunk-OFSUVUXT.js";
44
+ import "./chunk-OMLZ35HJ.js";
45
+ import {
46
+ registerSchema
47
+ } from "./chunk-NXNOXZGB.js";
48
+ import "./chunk-YQSBHWOI.js";
49
+
50
+ // src/commands/ads/linkedin/index.ts
51
+ import { defineCommand } from "citty";
52
+
53
+ // src/commands/ads/linkedin/schemas.ts
54
+ var CHAT_READ_ARG_DESCRIPTION = CHAT_READ_ARG.description;
55
+ registerSchema({
56
+ command: "ads.linkedin.accounts",
57
+ description: "List LinkedIn ad accounts in the company's connected scope.",
58
+ args: {
59
+ "no-cache": NO_CACHE_ARG,
60
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" },
61
+ available: AVAILABLE_ARG
62
+ }
63
+ });
64
+ var accountDetailSchema = {
65
+ description: "Single LinkedIn ad account detail (currency, status, type). Resolves the urn \u2192 {id, name, currency, status, type}.",
66
+ args: {
67
+ "account-id": { type: "string", description: "Numeric ID or urn:li:sponsoredAccount:N", required: false },
68
+ "account-urn": { type: "string", description: "Alias for --account-id", required: false },
69
+ "no-cache": NO_CACHE_ARG,
70
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
71
+ }
72
+ };
73
+ registerSchema({ command: "ads.linkedin.account", ...accountDetailSchema });
74
+ registerSchema({ command: "ads.linkedin.account.detail", ...accountDetailSchema });
75
+ registerSchema({
76
+ command: "ads.linkedin.campaign-groups",
77
+ description: "List LinkedIn campaign groups in an account. Default ACTIVE-only \u2014 pass --all-statuses to widen.",
78
+ args: {
79
+ "account-id": { type: "string", description: "Account ID", required: false },
80
+ "account-urn": { type: "string", description: "Alias for --account-id", required: false },
81
+ "all-statuses": { type: "boolean", description: "Drop the ACTIVE filter", required: false },
82
+ statuses: { type: "string", description: statusesArgDescription("campaignGroups"), required: false },
83
+ limit: { type: "string", description: "Max rows (default 500)", required: false },
84
+ "no-cache": NO_CACHE_ARG,
85
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
86
+ }
87
+ });
88
+ registerSchema({
89
+ command: "ads.linkedin.campaigns",
90
+ description: "List LinkedIn campaigns. Returns audit-relevant settings (audienceExpansionEnabled, offsiteDeliveryEnabled, optimizationTargetType, costType, budgets, runSchedule, targetingCriteria).",
91
+ args: {
92
+ "account-id": { type: "string", description: "Account ID", required: false },
93
+ "account-urn": { type: "string", description: "Alias", required: false },
94
+ "campaign-group-id": { type: "string", description: "Filter by campaign group", required: false },
95
+ "all-statuses": { type: "boolean", description: "Drop the ACTIVE filter", required: false },
96
+ statuses: { type: "string", description: statusesArgDescription("campaigns"), required: false },
97
+ limit: { type: "string", description: "Max rows", required: false },
98
+ "no-cache": NO_CACHE_ARG,
99
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
100
+ }
101
+ });
102
+ registerSchema({
103
+ command: "ads.linkedin.creatives",
104
+ description: "List LinkedIn creatives. Compact by default: id, urn, campaign, status, review status, format, and the resolved destination (landingUrl, or postUrn for post-based ads). The opaque 'content' block is NOT returned unless you pass --full; --fields takes dotted paths for anything narrower.",
105
+ args: {
106
+ "account-id": { type: "string", description: "Account ID", required: false },
107
+ "account-urn": { type: "string", description: "Alias", required: false },
108
+ "campaign-id": { type: "string", description: "Filter by campaign", required: false },
109
+ "all-statuses": { type: "boolean", description: "Drop the ACTIVE filter", required: false },
110
+ statuses: { type: "string", description: statusesArgDescription("creatives"), required: false },
111
+ fields: {
112
+ type: "string",
113
+ description: "CSV of dotted paths to return instead of the compact row, e.g. id,content.textAd.landingPage",
114
+ required: false
115
+ },
116
+ full: {
117
+ type: "boolean",
118
+ description: "Return the complete raw records, including the opaque 'content' block",
119
+ required: false
120
+ },
121
+ limit: { type: "string", description: "Max rows", required: false },
122
+ "no-cache": NO_CACHE_ARG,
123
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
124
+ }
125
+ });
126
+ registerSchema({
127
+ command: "ads.linkedin.analytics",
128
+ description: "Performance reporting (3-axis: --level \xD7 --intent \xD7 --pivot). LinkedIn's superpower: pivot=job-title|company|industry|seniority. Demographic pivots auto-force granularity=ALL and surface a delayed-data warning.",
129
+ args: {
130
+ level: {
131
+ type: "string",
132
+ description: "account|campaign-group|campaign|creative",
133
+ required: false,
134
+ default: "account"
135
+ },
136
+ "account-id": { type: "string", description: "When level=account", required: false },
137
+ "account-urn": { type: "string", description: "Alias", required: false },
138
+ "campaign-group-id": { type: "string", description: "CSV when level=campaign-group", required: false },
139
+ "campaign-id": { type: "string", description: "CSV when level=campaign", required: false },
140
+ "creative-id": { type: "string", description: "CSV when level=creative", required: false },
141
+ ids: { type: "string", description: "Generic CSV alternative", required: false },
142
+ intent: {
143
+ type: "string",
144
+ description: "Field bundle",
145
+ required: false,
146
+ default: "baseline",
147
+ enum: [
148
+ "baseline",
149
+ "revenue",
150
+ "funnel",
151
+ "engagement",
152
+ "video",
153
+ "lead-gen",
154
+ "inmail",
155
+ "document",
156
+ "ranking",
157
+ "identity"
158
+ ]
159
+ },
160
+ pivot: {
161
+ type: "string",
162
+ description: "Demographic / firmographic dim",
163
+ required: false,
164
+ default: "none",
165
+ enum: [
166
+ "none",
167
+ "campaign",
168
+ "campaign-group",
169
+ "creative",
170
+ "company",
171
+ "account",
172
+ "conversion",
173
+ "job-title",
174
+ "job-function",
175
+ "seniority",
176
+ "industry",
177
+ "company-size",
178
+ "country",
179
+ "region",
180
+ "dma",
181
+ "device",
182
+ "placement",
183
+ "serving-location",
184
+ "card-index",
185
+ "objective",
186
+ "conversation-node",
187
+ "conversation-node-button"
188
+ ]
189
+ },
190
+ metrics: { type: "string", description: "CSV metric override (escape hatch)", required: false },
191
+ start: { type: "string", description: "YYYY-MM-DD", required: false },
192
+ end: { type: "string", description: "YYYY-MM-DD", required: false },
193
+ "last-days": { type: "string", description: "Window (default 7)", required: false },
194
+ granularity: {
195
+ type: "string",
196
+ description: "DAILY|MONTHLY|YEARLY|ALL",
197
+ required: false,
198
+ default: "DAILY",
199
+ enum: ["DAILY", "MONTHLY", "YEARLY", "ALL"]
200
+ },
201
+ limit: { type: "string", description: "Max rows", required: false },
202
+ "no-sort": { type: "boolean", description: "Skip default sort", required: false },
203
+ "list-intents": { type: "boolean", description: "List intents and exit", required: false },
204
+ "list-pivots": { type: "boolean", description: "List pivots and exit", required: false },
205
+ "no-cache": NO_CACHE_ARG,
206
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
207
+ }
208
+ });
209
+ registerSchema({
210
+ command: "ads.linkedin.demographics",
211
+ description: "Sweep all firmographic pivots (job-title, company, industry, seniority, function, company-size) in one call. Returns top-N rows per pivot.",
212
+ args: {
213
+ "campaign-id": { type: "string", description: "CSV campaign IDs", required: true },
214
+ pivots: { type: "string", description: "CSV of pivots (default: all firmographic)", required: false },
215
+ "top-n": { type: "string", description: "Top rows per pivot (default 10)", required: false },
216
+ intent: { type: "string", description: "Field bundle", required: false, default: "baseline" },
217
+ start: { type: "string", description: "YYYY-MM-DD", required: false },
218
+ end: { type: "string", description: "YYYY-MM-DD", required: false },
219
+ "last-days": { type: "string", description: "Window (default 30)", required: false },
220
+ "no-cache": NO_CACHE_ARG,
221
+ output: { type: "string", description: "json", required: false, default: "json" }
222
+ }
223
+ });
224
+ registerSchema({
225
+ command: "ads.linkedin.companies",
226
+ description: "Which companies the LinkedIn ads reached \u2014 one row per company over the whole period ({org, name, impressions, clicks, engagements, costLocal}), most engaged first. Start here for warm accounts / ABM reporting. Defaults: last 12 calendar months, the only selected ad account, 100 companies a page (--page N for the next, --full for all; totalCompanies counts them all). --by month|campaign adds a months[] or campaigns[] breakdown; --with-domains adds domain + domainSource for CRM matching; --stats adds row counts and cost/reach/domain coverage (no names). --targets <file> narrows to the target accounts (matched on LinkedIn page, website, then name; `targets` counts reached/engaged per tier and lists notReached); --with-firmographics adds industry + staffCount (employee band); --min-staff N keeps companies that big. LinkedIn drops companies under 3 events a month.",
227
+ args: {
228
+ "account-id": {
229
+ type: "string",
230
+ description: "Ad account id (numeric or urn:li:sponsoredAccount:N). Default: the only selected account",
231
+ required: false
232
+ },
233
+ "campaign-id": { type: "string", description: "CSV campaign ids \u2014 read only these campaigns", required: false },
234
+ "last-months": {
235
+ type: "string",
236
+ description: "Calendar months back incl. this one (1-24, default 12)",
237
+ required: false
238
+ },
239
+ start: { type: "string", description: "YYYY-MM-DD (instead of --last-months)", required: false },
240
+ end: { type: "string", description: "YYYY-MM-DD (default today)", required: false },
241
+ by: { type: "string", description: "none | month | campaign (default none)", required: false },
242
+ "with-domains": { type: "boolean", description: "Add website domain + domainSource per company", required: false },
243
+ "min-impressions": { type: "string", description: "Leave out companies under N impressions", required: false },
244
+ full: { type: "boolean", description: "Every company, plus videoViews", required: false },
245
+ page: {
246
+ type: "string",
247
+ description: "Which page of 100 companies, most engaged first (default 1)",
248
+ required: false
249
+ },
250
+ stats: { type: "boolean", description: "Add read-quality stats (counts and rates only)", required: false },
251
+ targets: {
252
+ type: "string",
253
+ description: "Target-account file (.csv/.json, as `node __tooling__/scripts/target-accounts.mjs --out targets.csv` writes)",
254
+ required: false
255
+ },
256
+ tier: { type: "string", description: "With --targets: only this tier", required: false },
257
+ "with-firmographics": {
258
+ type: "boolean",
259
+ description: "Add industry + staffCount per company (100 a call, billed per new company)",
260
+ required: false
261
+ },
262
+ "min-staff": { type: "string", description: "Keep companies with at least N employees", required: false },
263
+ "no-cache": NO_CACHE_ARG,
264
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
265
+ }
266
+ });
267
+ registerSchema({
268
+ command: "ads.linkedin.top-companies",
269
+ description: "Top companies whose employees saw / clicked / converted, for some campaigns or the whole ad account. Wrapper for analytics --pivot company. --targets narrows to the target accounts in one call (matched on LinkedIn page, then name; `targets` lists notReached).",
270
+ args: {
271
+ "campaign-id": { type: "string", description: "CSV campaign IDs (default: the whole ad account)", required: false },
272
+ "account-id": {
273
+ type: "string",
274
+ description: "Ad account for a whole-account read. Default: the only selected one",
275
+ required: false
276
+ },
277
+ targets: { type: "string", description: "Target-account file (.csv/.json)", required: false },
278
+ tier: { type: "string", description: "With --targets: only this tier", required: false },
279
+ intent: { type: "string", description: "Field bundle (default baseline)", required: false },
280
+ "top-n": { type: "string", description: "Top rows by impressions (default 25)", required: false },
281
+ start: { type: "string", description: "YYYY-MM-DD", required: false },
282
+ end: { type: "string", description: "YYYY-MM-DD", required: false },
283
+ "last-days": { type: "string", description: "Window (default 30)", required: false },
284
+ "no-cache": NO_CACHE_ARG,
285
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
286
+ }
287
+ });
288
+ registerSchema({
289
+ command: "ads.linkedin.resolve",
290
+ description: "Resolve organization URNs (from top-companies / analytics --pivot company) to company names. With --with-domains, returns each org's LinkedIn page (vanityName), website and registrable domain instead \u2014 ready to match against CRM company domains. domainSource: website (the org's own domain), subdomain (e.g. news.microsoft.com \u2192 microsoft.com; lower confidence), none (shortlink/redirector or no website). Unknown ids come back in errors.",
291
+ args: {
292
+ urns: { type: "string", description: "Comma-separated org URNs (urn:li:organization:NNN)", required: false },
293
+ ids: { type: "string", description: "Comma-separated bare org ids (17719,19022)", required: false },
294
+ "with-domains": {
295
+ type: "boolean",
296
+ description: "Return vanityName, website, domain and domainSource per org (+ errors for unknown ids)",
297
+ required: false
298
+ },
299
+ "no-cache": NO_CACHE_ARG,
300
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
301
+ }
302
+ });
303
+ registerSchema({
304
+ command: "ads.linkedin.facets.list",
305
+ description: "List every targeting facet LinkedIn supports (industries, seniorities, titles, employers, growthRate, etc).",
306
+ args: {
307
+ "no-cache": NO_CACHE_ARG,
308
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
309
+ }
310
+ });
311
+ registerSchema({
312
+ command: "ads.linkedin.facets.values",
313
+ description: "Look up entity values for a facet \u2014 full list (q=adTargetingFacet) or typeahead search (q=typeahead, with --query).",
314
+ args: {
315
+ facet: { type: "string", description: "Facet name (industries) or URN", required: true },
316
+ query: { type: "string", description: "Typeahead query (auto-switches finder)", required: false },
317
+ finder: { type: "string", description: "adTargetingFacet|typeahead|similarEntities", required: false },
318
+ locale: { type: "string", description: "Locale (default en_US)", required: false },
319
+ "no-cache": NO_CACHE_ARG,
320
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
321
+ }
322
+ });
323
+ registerSchema({
324
+ command: "ads.linkedin.audience-size",
325
+ description: "Estimate audience size for a targetingCriteria payload. Returns total + active + playbook \xA704 sweet-spot warnings.",
326
+ args: {
327
+ "account-id": { type: "string", description: "Account ID", required: false },
328
+ "account-urn": { type: "string", description: "Alias", required: false },
329
+ targeting: { type: "string", description: "Inline JSON targetingCriteria", required: false },
330
+ "targeting-file": { type: "string", description: "Path to JSON file", required: false },
331
+ "no-cache": NO_CACHE_ARG,
332
+ output: { type: "string", description: "json", required: false, default: "json" }
333
+ }
334
+ });
335
+ registerSchema({
336
+ command: "ads.linkedin.bid-pricing",
337
+ description: "LinkedIn's suggested bid (min/default/max), bid limits and daily budget range for a targeting + objective + bid type, in the account's currency, plus the playbook \xA706 floor (2/3 of suggested).",
338
+ args: {
339
+ "account-id": { type: "string", description: "Account ID", required: false },
340
+ "account-urn": { type: "string", description: "Alias", required: false },
341
+ objective: {
342
+ type: "string",
343
+ description: "Objective type (LEAD_GENERATION, WEBSITE_VISIT, etc.)",
344
+ required: true
345
+ },
346
+ "cost-type": {
347
+ type: "string",
348
+ description: "CPC|CPM|CPV",
349
+ required: false,
350
+ default: "CPC",
351
+ enum: ["CPC", "CPM", "CPV"]
352
+ },
353
+ "campaign-type": {
354
+ type: "string",
355
+ description: "Campaign type",
356
+ required: false,
357
+ default: "SPONSORED_UPDATES",
358
+ enum: ["SPONSORED_UPDATES", "SPONSORED_INMAILS", "TEXT_AD"]
359
+ },
360
+ "audience-expansion": {
361
+ type: "boolean",
362
+ description: "Price with audience expansion on",
363
+ required: false,
364
+ default: false
365
+ },
366
+ targeting: { type: "string", description: "Inline JSON targetingCriteria", required: false },
367
+ "targeting-file": { type: "string", description: "Path to JSON file", required: false },
368
+ "no-cache": NO_CACHE_ARG,
369
+ output: { type: "string", description: "json", required: false, default: "json" }
370
+ }
371
+ });
372
+ registerSchema({
373
+ command: "ads.linkedin.forecast",
374
+ description: "LinkedIn's forecast for a campaign that doesn't exist yet: impressions, clicks, leads, spend, unit costs (cpc, cpm, costPerLead) and rates over a period, each { value, low, high }. Needs a budget; --bid forecasts a manual bid, without it LinkedIn's automated bidding.",
375
+ args: {
376
+ "account-id": { type: "string", description: "Account ID", required: false },
377
+ "account-urn": { type: "string", description: "Alias", required: false },
378
+ objective: { type: "string", description: "Objective type", required: false },
379
+ "cost-type": {
380
+ type: "string",
381
+ description: "Bid type of --bid",
382
+ required: false,
383
+ default: "CPC",
384
+ enum: ["CPC", "CPM", "CPV"]
385
+ },
386
+ "campaign-type": {
387
+ type: "string",
388
+ description: "Campaign type",
389
+ required: false,
390
+ default: "SPONSORED_UPDATES",
391
+ enum: ["SPONSORED_UPDATES", "SPONSORED_INMAILS", "DYNAMIC"]
392
+ },
393
+ "daily-budget": { type: "string", description: "e.g. '250' or '250 EUR'", required: false },
394
+ "total-budget": { type: "string", description: "e.g. '7250' or '7250 EUR'", required: false },
395
+ bid: { type: "string", description: "Manual bid e.g. '5.57'; omit for automated bidding", required: false },
396
+ "optimization-target": { type: "string", description: "Automated-bidding goal, e.g. MAX_LEAD", required: false },
397
+ start: { type: "string", description: "First day YYYY-MM-DD (default tomorrow)", required: false },
398
+ days: { type: "string", description: "Period length in days (default 30)", required: false },
399
+ targeting: { type: "string", description: "Inline JSON targetingCriteria", required: false },
400
+ "targeting-file": { type: "string", description: "Path to JSON file", required: false },
401
+ full: { type: "boolean", description: "Include LinkedIn's raw series", required: false, default: false },
402
+ "no-cache": NO_CACHE_ARG,
403
+ output: { type: "string", description: "json", required: false, default: "json" }
404
+ }
405
+ });
406
+ registerSchema({
407
+ command: "ads.linkedin.leads",
408
+ description: "List Lead Gen Form responses (90-day LinkedIn retention \u2014 sync to CRM via this endpoint). Filter by --form-id, --campaign-id, or --since-days.",
409
+ args: {
410
+ "account-id": { type: "string", description: "Account ID", required: false },
411
+ "account-urn": { type: "string", description: "Alias", required: false },
412
+ "form-id": { type: "string", description: "Filter by form ID", required: false },
413
+ "campaign-id": { type: "string", description: "Filter by campaign", required: false },
414
+ "since-days": { type: "string", description: "Last N days", required: false },
415
+ "since-ms": { type: "string", description: "Epoch ms (alternative to --since-days)", required: false },
416
+ until: { type: "string", description: "Submitted before (YYYY-MM-DD or epoch ms)", required: false },
417
+ "test-leads": { type: "boolean", description: "Only test leads", required: false },
418
+ limit: { type: "string", description: "Max rows", required: false },
419
+ "no-cache": NO_CACHE_ARG,
420
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
421
+ }
422
+ });
423
+ registerSchema({
424
+ command: "ads.linkedin.conversions.list",
425
+ description: "List conversion rules (Insight Tag + Conversions API).",
426
+ args: {
427
+ "account-id": { type: "string", description: "Account ID", required: false },
428
+ "account-urn": { type: "string", description: "Alias", required: false },
429
+ "no-cache": NO_CACHE_ARG,
430
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
431
+ }
432
+ });
433
+ registerSchema({
434
+ command: "ads.linkedin.conversions.health",
435
+ description: "Playbook \xA707 5-point health check: rules enabled? lead/purchase event? CAPI fired in 7d? view-through \u22647d? lead de-dup correct?",
436
+ args: {
437
+ "account-id": { type: "string", description: "Account ID", required: false },
438
+ "account-urn": { type: "string", description: "Alias", required: false },
439
+ "no-cache": NO_CACHE_ARG,
440
+ output: { type: "string", description: "json", required: false, default: "json" }
441
+ }
442
+ });
443
+ registerSchema({
444
+ command: "ads.linkedin.conversation",
445
+ description: "Per-button click rates inside Sponsored Messaging / Conversation Ads. Wraps analytics --pivot conversation-node-button.",
446
+ args: {
447
+ "campaign-id": { type: "string", description: "CSV campaign IDs", required: true },
448
+ start: { type: "string", description: "YYYY-MM-DD", required: false },
449
+ end: { type: "string", description: "YYYY-MM-DD", required: false },
450
+ "last-days": { type: "string", description: "Window (default 30)", required: false },
451
+ "no-cache": NO_CACHE_ARG,
452
+ output: { type: "string", description: "json|csv|jsonl|md", required: false, default: "json" }
453
+ }
454
+ });
455
+ registerSchema({
456
+ command: "ads.linkedin.audit",
457
+ description: "Run a 30+ check playbook audit (Settings, Tracking, Audience, Campaigns, Creative, Performance, Bidding, Compliance, Hygiene). Each finding: {id, area, check, status, severity, evidence, fix} with playbook citations. --format md renders a deliverable-ready table.",
458
+ args: {
459
+ "account-id": { type: "string", description: "Account ID", required: false },
460
+ "account-urn": { type: "string", description: "Alias", required: false },
461
+ "campaign-id": { type: "string", description: "Narrow to a single campaign", required: false },
462
+ "window-days": { type: "string", description: "Performance lookback (default 30)", required: false },
463
+ severity: { type: "string", description: "CSV severity filter (critical,high,medium,low)", required: false },
464
+ area: { type: "string", description: "CSV area filter", required: false },
465
+ format: { type: "string", description: "json | md", required: false, default: "json" },
466
+ "no-cache": NO_CACHE_ARG
467
+ }
468
+ });
469
+ var writeAccountArgs = {
470
+ "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N", required: false },
471
+ "account-urn": { type: "string", description: "Alias for --account-id", required: false }
472
+ };
473
+ registerSchema({
474
+ command: "ads.linkedin.campaign-groups.create",
475
+ description: "Stage a new campaign group (staged until publish; review with `baker ads linkedin draft`). Returns a li_temp_* ref that later `campaigns create --group` calls can reference.",
476
+ args: {
477
+ ...writeAccountArgs,
478
+ name: { type: "string", description: "Name (\u2264100 chars)", required: true },
479
+ start: {
480
+ type: "string",
481
+ description: "Run schedule start: now (default), ISO date or epoch ms \u2014 a passed start moves to publish",
482
+ required: false
483
+ },
484
+ end: { type: "string", description: "Run schedule end", required: false },
485
+ "total-budget": { type: "string", description: TOTAL_BUDGET_HELP, required: false },
486
+ currency: {
487
+ type: "string",
488
+ description: "3-letter currency code (defaults to the ad account currency)",
489
+ required: false
490
+ },
491
+ objective: { type: "string", description: "Objective every ad set takes, create-only", required: false },
492
+ "shared-budget": {
493
+ type: "string",
494
+ description: "MAXIMUM_DELIVERY|MANUAL|COST_CAP \u2014 share the total budget across its ad sets (needs --total-budget, --end)",
495
+ required: false
496
+ },
497
+ status: {
498
+ type: "string",
499
+ description: "DRAFT|ACTIVE (default DRAFT) \u2014 LinkedIn refuses a new group created PAUSED",
500
+ required: false
501
+ },
502
+ file: { type: "string", description: "JSON payload file; flags override file keys", required: false }
503
+ }
504
+ });
505
+ registerSchema({
506
+ command: "ads.linkedin.campaign-groups.update",
507
+ description: "Stage changes to an existing campaign group (name, schedule, budget, status). Captures a before-snapshot for the dashboard diff. Pass a li_temp_* ref to AMEND a group staged in this chat. Applies on chat publish.",
508
+ args: {
509
+ id: {
510
+ type: "positional",
511
+ description: "Campaign group id/URN, or li_temp_* ref staged in this chat",
512
+ required: true
513
+ },
514
+ ...writeAccountArgs,
515
+ name: { type: "string", description: "New name", required: false },
516
+ start: { type: "string", description: "New schedule start", required: false },
517
+ end: { type: "string", description: "New schedule end", required: false },
518
+ "total-budget": { type: "string", description: TOTAL_BUDGET_HELP, required: false },
519
+ currency: {
520
+ type: "string",
521
+ description: "3-letter currency code (defaults to the ad account currency)",
522
+ required: false
523
+ },
524
+ "shared-budget": {
525
+ type: "string",
526
+ description: "MAXIMUM_DELIVERY|MANUAL|COST_CAP \u2014 share the budget across its ad sets",
527
+ required: false
528
+ },
529
+ status: { type: "string", description: "ACTIVE|PAUSED|ARCHIVED", required: false },
530
+ file: { type: "string", description: "JSON file with fields to change", required: false }
531
+ }
532
+ });
533
+ registerSchema({
534
+ command: "ads.linkedin.campaigns.create",
535
+ description: "Stage a new campaign. --group accepts a real id/URN or a li_temp_* ref staged earlier in this chat. Targeting goes in --targeting-file as LinkedIn criteria: {include:{and:[{or:{'urn:li:adTargetingFacet:locations':['urn:li:geo:\u2026']}}]}} \u2014 find facet values with `baker ads linkedin facets values`. Playbook defaults: manual bid (--bid), audience expansion off, LAN off. Staged until publish.",
536
+ args: {
537
+ ...writeAccountArgs,
538
+ name: { type: "string", description: "Name (\u2264255 chars)", required: true },
539
+ group: { type: "string", description: "Campaign group id/URN or li_temp_* ref", required: true },
540
+ type: { type: "string", description: "SPONSORED_UPDATES|TEXT_AD|SPONSORED_INMAILS|DYNAMIC", required: true },
541
+ objective: { type: "string", description: "LEAD_GENERATION|WEBSITE_VISIT|BRAND_AWARENESS|\u2026", required: false },
542
+ "cost-type": { type: "string", description: "CPC|CPM|CPV", required: true },
543
+ bid: { type: "string", description: "Manual bid amount (unitCost)", required: false },
544
+ "daily-budget": { type: "string", description: "Daily budget amount", required: false },
545
+ "total-budget": { type: "string", description: TOTAL_BUDGET_HELP, required: false },
546
+ currency: {
547
+ type: "string",
548
+ description: "3-letter currency code (defaults to the ad account currency)",
549
+ required: false
550
+ },
551
+ start: {
552
+ type: "string",
553
+ description: "Run schedule start: now (default \u2014 when the chat publishes), ISO date or epoch ms",
554
+ required: false
555
+ },
556
+ end: { type: "string", description: "Run schedule end", required: false },
557
+ locale: { type: "string", description: "Profile locale like en_US (default en_US)", required: false },
558
+ "targeting-file": { type: "string", description: "JSON file with targetingCriteria", required: true },
559
+ "audience-expansion": { type: "string", description: "on|off (playbook: off; default off)", required: false },
560
+ lan: {
561
+ type: "string",
562
+ description: "LinkedIn Audience Network on|off (playbook: off; default off)",
563
+ required: false
564
+ },
565
+ ctv: { type: "string", description: "Connected TV on|off (default off)", required: false },
566
+ "creative-selection": { type: "string", description: "OPTIMIZED|ROUND_ROBIN", required: false },
567
+ "associated-entity": { type: "string", description: "Organization URN", required: false },
568
+ "political-intent": {
569
+ type: "string",
570
+ description: "NOT_POLITICAL (default)|POLITICAL|NOT_DECLARED \u2014 the advertiser's declaration; new ad sets are declared not political unless the ads are political advertising",
571
+ required: false
572
+ },
573
+ optimization: {
574
+ type: "string",
575
+ description: "optimizationTargetType \u2014 NONE (manual, default)|ENHANCED_CONVERSION|MAX_LEAD|MAX_QUALIFIED_LEAD|MAX_CONVERSION|MAX_CLICK|MAX_IMPRESSION|MAX_REACH|MAX_VIDEO_VIEW (CPM)|TARGET_COST_PER_CLICK|TARGET_COST_PER_IMPRESSION|TARGET_COST_PER_VIDEO_VIEW|CAP_COST_AND_MAXIMIZE_LEADS|\u2026_CLICKS|\u2026_IMPRESSIONS|\u2026_VIDEO_VIEWS (CPM); target cost and cost cap need --bid",
576
+ required: false
577
+ },
578
+ format: {
579
+ type: "string",
580
+ description: "Ad format, create-only: STANDARD_UPDATE|SINGLE_VIDEO|CAROUSEL|TEXT_AD|SPOTLIGHT|FOLLOW_COMPANY|JOBS|SPONSORED_INMAIL|SPONSORED_MESSAGE|SPONSORED_UPDATE_EVENT|SPONSORED_UPDATE_NATIVE_DOCUMENT",
581
+ required: false
582
+ },
583
+ pacing: { type: "string", description: "LIFETIME|ACCELERATED, create-only", required: false },
584
+ "frequency-cap": {
585
+ type: "string",
586
+ description: "At most N impressions per member a week (3\u201330), Brand awareness only",
587
+ required: false
588
+ },
589
+ status: {
590
+ type: "string",
591
+ description: "DRAFT|ACTIVE|PAUSED (default DRAFT) \u2014 PAUSED needs a group that is not DRAFT",
592
+ required: false
593
+ },
594
+ file: { type: "string", description: "JSON payload file; flags override file keys", required: false }
595
+ }
596
+ });
597
+ registerSchema({
598
+ command: "ads.linkedin.campaigns.update",
599
+ description: "Stage changes to an existing campaign \u2014 budget, bid, targeting, schedule, flags, status. Only pass what changes; a before-snapshot powers the dashboard diff. Pass a li_temp_* ref to AMEND a campaign staged in this chat (fields merge into the staged create). Applies on chat publish.",
600
+ args: {
601
+ id: { type: "positional", description: "Campaign id/URN, or li_temp_* ref staged in this chat", required: true },
602
+ ...writeAccountArgs,
603
+ name: { type: "string", description: "New name", required: false },
604
+ objective: { type: "string", description: "New objective", required: false },
605
+ "cost-type": { type: "string", description: "CPC|CPM|CPV", required: false },
606
+ bid: { type: "string", description: "New manual bid", required: false },
607
+ "daily-budget": { type: "string", description: "New daily budget", required: false },
608
+ "total-budget": { type: "string", description: TOTAL_BUDGET_HELP, required: false },
609
+ currency: {
610
+ type: "string",
611
+ description: "3-letter currency code (defaults to the ad account currency)",
612
+ required: false
613
+ },
614
+ start: { type: "string", description: "New schedule start", required: false },
615
+ end: { type: "string", description: "New schedule end", required: false },
616
+ "targeting-file": { type: "string", description: "JSON file with replacement targetingCriteria", required: false },
617
+ "audience-expansion": { type: "string", description: "on|off", required: false },
618
+ lan: { type: "string", description: "on|off", required: false },
619
+ ctv: { type: "string", description: "on|off", required: false },
620
+ "creative-selection": { type: "string", description: "OPTIMIZED|ROUND_ROBIN", required: false },
621
+ "political-intent": {
622
+ type: "string",
623
+ description: "NOT_POLITICAL|POLITICAL|NOT_DECLARED \u2014 corrects the ad set's political-advertising declaration; leave it out to keep the current one",
624
+ required: false
625
+ },
626
+ status: { type: "string", description: "ACTIVE|PAUSED|ARCHIVED", required: false },
627
+ optimization: {
628
+ type: "string",
629
+ description: "optimizationTargetType \u2014 NONE (manual, default)|ENHANCED_CONVERSION|MAX_LEAD|MAX_QUALIFIED_LEAD|MAX_CONVERSION|MAX_CLICK|MAX_IMPRESSION|MAX_REACH|MAX_VIDEO_VIEW (CPM)|TARGET_COST_PER_CLICK|TARGET_COST_PER_IMPRESSION|TARGET_COST_PER_VIDEO_VIEW|CAP_COST_AND_MAXIMIZE_LEADS|\u2026_CLICKS|\u2026_IMPRESSIONS|\u2026_VIDEO_VIEWS (CPM); target cost and cost cap need --bid",
630
+ required: false
631
+ },
632
+ format: {
633
+ type: "string",
634
+ description: "Ad format, create-only: STANDARD_UPDATE|SINGLE_VIDEO|CAROUSEL|TEXT_AD|SPOTLIGHT|FOLLOW_COMPANY|JOBS|SPONSORED_INMAIL|SPONSORED_MESSAGE|SPONSORED_UPDATE_EVENT|SPONSORED_UPDATE_NATIVE_DOCUMENT",
635
+ required: false
636
+ },
637
+ pacing: { type: "string", description: "LIFETIME|ACCELERATED, create-only", required: false },
638
+ "frequency-cap": {
639
+ type: "string",
640
+ description: "At most N impressions per member a week (3\u201330), Brand awareness only",
641
+ required: false
642
+ },
643
+ file: { type: "string", description: "JSON file with fields to change", required: false }
644
+ }
645
+ });
646
+ registerSchema({
647
+ command: "ads.linkedin.campaigns.exclude-companies",
648
+ description: "Stop a live ad set reaching some companies (customers, open deals, competitors). Add-only \u2014 never removes an exclusion. At publish Baker re-reads the ad set and merges into its targeting as it stands then, keeping audience, locations and every existing exclusion. --org takes company ids (as `companies` / `top-companies` print them) or urn:li:organization URNs, comma-separated, up to 200 per call; a longer list goes into a company-list audience passed to --segment. Staged until publish.",
649
+ args: {
650
+ id: {
651
+ type: "positional",
652
+ description: "Ad set (campaign) id or URN \u2014 must already be on LinkedIn",
653
+ required: true
654
+ },
655
+ ...writeAccountArgs,
656
+ org: {
657
+ type: "string",
658
+ description: "Company ids or urn:li:organization URNs, comma-separated \u2014 e.g. 1035,1441",
659
+ required: false
660
+ },
661
+ segment: {
662
+ type: "string",
663
+ description: "Matched audiences, comma-separated: urn:li:dmpSegment:N / urn:li:adSegment:N or a li_temp_* ref",
664
+ required: false
665
+ }
666
+ }
667
+ });
668
+ registerSchema({
669
+ command: "ads.linkedin.campaigns.url-params",
670
+ description: "Start here for UTMs: stage the URL tracking parameters on an ad set. LinkedIn appends them to the link of EVERY ad in the ad set, including ads already running, so this is the level to set campaign-wide UTMs at \u2014 editing each ad's landing URL instead risks the same key landing twice. For a value that never varies across the whole account, set it once with `account url-params` instead; LinkedIn appends BOTH levels, so a key set at both lands in the URL twice. REPLACES the ad set's whole parameter set \u2014 LinkedIn does not merge, so read `ads.linkedin.url-params` first and re-send every pair that should survive. --param takes fixed values (repeatable or &-joined); --dynamic takes a value LinkedIn fills in per ad (ACCOUNT_ID, ACCOUNT_NAME, CAMPAIGN_GROUP_ID, CAMPAIGN_GROUP_NAME, CAMPAIGN_ID, CAMPAIGN_NAME, CREATIVE_ID, CREATIVE_NAME). Applies on chat publish; message and conversation ads are unaffected.",
671
+ args: {
672
+ id: { type: "positional", description: "Ad set (campaign) id or URN", required: true },
673
+ ...writeAccountArgs,
674
+ param: {
675
+ type: "string",
676
+ description: 'Fixed key=value, repeatable or &-joined \u2014 e.g. "utm_source=linkedin&utm_medium=paid-social"',
677
+ required: false
678
+ },
679
+ dynamic: {
680
+ type: "string",
681
+ description: "key=PLACEHOLDER filled in per ad, repeatable \u2014 e.g. utm_campaign=CAMPAIGN_NAME",
682
+ required: false
683
+ },
684
+ clear: { type: "boolean", description: "Remove every tracking parameter from this ad set", required: false },
685
+ file: { type: "string", description: "JSON payload file; flags override file keys", required: false }
686
+ }
687
+ });
688
+ registerSchema({
689
+ command: "ads.linkedin.url-params",
690
+ description: "Read the URL tracking parameters in effect: the ad account's, optionally every ad set's, and the keys set at BOTH levels \u2014 which LinkedIn appends twice into the served URL. Run this BEFORE setting UTMs on an ad set, because whatever the account already carries is appended on top. Account-only by default (there is no batch read, so each ad set costs its own call); --ad-sets sweeps them, capped, and the response says how many of how many were examined.",
691
+ args: {
692
+ "account-id": { type: "string", description: "Numeric ID or urn:li:sponsoredAccount:N", required: false },
693
+ "account-urn": { type: "string", description: "Alias for --account-id", required: false },
694
+ "ad-sets": { type: "boolean", description: "Also read every ad set's parameters", required: false },
695
+ "campaign-ids": {
696
+ type: "string",
697
+ description: "Comma-separated ad set ids to read instead of all",
698
+ required: false
699
+ },
700
+ "collisions-only": { type: "boolean", description: "Only the keys set at more than one level", required: false }
701
+ }
702
+ });
703
+ registerSchema({
704
+ command: "ads.linkedin.account.url-params",
705
+ 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. Use it for the values that never vary across the account (utm_source, utm_medium, an agency tag); anything naming a specific ad set belongs on the ad set (`campaigns url-params`), because LinkedIn appends BOTH levels and a key set at both lands in the URL twice. REPLACES the account's whole parameter set \u2014 LinkedIn does not merge, so read `ads.linkedin.url-params` first and re-send every pair that should survive. --param takes fixed values (repeatable or &-joined); --dynamic takes a value LinkedIn fills in per ad (ACCOUNT_ID, ACCOUNT_NAME, CAMPAIGN_GROUP_ID, CAMPAIGN_GROUP_NAME, CAMPAIGN_ID, CAMPAIGN_NAME, CREATIVE_ID, CREATIVE_NAME). Applies on chat publish; message and conversation ads are unaffected.",
706
+ args: {
707
+ ...writeAccountArgs,
708
+ param: {
709
+ type: "string",
710
+ description: 'Fixed key=value, repeatable or &-joined \u2014 e.g. "utm_source=linkedin&utm_medium=paid-social"',
711
+ required: false
712
+ },
713
+ dynamic: {
714
+ type: "string",
715
+ description: "key=PLACEHOLDER filled in per ad, repeatable \u2014 e.g. utm_campaign=CAMPAIGN_NAME",
716
+ required: false
717
+ },
718
+ clear: { type: "boolean", description: "Remove every tracking parameter set on the ad account", required: false },
719
+ file: { type: "string", description: "JSON payload file; flags override file keys", required: false }
720
+ }
721
+ });
722
+ var statusSugarArgs = {
723
+ id: {
724
+ type: "positional",
725
+ description: "Entity id or URN \u2014 comma-separate several to change them all in one call",
726
+ required: false
727
+ },
728
+ "ids-file": { type: "string", description: "File of ids, one per line or comma-separated", required: false },
729
+ ...writeAccountArgs
730
+ };
731
+ var MULTI_ID_NOTE = "Takes one id or many: comma-separate the ids, or pass --ids-file. Several ids stage together as one set \u2014 all of them or none. The list form is for real ids/URNs only: a li_temp_* ref AMENDS what this chat already staged, and an amend must be passed on its own.";
732
+ registerSchema({
733
+ command: "ads.linkedin.campaigns.pause",
734
+ description: `Stage pausing a campaign (status \u2192 PAUSED on publish). ${MULTI_ID_NOTE}`,
735
+ args: statusSugarArgs
736
+ });
737
+ registerSchema({
738
+ command: "ads.linkedin.campaigns.resume",
739
+ description: `Stage resuming a paused campaign (status \u2192 ACTIVE on publish). ${MULTI_ID_NOTE}`,
740
+ args: statusSugarArgs
741
+ });
742
+ registerSchema({
743
+ command: "ads.linkedin.campaigns.archive",
744
+ description: `Stage archiving a campaign (status \u2192 ARCHIVED on publish). ${MULTI_ID_NOTE}`,
745
+ args: statusSugarArgs
746
+ });
747
+ registerSchema({
748
+ command: "ads.linkedin.campaign-groups.pause",
749
+ description: `Stage pausing a campaign group. ${MULTI_ID_NOTE}`,
750
+ args: statusSugarArgs
751
+ });
752
+ registerSchema({
753
+ command: "ads.linkedin.campaign-groups.resume",
754
+ description: `Stage resuming a campaign group. ${MULTI_ID_NOTE}`,
755
+ args: statusSugarArgs
756
+ });
757
+ registerSchema({
758
+ command: "ads.linkedin.creatives.pause",
759
+ description: `Stage pausing a creative (intendedStatus \u2192 PAUSED on publish). Playbook early-kill rule: >30 impressions with 0 clicks. ${MULTI_ID_NOTE}`,
760
+ args: statusSugarArgs
761
+ });
762
+ registerSchema({
763
+ command: "ads.linkedin.creatives.resume",
764
+ description: `Stage resuming a paused creative. ${MULTI_ID_NOTE}`,
765
+ args: statusSugarArgs
766
+ });
767
+ for (const [entity, what] of [
768
+ ["campaign-groups", "campaign"],
769
+ ["campaigns", "ad set"],
770
+ ["creatives", "ad"]
771
+ ]) {
772
+ registerSchema({
773
+ command: `ads.linkedin.${entity}.delete`,
774
+ description: `Stage deleting a ${what} that is still a DRAFT on LinkedIn; anything that has left draft is paused or archived instead. Deletes run last at publish, ads before ad sets before campaigns. ${MULTI_ID_NOTE}`,
775
+ args: statusSugarArgs
776
+ });
777
+ }
778
+ var duplicateArgs = {
779
+ id: { type: "positional", description: "Source id or URN", required: true },
780
+ ...writeAccountArgs,
781
+ name: { type: "string", description: "Name for the copy", required: false },
782
+ file: { type: "string", description: "JSON file with field overrides for the copy", required: false }
783
+ };
784
+ registerSchema({
785
+ command: "ads.linkedin.campaigns.duplicate",
786
+ description: "Stage a copy of an existing campaign as a new DRAFT create (playbook: duplicate, never link-to-original). Reads the source at stage time; override fields via --name/--file.",
787
+ args: duplicateArgs
788
+ });
789
+ registerSchema({
790
+ command: "ads.linkedin.campaign-groups.duplicate",
791
+ description: "Stage a copy of an existing campaign group as a new DRAFT create.",
792
+ args: duplicateArgs
793
+ });
794
+ registerSchema({
795
+ command: "ads.linkedin.creatives.duplicate",
796
+ description: "Stage a copy of an existing ad, optionally with new content. Direct-content ads (text/spotlight/follower/jobs) copy field-by-field, so a copy is how their immutable content changes (they can also update in place via creatives.update). Post-based ads re-sponsor the SAME post \u2014 the post owns the copy, media and destination, so content flags are rejected here: stage creatives.create with the new content instead, then pause the old ad. --replace stages pausing the original, gated on the new ad publishing successfully, and the copy inherits the source's status.",
797
+ args: {
798
+ id: { type: "positional", description: "Source creative id or URN", required: true },
799
+ ...writeAccountArgs,
800
+ campaign: { type: "string", description: "Stage the copy under a different ad set", required: false },
801
+ "intended-status": { type: "string", description: "Status for the copy (default DRAFT)", required: false },
802
+ replace: { type: "boolean", description: "Also pause the original once the new ad publishes", required: false },
803
+ headline: { type: "string", description: "New headline", required: false },
804
+ description: { type: "string", description: "New description (text/spotlight)", required: false },
805
+ intro: { type: "string", description: "New commentary / intro text", required: false },
806
+ "landing-url": { type: "string", description: "New https destination URL", required: false },
807
+ cta: { type: "string", description: "New CTA", required: false },
808
+ "cta-label": { type: "string", description: "Spotlight custom CTA label", required: false },
809
+ "image-id": { type: "string", description: "Baker image library id", required: false },
810
+ "image-urn": { type: "string", description: "Existing urn:li:image:*", required: false },
811
+ "video-id": {
812
+ type: "string",
813
+ description: "Baker video library id (`baker videos`) \u2014 uploaded to LinkedIn at publish; a first publish may ask to retry while the full-quality copy is prepared",
814
+ required: false
815
+ },
816
+ "video-urn": { type: "string", description: "Existing urn:li:video:*", required: false },
817
+ "logo-image-id": { type: "string", description: "Baker image id for the logo", required: false },
818
+ title: { type: "string", description: "Media title", required: false },
819
+ file: { type: "string", description: "JSON file with field overrides for the copy", required: false }
820
+ }
821
+ });
822
+ registerSchema({
823
+ command: "ads.linkedin.creatives.create",
824
+ description: "Stage a new creative (ad). Formats: image|video|text|spotlight|follower|document|carousel|conversation|tla|jobs|event|article. Media: --image-id references the Baker library (`baker images`) and uploads to LinkedIn at publish, any format; --video-id uploads a Baker library video at publish; --image-urn/--video-urn reference media already on LinkedIn. Limits: headline \u226470 (text ads \u226425), intro soft-truncates at 600 chars, landing URL must be https. Complex formats take --file with the full content object; conversation ads take --file with the message flow ({message: {subject, body (\u2264500), senderName?, buttons \u22645 \xD7 {label \u226425, type NESTED|LANDING_PAGE|LEAD_FORM, nestedMessage?|landingPageUrl?|leadForm?}}}, \u226425 messages) and arrive from --sender (default: whoever connected LinkedIn). --format tla boosts an existing post (Thought Leader ad): name it with --post <Baker post id from `baker posts list`>, --post-url <any link to the post>, or --post-urn <urn:li:share|ugcPost:*>. --format document (in a SPONSORED_UPDATE_NATIVE_DOCUMENT ad set) takes --document <Baker document name> or --document-url <PDF link> and --title; gate it with --lead-form + --preview-pages N. Staged until publish.",
825
+ args: {
826
+ ...writeAccountArgs,
827
+ campaign: { type: "string", description: "Campaign id/URN or li_temp_* ref", required: true },
828
+ format: {
829
+ type: "string",
830
+ description: "image|video|text|spotlight|follower|document|carousel|conversation|tla|jobs|event|article",
831
+ required: true
832
+ },
833
+ "image-id": { type: "string", description: "Baker image library id", required: false },
834
+ "image-urn": { type: "string", description: "Existing urn:li:image:*", required: false },
835
+ "video-id": {
836
+ type: "string",
837
+ description: "Baker video library id (`baker videos`) \u2014 uploaded to LinkedIn at publish; a first publish may ask to retry while the full-quality copy is prepared",
838
+ required: false
839
+ },
840
+ "video-urn": { type: "string", description: "Existing urn:li:video:*", required: false },
841
+ "logo-image-id": { type: "string", description: "Baker image id for the logo", required: false },
842
+ intro: { type: "string", description: "Commentary / intro text", required: false },
843
+ headline: { type: "string", description: "Headline", required: false },
844
+ description: { type: "string", description: "Description (text/spotlight)", required: false },
845
+ "landing-url": { type: "string", description: "https destination URL", required: false },
846
+ cta: { type: "string", description: "LEARN_MORE|REQUEST_DEMO|SIGN_UP|REGISTER|DOWNLOAD|\u2026", required: false },
847
+ "cta-label": { type: "string", description: "Spotlight CTA label (\u226418 chars)", required: false },
848
+ post: {
849
+ type: "string",
850
+ description: "TLA: the post to sponsor, by its Baker post id (`baker posts list`). Staging refuses one that can't run as an ad.",
851
+ required: false
852
+ },
853
+ "post-urn": {
854
+ type: "string",
855
+ description: "TLA: the post to sponsor by its URN \u2014 urn:li:share|ugcPost:*",
856
+ required: false
857
+ },
858
+ "post-url": {
859
+ type: "string",
860
+ description: "TLA: any link to the post, normal or embed \u2014 Baker reads it and adds it to Posts",
861
+ required: false
862
+ },
863
+ sender: {
864
+ type: "string",
865
+ description: "Conversation ads: urn:li:person:* sender from `account-users` (default: whoever connected LinkedIn)",
866
+ required: false
867
+ },
868
+ document: {
869
+ type: "string",
870
+ description: "Document ads: a Baker document's folder name (src/documents/<name>), uploaded at publish",
871
+ required: false
872
+ },
873
+ "document-url": {
874
+ type: "string",
875
+ description: "Document ads: https link to a PDF, PowerPoint or Word file (\u2264100 MB, \u2264300 pages)",
876
+ required: false
877
+ },
878
+ "document-urn": { type: "string", description: "Document ads: existing urn:li:document:*", required: false },
879
+ "preview-pages": {
880
+ type: "string",
881
+ description: "Gated document ads: pages shown before the lead gen form (needs --lead-form)",
882
+ required: false
883
+ },
884
+ "event-urn": {
885
+ type: "string",
886
+ description: "Event ads: the LinkedIn event to sponsor (urn:li:event:*)",
887
+ required: false
888
+ },
889
+ "article-url": {
890
+ type: "string",
891
+ description: "Article ads: https URL of the article/newsletter to sponsor",
892
+ required: false
893
+ },
894
+ "thumbnail-image-id": {
895
+ type: "string",
896
+ description: "Article ads: Baker image id for the link thumbnail",
897
+ required: false
898
+ },
899
+ "thumbnail-urn": { type: "string", description: "Article ads: existing urn:li:image:* thumbnail", required: false },
900
+ "intended-status": {
901
+ type: "string",
902
+ description: "DRAFT|ACTIVE (default DRAFT) \u2014 a new ad can't start PAUSED; DRAFT holds it back",
903
+ required: false
904
+ },
905
+ title: {
906
+ type: "string",
907
+ description: "Media title (image/video), article title, or document title",
908
+ required: false
909
+ },
910
+ "lead-form": {
911
+ type: "string",
912
+ description: "Lead gen form the ad opens (image|video|carousel|document|tla): li_temp_* from `lead-forms create` or a form id from `lead-forms`. Required in a LEAD_GENERATION ad set; replaces --landing-url",
913
+ required: false
914
+ },
915
+ "lead-form-button": {
916
+ type: "string",
917
+ description: "APPLY|DOWNLOAD|VIEW_QUOTE|LEARN_MORE|SIGN_UP (default)|SUBSCRIBE|REGISTER|REQUEST_DEMO|JOIN|ATTEND|UNLOCK_FULL_DOCUMENT|SHOP_NOW|BUY_NOW|SEE_MORE",
918
+ required: false
919
+ },
920
+ file: { type: "string", description: "JSON file with the full content object", required: false }
921
+ }
922
+ });
923
+ registerSchema({
924
+ command: "ads.linkedin.creatives.update",
925
+ description: `Stage changes to an existing creative. Direct-content ads (text/spotlight/follower/jobs) update copy/media/URL IN PLACE \u2014 pass only the changed fields (headline, description, landing-url, image-id, \u2026); the ad's current content carries over. Post-based ads (image/video/carousel/\u2026) sponsor a post that owns the copy, media and destination \u2014 neither this command nor creatives.duplicate can change it; stage creatives.create with the new content, then pause the old ad. Passing a li_temp_* ref AMENDS the creative staged in this chat instead. ${MULTI_ID_NOTE} Applies on chat publish.`,
926
+ args: {
927
+ id: {
928
+ type: "positional",
929
+ description: "Creative id/URN \u2014 comma-separate several. A li_temp_* ref amends what this chat staged and must be passed on its own.",
930
+ required: false
931
+ },
932
+ "ids-file": {
933
+ type: "string",
934
+ description: "File of creative ids, one per line or comma-separated",
935
+ required: false
936
+ },
937
+ ...writeAccountArgs,
938
+ "intended-status": { type: "string", description: "ACTIVE|PAUSED|ARCHIVED|DRAFT", required: false },
939
+ name: { type: "string", description: "New creative name", required: false },
940
+ campaign: {
941
+ type: "string",
942
+ description: "Re-parent to a different ad set (id/URN or li_temp_*) \u2014 staged creatives only",
943
+ required: false
944
+ },
945
+ headline: { type: "string", description: "New headline", required: false },
946
+ intro: { type: "string", description: "Commentary / intro text", required: false },
947
+ description: { type: "string", description: "Description (text/spotlight)", required: false },
948
+ "landing-url": { type: "string", description: "New https destination URL", required: false },
949
+ cta: { type: "string", description: "New CTA", required: false },
950
+ "cta-label": { type: "string", description: "Spotlight custom CTA label", required: false },
951
+ "image-id": { type: "string", description: "Baker image library id", required: false },
952
+ "image-urn": { type: "string", description: "Existing urn:li:image:*", required: false },
953
+ "video-id": {
954
+ type: "string",
955
+ description: "Baker video library id (`baker videos`) \u2014 uploaded to LinkedIn at publish; a first publish may ask to retry while the full-quality copy is prepared",
956
+ required: false
957
+ },
958
+ "video-urn": { type: "string", description: "Existing urn:li:video:*", required: false },
959
+ "logo-image-id": { type: "string", description: "Baker image id for the logo", required: false },
960
+ "thumbnail-image-id": {
961
+ type: "string",
962
+ description: "Baker image id for the article thumbnail",
963
+ required: false
964
+ },
965
+ "thumbnail-urn": { type: "string", description: "Existing urn:li:image:* thumbnail", required: false },
966
+ title: { type: "string", description: "Media or article title", required: false },
967
+ "lead-form": {
968
+ type: "string",
969
+ description: "Lead gen form the ad opens (image|video|carousel|document|tla): li_temp_* from `lead-forms create` or a form id from `lead-forms`. Required in a LEAD_GENERATION ad set; replaces --landing-url",
970
+ required: false
971
+ },
972
+ "lead-form-button": {
973
+ type: "string",
974
+ description: "APPLY|DOWNLOAD|VIEW_QUOTE|LEARN_MORE|SIGN_UP (default)|SUBSCRIBE|REGISTER|REQUEST_DEMO|JOIN|ATTEND|UNLOCK_FULL_DOCUMENT|SHOP_NOW|BUY_NOW|SEE_MORE",
975
+ required: false
976
+ },
977
+ file: { type: "string", description: "JSON file with fields to change; flags override file keys", required: false }
978
+ }
979
+ });
980
+ registerSchema({
981
+ command: "ads.linkedin.audiences.create",
982
+ description: "Stage a new matched audience. company-list/user-list take --list-file (CSV with header; companies by companyName, domain and the LinkedIn page \u2014 a linkedinCompanyPageUrl column (LinkedIn's own template; https://www.linkedin.com/company/<slug>) or organizationUrn \u2014 which matches the company exactly, so keep it, never drop it; email column is SHA-256 hashed locally). LinkedIn needs 300+ MATCHED members to serve \u2014 a contact list needs well above 300 rows; a company list counts every employee of its companies. retargeting/engagement configs go in --file. Staged until publish.",
983
+ args: {
984
+ ...writeAccountArgs,
985
+ name: { type: "string", description: "Audience name (\u2264100 chars)", required: true },
986
+ type: { type: "string", description: "company-list|user-list|retargeting|engagement", required: true },
987
+ "list-file": { type: "string", description: "CSV file with the list rows", required: false },
988
+ file: {
989
+ type: "string",
990
+ description: "JSON raw source config for retargeting/engagement \u2014 sourcePlatform, type USER, and engagementRules (engagementSource, engagementTrigger, timeFrame)",
991
+ required: false
992
+ }
993
+ }
994
+ });
995
+ registerSchema({
996
+ command: "ads.linkedin.audiences.upload",
997
+ description: "Stage REPLACING an audience's list with a new file (LinkedIn keeps one list per audience and has no row-level add or remove for this app): send the whole list \u2014 to add people, the old rows plus the new; to remove people, the list without them. Same CSV rules as audiences.create.",
998
+ args: {
999
+ id: { type: "positional", description: "Segment URN/id or li_temp_* ref", required: true },
1000
+ ...writeAccountArgs,
1001
+ "list-file": {
1002
+ type: "string",
1003
+ description: "CSV file with the WHOLE list the audience should hold",
1004
+ required: true
1005
+ }
1006
+ }
1007
+ });
1008
+ registerSchema({
1009
+ command: "ads.linkedin.conversions.create",
1010
+ description: "Stage a new conversion rule. Playbook defaults: --post-click-window 30 --view-window 7, counting ONE_TIME_EACH_MEMBER for leads. Staged until publish.",
1011
+ args: {
1012
+ ...writeAccountArgs,
1013
+ name: { type: "string", description: "Rule name", required: true },
1014
+ type: {
1015
+ type: "string",
1016
+ 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",
1017
+ required: true
1018
+ },
1019
+ method: { type: "string", description: "INSIGHT_TAG|CONVERSIONS_API", required: true },
1020
+ "post-click-window": {
1021
+ type: "string",
1022
+ 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",
1023
+ required: false
1024
+ },
1025
+ "view-window": {
1026
+ type: "string",
1027
+ 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",
1028
+ required: false
1029
+ },
1030
+ "attribution-type": {
1031
+ type: "string",
1032
+ description: "LAST_TOUCH_BY_CAMPAIGN|LAST_TOUCH_BY_CONVERSION",
1033
+ required: false
1034
+ },
1035
+ "associate-all-campaigns": {
1036
+ type: "boolean",
1037
+ description: "Auto-associate with active campaigns",
1038
+ required: false
1039
+ },
1040
+ file: { type: "string", description: "JSON payload file (e.g. urlMatchRuleExpression)", required: false }
1041
+ }
1042
+ });
1043
+ registerSchema({
1044
+ command: "ads.linkedin.conversions.update",
1045
+ description: "Stage changes to a conversion rule (windows, attribution, enabled, name). Applies on chat publish.",
1046
+ args: {
1047
+ id: { type: "positional", description: "Conversion rule id or URN", required: true },
1048
+ ...writeAccountArgs,
1049
+ name: { type: "string", description: "New name", required: false },
1050
+ "post-click-window": {
1051
+ type: "string",
1052
+ 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",
1053
+ required: false
1054
+ },
1055
+ "view-window": {
1056
+ type: "string",
1057
+ 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",
1058
+ required: false
1059
+ },
1060
+ "attribution-type": { type: "string", description: "New attribution type", required: false },
1061
+ enabled: { type: "string", description: "on|off", required: false },
1062
+ file: { type: "string", description: "JSON file with fields to change", required: false }
1063
+ }
1064
+ });
1065
+ registerSchema({
1066
+ command: "ads.linkedin.conversions.associate-campaign",
1067
+ description: "Count an existing conversion rule for one ad set. Which ad sets a rule counts for is a separate LinkedIn record, not a field on the rule \u2014 `conversions update` cannot change it, and `--associate-all-campaigns` exists only on create. Staged until publish.",
1068
+ args: {
1069
+ id: { type: "positional", description: "Conversion rule id or URN", required: true },
1070
+ ...writeAccountArgs,
1071
+ campaign: { type: "string", description: "Ad set (campaign) id or URN", required: true }
1072
+ }
1073
+ });
1074
+ registerSchema({
1075
+ command: "ads.linkedin.conversions.dissociate-campaign",
1076
+ description: "Stop counting an existing conversion rule for one ad set. Staged until publish.",
1077
+ args: {
1078
+ id: { type: "positional", description: "Conversion rule id or URN", required: true },
1079
+ ...writeAccountArgs,
1080
+ campaign: { type: "string", description: "Ad set (campaign) id or URN", required: true }
1081
+ }
1082
+ });
1083
+ registerSchema({
1084
+ command: "ads.linkedin.lead-forms.create",
1085
+ description: "Stage a new Lead Gen Form from a JSON file: {name, headline \u226460, description? \u2264160, privacyPolicyUrl, questions[] \u226412 (playbook: \u22644 for completion), thankYou?, legalDisclaimer?}. Staged until publish.",
1086
+ args: {
1087
+ ...writeAccountArgs,
1088
+ file: { type: "string", description: "JSON form definition file", required: true },
1089
+ name: { type: "string", description: "Override the form name", required: false }
1090
+ }
1091
+ });
1092
+ registerSchema({
1093
+ command: "ads.linkedin.lead-forms.update",
1094
+ description: "Stage changes to a Lead Gen Form. Once its ads are live LinkedIn keeps only the copy editable (headline, description, privacy policy URL, legal disclaimer, thank-you message and link) and the state. Copy is written in the form's own language. Applies on chat publish.",
1095
+ args: {
1096
+ id: { type: "positional", description: "Lead form id or URN", required: true },
1097
+ ...writeAccountArgs,
1098
+ name: { type: "string", description: "New form name", required: false },
1099
+ state: { type: "string", description: "PUBLISHED|ARCHIVED", required: false },
1100
+ headline: { type: "string", description: "Form headline (\u226460)", required: false },
1101
+ description: { type: "string", description: "Form details text", required: false },
1102
+ "privacy-policy-url": { type: "string", description: "https privacy policy URL", required: false },
1103
+ "legal-disclaimer": { type: "string", description: "Custom legal disclaimer", required: false },
1104
+ "thank-you-message": { type: "string", description: "Confirmation message", required: false },
1105
+ "thank-you-url": { type: "string", description: "https link on the confirmation screen", required: false },
1106
+ file: { type: "string", description: "JSON file with any of the fields above", required: false }
1107
+ }
1108
+ });
1109
+ registerSchema({
1110
+ command: "ads.linkedin.lead-forms.list",
1111
+ description: "List the ad account's lead gen forms \u2014 id, name, state (a DRAFT form can't serve), version, how many questions. --full spells out every form's questions and options; --form-id reads one form in full.",
1112
+ args: {
1113
+ ...writeAccountArgs,
1114
+ "form-id": { type: "string", description: "Read one form (id or urn:li:leadGenForm:N)", required: false },
1115
+ full: { type: "boolean", description: "Every form's questions and options", required: false }
1116
+ }
1117
+ });
1118
+ registerSchema({
1119
+ command: "ads.linkedin.lead-forms.publish",
1120
+ description: "Stage publishing a DRAFT lead gen form so ads that open it can serve. Applies on chat publish.",
1121
+ args: { id: { type: "positional", description: "Lead form id or URN", required: true }, ...writeAccountArgs }
1122
+ });
1123
+ registerSchema({
1124
+ command: "ads.linkedin.lead-forms.archive",
1125
+ description: "Stage archiving a lead gen form \u2014 every ad that opens it stops serving. Applies on chat publish.",
1126
+ args: { id: { type: "positional", description: "Lead form id or URN", required: true }, ...writeAccountArgs }
1127
+ });
1128
+ registerSchema({
1129
+ command: "ads.linkedin.audiences.delete",
1130
+ description: "Stage deleting a matched audience already on LinkedIn (its list and targetable twin go too). Refused by LinkedIn while a live ad set targets it. Applies on chat publish.",
1131
+ args: {
1132
+ id: { type: "positional", description: "Audience URN (urn:li:dmpSegment:\u2026) or id", required: true },
1133
+ ...writeAccountArgs
1134
+ }
1135
+ });
1136
+ registerSchema({
1137
+ command: "ads.linkedin.account-users",
1138
+ description: "Who works on the ad account and their Campaign Manager role; connectedLinkedin marks the person Baker publishes as \u2014 the default sender of a conversation ad.",
1139
+ args: { ...writeAccountArgs }
1140
+ });
1141
+ registerSchema({
1142
+ command: "ads.linkedin.conversions.upload",
1143
+ description: "Stage CRM / offline conversions (deals won, qualified leads) into a Conversions API rule \u2014 LinkedIn credits the ads and bids toward them. --file is a CSV or JSON array: eventId (CRM id; LinkedIn counts a re-sent id once), happenedAt (ISO WITH timezone, last 90 days), and email, or firstName + lastName (+ companyName, title, countryCode), or liFatId; optional value + currency. Emails and names are hashed on the sandbox. \u22642,000 per upload; re-staging for the same rule replaces the rows. Applies on chat publish.",
1144
+ args: {
1145
+ id: { type: "positional", description: "Conversions API rule id", required: true },
1146
+ ...writeAccountArgs,
1147
+ file: { type: "string", description: "CSV or JSON file of conversions", required: true }
1148
+ }
1149
+ });
1150
+ registerSchema({
1151
+ command: "ads.linkedin.revenue",
1152
+ description: "LinkedIn revenue attribution: CRM deals credited to the ads \u2014 revenue won (USD), return on ad spend, deals won, win rate, average deal size, days to close \u2014 per campaign, campaign group or account. Needs the ad account in a Business Manager with Salesforce, Dynamics 365 or HubSpot connected. 30\u2013366 days within the last year (default last 90).",
1153
+ args: {
1154
+ ...writeAccountArgs,
1155
+ pivot: { type: "string", description: "campaign (default)|campaign-group|account", required: false },
1156
+ start: { type: "string", description: "First day, YYYY-MM-DD", required: false },
1157
+ end: { type: "string", description: "Last day, YYYY-MM-DD (default today)", required: false }
1158
+ }
1159
+ });
1160
+ registerSchema({
1161
+ command: "ads.linkedin.audiences.list",
1162
+ description: "List matched audiences: status (BUILDING/READY), rows uploaded vs matched, targetingUrn (urn:li:adSegment:\u2026) for targeting and exclusions.",
1163
+ args: { ...writeAccountArgs }
1164
+ });
1165
+ registerSchema({
1166
+ command: "ads.linkedin.creatives.get",
1167
+ description: "Read one ad as LinkedIn holds it: headline, intro text, landing URL, lead gen form, review status and rejection reasons, and why it isn't serving (notServingBecause).",
1168
+ args: {
1169
+ id: { type: "positional", description: "Creative id or urn:li:sponsoredCreative:N", required: true },
1170
+ "account-id": { type: "string", description: "Account ID", required: false },
1171
+ "account-urn": { type: "string", description: "Alias", required: false }
1172
+ }
1173
+ });
1174
+ registerSchema({
1175
+ command: "ads.linkedin.preview",
1176
+ description: "See an existing ad as LinkedIn renders it in the feed, desktop and mobile: shownText (the text people see, in order) plus a picture of each for visual questions. Check it before saying how an ad looks.",
1177
+ args: {
1178
+ id: { type: "positional", description: "Creative id or urn:li:sponsoredCreative:N", required: true },
1179
+ "account-id": { type: "string", description: "Account ID", required: false },
1180
+ "account-urn": { type: "string", description: "Alias", required: false },
1181
+ placement: { type: "string", description: "desktop|mobile|both (default both)", required: false },
1182
+ "out-dir": { type: "string", description: "Folder for the pictures", required: false },
1183
+ "html-file": { type: "string", description: "Also save the raw preview iframes here", required: false }
1184
+ }
1185
+ });
1186
+ registerSchema({
1187
+ command: "ads.linkedin.draft.list",
1188
+ description: "Show every LinkedIn write op staged in this chat: ref, summary, dependencies, warnings, and post-publish results. Ops are invisible to the read commands until publish, and publishing reaches the real ad account \u2014 check here before finishing.",
1189
+ args: {
1190
+ json: {
1191
+ type: "boolean",
1192
+ description: "Print the raw JSON envelope instead of the readable tree",
1193
+ required: false
1194
+ },
1195
+ full: { type: "boolean", description: DRAFT_FULL_ARG.description, required: false },
1196
+ chat: { type: "string", description: CHAT_READ_ARG_DESCRIPTION, required: false }
1197
+ }
1198
+ });
1199
+ registerSchema({
1200
+ command: "ads.linkedin.draft.remove",
1201
+ description: "Drop staged LinkedIn ops from this chat's draft \u2014 one, or many in one call. Removing a create cascades to every op that depends on it (a campaign removal drops its staged creatives).",
1202
+ args: {
1203
+ ref: {
1204
+ type: "positional",
1205
+ description: "Op ref(s) (li_temp_* for creates, target id/URN for updates) \u2014 several, space- or comma-separated",
1206
+ required: true
1207
+ }
1208
+ }
1209
+ });
1210
+ registerSchema({
1211
+ command: "ads.linkedin.draft.show",
1212
+ description: "Print the full staged payload for one LinkedIn op \u2014 the receipt to verify a change looks right before publish (never truncated), and the only way to read back verbatim what an earlier chat wrote.",
1213
+ args: {
1214
+ ref: {
1215
+ type: "positional",
1216
+ description: "Op ref (li_temp_* for creates, target id/URN for updates)",
1217
+ required: true
1218
+ },
1219
+ chat: { type: "string", description: CHAT_READ_ARG_DESCRIPTION, required: false }
1220
+ }
1221
+ });
1222
+ registerSchema({
1223
+ command: "ads.linkedin.draft.clear",
1224
+ description: "Discard ALL staged LinkedIn ops in this chat's draft. Nothing applies on publish.",
1225
+ args: {}
1226
+ });
1227
+ var experimentAccountArgs = { ...writeAccountArgs };
1228
+ registerSchema({
1229
+ command: "ads.linkedin.experiments.list",
1230
+ description: "List A/B tests: state, running (PENDING|RUNNING|ON_HOLD|STOPPED|ENDED), metric, dates, the two versions.",
1231
+ args: experimentAccountArgs
1232
+ });
1233
+ registerSchema({
1234
+ command: "ads.linkedin.experiments.get",
1235
+ description: "One A/B test with LinkedIn's setup checks (ERROR blocks it) and the latest result (winner, p-value, intervals).",
1236
+ args: { id: { type: "positional", description: "A/B test id", required: true }, ...experimentAccountArgs }
1237
+ });
1238
+ registerSchema({
1239
+ command: "ads.linkedin.experiments.create",
1240
+ description: "Stage an A/B test between two ad sets of one campaign (no shared budget), \u226490 days, winner on CPC|CPM|CPV|CPMS. Applies on chat publish.",
1241
+ args: {
1242
+ ...experimentAccountArgs,
1243
+ name: { type: "string", description: "Test name", required: true },
1244
+ description: { type: "string", description: "What is being tested", required: false },
1245
+ "version-a": { type: "string", description: "Ad set for version A (id/URN/li_temp_*)", required: true },
1246
+ "version-b": { type: "string", description: "Ad set for version B (id/URN/li_temp_*)", required: true },
1247
+ "name-a": { type: "string", description: "Version A label", required: false },
1248
+ "name-b": { type: "string", description: "Version B label", required: false },
1249
+ "weight-a": { type: "string", description: "Version A audience share 1\u201399 (default 50)", required: false },
1250
+ metric: { type: "string", description: "CPC|CPM|CPV|CPMS", required: true },
1251
+ confidence: { type: "string", description: "51\u201399 (default 90)", required: false },
1252
+ start: { type: "string", description: "Start date", required: true },
1253
+ end: { type: "string", description: "End date (\u226490 days)", required: true },
1254
+ "stop-at": { type: "string", description: "end-date|winner|never", required: false },
1255
+ draft: { type: "boolean", description: "Set up but not running", required: false }
1256
+ }
1257
+ });
1258
+ registerSchema({
1259
+ command: "ads.linkedin.experiments.update",
1260
+ description: "Stage changes to an A/B test (name, description, end, confidence, stop-at). Applies on chat publish.",
1261
+ args: {
1262
+ id: { type: "positional", description: "A/B test id", required: true },
1263
+ ...experimentAccountArgs,
1264
+ name: { type: "string", description: "New name", required: false },
1265
+ description: { type: "string", description: "New description", required: false },
1266
+ end: { type: "string", description: "New end date", required: false },
1267
+ confidence: { type: "string", description: "51\u201399", required: false },
1268
+ "stop-at": { type: "string", description: "end-date|winner|never", required: false }
1269
+ }
1270
+ });
1271
+ for (const [verb, what] of [
1272
+ ["start", "Stage starting or resuming an A/B test."],
1273
+ ["pause", "Stage pausing an A/B test (both ad sets pause)."],
1274
+ ["end", "Stage ending an A/B test for good."]
1275
+ ]) {
1276
+ registerSchema({
1277
+ command: `ads.linkedin.experiments.${verb}`,
1278
+ description: `${what} Applies on chat publish.`,
1279
+ args: { id: { type: "positional", description: "A/B test id", required: true }, ...experimentAccountArgs }
1280
+ });
1281
+ }
1282
+
1283
+ // src/commands/ads/linkedin/index.ts
1284
+ var linkedinCommand = defineCommand({
1285
+ meta: {
1286
+ name: "linkedin",
1287
+ description: `LinkedIn Marketing API \u2014 AI-first command surface for B2B ad insights.
1288
+
1289
+ Discovery:
1290
+ baker ads linkedin accounts \u2014 accounts in this company's connected scope
1291
+ baker ads linkedin account --account-id 503001492 \u2014 single-account detail (currency, type, status)
1292
+ baker ads linkedin url-params [--ad-sets] \u2014 UTMs in effect today, and keys set at two levels
1293
+ baker ads linkedin account-users \u2014 who is on the ad account, their role, who connected LinkedIn
1294
+
1295
+ Hierarchy (default ACTIVE-only \u2014 pass --all-statuses to widen):
1296
+ baker ads linkedin campaign-groups --account-id 503001492
1297
+ baker ads linkedin campaigns --account-id 503001492
1298
+ baker ads linkedin campaigns --account-id 503001492 --campaign-group-id 12345
1299
+ baker ads linkedin creatives --account-id 503001492 --campaign-id 67890
1300
+ baker ads linkedin creatives get <id> \u2014 one ad: headline, landing URL, form, review, why not serving
1301
+ baker ads linkedin preview <id> \u2014 SEE one ad as the feed shows it (displayed text + pictures)
1302
+ baker ads linkedin lead-forms \u2014 lead gen forms: state, version, questions
1303
+
1304
+ Revenue (CRM deals credited to the ads; needs Business Manager + CRM):
1305
+ baker ads linkedin revenue [--pivot campaign|campaign-group|account] [--start --end]
1306
+
1307
+ Performance \u2014 the workhorse (3 axes):
1308
+ baker ads linkedin analytics \u2014 defaults: level=account, intent=baseline, last_7d, DAILY
1309
+ baker ads linkedin analytics --intent revenue --last-days 28
1310
+ baker ads linkedin analytics --level campaign --campaign-id 1234 --pivot job-title \u2014 LinkedIn's superpower (per-title perf)
1311
+ baker ads linkedin analytics --level campaign --campaign-id 1234 --pivot company \u2014 top companies seeing the ad (ABM gold; names auto-resolved)
1312
+ baker ads linkedin companies --last-months 12 --by month \u2014 which companies the ads reached, per month (ABM / warm accounts)
1313
+ baker ads linkedin resolve --urns urn:li:organization:17719 \u2014 resolve org URNs to company names
1314
+ baker ads linkedin analytics --level campaign --campaign-id 1234 --intent ranking \u2014 fatigue: derives frequency
1315
+ baker ads linkedin analytics --list-intents
1316
+ baker ads linkedin analytics --list-pivots
1317
+
1318
+ Staged writes (never hit LinkedIn directly \u2014 ops stage on this chat's draft,
1319
+ show in the dashboard as pending LinkedIn changes, and apply when the chat is
1320
+ published, at which point they reach the real ad account):
1321
+ baker ads linkedin account url-params \u2014 UTMs for every ad in the account
1322
+ baker ads linkedin campaign-groups create|update|pause|resume|duplicate|delete
1323
+ baker ads linkedin campaigns create|update|pause|resume|archive|duplicate|delete
1324
+ baker ads linkedin creatives create|update|pause|resume|duplicate|delete
1325
+ baker ads linkedin audiences create|upload|delete
1326
+ baker ads linkedin conversions create|update
1327
+ baker ads linkedin lead-forms create|update|publish|archive
1328
+ baker ads linkedin experiments create|update|start|pause|end \u2014 A/B test two ad sets (list/get to read)
1329
+ baker ads linkedin draft list \u2014 review staged ops
1330
+ baker ads linkedin draft remove <ref> \u2014 undo one (draft clear: all)
1331
+
1332
+ Account ID:
1333
+ --account-id accepts numeric (503001492) or URN (urn:li:sponsoredAccount:503001492), on every command.
1334
+ With one ad account selected, every command uses it \u2014 no flag needed. With several, pass --account-id.
1335
+ Full guide: __tooling__/docs/tools/baker/ads-linkedin.md`
1336
+ },
1337
+ setup: ({ rawArgs }) => applyAccountRule({
1338
+ platform: "LinkedIn",
1339
+ rawArgs,
1340
+ flags: ["--account-id", "--account-urn"],
1341
+ envVar: "BAKER_LINKEDIN_AD_ACCOUNT_ID",
1342
+ skip: /* @__PURE__ */ new Set(["accounts", "resolve", "facets", "draft"]),
1343
+ list: async () => (await apiGet("/api/ads/linkedin/accounts")).map((account) => ({
1344
+ id: account.externalId,
1345
+ ...account.name ? { label: account.name } : {}
1346
+ })),
1347
+ normalize: normalizeLinkedinAccountId
1348
+ }),
1349
+ subCommands: {
1350
+ accounts: () => import("./accounts-K5IASJQV.js").then((m) => m.accountsCommand),
1351
+ account: () => import("./account-H44DUS4O.js").then((m) => m.accountCommand),
1352
+ "account-users": () => import("./account-users-R3CIZPV5.js").then((m) => m.accountUsersCommand),
1353
+ "campaign-groups": () => import("./campaign-groups-2HUFNJK6.js").then((m) => m.campaignGroupsCommand),
1354
+ campaigns: () => import("./campaigns-6NWQZXBM.js").then((m) => m.campaignsCommand),
1355
+ creatives: () => import("./creatives-OBKNNJAI.js").then((m) => m.creativesCommand),
1356
+ preview: () => import("./preview-3OGMMUT4.js").then((m) => m.previewCommand),
1357
+ audiences: () => import("./write-commands-CPAOTG6H.js").then((m) => m.audiencesCommand),
1358
+ "lead-forms": () => import("./write-commands-CPAOTG6H.js").then((m) => m.leadFormsCommand),
1359
+ experiments: () => import("./experiments-GECLY35Q.js").then((m) => m.experimentsCommand),
1360
+ draft: () => import("./draft-VJPB5MFJ.js").then((m) => m.linkedinDraftCommand),
1361
+ analytics: () => import("./analytics-HZDE5TKC.js").then((m) => m.analyticsCommand),
1362
+ demographics: () => import("./demographics-HDUPFELB.js").then((m) => m.demographicsCommand),
1363
+ companies: () => import("./companies-UNAN4THP.js").then((m) => m.companiesCommand),
1364
+ "top-companies": () => import("./top-companies-W3GBGJGL.js").then((m) => m.topCompaniesCommand),
1365
+ resolve: () => import("./resolve-3EJ2ZI64.js").then((m) => m.resolveCommand),
1366
+ facets: () => import("./facets-CA7J44EY.js").then((m) => m.facetsCommand),
1367
+ "audience-size": () => import("./audience-size-UXIGBCIO.js").then((m) => m.audienceSizeCommand),
1368
+ "bid-pricing": () => import("./bid-pricing-JAR4EBDA.js").then((m) => m.bidPricingCommand),
1369
+ forecast: () => import("./forecast-FIYKBAEW.js").then((m) => m.forecastCommand),
1370
+ leads: () => import("./leads-C46ZXIXF.js").then((m) => m.leadsCommand),
1371
+ revenue: () => import("./revenue-IACHOM7M.js").then((m) => m.revenueCommand),
1372
+ conversions: () => import("./conversions-SHKCWNNC.js").then((m) => m.conversionsCommand),
1373
+ conversation: () => import("./conversation-AYXZYWMG.js").then((m) => m.conversationCommand),
1374
+ audit: () => import("./audit-B2X3ON7Y.js").then((m) => m.auditCommand),
1375
+ "url-params": () => import("./url-params-ZFX3EBLE.js").then((m) => m.urlParamsCommand)
1376
+ }
1377
+ });
1378
+ export {
1379
+ linkedinCommand
1380
+ };
1381
+ //# sourceMappingURL=linkedin-FHEYMG4M.js.map