@koda-sl/baker-cli 0.477.0 → 0.478.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 (384) hide show
  1. package/README.md +9 -2
  2. package/dist/{account-NCX3VHZT.js → account-JPLZDN6P.js} +4 -4
  3. package/dist/{accounts-2MQVGI4I.js → accounts-A436U3XR.js} +3 -3
  4. package/dist/{accounts-MQIYTIAX.js → accounts-CONSIJU6.js} +5 -5
  5. package/dist/{actions-LRSHHDV2.js → actions-J2YTDYK4.js} +18 -18
  6. package/dist/{activecampaign-G4XARU6N.js → activecampaign-W4YD73BL.js} +3 -3
  7. package/dist/{add-ZP47HVHW.js → add-NFBS2JQL.js} +2 -2
  8. package/dist/{add-2MVZQJYG.js → add-SXFET7AD.js} +3 -3
  9. package/dist/{ads-7YYCWZIR.js → ads-QDFOWMSP.js} +3 -3
  10. package/dist/{advertisers-246ZLRFZ.js → advertisers-6ASS5GMI.js} +3 -3
  11. package/dist/{analytics-WPYPKM6L.js → analytics-DZJDNCAK.js} +6 -6
  12. package/dist/{analytics-SL56NTIV.js → analytics-VTFXYOVF.js} +3 -3
  13. package/dist/{assign-WGQVY3DW.js → assign-2NNSXCTL.js} +3 -3
  14. package/dist/{audience-size-C37XJ6GS.js → audience-size-YAUL5I4L.js} +5 -26
  15. package/dist/audience-size-YAUL5I4L.js.map +1 -0
  16. package/dist/{audit-LGD4PMAI.js → audit-DCVOOFPI.js} +3 -3
  17. package/dist/{autocomplete-PD2EMWRU.js → autocomplete-6VBDEE6O.js} +3 -3
  18. package/dist/{avatars-U5KAMVNV.js → avatars-AVLB3D5I.js} +4 -4
  19. package/dist/bid-pricing-GHWQIWCX.js +100 -0
  20. package/dist/bid-pricing-GHWQIWCX.js.map +1 -0
  21. package/dist/{brand-2JJ45TBO.js → brand-PPMZKVFC.js} +2 -2
  22. package/dist/{brief-IMTLJQN2.js → brief-ZUY55FHQ.js} +7 -7
  23. package/dist/{campaign-groups-ZXRHEEGS.js → campaign-groups-RXN3P22B.js} +8 -8
  24. package/dist/{campaign-writes-WIBYW73K.js → campaign-writes-FZ2U5IYO.js} +3 -3
  25. package/dist/{campaigns-CRRLTN74.js → campaigns-C56DUMH6.js} +5 -5
  26. package/dist/{campaigns-EY3AR4N7.js → campaigns-XNS24UNF.js} +11 -11
  27. package/dist/{canvas-WFYKZYZD.js → canvas-P64D7YZ7.js} +12 -12
  28. package/dist/{capabilities-IGKT7D4H.js → capabilities-LGQT5ONL.js} +3 -3
  29. package/dist/{chats-OXIYXI4U.js → chats-YD36KDU7.js} +3 -3
  30. package/dist/{chunk-XYOU3ROP.js → chunk-22WY4M2Y.js} +35 -3
  31. package/dist/chunk-22WY4M2Y.js.map +1 -0
  32. package/dist/{chunk-3IGY2FWK.js → chunk-3YSLIBIM.js} +4 -4
  33. package/dist/{chunk-TLQQV5AY.js → chunk-4YEZLIQD.js} +3 -3
  34. package/dist/{chunk-TOIFDXCW.js → chunk-53JBNG5Q.js} +2 -2
  35. package/dist/{chunk-GAJQPQWS.js → chunk-A5VAM472.js} +4 -1
  36. package/dist/{chunk-UMFKMS4U.js → chunk-BOHHB74V.js} +2 -2
  37. package/dist/{chunk-JU6X4XFU.js → chunk-DWVNYWWQ.js} +2 -2
  38. package/dist/{chunk-CU2DEMQB.js → chunk-EK2CTQIR.js} +2 -2
  39. package/dist/{chunk-D5Z34AYL.js → chunk-EYUFEDDT.js} +3 -3
  40. package/dist/{chunk-4LODOBIN.js → chunk-GUMLW3YA.js} +2 -2
  41. package/dist/{chunk-JQ4PQ2H6.js → chunk-HSRZIRDM.js} +2 -2
  42. package/dist/{chunk-F3VR6CTH.js → chunk-IHK2VONG.js} +2 -2
  43. package/dist/{chunk-37P6DTDJ.js → chunk-JOXSQDDP.js} +2 -2
  44. package/dist/{chunk-YDWQVAFI.js → chunk-JSELMKJJ.js} +2 -2
  45. package/dist/{chunk-YDSF4PXO.js → chunk-JVVPLTOK.js} +3 -3
  46. package/dist/{chunk-LKM3FMYC.js → chunk-KMKELX5X.js} +2 -2
  47. package/dist/{chunk-O5J5T4ZL.js → chunk-L4LLNGJG.js} +3 -3
  48. package/dist/{chunk-XKA4ZHGX.js → chunk-LFMKBF6Q.js} +2 -2
  49. package/dist/{chunk-2SQ6ISRI.js → chunk-LNJNZ4KQ.js} +2 -2
  50. package/dist/{chunk-PXTFT35U.js → chunk-LWOAW25O.js} +5 -5
  51. package/dist/{chunk-H4DAEWJQ.js → chunk-LXAODGOM.js} +3 -3
  52. package/dist/{chunk-WE6K2VVZ.js → chunk-MN25G3MA.js} +2 -2
  53. package/dist/{chunk-RCMK4FM2.js → chunk-OQAE4GPV.js} +2 -2
  54. package/dist/{chunk-NHQTEQPR.js → chunk-OWUZN2NC.js} +2 -2
  55. package/dist/{chunk-O6TGA5HT.js → chunk-PBC63KPH.js} +2 -2
  56. package/dist/{chunk-7MADMR5U.js → chunk-QSSYLT3W.js} +2 -2
  57. package/dist/{chunk-SOK7U4NT.js → chunk-SG4BABZ7.js} +2 -2
  58. package/dist/{chunk-PCSBF6GN.js → chunk-UEC4JUK6.js} +5 -5
  59. package/dist/{chunk-GRYP7Y5V.js → chunk-UR4PSKOP.js} +2 -2
  60. package/dist/{chunk-PLK7V2SJ.js → chunk-V3NGFNHO.js} +5 -5
  61. package/dist/chunk-VX45CG4L.js +61 -0
  62. package/dist/chunk-VX45CG4L.js.map +1 -0
  63. package/dist/{chunk-QGSV3IWT.js → chunk-YDOZX6E5.js} +2 -2
  64. package/dist/{chunk-MICLDQES.js → chunk-YQDRMOMQ.js} +3 -3
  65. package/dist/{chunk-R4CDO5YH.js → chunk-ZNEUUBRZ.js} +2 -2
  66. package/dist/{claim-DEQYWQZ4.js → claim-RDP6PVKV.js} +3 -3
  67. package/dist/cli.js +29 -29
  68. package/dist/{companies-QM5MOLIZ.js → companies-WSHYZ557.js} +3 -3
  69. package/dist/{complete-FM6VSFCT.js → complete-MJMDSDTL.js} +3 -3
  70. package/dist/{connect-YTIE5PRU.js → connect-447TO57M.js} +6 -6
  71. package/dist/{conversation-VKWYWPB6.js → conversation-22J2PEAU.js} +3 -3
  72. package/dist/{conversions-QILFJ34A.js → conversions-KNLCEM2G.js} +7 -7
  73. package/dist/{create-LRVA4MSV.js → create-AVOJFXDX.js} +3 -3
  74. package/dist/{create-BEH3DUUP.js → create-LP4QECLS.js} +3 -3
  75. package/dist/{create-C4LTWKD7.js → create-P42BMP2W.js} +3 -3
  76. package/dist/{create-A7O5CBUS.js → create-XUD5CW7C.js} +2 -2
  77. package/dist/{creatives-XEKEYLNV.js → creatives-RX3U2DWI.js} +8 -8
  78. package/dist/{creatives-DRRWFFOH.js → creatives-TUNKTWAB.js} +10 -10
  79. package/dist/{credentials-GJMH4XRU.js → credentials-FS5XLAEX.js} +3 -3
  80. package/dist/{critique-GIJUTKIM.js → critique-BNEG5CZK.js} +3 -3
  81. package/dist/{critique-EJJQVV4D.js → critique-OQWHF4SK.js} +5 -5
  82. package/dist/{crm-WHK3PL6S.js → crm-3373VMGE.js} +4 -4
  83. package/dist/{crm-ECMEYPQT.js → crm-HLPVTUIM.js} +4 -4
  84. package/dist/{customers-XKE3DQR7.js → customers-UCJBL2IP.js} +5 -5
  85. package/dist/{delete-APRR2OYC.js → delete-7J5VDP6V.js} +2 -2
  86. package/dist/{delete-QCZUGDIJ.js → delete-UCIUYLIT.js} +3 -3
  87. package/dist/{delete-DTTEHY6E.js → delete-ZKWLHEZT.js} +3 -3
  88. package/dist/{demographics-HG7NWA5U.js → demographics-AJPJPJKY.js} +3 -3
  89. package/dist/{discard-U3DW6WV3.js → discard-H32UEHFB.js} +3 -3
  90. package/dist/{domain-HTF3ARBJ.js → domain-Q42XWULH.js} +3 -3
  91. package/dist/{draft-GPL2TZXA.js → draft-3YDWWRPY.js} +3 -3
  92. package/dist/{draft-5RL6HZ6A.js → draft-ONDP2XRS.js} +4 -4
  93. package/dist/{draft-KTOZ2AT7.js → draft-ZVMS4RFF.js} +3 -3
  94. package/dist/{facets-2XQEJNZZ.js → facets-BFKYZCGA.js} +3 -3
  95. package/dist/{feedback-34M4VJ5S.js → feedback-R3G4EDCT.js} +2 -2
  96. package/dist/{feedback-record-ZINYAVHA.js → feedback-record-FJSCR6FW.js} +7 -7
  97. package/dist/{fetch-VYIMA5BI.js → fetch-6SUFMXRQ.js} +3 -3
  98. package/dist/{flows-ITS573ST.js → flows-OFARDYXZ.js} +10 -10
  99. package/dist/{fonts-U4YXUNNZ.js → fonts-T4M2DIJV.js} +5 -5
  100. package/dist/forecast-BA26XWJG.js +118 -0
  101. package/dist/forecast-BA26XWJG.js.map +1 -0
  102. package/dist/{funnel-46QWG5DN.js → funnel-RFQFRWPN.js} +4 -4
  103. package/dist/{get-MVWVS3YT.js → get-2W45IBSR.js} +3 -3
  104. package/dist/{get-IAJ57JLM.js → get-4LG7Q6AQ.js} +3 -3
  105. package/dist/{google-ads-DYNDLOBO.js → google-ads-VTOZZ4B5.js} +3 -3
  106. package/dist/{history-7HFGP7UI.js → history-PGNCHCSU.js} +3 -3
  107. package/dist/{hubspot-3LWMILTD.js → hubspot-QILJD6UV.js} +7 -7
  108. package/dist/{ideas-RHOV2ZJ6.js → ideas-4TZUGXTG.js} +2 -2
  109. package/dist/{images-KXEPMLOC.js → images-EWHRAJ46.js} +4 -4
  110. package/dist/{ingest-URYQ7BTL.js → ingest-DD6KXDYS.js} +2 -2
  111. package/dist/{ingest-H4F5TJC3.js → ingest-HIE4SAEY.js} +3 -3
  112. package/dist/{inspect-IPQTTZK3.js → inspect-5XJ3GTBQ.js} +3 -3
  113. package/dist/{keyword-metrics-SLCXHPZS.js → keyword-metrics-MGCBJBWU.js} +3 -3
  114. package/dist/{keywords-for-site-HBQSJKNN.js → keywords-for-site-MZWJ7HBX.js} +3 -3
  115. package/dist/{landing-PJJGQM3M.js → landing-LIS4NCGW.js} +2 -2
  116. package/dist/{leads-HXYLSNMB.js → leads-TSNX372E.js} +3 -3
  117. package/dist/{learn-ZUZ7MEY5.js → learn-N3JFZXAL.js} +4 -4
  118. package/dist/{line-item-writes-JNHZFCRM.js → line-item-writes-H2ZFXYH3.js} +3 -3
  119. package/dist/{line-items-WGLNILMH.js → line-items-JBL7LVCS.js} +5 -5
  120. package/dist/{link-KLFRRU24.js → link-THBFB2H2.js} +3 -3
  121. package/dist/{linkedin-LPWIZ3SS.js → linkedin-PVGZWXQJ.js} +71 -35
  122. package/dist/linkedin-PVGZWXQJ.js.map +1 -0
  123. package/dist/{list-MIGWTOQU.js → list-EIEZNGQ4.js} +3 -3
  124. package/dist/{list-SW3DF473.js → list-LPFAPCN4.js} +2 -2
  125. package/dist/{list-E3MCY43O.js → list-LS6TUGD5.js} +3 -3
  126. package/dist/{log-Y4NIMHFD.js → log-NX7ITJM2.js} +3 -3
  127. package/dist/{make-IJN6E4Q7.js → make-DBQMLTEI.js} +10 -10
  128. package/dist/{map-DHQTEDUH.js → map-TI3YWRBW.js} +4 -4
  129. package/dist/{mcp-ZHASO273.js → mcp-5DZTEDYI.js} +2 -2
  130. package/dist/{media-sources-MFBQDZNS.js → media-sources-QYRHVUBJ.js} +2 -2
  131. package/dist/{members-HTHOAHPO.js → members-RV546WDM.js} +3 -3
  132. package/dist/{normalize-PVOL256M.js → normalize-KKCNCXI2.js} +3 -3
  133. package/dist/{options-VDTCTJHY.js → options-UMDGX464.js} +6 -6
  134. package/dist/{organization-VC5RO4FS.js → organization-KQHJ77CV.js} +3 -3
  135. package/dist/{performance-QOQTL4XM.js → performance-SVWX2S6E.js} +4 -4
  136. package/dist/{promoted-tweet-writes-6PI2KR65.js → promoted-tweet-writes-XPRWBI7F.js} +3 -3
  137. package/dist/{promoted-tweets-UJRNHKKO.js → promoted-tweets-W7PCLJMU.js} +3 -3
  138. package/dist/{publish-R6RINQCF.js → publish-E4M7QXTR.js} +3 -3
  139. package/dist/{reddit-QWM5ZQ6P.js → reddit-BJDU3BO7.js} +4 -4
  140. package/dist/{refresh-ZPF7UH3S.js → refresh-OTR4EWLI.js} +2 -2
  141. package/dist/{release-BZPK2P3R.js → release-QJ4P2AVK.js} +3 -3
  142. package/dist/{remove-C7ZJYFCG.js → remove-BNO3BWM5.js} +2 -2
  143. package/dist/{reopen-6Q7NQX2C.js → reopen-BA76RSLQ.js} +3 -3
  144. package/dist/{rerun-VRZVJDYS.js → rerun-U4I6RPRC.js} +10 -10
  145. package/dist/{research-X6O7IID6.js → research-3ATNYHRA.js} +2 -2
  146. package/dist/{research-FXQ6X7BY.js → research-CYZEWHHZ.js} +10 -10
  147. package/dist/{reset-NXK6NCOO.js → reset-HGTZIAHW.js} +2 -2
  148. package/dist/{reset-FRNQUCL5.js → reset-NM33L5LY.js} +2 -2
  149. package/dist/{resolve-WHI4UP4V.js → resolve-L2A3HC56.js} +3 -3
  150. package/dist/{retry-XMTYWCFA.js → retry-C3PBVY3I.js} +2 -2
  151. package/dist/{retry-VSFPEXLE.js → retry-ID7ZKLBK.js} +2 -2
  152. package/dist/{run-TAASFDQ7.js → run-DI4BRLKS.js} +3 -3
  153. package/dist/{run-HBNAA56X.js → run-IE4GVP4I.js} +10 -10
  154. package/dist/{scaffold-ad-BV5WK4IA.js → scaffold-ad-VQRC2NA6.js} +8 -8
  155. package/dist/{scaffold-static-ad-IWNJ6GM7.js → scaffold-static-ad-B4TEGMSE.js} +12 -12
  156. package/dist/{scaffold-video-JBG7Q45T.js → scaffold-video-BJLKBATO.js} +7 -7
  157. package/dist/{schedule-P6GVRZ4E.js → schedule-OFYLBZT6.js} +2 -2
  158. package/dist/{scheduled-agents-TYT5BIBQ.js → scheduled-agents-X2U7J42A.js} +10 -10
  159. package/dist/{schema-O4CMQQGD.js → schema-CULVYXO7.js} +4 -4
  160. package/dist/{search-HBFAHH4W.js → search-QDQNZ63X.js} +2 -2
  161. package/dist/{select-ISR6YEIE.js → select-X3FT42OL.js} +7 -7
  162. package/dist/{set-prompt-DF7Q6WOF.js → set-prompt-C7HSNTIA.js} +5 -5
  163. package/dist/{setup-links-GF2IP4TH.js → setup-links-ZK6L7GQD.js} +3 -3
  164. package/dist/{site-T6V5S5DJ.js → site-6Z5A3G5J.js} +4 -4
  165. package/dist/{sources-UR3SLKVK.js → sources-7QRFH5AB.js} +6 -6
  166. package/dist/{sources-5YUE7KUI.js → sources-B2L6X7ZE.js} +6 -6
  167. package/dist/{stale-6LZAROBI.js → stale-ZGIUVXGA.js} +6 -6
  168. package/dist/{status-FDKP65DR.js → status-SW3PYV6Q.js} +3 -3
  169. package/dist/{sync-OGFGTKUK.js → sync-K74WY3AT.js} +2 -2
  170. package/dist/{sync-definition-MSQFCXRK.js → sync-definition-KKW7R7QS.js} +7 -7
  171. package/dist/{tags-GLHFHQW2.js → tags-4XQ5MEDJ.js} +3 -3
  172. package/dist/{tags-PYLVQEVS.js → tags-GJ5MIA6X.js} +3 -3
  173. package/dist/{tags-SL4F3LLY.js → tags-JXLOCBQ6.js} +3 -3
  174. package/dist/{tags-67KLYTJF.js → tags-NMZ2NGN2.js} +2 -2
  175. package/dist/{tags-XMRO4WF6.js → tags-V2SSR5XY.js} +4 -4
  176. package/dist/{targeting-criteria-VK3IR6N2.js → targeting-criteria-D2ZMGXLI.js} +3 -3
  177. package/dist/{targets-RCM2ZXSU.js → targets-6QA6MIQU.js} +3 -3
  178. package/dist/{testimonials-KTHDZ3R5.js → testimonials-LBGJKESG.js} +6 -6
  179. package/dist/{top-companies-MBTTJTRK.js → top-companies-6D6YFQAB.js} +3 -3
  180. package/dist/{translate-I6LZ3UZU.js → translate-R4Y2JVXC.js} +10 -10
  181. package/dist/{triggers-PDIVJDLP.js → triggers-MDZNDNCU.js} +3 -3
  182. package/dist/{unlink-IHEFAFG6.js → unlink-WS7DVDLH.js} +3 -3
  183. package/dist/{unstage-NJQAIIPT.js → unstage-K3I2TLRR.js} +3 -3
  184. package/dist/{update-LR7UW5LL.js → update-HPSXO5WB.js} +3 -3
  185. package/dist/{update-P5BTLCGG.js → update-J6FHMXWL.js} +3 -3
  186. package/dist/{update-K5MMOE5N.js → update-LCLRO26T.js} +2 -2
  187. package/dist/{update-CYQIGHT4.js → update-LZVLBRAX.js} +3 -3
  188. package/dist/{upload-VVB2LTD2.js → upload-XD7N4PJS.js} +3 -3
  189. package/dist/{url-params-MSRUZOGT.js → url-params-U5DW22SR.js} +3 -3
  190. package/dist/{validate-XMEHRCAG.js → validate-PRT6ZD72.js} +5 -5
  191. package/dist/{videos-EQG7AAXT.js → videos-KCXSXYJK.js} +5 -5
  192. package/dist/{web-MSYXLOFV.js → web-W2TTELHS.js} +3 -3
  193. package/dist/{winning-ads-VWBU3BNQ.js → winning-ads-YPQY6GVU.js} +2 -2
  194. package/dist/{write-commands-PK23JVW3.js → write-commands-SPTWBMLY.js} +4 -4
  195. package/dist/{x-ZSTQLK6Q.js → x-2Y2DGMPG.js} +6 -6
  196. package/package.json +1 -1
  197. package/dist/audience-size-C37XJ6GS.js.map +0 -1
  198. package/dist/bid-pricing-PP6PV6S4.js +0 -99
  199. package/dist/bid-pricing-PP6PV6S4.js.map +0 -1
  200. package/dist/chunk-XYOU3ROP.js.map +0 -1
  201. package/dist/forecast-AFBIS6WT.js +0 -104
  202. package/dist/forecast-AFBIS6WT.js.map +0 -1
  203. package/dist/linkedin-LPWIZ3SS.js.map +0 -1
  204. /package/dist/{account-NCX3VHZT.js.map → account-JPLZDN6P.js.map} +0 -0
  205. /package/dist/{accounts-2MQVGI4I.js.map → accounts-A436U3XR.js.map} +0 -0
  206. /package/dist/{accounts-MQIYTIAX.js.map → accounts-CONSIJU6.js.map} +0 -0
  207. /package/dist/{actions-LRSHHDV2.js.map → actions-J2YTDYK4.js.map} +0 -0
  208. /package/dist/{activecampaign-G4XARU6N.js.map → activecampaign-W4YD73BL.js.map} +0 -0
  209. /package/dist/{add-ZP47HVHW.js.map → add-NFBS2JQL.js.map} +0 -0
  210. /package/dist/{add-2MVZQJYG.js.map → add-SXFET7AD.js.map} +0 -0
  211. /package/dist/{ads-7YYCWZIR.js.map → ads-QDFOWMSP.js.map} +0 -0
  212. /package/dist/{advertisers-246ZLRFZ.js.map → advertisers-6ASS5GMI.js.map} +0 -0
  213. /package/dist/{analytics-WPYPKM6L.js.map → analytics-DZJDNCAK.js.map} +0 -0
  214. /package/dist/{analytics-SL56NTIV.js.map → analytics-VTFXYOVF.js.map} +0 -0
  215. /package/dist/{assign-WGQVY3DW.js.map → assign-2NNSXCTL.js.map} +0 -0
  216. /package/dist/{audit-LGD4PMAI.js.map → audit-DCVOOFPI.js.map} +0 -0
  217. /package/dist/{autocomplete-PD2EMWRU.js.map → autocomplete-6VBDEE6O.js.map} +0 -0
  218. /package/dist/{avatars-U5KAMVNV.js.map → avatars-AVLB3D5I.js.map} +0 -0
  219. /package/dist/{brand-2JJ45TBO.js.map → brand-PPMZKVFC.js.map} +0 -0
  220. /package/dist/{brief-IMTLJQN2.js.map → brief-ZUY55FHQ.js.map} +0 -0
  221. /package/dist/{campaign-groups-ZXRHEEGS.js.map → campaign-groups-RXN3P22B.js.map} +0 -0
  222. /package/dist/{campaign-writes-WIBYW73K.js.map → campaign-writes-FZ2U5IYO.js.map} +0 -0
  223. /package/dist/{campaigns-CRRLTN74.js.map → campaigns-C56DUMH6.js.map} +0 -0
  224. /package/dist/{campaigns-EY3AR4N7.js.map → campaigns-XNS24UNF.js.map} +0 -0
  225. /package/dist/{canvas-WFYKZYZD.js.map → canvas-P64D7YZ7.js.map} +0 -0
  226. /package/dist/{capabilities-IGKT7D4H.js.map → capabilities-LGQT5ONL.js.map} +0 -0
  227. /package/dist/{chats-OXIYXI4U.js.map → chats-YD36KDU7.js.map} +0 -0
  228. /package/dist/{chunk-3IGY2FWK.js.map → chunk-3YSLIBIM.js.map} +0 -0
  229. /package/dist/{chunk-TLQQV5AY.js.map → chunk-4YEZLIQD.js.map} +0 -0
  230. /package/dist/{chunk-TOIFDXCW.js.map → chunk-53JBNG5Q.js.map} +0 -0
  231. /package/dist/{chunk-GAJQPQWS.js.map → chunk-A5VAM472.js.map} +0 -0
  232. /package/dist/{chunk-UMFKMS4U.js.map → chunk-BOHHB74V.js.map} +0 -0
  233. /package/dist/{chunk-JU6X4XFU.js.map → chunk-DWVNYWWQ.js.map} +0 -0
  234. /package/dist/{chunk-CU2DEMQB.js.map → chunk-EK2CTQIR.js.map} +0 -0
  235. /package/dist/{chunk-D5Z34AYL.js.map → chunk-EYUFEDDT.js.map} +0 -0
  236. /package/dist/{chunk-4LODOBIN.js.map → chunk-GUMLW3YA.js.map} +0 -0
  237. /package/dist/{chunk-JQ4PQ2H6.js.map → chunk-HSRZIRDM.js.map} +0 -0
  238. /package/dist/{chunk-F3VR6CTH.js.map → chunk-IHK2VONG.js.map} +0 -0
  239. /package/dist/{chunk-37P6DTDJ.js.map → chunk-JOXSQDDP.js.map} +0 -0
  240. /package/dist/{chunk-YDWQVAFI.js.map → chunk-JSELMKJJ.js.map} +0 -0
  241. /package/dist/{chunk-YDSF4PXO.js.map → chunk-JVVPLTOK.js.map} +0 -0
  242. /package/dist/{chunk-LKM3FMYC.js.map → chunk-KMKELX5X.js.map} +0 -0
  243. /package/dist/{chunk-O5J5T4ZL.js.map → chunk-L4LLNGJG.js.map} +0 -0
  244. /package/dist/{chunk-XKA4ZHGX.js.map → chunk-LFMKBF6Q.js.map} +0 -0
  245. /package/dist/{chunk-2SQ6ISRI.js.map → chunk-LNJNZ4KQ.js.map} +0 -0
  246. /package/dist/{chunk-PXTFT35U.js.map → chunk-LWOAW25O.js.map} +0 -0
  247. /package/dist/{chunk-H4DAEWJQ.js.map → chunk-LXAODGOM.js.map} +0 -0
  248. /package/dist/{chunk-WE6K2VVZ.js.map → chunk-MN25G3MA.js.map} +0 -0
  249. /package/dist/{chunk-RCMK4FM2.js.map → chunk-OQAE4GPV.js.map} +0 -0
  250. /package/dist/{chunk-NHQTEQPR.js.map → chunk-OWUZN2NC.js.map} +0 -0
  251. /package/dist/{chunk-O6TGA5HT.js.map → chunk-PBC63KPH.js.map} +0 -0
  252. /package/dist/{chunk-7MADMR5U.js.map → chunk-QSSYLT3W.js.map} +0 -0
  253. /package/dist/{chunk-SOK7U4NT.js.map → chunk-SG4BABZ7.js.map} +0 -0
  254. /package/dist/{chunk-PCSBF6GN.js.map → chunk-UEC4JUK6.js.map} +0 -0
  255. /package/dist/{chunk-GRYP7Y5V.js.map → chunk-UR4PSKOP.js.map} +0 -0
  256. /package/dist/{chunk-PLK7V2SJ.js.map → chunk-V3NGFNHO.js.map} +0 -0
  257. /package/dist/{chunk-QGSV3IWT.js.map → chunk-YDOZX6E5.js.map} +0 -0
  258. /package/dist/{chunk-MICLDQES.js.map → chunk-YQDRMOMQ.js.map} +0 -0
  259. /package/dist/{chunk-R4CDO5YH.js.map → chunk-ZNEUUBRZ.js.map} +0 -0
  260. /package/dist/{claim-DEQYWQZ4.js.map → claim-RDP6PVKV.js.map} +0 -0
  261. /package/dist/{companies-QM5MOLIZ.js.map → companies-WSHYZ557.js.map} +0 -0
  262. /package/dist/{complete-FM6VSFCT.js.map → complete-MJMDSDTL.js.map} +0 -0
  263. /package/dist/{connect-YTIE5PRU.js.map → connect-447TO57M.js.map} +0 -0
  264. /package/dist/{conversation-VKWYWPB6.js.map → conversation-22J2PEAU.js.map} +0 -0
  265. /package/dist/{conversions-QILFJ34A.js.map → conversions-KNLCEM2G.js.map} +0 -0
  266. /package/dist/{create-LRVA4MSV.js.map → create-AVOJFXDX.js.map} +0 -0
  267. /package/dist/{create-BEH3DUUP.js.map → create-LP4QECLS.js.map} +0 -0
  268. /package/dist/{create-C4LTWKD7.js.map → create-P42BMP2W.js.map} +0 -0
  269. /package/dist/{create-A7O5CBUS.js.map → create-XUD5CW7C.js.map} +0 -0
  270. /package/dist/{creatives-XEKEYLNV.js.map → creatives-RX3U2DWI.js.map} +0 -0
  271. /package/dist/{creatives-DRRWFFOH.js.map → creatives-TUNKTWAB.js.map} +0 -0
  272. /package/dist/{credentials-GJMH4XRU.js.map → credentials-FS5XLAEX.js.map} +0 -0
  273. /package/dist/{critique-GIJUTKIM.js.map → critique-BNEG5CZK.js.map} +0 -0
  274. /package/dist/{critique-EJJQVV4D.js.map → critique-OQWHF4SK.js.map} +0 -0
  275. /package/dist/{crm-WHK3PL6S.js.map → crm-3373VMGE.js.map} +0 -0
  276. /package/dist/{crm-ECMEYPQT.js.map → crm-HLPVTUIM.js.map} +0 -0
  277. /package/dist/{customers-XKE3DQR7.js.map → customers-UCJBL2IP.js.map} +0 -0
  278. /package/dist/{delete-APRR2OYC.js.map → delete-7J5VDP6V.js.map} +0 -0
  279. /package/dist/{delete-QCZUGDIJ.js.map → delete-UCIUYLIT.js.map} +0 -0
  280. /package/dist/{delete-DTTEHY6E.js.map → delete-ZKWLHEZT.js.map} +0 -0
  281. /package/dist/{demographics-HG7NWA5U.js.map → demographics-AJPJPJKY.js.map} +0 -0
  282. /package/dist/{discard-U3DW6WV3.js.map → discard-H32UEHFB.js.map} +0 -0
  283. /package/dist/{domain-HTF3ARBJ.js.map → domain-Q42XWULH.js.map} +0 -0
  284. /package/dist/{draft-GPL2TZXA.js.map → draft-3YDWWRPY.js.map} +0 -0
  285. /package/dist/{draft-5RL6HZ6A.js.map → draft-ONDP2XRS.js.map} +0 -0
  286. /package/dist/{draft-KTOZ2AT7.js.map → draft-ZVMS4RFF.js.map} +0 -0
  287. /package/dist/{facets-2XQEJNZZ.js.map → facets-BFKYZCGA.js.map} +0 -0
  288. /package/dist/{feedback-34M4VJ5S.js.map → feedback-R3G4EDCT.js.map} +0 -0
  289. /package/dist/{feedback-record-ZINYAVHA.js.map → feedback-record-FJSCR6FW.js.map} +0 -0
  290. /package/dist/{fetch-VYIMA5BI.js.map → fetch-6SUFMXRQ.js.map} +0 -0
  291. /package/dist/{flows-ITS573ST.js.map → flows-OFARDYXZ.js.map} +0 -0
  292. /package/dist/{fonts-U4YXUNNZ.js.map → fonts-T4M2DIJV.js.map} +0 -0
  293. /package/dist/{funnel-46QWG5DN.js.map → funnel-RFQFRWPN.js.map} +0 -0
  294. /package/dist/{get-MVWVS3YT.js.map → get-2W45IBSR.js.map} +0 -0
  295. /package/dist/{get-IAJ57JLM.js.map → get-4LG7Q6AQ.js.map} +0 -0
  296. /package/dist/{google-ads-DYNDLOBO.js.map → google-ads-VTOZZ4B5.js.map} +0 -0
  297. /package/dist/{history-7HFGP7UI.js.map → history-PGNCHCSU.js.map} +0 -0
  298. /package/dist/{hubspot-3LWMILTD.js.map → hubspot-QILJD6UV.js.map} +0 -0
  299. /package/dist/{ideas-RHOV2ZJ6.js.map → ideas-4TZUGXTG.js.map} +0 -0
  300. /package/dist/{images-KXEPMLOC.js.map → images-EWHRAJ46.js.map} +0 -0
  301. /package/dist/{ingest-URYQ7BTL.js.map → ingest-DD6KXDYS.js.map} +0 -0
  302. /package/dist/{ingest-H4F5TJC3.js.map → ingest-HIE4SAEY.js.map} +0 -0
  303. /package/dist/{inspect-IPQTTZK3.js.map → inspect-5XJ3GTBQ.js.map} +0 -0
  304. /package/dist/{keyword-metrics-SLCXHPZS.js.map → keyword-metrics-MGCBJBWU.js.map} +0 -0
  305. /package/dist/{keywords-for-site-HBQSJKNN.js.map → keywords-for-site-MZWJ7HBX.js.map} +0 -0
  306. /package/dist/{landing-PJJGQM3M.js.map → landing-LIS4NCGW.js.map} +0 -0
  307. /package/dist/{leads-HXYLSNMB.js.map → leads-TSNX372E.js.map} +0 -0
  308. /package/dist/{learn-ZUZ7MEY5.js.map → learn-N3JFZXAL.js.map} +0 -0
  309. /package/dist/{line-item-writes-JNHZFCRM.js.map → line-item-writes-H2ZFXYH3.js.map} +0 -0
  310. /package/dist/{line-items-WGLNILMH.js.map → line-items-JBL7LVCS.js.map} +0 -0
  311. /package/dist/{link-KLFRRU24.js.map → link-THBFB2H2.js.map} +0 -0
  312. /package/dist/{list-MIGWTOQU.js.map → list-EIEZNGQ4.js.map} +0 -0
  313. /package/dist/{list-SW3DF473.js.map → list-LPFAPCN4.js.map} +0 -0
  314. /package/dist/{list-E3MCY43O.js.map → list-LS6TUGD5.js.map} +0 -0
  315. /package/dist/{log-Y4NIMHFD.js.map → log-NX7ITJM2.js.map} +0 -0
  316. /package/dist/{make-IJN6E4Q7.js.map → make-DBQMLTEI.js.map} +0 -0
  317. /package/dist/{map-DHQTEDUH.js.map → map-TI3YWRBW.js.map} +0 -0
  318. /package/dist/{mcp-ZHASO273.js.map → mcp-5DZTEDYI.js.map} +0 -0
  319. /package/dist/{media-sources-MFBQDZNS.js.map → media-sources-QYRHVUBJ.js.map} +0 -0
  320. /package/dist/{members-HTHOAHPO.js.map → members-RV546WDM.js.map} +0 -0
  321. /package/dist/{normalize-PVOL256M.js.map → normalize-KKCNCXI2.js.map} +0 -0
  322. /package/dist/{options-VDTCTJHY.js.map → options-UMDGX464.js.map} +0 -0
  323. /package/dist/{organization-VC5RO4FS.js.map → organization-KQHJ77CV.js.map} +0 -0
  324. /package/dist/{performance-QOQTL4XM.js.map → performance-SVWX2S6E.js.map} +0 -0
  325. /package/dist/{promoted-tweet-writes-6PI2KR65.js.map → promoted-tweet-writes-XPRWBI7F.js.map} +0 -0
  326. /package/dist/{promoted-tweets-UJRNHKKO.js.map → promoted-tweets-W7PCLJMU.js.map} +0 -0
  327. /package/dist/{publish-R6RINQCF.js.map → publish-E4M7QXTR.js.map} +0 -0
  328. /package/dist/{reddit-QWM5ZQ6P.js.map → reddit-BJDU3BO7.js.map} +0 -0
  329. /package/dist/{refresh-ZPF7UH3S.js.map → refresh-OTR4EWLI.js.map} +0 -0
  330. /package/dist/{release-BZPK2P3R.js.map → release-QJ4P2AVK.js.map} +0 -0
  331. /package/dist/{remove-C7ZJYFCG.js.map → remove-BNO3BWM5.js.map} +0 -0
  332. /package/dist/{reopen-6Q7NQX2C.js.map → reopen-BA76RSLQ.js.map} +0 -0
  333. /package/dist/{rerun-VRZVJDYS.js.map → rerun-U4I6RPRC.js.map} +0 -0
  334. /package/dist/{research-X6O7IID6.js.map → research-3ATNYHRA.js.map} +0 -0
  335. /package/dist/{research-FXQ6X7BY.js.map → research-CYZEWHHZ.js.map} +0 -0
  336. /package/dist/{reset-NXK6NCOO.js.map → reset-HGTZIAHW.js.map} +0 -0
  337. /package/dist/{reset-FRNQUCL5.js.map → reset-NM33L5LY.js.map} +0 -0
  338. /package/dist/{resolve-WHI4UP4V.js.map → resolve-L2A3HC56.js.map} +0 -0
  339. /package/dist/{retry-XMTYWCFA.js.map → retry-C3PBVY3I.js.map} +0 -0
  340. /package/dist/{retry-VSFPEXLE.js.map → retry-ID7ZKLBK.js.map} +0 -0
  341. /package/dist/{run-TAASFDQ7.js.map → run-DI4BRLKS.js.map} +0 -0
  342. /package/dist/{run-HBNAA56X.js.map → run-IE4GVP4I.js.map} +0 -0
  343. /package/dist/{scaffold-ad-BV5WK4IA.js.map → scaffold-ad-VQRC2NA6.js.map} +0 -0
  344. /package/dist/{scaffold-static-ad-IWNJ6GM7.js.map → scaffold-static-ad-B4TEGMSE.js.map} +0 -0
  345. /package/dist/{scaffold-video-JBG7Q45T.js.map → scaffold-video-BJLKBATO.js.map} +0 -0
  346. /package/dist/{schedule-P6GVRZ4E.js.map → schedule-OFYLBZT6.js.map} +0 -0
  347. /package/dist/{scheduled-agents-TYT5BIBQ.js.map → scheduled-agents-X2U7J42A.js.map} +0 -0
  348. /package/dist/{schema-O4CMQQGD.js.map → schema-CULVYXO7.js.map} +0 -0
  349. /package/dist/{search-HBFAHH4W.js.map → search-QDQNZ63X.js.map} +0 -0
  350. /package/dist/{select-ISR6YEIE.js.map → select-X3FT42OL.js.map} +0 -0
  351. /package/dist/{set-prompt-DF7Q6WOF.js.map → set-prompt-C7HSNTIA.js.map} +0 -0
  352. /package/dist/{setup-links-GF2IP4TH.js.map → setup-links-ZK6L7GQD.js.map} +0 -0
  353. /package/dist/{site-T6V5S5DJ.js.map → site-6Z5A3G5J.js.map} +0 -0
  354. /package/dist/{sources-UR3SLKVK.js.map → sources-7QRFH5AB.js.map} +0 -0
  355. /package/dist/{sources-5YUE7KUI.js.map → sources-B2L6X7ZE.js.map} +0 -0
  356. /package/dist/{stale-6LZAROBI.js.map → stale-ZGIUVXGA.js.map} +0 -0
  357. /package/dist/{status-FDKP65DR.js.map → status-SW3PYV6Q.js.map} +0 -0
  358. /package/dist/{sync-OGFGTKUK.js.map → sync-K74WY3AT.js.map} +0 -0
  359. /package/dist/{sync-definition-MSQFCXRK.js.map → sync-definition-KKW7R7QS.js.map} +0 -0
  360. /package/dist/{tags-GLHFHQW2.js.map → tags-4XQ5MEDJ.js.map} +0 -0
  361. /package/dist/{tags-PYLVQEVS.js.map → tags-GJ5MIA6X.js.map} +0 -0
  362. /package/dist/{tags-SL4F3LLY.js.map → tags-JXLOCBQ6.js.map} +0 -0
  363. /package/dist/{tags-67KLYTJF.js.map → tags-NMZ2NGN2.js.map} +0 -0
  364. /package/dist/{tags-XMRO4WF6.js.map → tags-V2SSR5XY.js.map} +0 -0
  365. /package/dist/{targeting-criteria-VK3IR6N2.js.map → targeting-criteria-D2ZMGXLI.js.map} +0 -0
  366. /package/dist/{targets-RCM2ZXSU.js.map → targets-6QA6MIQU.js.map} +0 -0
  367. /package/dist/{testimonials-KTHDZ3R5.js.map → testimonials-LBGJKESG.js.map} +0 -0
  368. /package/dist/{top-companies-MBTTJTRK.js.map → top-companies-6D6YFQAB.js.map} +0 -0
  369. /package/dist/{translate-I6LZ3UZU.js.map → translate-R4Y2JVXC.js.map} +0 -0
  370. /package/dist/{triggers-PDIVJDLP.js.map → triggers-MDZNDNCU.js.map} +0 -0
  371. /package/dist/{unlink-IHEFAFG6.js.map → unlink-WS7DVDLH.js.map} +0 -0
  372. /package/dist/{unstage-NJQAIIPT.js.map → unstage-K3I2TLRR.js.map} +0 -0
  373. /package/dist/{update-LR7UW5LL.js.map → update-HPSXO5WB.js.map} +0 -0
  374. /package/dist/{update-P5BTLCGG.js.map → update-J6FHMXWL.js.map} +0 -0
  375. /package/dist/{update-K5MMOE5N.js.map → update-LCLRO26T.js.map} +0 -0
  376. /package/dist/{update-CYQIGHT4.js.map → update-LZVLBRAX.js.map} +0 -0
  377. /package/dist/{upload-VVB2LTD2.js.map → upload-XD7N4PJS.js.map} +0 -0
  378. /package/dist/{url-params-MSRUZOGT.js.map → url-params-U5DW22SR.js.map} +0 -0
  379. /package/dist/{validate-XMEHRCAG.js.map → validate-PRT6ZD72.js.map} +0 -0
  380. /package/dist/{videos-EQG7AAXT.js.map → videos-KCXSXYJK.js.map} +0 -0
  381. /package/dist/{web-MSYXLOFV.js.map → web-W2TTELHS.js.map} +0 -0
  382. /package/dist/{winning-ads-VWBU3BNQ.js.map → winning-ads-YPQY6GVU.js.map} +0 -0
  383. /package/dist/{write-commands-PK23JVW3.js.map → write-commands-SPTWBMLY.js.map} +0 -0
  384. /package/dist/{x-ZSTQLK6Q.js.map → x-2Y2DGMPG.js.map} +0 -0
package/README.md CHANGED
@@ -1273,11 +1273,18 @@ baker ads linkedin conversions health --account-id 503001492
1273
1273
  # "Pre-launch sanity check: is this audience too narrow?"
1274
1274
  baker ads linkedin audience-size --account-id 503001492 --targeting-file targeting.json
1275
1275
 
1276
- # "What bid should I start at?"
1276
+ # "What bid should I start at?" — LinkedIn's suggested bid, in the account's currency
1277
1277
  baker ads linkedin bid-pricing --account-id 503001492 \
1278
1278
  --objective LEAD_GENERATION --cost-type CPC --targeting-file targeting.json
1279
+
1280
+ # "What would 7,250 over 4 weeks get us?" — LinkedIn's forecast; a budget is required.
1281
+ # Without --bid it forecasts automated bidding; --bid 5.57 forecasts that manual bid.
1282
+ baker ads linkedin forecast --account-id 503001492 \
1283
+ --objective LEAD_GENERATION --total-budget 7250 --days 28 --targeting-file targeting.json
1279
1284
  ```
1280
1285
 
1286
+ `forecast` returns the whole period's `results` (impressions, clicks, leads, spend, …), LinkedIn's `unitCosts` (cpc, cpm, costPerLead, …) and `rates` (ctr, …), each `{ value, low, high }`, plus the `period`, `budget` and `bidding` it forecast. The period starts tomorrow (or `--start YYYY-MM-DD`) and lasts `--days` (default 30); `--full` adds LinkedIn's daily, 7-day and 30-day series. Amounts without a currency use the ad account's.
1287
+
1281
1288
  #### Smart defaults
1282
1289
 
1283
1290
  **`analytics`** — the 3-axis workhorse:
@@ -1324,7 +1331,7 @@ facets list # all targeting facets (industries, seniorities,
1324
1331
  facets values --facet titles --query "..." # typeahead → URNs
1325
1332
  audience-size # estimate reach for a targetingCriteria payload + sweet-spot warnings
1326
1333
  bid-pricing # min/suggested/max bid + playbook §06 floor (2/3 of suggested)
1327
- forecast # adSupplyForecasts wrapper for greenfield planning
1334
+ forecast # LinkedIn's results / cost forecast for a budget, bid and period
1328
1335
 
1329
1336
  leads # Lead Gen Form responses (90d retention — sync to your CRM)
1330
1337
  conversions list # conversion rules (Insight Tag + CAPI)
@@ -2,7 +2,7 @@ import {
2
2
  csvOrJson,
3
3
  handleLinkedinError,
4
4
  resolveAccountIdArg
5
- } from "./chunk-XYOU3ROP.js";
5
+ } from "./chunk-22WY4M2Y.js";
6
6
  import {
7
7
  writeAdsJson,
8
8
  writeAdsOutput
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  NO_CACHE_ARG
12
12
  } from "./chunk-O6VUX3O5.js";
13
- import "./chunk-GAJQPQWS.js";
13
+ import "./chunk-A5VAM472.js";
14
14
  import "./chunk-GXDLWBOY.js";
15
15
  import "./chunk-GIWHHCD6.js";
16
16
  import "./chunk-XQIOCIDO.js";
@@ -68,7 +68,7 @@ Examples:
68
68
  },
69
69
  subCommands: {
70
70
  detail: accountDetailCommand,
71
- "url-params": () => import("./write-commands-PK23JVW3.js").then((m) => m.accountUrlParamsCommand)
71
+ "url-params": () => import("./write-commands-SPTWBMLY.js").then((m) => m.accountUrlParamsCommand)
72
72
  },
73
73
  args: accountDetailCommand.args,
74
74
  default: "detail"
@@ -76,4 +76,4 @@ Examples:
76
76
  export {
77
77
  accountCommand
78
78
  };
79
- //# sourceMappingURL=account-NCX3VHZT.js.map
79
+ //# sourceMappingURL=account-JPLZDN6P.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  csvOrJson,
3
3
  handleLinkedinError
4
- } from "./chunk-XYOU3ROP.js";
4
+ } from "./chunk-22WY4M2Y.js";
5
5
  import {
6
6
  connectedResourceHints
7
7
  } from "./chunk-P4NSJS54.js";
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  NO_CACHE_ARG
18
18
  } from "./chunk-O6VUX3O5.js";
19
- import "./chunk-GAJQPQWS.js";
19
+ import "./chunk-A5VAM472.js";
20
20
  import "./chunk-GXDLWBOY.js";
21
21
  import "./chunk-GIWHHCD6.js";
22
22
  import "./chunk-XQIOCIDO.js";
@@ -74,4 +74,4 @@ Examples:
74
74
  export {
75
75
  accountsCommand
76
76
  };
77
- //# sourceMappingURL=accounts-2MQVGI4I.js.map
77
+ //# sourceMappingURL=accounts-A436U3XR.js.map
@@ -9,7 +9,7 @@ import {
9
9
  accountsInfluencedRequestSchema,
10
10
  influenceParams,
11
11
  warmAccounts
12
- } from "./chunk-CU2DEMQB.js";
12
+ } from "./chunk-EK2CTQIR.js";
13
13
  import "./chunk-GRQ2AXDX.js";
14
14
  import {
15
15
  TABLE_OUTPUT_FORMATS,
@@ -19,8 +19,8 @@ import {
19
19
  } from "./chunk-AAF7HL4I.js";
20
20
  import {
21
21
  failApi
22
- } from "./chunk-R4CDO5YH.js";
23
- import "./chunk-GAJQPQWS.js";
22
+ } from "./chunk-ZNEUUBRZ.js";
23
+ import "./chunk-A5VAM472.js";
24
24
  import "./chunk-GXDLWBOY.js";
25
25
  import "./chunk-GIWHHCD6.js";
26
26
  import "./chunk-XQIOCIDO.js";
@@ -602,10 +602,10 @@ var accountsCommand = defineCommand({
602
602
  warm: warmCommand,
603
603
  company: companyCommand,
604
604
  campaigns: campaignsCommand,
605
- crm: () => import("./crm-ECMEYPQT.js").then((m) => m.crmCommand)
605
+ crm: () => import("./crm-HLPVTUIM.js").then((m) => m.crmCommand)
606
606
  }
607
607
  });
608
608
  export {
609
609
  accountsCommand
610
610
  };
611
- //# sourceMappingURL=accounts-MQIYTIAX.js.map
611
+ //# sourceMappingURL=accounts-CONSIJU6.js.map
@@ -30,26 +30,26 @@ Examples:
30
30
  Full guide: __tooling__/docs/tools/baker/actions.md`
31
31
  },
32
32
  subCommands: {
33
- list: () => import("./list-E3MCY43O.js").then((m) => m.listCommand),
34
- log: () => import("./log-Y4NIMHFD.js").then((m) => m.logCommand),
35
- draft: () => import("./draft-KTOZ2AT7.js").then((m) => m.draftCommand),
36
- get: () => import("./get-MVWVS3YT.js").then((m) => m.getCommand),
37
- status: () => import("./status-FDKP65DR.js").then((m) => m.statusCommand),
38
- claim: () => import("./claim-DEQYWQZ4.js").then((m) => m.claimCommand),
39
- release: () => import("./release-BZPK2P3R.js").then((m) => m.releaseCommand),
40
- create: () => import("./create-LRVA4MSV.js").then((m) => m.createCommand),
41
- update: () => import("./update-CYQIGHT4.js").then((m) => m.updateCommand),
42
- complete: () => import("./complete-FM6VSFCT.js").then((m) => m.completeCommand),
43
- discard: () => import("./discard-U3DW6WV3.js").then((m) => m.discardCommand),
44
- reopen: () => import("./reopen-6Q7NQX2C.js").then((m) => m.reopenCommand),
45
- assign: () => import("./assign-WGQVY3DW.js").then((m) => m.assignCommand),
46
- members: () => import("./members-HTHOAHPO.js").then((m) => m.membersCommand),
47
- link: () => import("./link-KLFRRU24.js").then((m) => m.linkCommand),
48
- unlink: () => import("./unlink-IHEFAFG6.js").then((m) => m.unlinkCommand),
49
- tags: () => import("./tags-XMRO4WF6.js").then((m) => m.tagsCommand)
33
+ list: () => import("./list-LS6TUGD5.js").then((m) => m.listCommand),
34
+ log: () => import("./log-NX7ITJM2.js").then((m) => m.logCommand),
35
+ draft: () => import("./draft-ZVMS4RFF.js").then((m) => m.draftCommand),
36
+ get: () => import("./get-2W45IBSR.js").then((m) => m.getCommand),
37
+ status: () => import("./status-SW3PYV6Q.js").then((m) => m.statusCommand),
38
+ claim: () => import("./claim-RDP6PVKV.js").then((m) => m.claimCommand),
39
+ release: () => import("./release-QJ4P2AVK.js").then((m) => m.releaseCommand),
40
+ create: () => import("./create-AVOJFXDX.js").then((m) => m.createCommand),
41
+ update: () => import("./update-LZVLBRAX.js").then((m) => m.updateCommand),
42
+ complete: () => import("./complete-MJMDSDTL.js").then((m) => m.completeCommand),
43
+ discard: () => import("./discard-H32UEHFB.js").then((m) => m.discardCommand),
44
+ reopen: () => import("./reopen-BA76RSLQ.js").then((m) => m.reopenCommand),
45
+ assign: () => import("./assign-2NNSXCTL.js").then((m) => m.assignCommand),
46
+ members: () => import("./members-RV546WDM.js").then((m) => m.membersCommand),
47
+ link: () => import("./link-THBFB2H2.js").then((m) => m.linkCommand),
48
+ unlink: () => import("./unlink-WS7DVDLH.js").then((m) => m.unlinkCommand),
49
+ tags: () => import("./tags-V2SSR5XY.js").then((m) => m.tagsCommand)
50
50
  }
51
51
  });
52
52
  export {
53
53
  actionsCommand
54
54
  };
55
- //# sourceMappingURL=actions-LRSHHDV2.js.map
55
+ //# sourceMappingURL=actions-J2YTDYK4.js.map
@@ -3,8 +3,8 @@ import {
3
3
  } from "./chunk-PFBQERWX.js";
4
4
  import {
5
5
  failApi
6
- } from "./chunk-R4CDO5YH.js";
7
- import "./chunk-GAJQPQWS.js";
6
+ } from "./chunk-ZNEUUBRZ.js";
7
+ import "./chunk-A5VAM472.js";
8
8
  import "./chunk-GXDLWBOY.js";
9
9
  import "./chunk-GIWHHCD6.js";
10
10
  import "./chunk-XQIOCIDO.js";
@@ -932,4 +932,4 @@ Full guide: __tooling__/docs/tools/baker/activecampaign.md`
932
932
  export {
933
933
  activecampaignCommand
934
934
  };
935
- //# sourceMappingURL=activecampaign-G4XARU6N.js.map
935
+ //# sourceMappingURL=activecampaign-W4YD73BL.js.map
@@ -7,7 +7,7 @@ import {
7
7
  testimonialSourceRefreshIntervalSchema,
8
8
  testimonialSourceTypeSchema,
9
9
  testimonialSourcesAddRequestSchema
10
- } from "./chunk-GAJQPQWS.js";
10
+ } from "./chunk-A5VAM472.js";
11
11
  import "./chunk-GXDLWBOY.js";
12
12
  import "./chunk-GIWHHCD6.js";
13
13
  import "./chunk-XQIOCIDO.js";
@@ -101,4 +101,4 @@ export {
101
101
  addCommand,
102
102
  addSourceHints
103
103
  };
104
- //# sourceMappingURL=add-ZP47HVHW.js.map
104
+ //# sourceMappingURL=add-NFBS2JQL.js.map
@@ -6,12 +6,12 @@ import {
6
6
  stepNameKey,
7
7
  walkNodes,
8
8
  writeFlowTree
9
- } from "./chunk-UMFKMS4U.js";
9
+ } from "./chunk-BOHHB74V.js";
10
10
  import {
11
11
  flowCatalogEntry,
12
12
  flowCatalogTypes,
13
13
  flowNodeTriggers
14
- } from "./chunk-GAJQPQWS.js";
14
+ } from "./chunk-A5VAM472.js";
15
15
  import "./chunk-GXDLWBOY.js";
16
16
  import "./chunk-GIWHHCD6.js";
17
17
  import "./chunk-XQIOCIDO.js";
@@ -299,4 +299,4 @@ export {
299
299
  secondPixelHint,
300
300
  stepNameRefusal
301
301
  };
302
- //# sourceMappingURL=add-2MVZQJYG.js.map
302
+ //# sourceMappingURL=add-SXFET7AD.js.map
@@ -29,12 +29,12 @@ Full guides: __tooling__/docs/tools/baker/ads-<platform>.md (google|meta|linkedi
29
29
  subCommands: {
30
30
  google: () => import("./google-XE35SF3Z.js").then((m) => m.googleCommand),
31
31
  meta: () => import("./meta-RAVCXVZA.js").then((m) => m.metaCommand),
32
- linkedin: () => import("./linkedin-LPWIZ3SS.js").then((m) => m.linkedinCommand),
33
- x: () => import("./x-ZSTQLK6Q.js").then((m) => m.xCommand),
32
+ linkedin: () => import("./linkedin-PVGZWXQJ.js").then((m) => m.linkedinCommand),
33
+ x: () => import("./x-2Y2DGMPG.js").then((m) => m.xCommand),
34
34
  chatgpt: () => import("./chatgpt-M27OEM7J.js").then((m) => m.chatgptCommand)
35
35
  }
36
36
  });
37
37
  export {
38
38
  adsCommand
39
39
  };
40
- //# sourceMappingURL=ads-7YYCWZIR.js.map
40
+ //# sourceMappingURL=ads-QDFOWMSP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  advertisersHints
3
- } from "./chunk-XKA4ZHGX.js";
3
+ } from "./chunk-LFMKBF6Q.js";
4
4
  import {
5
5
  RESEARCH_DATA_NOTE,
6
6
  handleResearchError,
@@ -13,7 +13,7 @@ import {
13
13
  warnDefaults
14
14
  } from "./chunk-FEELV5IV.js";
15
15
  import "./chunk-7VHPAGPK.js";
16
- import "./chunk-GAJQPQWS.js";
16
+ import "./chunk-A5VAM472.js";
17
17
  import "./chunk-GXDLWBOY.js";
18
18
  import "./chunk-GIWHHCD6.js";
19
19
  import "./chunk-XQIOCIDO.js";
@@ -117,4 +117,4 @@ Examples:
117
117
  export {
118
118
  advertisersCommand
119
119
  };
120
- //# sourceMappingURL=advertisers-246ZLRFZ.js.map
120
+ //# sourceMappingURL=advertisers-6ASS5GMI.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  flowEventKeys,
3
3
  flowNodes
4
- } from "./chunk-TOIFDXCW.js";
4
+ } from "./chunk-53JBNG5Q.js";
5
5
  import {
6
6
  flowDataPath,
7
7
  flowExists,
8
8
  listFlowSlugs,
9
9
  readFlowTree
10
- } from "./chunk-UMFKMS4U.js";
10
+ } from "./chunk-BOHHB74V.js";
11
11
  import {
12
12
  peopleArgs,
13
13
  peopleLimitError
@@ -16,7 +16,7 @@ import {
16
16
  INGEST_ARRIVALS_MAX,
17
17
  eventIngestUrl,
18
18
  ingestBrief
19
- } from "./chunk-4LODOBIN.js";
19
+ } from "./chunk-GUMLW3YA.js";
20
20
  import "./chunk-GRQ2AXDX.js";
21
21
  import {
22
22
  ConversionArgsError,
@@ -47,7 +47,7 @@ import {
47
47
  } from "./chunk-AAF7HL4I.js";
48
48
  import {
49
49
  flowNodeTriggers
50
- } from "./chunk-GAJQPQWS.js";
50
+ } from "./chunk-A5VAM472.js";
51
51
  import "./chunk-GXDLWBOY.js";
52
52
  import "./chunk-GIWHHCD6.js";
53
53
  import "./chunk-XQIOCIDO.js";
@@ -1956,7 +1956,7 @@ Full guide: __tooling__/docs/tools/baker/analytics.md`
1956
1956
  tracking: trackingCommand,
1957
1957
  arrivals: arrivalsCommand,
1958
1958
  "sending-events": sendingEventsCommand,
1959
- sources: () => import("./sources-UR3SLKVK.js").then((m) => m.sourcesCommand),
1959
+ sources: () => import("./sources-7QRFH5AB.js").then((m) => m.sourcesCommand),
1960
1960
  "website-tag": websiteTagCommand,
1961
1961
  sites: sitesCommand,
1962
1962
  plan: () => import("./plan-ZS7SOXL6.js").then((m) => m.planCommand),
@@ -1973,4 +1973,4 @@ export {
1973
1973
  requestBody,
1974
1974
  sendingEventsAddress
1975
1975
  };
1976
- //# sourceMappingURL=analytics-WPYPKM6L.js.map
1976
+ //# sourceMappingURL=analytics-DZJDNCAK.js.map
@@ -4,7 +4,7 @@ import {
4
4
  handleLinkedinError,
5
5
  resolveAccountIdArg,
6
6
  todayIso
7
- } from "./chunk-XYOU3ROP.js";
7
+ } from "./chunk-22WY4M2Y.js";
8
8
  import {
9
9
  writeAdsJson,
10
10
  writeAdsOutput
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  NO_CACHE_ARG
14
14
  } from "./chunk-O6VUX3O5.js";
15
- import "./chunk-GAJQPQWS.js";
15
+ import "./chunk-A5VAM472.js";
16
16
  import "./chunk-GXDLWBOY.js";
17
17
  import "./chunk-GIWHHCD6.js";
18
18
  import "./chunk-XQIOCIDO.js";
@@ -430,4 +430,4 @@ Examples \u2014 common AI questions:
430
430
  export {
431
431
  analyticsCommand
432
432
  };
433
- //# sourceMappingURL=analytics-SL56NTIV.js.map
433
+ //# sourceMappingURL=analytics-VTFXYOVF.js.map
@@ -2,8 +2,8 @@ import {
2
2
  failApi,
3
3
  failValidation,
4
4
  isTempId
5
- } from "./chunk-R4CDO5YH.js";
6
- import "./chunk-GAJQPQWS.js";
5
+ } from "./chunk-ZNEUUBRZ.js";
6
+ import "./chunk-A5VAM472.js";
7
7
  import "./chunk-GXDLWBOY.js";
8
8
  import "./chunk-GIWHHCD6.js";
9
9
  import "./chunk-XQIOCIDO.js";
@@ -74,4 +74,4 @@ export {
74
74
  assignBody,
75
75
  assignCommand
76
76
  };
77
- //# sourceMappingURL=assign-WGQVY3DW.js.map
77
+ //# sourceMappingURL=assign-2NNSXCTL.js.map
@@ -1,14 +1,15 @@
1
1
  import {
2
2
  handleLinkedinError,
3
+ loadTargetingArg,
3
4
  resolveAccountIdArg
4
- } from "./chunk-XYOU3ROP.js";
5
+ } from "./chunk-22WY4M2Y.js";
5
6
  import {
6
7
  writeAdsJson
7
8
  } from "./chunk-AAF7HL4I.js";
8
9
  import {
9
10
  NO_CACHE_ARG
10
11
  } from "./chunk-O6VUX3O5.js";
11
- import "./chunk-GAJQPQWS.js";
12
+ import "./chunk-A5VAM472.js";
12
13
  import "./chunk-GXDLWBOY.js";
13
14
  import "./chunk-GIWHHCD6.js";
14
15
  import "./chunk-XQIOCIDO.js";
@@ -22,29 +23,7 @@ import "./chunk-ANYMWCST.js";
22
23
  import "./chunk-YQSBHWOI.js";
23
24
 
24
25
  // src/commands/ads/linkedin/audience-size.ts
25
- import { readFileSync } from "fs";
26
26
  import { defineCommand } from "citty";
27
- function loadTargeting(args) {
28
- const inline = args.targeting;
29
- if (inline) {
30
- try {
31
- return JSON.parse(inline);
32
- } catch {
33
- handleLinkedinError(new Error("--targeting must be valid JSON. See LinkedIn 'targetingCriteria' shape."));
34
- }
35
- }
36
- const file = args["targeting-file"];
37
- if (file) {
38
- try {
39
- return JSON.parse(readFileSync(file, "utf-8"));
40
- } catch (e) {
41
- handleLinkedinError(
42
- new Error(`Failed to read --targeting-file: ${e instanceof Error ? e.message : "I/O error"}`)
43
- );
44
- }
45
- }
46
- handleLinkedinError(new Error("Pass --targeting-file <path> or --targeting '{...JSON...}'"));
47
- }
48
27
  var audienceSizeCommand = defineCommand({
49
28
  meta: {
50
29
  name: "audience-size",
@@ -75,7 +54,7 @@ Examples:
75
54
  },
76
55
  run: async ({ args }) => {
77
56
  const accountId = resolveAccountIdArg(args);
78
- const targetingCriteria = loadTargeting(args);
57
+ const targetingCriteria = loadTargetingArg(args);
79
58
  try {
80
59
  const data = await apiPost("/api/ads/linkedin/audience-size", {
81
60
  accountId,
@@ -91,4 +70,4 @@ Examples:
91
70
  export {
92
71
  audienceSizeCommand
93
72
  };
94
- //# sourceMappingURL=audience-size-C37XJ6GS.js.map
73
+ //# sourceMappingURL=audience-size-YAUL5I4L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/linkedin/audience-size.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiPost } from \"../../../client.ts\";\nimport { writeAdsJson } from \"../output.ts\";\nimport { handleLinkedinError, loadTargetingArg, resolveAccountIdArg } from \"./shared.ts\";\n\ninterface AudienceSizeResult {\n total: number;\n active: number;\n warnings: string[];\n}\n\nexport const audienceSizeCommand = defineCommand({\n meta: {\n name: \"audience-size\",\n description: `Estimate audience size for a targeting payload — pre-launch sanity check.\n\nReturns total + active counts plus playbook §04 warnings:\n size <20K → too narrow (will not deliver)\n size <50K → outside the 50K–500K sweet spot\n size >500K → outside the sweet spot\n size >1M → too broad, refine ICP\n\nThe targeting payload must follow LinkedIn's 'targetingCriteria' shape — an\ninclude/exclude tree of and/or boolean operators with adTargetingFacet keys.\nThe simplest form:\n { \"include\": { \"and\": [{ \"or\": { \"urn:li:adTargetingFacet:locations\": [\"urn:li:geo:103644278\"] }}]}}\n\nExamples:\n baker ads linkedin audience-size --account-id 503001492 --targeting-file targeting.json\n baker ads linkedin audience-size --account-id 503001492 --targeting '{\"include\":{\"and\":[]}}'`,\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Numeric account ID or urn:li:sponsoredAccount:N\" },\n \"account-urn\": { type: \"string\", description: \"Alias for --account-id\" },\n targeting: { type: \"string\", description: \"Inline JSON targetingCriteria payload\" },\n \"targeting-file\": { type: \"string\", description: \"Path to JSON file with targetingCriteria\" },\n \"no-cache\": NO_CACHE_ARG,\n output: { type: \"string\", description: \"json\", default: \"json\" },\n },\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n const targetingCriteria = loadTargetingArg(args);\n try {\n const data = await apiPost<AudienceSizeResult>(\"/api/ads/linkedin/audience-size\", {\n accountId,\n targetingCriteria,\n skipCache: Boolean(args[\"no-cache\"]),\n });\n writeAdsJson({ ok: true, data });\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAYvB,IAAM,sBAAsB,cAAc;AAAA,EAC/C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBf;AAAA,EACA,MAAM;AAAA,IACJ,cAAc,EAAE,MAAM,UAAU,aAAa,kDAAkD;AAAA,IAC/F,eAAe,EAAE,MAAM,UAAU,aAAa,yBAAyB;AAAA,IACvE,WAAW,EAAE,MAAM,UAAU,aAAa,wCAAwC;AAAA,IAClF,kBAAkB,EAAE,MAAM,UAAU,aAAa,2CAA2C;AAAA,IAC5F,YAAY;AAAA,IACZ,QAAQ,EAAE,MAAM,UAAU,aAAa,QAAQ,SAAS,OAAO;AAAA,EACjE;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,YAAY,oBAAoB,IAAI;AAC1C,UAAM,oBAAoB,iBAAiB,IAAI;AAC/C,QAAI;AACF,YAAM,OAAO,MAAM,QAA4B,mCAAmC;AAAA,QAChF;AAAA,QACA;AAAA,QACA,WAAW,QAAQ,KAAK,UAAU,CAAC;AAAA,MACrC,CAAC;AACD,mBAAa,EAAE,IAAI,MAAM,KAAK,CAAC;AAAA,IACjC,SAAS,KAAK;AACZ,0BAAoB,GAAG;AAAA,IACzB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  handleLinkedinError,
3
3
  resolveAccountIdArg
4
- } from "./chunk-XYOU3ROP.js";
4
+ } from "./chunk-22WY4M2Y.js";
5
5
  import {
6
6
  writeAdsJson
7
7
  } from "./chunk-AAF7HL4I.js";
8
8
  import {
9
9
  NO_CACHE_ARG
10
10
  } from "./chunk-O6VUX3O5.js";
11
- import "./chunk-GAJQPQWS.js";
11
+ import "./chunk-A5VAM472.js";
12
12
  import "./chunk-GXDLWBOY.js";
13
13
  import "./chunk-GIWHHCD6.js";
14
14
  import "./chunk-XQIOCIDO.js";
@@ -148,4 +148,4 @@ Examples:
148
148
  export {
149
149
  auditCommand
150
150
  };
151
- //# sourceMappingURL=audit-LGD4PMAI.js.map
151
+ //# sourceMappingURL=audit-DCVOOFPI.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  noSerpRowsHints
3
- } from "./chunk-XKA4ZHGX.js";
3
+ } from "./chunk-LFMKBF6Q.js";
4
4
  import {
5
5
  RESEARCH_DATA_NOTE,
6
6
  handleResearchError,
@@ -13,7 +13,7 @@ import {
13
13
  warnDefaults
14
14
  } from "./chunk-FEELV5IV.js";
15
15
  import "./chunk-7VHPAGPK.js";
16
- import "./chunk-GAJQPQWS.js";
16
+ import "./chunk-A5VAM472.js";
17
17
  import "./chunk-GXDLWBOY.js";
18
18
  import "./chunk-GIWHHCD6.js";
19
19
  import "./chunk-XQIOCIDO.js";
@@ -108,4 +108,4 @@ Examples:
108
108
  export {
109
109
  autocompleteCommand
110
110
  };
111
- //# sourceMappingURL=autocomplete-PD2EMWRU.js.map
111
+ //# sourceMappingURL=autocomplete-6VBDEE6O.js.map
@@ -26,13 +26,13 @@ Full guide: __tooling__/docs/tools/baker/avatars.md`
26
26
  subCommands: {
27
27
  list: () => import("./list-E7CJMIGC.js").then((m) => m.listCommand),
28
28
  get: () => import("./get-SR2NWOPT.js").then((m) => m.getCommand),
29
- create: () => import("./create-A7O5CBUS.js").then((m) => m.createCommand),
30
- research: () => import("./research-X6O7IID6.js").then((m) => m.researchCommand),
31
- update: () => import("./update-K5MMOE5N.js").then((m) => m.updateCommand),
29
+ create: () => import("./create-XUD5CW7C.js").then((m) => m.createCommand),
30
+ research: () => import("./research-3ATNYHRA.js").then((m) => m.researchCommand),
31
+ update: () => import("./update-LCLRO26T.js").then((m) => m.updateCommand),
32
32
  delete: () => import("./delete-7K4KFPUT.js").then((m) => m.deleteCommand)
33
33
  }
34
34
  });
35
35
  export {
36
36
  avatarsCommand
37
37
  };
38
- //# sourceMappingURL=avatars-U5KAMVNV.js.map
38
+ //# sourceMappingURL=avatars-AVLB3D5I.js.map
@@ -0,0 +1,100 @@
1
+ import {
2
+ linkedinBidPricingRequestSchema
3
+ } from "./chunk-VX45CG4L.js";
4
+ import {
5
+ exitOnInvalidArgs,
6
+ handleLinkedinError,
7
+ loadTargetingArg,
8
+ resolveAccountIdArg
9
+ } from "./chunk-22WY4M2Y.js";
10
+ import {
11
+ writeAdsJson
12
+ } from "./chunk-AAF7HL4I.js";
13
+ import {
14
+ NO_CACHE_ARG
15
+ } from "./chunk-O6VUX3O5.js";
16
+ import "./chunk-A5VAM472.js";
17
+ import "./chunk-GXDLWBOY.js";
18
+ import "./chunk-GIWHHCD6.js";
19
+ import "./chunk-XQIOCIDO.js";
20
+ import "./chunk-ML7DLFFY.js";
21
+ import {
22
+ apiPost
23
+ } from "./chunk-7ANWFQEA.js";
24
+ import "./chunk-KODTY7PB.js";
25
+ import "./chunk-H5CGVMQW.js";
26
+ import "./chunk-ANYMWCST.js";
27
+ import "./chunk-YQSBHWOI.js";
28
+
29
+ // src/commands/ads/linkedin/bid-pricing.ts
30
+ import { defineCommand } from "citty";
31
+ var FLAG_OF_FIELD = {
32
+ objectiveType: "--objective",
33
+ costType: "--cost-type",
34
+ campaignType: "--campaign-type",
35
+ targetingCriteria: "--targeting"
36
+ };
37
+ var bidPricingCommand = defineCommand({
38
+ meta: {
39
+ name: "bid-pricing",
40
+ description: `LinkedIn's suggested bid (min / default / max) for a targeting + objective + bid type \u2014 the same range Campaign Manager shows while building a campaign. Amounts are in the ad account's currency.
41
+
42
+ Also returns the bid limits, LinkedIn's daily budget range, and the playbook \xA706 floor (2/3 of the suggested bid \u2014 the recommended manual CPC starting point). Feed the suggested bid into \`forecast --bid\` for the expected results.
43
+
44
+ Objective types: BRAND_AWARENESS | WEBSITE_VISIT | ENGAGEMENT | VIDEO_VIEW |
45
+ LEAD_GENERATION | WEBSITE_CONVERSION | JOB_APPLICANT | TALENT_LEAD
46
+ Cost types: CPC (default) | CPM | CPV
47
+
48
+ Start here:
49
+ baker ads linkedin bid-pricing --account-id 503001492 --objective LEAD_GENERATION --targeting-file targeting.json
50
+ baker ads linkedin bid-pricing --account-id 503001492 --objective WEBSITE_VISIT --cost-type CPM --targeting '{"include":...}'`
51
+ },
52
+ args: {
53
+ "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
54
+ "account-urn": { type: "string", description: "Alias for --account-id" },
55
+ objective: {
56
+ type: "string",
57
+ description: "Objective type (e.g. LEAD_GENERATION, WEBSITE_VISIT)",
58
+ required: true
59
+ },
60
+ "cost-type": { type: "string", description: "CPC (default) | CPM | CPV", default: "CPC" },
61
+ "campaign-type": {
62
+ type: "string",
63
+ description: "SPONSORED_UPDATES (default, sponsored content) | SPONSORED_INMAILS | TEXT_AD",
64
+ default: "SPONSORED_UPDATES"
65
+ },
66
+ "audience-expansion": {
67
+ type: "boolean",
68
+ description: "Price with audience expansion on (default off, the playbook setting)",
69
+ default: false
70
+ },
71
+ targeting: { type: "string", description: "Inline JSON targetingCriteria" },
72
+ "targeting-file": { type: "string", description: "Path to JSON file with targetingCriteria" },
73
+ "no-cache": NO_CACHE_ARG,
74
+ output: { type: "string", description: "json", default: "json" }
75
+ },
76
+ run: async ({ args }) => {
77
+ const accountId = resolveAccountIdArg(args);
78
+ const targetingCriteria = loadTargetingArg(args);
79
+ const parsed = linkedinBidPricingRequestSchema.safeParse({
80
+ accountId,
81
+ objectiveType: String(args.objective).toUpperCase(),
82
+ costType: String(args["cost-type"]).toUpperCase(),
83
+ campaignType: String(args["campaign-type"]).toUpperCase(),
84
+ matchType: args["audience-expansion"] ? "AUDIENCE_EXPANDED" : "EXACT",
85
+ targetingCriteria,
86
+ skipCache: Boolean(args["no-cache"])
87
+ });
88
+ if (!parsed.success) exitOnInvalidArgs(parsed.error.issues, FLAG_OF_FIELD);
89
+ try {
90
+ const data = await apiPost("/api/ads/linkedin/bid-pricing", parsed.data);
91
+ writeAdsJson({ ok: true, data });
92
+ } catch (err) {
93
+ handleLinkedinError(err);
94
+ }
95
+ }
96
+ });
97
+ export {
98
+ bidPricingCommand
99
+ };
100
+ //# sourceMappingURL=bid-pricing-GHWQIWCX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/linkedin/bid-pricing.ts"],"sourcesContent":["import { linkedinBidPricingRequestSchema } from \"@baker/api/ads-linkedin/planning\";\nimport { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiPost } from \"../../../client.ts\";\nimport { writeAdsJson } from \"../output.ts\";\nimport { exitOnInvalidArgs, handleLinkedinError, loadTargetingArg, resolveAccountIdArg } from \"./shared.ts\";\n\nconst FLAG_OF_FIELD: Record<string, string> = {\n objectiveType: \"--objective\",\n costType: \"--cost-type\",\n campaignType: \"--campaign-type\",\n targetingCriteria: \"--targeting\",\n};\n\ntype Money = { amount?: string; currencyCode?: string };\n\ninterface BidPricingResult {\n bidLimits?: { min?: Money; max?: Money };\n suggestedBid?: { min?: Money; default?: Money; max?: Money };\n dailyBudgetLimits?: { min?: Money; default?: Money; max?: Money };\n costType: string;\n objectiveType: string;\n campaignType: string;\n matchType: string;\n playbookFloor?: { amount: string; currencyCode: string };\n playbookNote: string;\n}\n\nexport const bidPricingCommand = defineCommand({\n meta: {\n name: \"bid-pricing\",\n description: `LinkedIn's suggested bid (min / default / max) for a targeting + objective + bid type — the same range Campaign Manager shows while building a campaign. Amounts are in the ad account's currency.\n\nAlso returns the bid limits, LinkedIn's daily budget range, and the playbook §06 floor (2/3 of the suggested bid — the recommended manual CPC starting point). Feed the suggested bid into \\`forecast --bid\\` for the expected results.\n\nObjective types: BRAND_AWARENESS | WEBSITE_VISIT | ENGAGEMENT | VIDEO_VIEW |\n LEAD_GENERATION | WEBSITE_CONVERSION | JOB_APPLICANT | TALENT_LEAD\nCost types: CPC (default) | CPM | CPV\n\nStart here:\n baker ads linkedin bid-pricing --account-id 503001492 --objective LEAD_GENERATION --targeting-file targeting.json\n baker ads linkedin bid-pricing --account-id 503001492 --objective WEBSITE_VISIT --cost-type CPM --targeting '{\"include\":...}'`,\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Numeric account ID or urn:li:sponsoredAccount:N\" },\n \"account-urn\": { type: \"string\", description: \"Alias for --account-id\" },\n objective: {\n type: \"string\",\n description: \"Objective type (e.g. LEAD_GENERATION, WEBSITE_VISIT)\",\n required: true,\n },\n \"cost-type\": { type: \"string\", description: \"CPC (default) | CPM | CPV\", default: \"CPC\" },\n \"campaign-type\": {\n type: \"string\",\n description: \"SPONSORED_UPDATES (default, sponsored content) | SPONSORED_INMAILS | TEXT_AD\",\n default: \"SPONSORED_UPDATES\",\n },\n \"audience-expansion\": {\n type: \"boolean\",\n description: \"Price with audience expansion on (default off, the playbook setting)\",\n default: false,\n },\n targeting: { type: \"string\", description: \"Inline JSON targetingCriteria\" },\n \"targeting-file\": { type: \"string\", description: \"Path to JSON file with targetingCriteria\" },\n \"no-cache\": NO_CACHE_ARG,\n output: { type: \"string\", description: \"json\", default: \"json\" },\n },\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n const targetingCriteria = loadTargetingArg(args);\n const parsed = linkedinBidPricingRequestSchema.safeParse({\n accountId,\n objectiveType: String(args.objective).toUpperCase(),\n costType: String(args[\"cost-type\"]).toUpperCase(),\n campaignType: String(args[\"campaign-type\"]).toUpperCase(),\n matchType: args[\"audience-expansion\"] ? \"AUDIENCE_EXPANDED\" : \"EXACT\",\n targetingCriteria,\n skipCache: Boolean(args[\"no-cache\"]),\n });\n if (!parsed.success) exitOnInvalidArgs(parsed.error.issues, FLAG_OF_FIELD);\n try {\n const data = await apiPost<BidPricingResult>(\"/api/ads/linkedin/bid-pricing\", parsed.data);\n writeAdsJson({ ok: true, data });\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,qBAAqB;AAM9B,IAAM,gBAAwC;AAAA,EAC5C,eAAe;AAAA,EACf,UAAU;AAAA,EACV,cAAc;AAAA,EACd,mBAAmB;AACrB;AAgBO,IAAM,oBAAoB,cAAc;AAAA,EAC7C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWf;AAAA,EACA,MAAM;AAAA,IACJ,cAAc,EAAE,MAAM,UAAU,aAAa,kDAAkD;AAAA,IAC/F,eAAe,EAAE,MAAM,UAAU,aAAa,yBAAyB;AAAA,IACvE,WAAW;AAAA,MACT,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,aAAa,EAAE,MAAM,UAAU,aAAa,6BAA6B,SAAS,MAAM;AAAA,IACxF,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,IACA,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,IACA,WAAW,EAAE,MAAM,UAAU,aAAa,gCAAgC;AAAA,IAC1E,kBAAkB,EAAE,MAAM,UAAU,aAAa,2CAA2C;AAAA,IAC5F,YAAY;AAAA,IACZ,QAAQ,EAAE,MAAM,UAAU,aAAa,QAAQ,SAAS,OAAO;AAAA,EACjE;AAAA,EACA,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,YAAY,oBAAoB,IAAI;AAC1C,UAAM,oBAAoB,iBAAiB,IAAI;AAC/C,UAAM,SAAS,gCAAgC,UAAU;AAAA,MACvD;AAAA,MACA,eAAe,OAAO,KAAK,SAAS,EAAE,YAAY;AAAA,MAClD,UAAU,OAAO,KAAK,WAAW,CAAC,EAAE,YAAY;AAAA,MAChD,cAAc,OAAO,KAAK,eAAe,CAAC,EAAE,YAAY;AAAA,MACxD,WAAW,KAAK,oBAAoB,IAAI,sBAAsB;AAAA,MAC9D;AAAA,MACA,WAAW,QAAQ,KAAK,UAAU,CAAC;AAAA,IACrC,CAAC;AACD,QAAI,CAAC,OAAO,QAAS,mBAAkB,OAAO,MAAM,QAAQ,aAAa;AACzE,QAAI;AACF,YAAM,OAAO,MAAM,QAA0B,iCAAiC,OAAO,IAAI;AACzF,mBAAa,EAAE,IAAI,MAAM,KAAK,CAAC;AAAA,IACjC,SAAS,KAAK;AACZ,0BAAoB,GAAG;AAAA,IACzB;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -13,10 +13,10 @@ Subcommands:
13
13
  baker brand fonts \u2014 verify the brand's typefaces really load, and self-host them into src/brand/fonts/`
14
14
  },
15
15
  subCommands: {
16
- fonts: () => import("./fonts-U4YXUNNZ.js").then((m) => m.fontsCommand)
16
+ fonts: () => import("./fonts-T4M2DIJV.js").then((m) => m.fontsCommand)
17
17
  }
18
18
  });
19
19
  export {
20
20
  brandCommand
21
21
  };
22
- //# sourceMappingURL=brand-2JJ45TBO.js.map
22
+ //# sourceMappingURL=brand-PPMZKVFC.js.map