@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
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-FDPBTKXZ.js";
15
15
  import {
16
16
  AVATAR_HANDLE_PATTERN
17
- } from "./chunk-GAJQPQWS.js";
17
+ } from "./chunk-A5VAM472.js";
18
18
  import "./chunk-GXDLWBOY.js";
19
19
  import "./chunk-GIWHHCD6.js";
20
20
  import "./chunk-XQIOCIDO.js";
@@ -152,4 +152,4 @@ var updateCommand = defineCommand({
152
152
  export {
153
153
  updateCommand
154
154
  };
155
- //# sourceMappingURL=update-K5MMOE5N.js.map
155
+ //# sourceMappingURL=update-LCLRO26T.js.map
@@ -6,8 +6,8 @@ import {
6
6
  parsePriority,
7
7
  parseTagList,
8
8
  writeOk
9
- } from "./chunk-R4CDO5YH.js";
10
- import "./chunk-GAJQPQWS.js";
9
+ } from "./chunk-ZNEUUBRZ.js";
10
+ import "./chunk-A5VAM472.js";
11
11
  import "./chunk-GXDLWBOY.js";
12
12
  import "./chunk-GIWHHCD6.js";
13
13
  import "./chunk-XQIOCIDO.js";
@@ -95,4 +95,4 @@ var updateCommand = defineCommand({
95
95
  export {
96
96
  updateCommand
97
97
  };
98
- //# sourceMappingURL=update-CYQIGHT4.js.map
98
+ //# sourceMappingURL=update-LZVLBRAX.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  runVideoIngest
3
- } from "./chunk-LKM3FMYC.js";
3
+ } from "./chunk-KMKELX5X.js";
4
4
  import "./chunk-FKOECEVC.js";
5
5
  import {
6
6
  detectVideoContentType,
7
7
  uploadLocalVideo
8
8
  } from "./chunk-WOTX7TNV.js";
9
9
  import "./chunk-CPTOHQSJ.js";
10
- import "./chunk-GAJQPQWS.js";
10
+ import "./chunk-A5VAM472.js";
11
11
  import "./chunk-GXDLWBOY.js";
12
12
  import "./chunk-GIWHHCD6.js";
13
13
  import "./chunk-XQIOCIDO.js";
@@ -123,4 +123,4 @@ var uploadCommand = defineCommand({
123
123
  export {
124
124
  uploadCommand
125
125
  };
126
- //# sourceMappingURL=upload-VVB2LTD2.js.map
126
+ //# sourceMappingURL=upload-XD7N4PJS.js.map
@@ -1,13 +1,13 @@
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
  LINKEDIN_TRACKING_PARAMS_AD_SET_MAX
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";
@@ -95,4 +95,4 @@ export {
95
95
  hints,
96
96
  urlParamsCommand
97
97
  };
98
- //# sourceMappingURL=url-params-MSRUZOGT.js.map
98
+ //# sourceMappingURL=url-params-U5DW22SR.js.map
@@ -4,10 +4,10 @@ import {
4
4
  import {
5
5
  exitOnPrepareError,
6
6
  prepareCanvas
7
- } from "./chunk-3IGY2FWK.js";
7
+ } from "./chunk-3YSLIBIM.js";
8
8
  import "./chunk-CMNVR6DX.js";
9
- import "./chunk-37P6DTDJ.js";
10
- import "./chunk-O6TGA5HT.js";
9
+ import "./chunk-JOXSQDDP.js";
10
+ import "./chunk-PBC63KPH.js";
11
11
  import "./chunk-QKUBK3AD.js";
12
12
  import "./chunk-HH5PFZ7U.js";
13
13
  import "./chunk-ANWV2VTO.js";
@@ -27,7 +27,7 @@ import "./chunk-UW7PZFWZ.js";
27
27
  import "./chunk-NKXH3I65.js";
28
28
  import "./chunk-CPTOHQSJ.js";
29
29
  import "./chunk-JRLGQA2T.js";
30
- import "./chunk-GAJQPQWS.js";
30
+ import "./chunk-A5VAM472.js";
31
31
  import "./chunk-GXDLWBOY.js";
32
32
  import "./chunk-GIWHHCD6.js";
33
33
  import "./chunk-XQIOCIDO.js";
@@ -85,4 +85,4 @@ var validateCommand = defineCommand({
85
85
  export {
86
86
  validateCommand
87
87
  };
88
- //# sourceMappingURL=validate-XMEHRCAG.js.map
88
+ //# sourceMappingURL=validate-PRT6ZD72.js.map
@@ -24,16 +24,16 @@ Full guide: __tooling__/docs/tools/baker/videos.md`
24
24
  get: () => import("./get-PTOW6PVF.js").then((m) => m.getCommand),
25
25
  group: () => import("./group-MBRA2QID.js").then((m) => m.groupCommand),
26
26
  search: () => import("./search-52CSDYJS.js").then((m) => m.searchCommand),
27
- upload: () => import("./upload-VVB2LTD2.js").then((m) => m.uploadCommand),
28
- ingest: () => import("./ingest-H4F5TJC3.js").then((m) => m.ingestCommand),
27
+ upload: () => import("./upload-XD7N4PJS.js").then((m) => m.uploadCommand),
28
+ ingest: () => import("./ingest-HIE4SAEY.js").then((m) => m.ingestCommand),
29
29
  fetch: () => import("./fetch-6ALLGDRN.js").then((m) => m.fetchCommand),
30
30
  describe: () => import("./describe-OAB2FJYK.js").then((m) => m.describeCommand),
31
31
  delete: () => import("./delete-I2SIRTMZ.js").then((m) => m.deleteCommand),
32
- retry: () => import("./retry-VSFPEXLE.js").then((m) => m.retryCommand),
33
- tags: () => import("./tags-GLHFHQW2.js").then((m) => m.tagsCommand)
32
+ retry: () => import("./retry-ID7ZKLBK.js").then((m) => m.retryCommand),
33
+ tags: () => import("./tags-4XQ5MEDJ.js").then((m) => m.tagsCommand)
34
34
  }
35
35
  });
36
36
  export {
37
37
  videosCommand
38
38
  };
39
- //# sourceMappingURL=videos-EQG7AAXT.js.map
39
+ //# sourceMappingURL=videos-KCXSXYJK.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  webDepthHints
3
- } from "./chunk-XKA4ZHGX.js";
3
+ } from "./chunk-LFMKBF6Q.js";
4
4
  import {
5
5
  handleResearchError,
6
6
  writeResearchHints,
7
7
  writeResearchJson
8
8
  } from "./chunk-EQ74MEJN.js";
9
- import "./chunk-GAJQPQWS.js";
9
+ import "./chunk-A5VAM472.js";
10
10
  import "./chunk-GXDLWBOY.js";
11
11
  import "./chunk-GIWHHCD6.js";
12
12
  import "./chunk-XQIOCIDO.js";
@@ -137,4 +137,4 @@ Examples:
137
137
  export {
138
138
  webCommand
139
139
  };
140
- //# sourceMappingURL=web-MSYXLOFV.js.map
140
+ //# sourceMappingURL=web-W2TTELHS.js.map
@@ -72,7 +72,7 @@ Full guide: __tooling__/docs/tools/baker/winning-ads.md`
72
72
  content: () => import("./content-ZQB6PXGX.js").then((m) => m.contentCommand),
73
73
  fit: () => import("./fit-S4RO2DMX.js").then((m) => m.fitCommand),
74
74
  unfollow: () => import("./unfollow-5T2CT3EF.js").then((m) => m.unfollowCommand),
75
- refresh: () => import("./refresh-ZPF7UH3S.js").then((m) => m.refreshCommand),
75
+ refresh: () => import("./refresh-OTR4EWLI.js").then((m) => m.refreshCommand),
76
76
  hooks: () => import("./seeds-XY3EZ33U.js").then((m) => m.hooksCommand),
77
77
  mechanisms: () => import("./seeds-XY3EZ33U.js").then((m) => m.mechanismsCommand),
78
78
  formats: () => import("./seeds-XY3EZ33U.js").then((m) => m.formatsCommand)
@@ -81,4 +81,4 @@ Full guide: __tooling__/docs/tools/baker/winning-ads.md`
81
81
  export {
82
82
  winningAdsCommand
83
83
  };
84
- //# sourceMappingURL=winning-ads-VWBU3BNQ.js.map
84
+ //# sourceMappingURL=winning-ads-YPQY6GVU.js.map
@@ -15,10 +15,10 @@ import {
15
15
  stageLinkedinOps,
16
16
  stageOp,
17
17
  stageStatusChange
18
- } from "./chunk-MICLDQES.js";
18
+ } from "./chunk-YQDRMOMQ.js";
19
19
  import {
20
20
  handleLinkedinError
21
- } from "./chunk-XYOU3ROP.js";
21
+ } from "./chunk-22WY4M2Y.js";
22
22
  import {
23
23
  repeatedValues
24
24
  } from "./chunk-ERSX3MKH.js";
@@ -39,7 +39,7 @@ import {
39
39
  TEMP_REF_PREFIX,
40
40
  TRACKING_PARAM_DYNAMIC_VALUES,
41
41
  campaignExcludeCompaniesSchema
42
- } from "./chunk-GAJQPQWS.js";
42
+ } from "./chunk-A5VAM472.js";
43
43
  import "./chunk-GXDLWBOY.js";
44
44
  import "./chunk-GIWHHCD6.js";
45
45
  import "./chunk-XQIOCIDO.js";
@@ -1012,4 +1012,4 @@ export {
1012
1012
  leadFormsCommand,
1013
1013
  trackingParamsPayload
1014
1014
  };
1015
- //# sourceMappingURL=write-commands-PK23JVW3.js.map
1015
+ //# sourceMappingURL=write-commands-SPTWBMLY.js.map
@@ -27,15 +27,15 @@ Full guide: __tooling__/docs/tools/baker/ads-x.md`
27
27
  subCommands: {
28
28
  accounts: () => import("./accounts-T5DCHHZK.js").then((m) => m.accountsCommand),
29
29
  funding: () => import("./funding-WSJI56OH.js").then((m) => m.fundingCommand),
30
- campaigns: () => import("./campaigns-CRRLTN74.js").then((m) => m.campaignsCommand),
31
- "line-items": () => import("./line-items-WGLNILMH.js").then((m) => m.lineItemsCommand),
32
- "promoted-tweets": () => import("./promoted-tweets-UJRNHKKO.js").then((m) => m.promotedTweetsCommand),
30
+ campaigns: () => import("./campaigns-C56DUMH6.js").then((m) => m.campaignsCommand),
31
+ "line-items": () => import("./line-items-JBL7LVCS.js").then((m) => m.lineItemsCommand),
32
+ "promoted-tweets": () => import("./promoted-tweets-W7PCLJMU.js").then((m) => m.promotedTweetsCommand),
33
33
  tweets: () => import("./tweets-L4CXZLKQ.js").then((m) => m.tweetsCommand),
34
34
  cards: () => import("./cards-IO2Q423H.js").then((m) => m.cardsCommand),
35
- draft: () => import("./draft-GPL2TZXA.js").then((m) => m.draftCommand),
35
+ draft: () => import("./draft-3YDWWRPY.js").then((m) => m.draftCommand),
36
36
  media: () => import("./media-TNB4DLTJ.js").then((m) => m.mediaCommand),
37
37
  audiences: () => import("./audiences-GHMNXDPR.js").then((m) => m.audiencesCommand),
38
- "targeting-criteria": () => import("./targeting-criteria-VK3IR6N2.js").then((m) => m.targetingCriteriaCommand),
38
+ "targeting-criteria": () => import("./targeting-criteria-D2ZMGXLI.js").then((m) => m.targetingCriteriaCommand),
39
39
  "targeting-constants": () => import("./targeting-constants-RQT4GLUA.js").then((m) => m.targetingConstantsCommand),
40
40
  "active-entities": () => import("./active-entities-QWPGPNGE.js").then((m) => m.activeEntitiesCommand),
41
41
  stats: () => import("./stats-QFBTSDVV.js").then((m) => m.statsCommand)
@@ -44,4 +44,4 @@ Full guide: __tooling__/docs/tools/baker/ads-x.md`
44
44
  export {
45
45
  xCommand
46
46
  };
47
- //# sourceMappingURL=x-ZSTQLK6Q.js.map
47
+ //# sourceMappingURL=x-2Y2DGMPG.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koda-sl/baker-cli",
3
- "version": "0.477.0",
3
+ "version": "0.478.0",
4
4
  "description": "AI-agent-first CLI for interacting with Baker, including the Baker creative canvas.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/ads/linkedin/audience-size.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiPost } from \"../../../client.ts\";\nimport { writeAdsJson } from \"../output.ts\";\nimport { handleLinkedinError, resolveAccountIdArg } from \"./shared.ts\";\n\ninterface AudienceSizeResult {\n total: number;\n active: number;\n warnings: string[];\n}\n\n/**\n * Read targeting JSON from --targeting-file, --targeting (inline JSON), or\n * stdin. Returns the parsed object — failure exits via handleLinkedinError.\n */\nfunction loadTargeting(args: Record<string, unknown>): unknown {\n const inline = args.targeting as string | undefined;\n if (inline) {\n try {\n return JSON.parse(inline);\n } catch {\n handleLinkedinError(new Error(\"--targeting must be valid JSON. See LinkedIn 'targetingCriteria' shape.\"));\n }\n }\n const file = args[\"targeting-file\"] as string | undefined;\n if (file) {\n try {\n return JSON.parse(readFileSync(file, \"utf-8\"));\n } catch (e) {\n handleLinkedinError(\n new Error(`Failed to read --targeting-file: ${e instanceof Error ? e.message : \"I/O error\"}`),\n );\n }\n }\n handleLinkedinError(new Error(\"Pass --targeting-file <path> or --targeting '{...JSON...}'\"));\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 = loadTargeting(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,oBAAoB;AAC7B,SAAS,qBAAqB;AAgB9B,SAAS,cAAc,MAAwC;AAC7D,QAAM,SAAS,KAAK;AACpB,MAAI,QAAQ;AACV,QAAI;AACF,aAAO,KAAK,MAAM,MAAM;AAAA,IAC1B,QAAQ;AACN,0BAAoB,IAAI,MAAM,yEAAyE,CAAC;AAAA,IAC1G;AAAA,EACF;AACA,QAAM,OAAO,KAAK,gBAAgB;AAClC,MAAI,MAAM;AACR,QAAI;AACF,aAAO,KAAK,MAAM,aAAa,MAAM,OAAO,CAAC;AAAA,IAC/C,SAAS,GAAG;AACV;AAAA,QACE,IAAI,MAAM,oCAAoC,aAAa,QAAQ,EAAE,UAAU,WAAW,EAAE;AAAA,MAC9F;AAAA,IACF;AAAA,EACF;AACA,sBAAoB,IAAI,MAAM,4DAA4D,CAAC;AAC7F;AAEO,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,cAAc,IAAI;AAC5C,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,99 +0,0 @@
1
- import {
2
- handleLinkedinError,
3
- resolveAccountIdArg
4
- } from "./chunk-XYOU3ROP.js";
5
- import {
6
- writeAdsJson
7
- } from "./chunk-AAF7HL4I.js";
8
- import {
9
- NO_CACHE_ARG
10
- } from "./chunk-O6VUX3O5.js";
11
- import "./chunk-GAJQPQWS.js";
12
- import "./chunk-GXDLWBOY.js";
13
- import "./chunk-GIWHHCD6.js";
14
- import "./chunk-XQIOCIDO.js";
15
- import "./chunk-ML7DLFFY.js";
16
- import {
17
- apiPost
18
- } from "./chunk-7ANWFQEA.js";
19
- import "./chunk-KODTY7PB.js";
20
- import "./chunk-H5CGVMQW.js";
21
- import "./chunk-ANYMWCST.js";
22
- import "./chunk-YQSBHWOI.js";
23
-
24
- // src/commands/ads/linkedin/bid-pricing.ts
25
- import { readFileSync } from "fs";
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
- var bidPricingCommand = defineCommand({
49
- meta: {
50
- name: "bid-pricing",
51
- description: `Get LinkedIn's suggested bid range for a targeting + objective + cost type.
52
-
53
- Returns LinkedIn's min / suggested / max bid plus the playbook \xA706 floor
54
- (2/3 of suggested \u2014 the recommended manual CPC starting point).
55
-
56
- Objective types: BRAND_AWARENESS | WEBSITE_TRAFFIC | WEBSITE_VISIT |
57
- ENGAGEMENT | WEBSITE_CONVERSION | LEAD_GENERATION |
58
- JOB_APPLICANT | VIDEO_VIEW
59
- Cost types: CPC | CPM | CPV | CPS
60
-
61
- Examples:
62
- baker ads linkedin bid-pricing --account-id 503001492 --objective WEBSITE_CONVERSION --cost-type CPC --targeting-file targeting.json
63
- baker ads linkedin bid-pricing --account-id 503001492 --objective LEAD_GENERATION --cost-type CPM --targeting '{"include":...}'`
64
- },
65
- args: {
66
- "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
67
- "account-urn": { type: "string", description: "Alias for --account-id" },
68
- objective: {
69
- type: "string",
70
- description: "Objective type (e.g. WEBSITE_CONVERSION, LEAD_GENERATION)",
71
- required: true
72
- },
73
- "cost-type": { type: "string", description: "CPC | CPM | CPV | CPS", required: true },
74
- targeting: { type: "string", description: "Inline JSON targetingCriteria" },
75
- "targeting-file": { type: "string", description: "Path to JSON file with targetingCriteria" },
76
- "no-cache": NO_CACHE_ARG,
77
- output: { type: "string", description: "json", default: "json" }
78
- },
79
- run: async ({ args }) => {
80
- const accountId = resolveAccountIdArg(args);
81
- const targetingCriteria = loadTargeting(args);
82
- try {
83
- const data = await apiPost("/api/ads/linkedin/bid-pricing", {
84
- accountId,
85
- objectiveType: String(args.objective),
86
- costType: String(args["cost-type"]).toUpperCase(),
87
- targetingCriteria,
88
- skipCache: Boolean(args["no-cache"])
89
- });
90
- writeAdsJson({ ok: true, data });
91
- } catch (err) {
92
- handleLinkedinError(err);
93
- }
94
- }
95
- });
96
- export {
97
- bidPricingCommand
98
- };
99
- //# sourceMappingURL=bid-pricing-PP6PV6S4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/ads/linkedin/bid-pricing.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiPost } from \"../../../client.ts\";\nimport { writeAdsJson } from \"../output.ts\";\nimport { handleLinkedinError, resolveAccountIdArg } from \"./shared.ts\";\n\ninterface BidPricingResult {\n bidLimits?: { min?: { amount?: string; currencyCode?: string }; max?: { amount?: string; currencyCode?: string } };\n suggestedBid?: {\n default?: { amount?: string; currencyCode?: string };\n min?: { amount?: string; currencyCode?: string };\n max?: { amount?: string; currencyCode?: string };\n };\n costType: string;\n objectiveType: string;\n playbookFloor?: { amount: string; currencyCode: string };\n playbookNote: string;\n}\n\nfunction loadTargeting(args: Record<string, unknown>): unknown {\n const inline = args.targeting as string | undefined;\n if (inline) {\n try {\n return JSON.parse(inline);\n } catch {\n handleLinkedinError(new Error(\"--targeting must be valid JSON. See LinkedIn 'targetingCriteria' shape.\"));\n }\n }\n const file = args[\"targeting-file\"] as string | undefined;\n if (file) {\n try {\n return JSON.parse(readFileSync(file, \"utf-8\"));\n } catch (e) {\n handleLinkedinError(\n new Error(`Failed to read --targeting-file: ${e instanceof Error ? e.message : \"I/O error\"}`),\n );\n }\n }\n handleLinkedinError(new Error(\"Pass --targeting-file <path> or --targeting '{...JSON...}'\"));\n}\n\nexport const bidPricingCommand = defineCommand({\n meta: {\n name: \"bid-pricing\",\n description: `Get LinkedIn's suggested bid range for a targeting + objective + cost type.\n\nReturns LinkedIn's min / suggested / max bid plus the playbook §06 floor\n(2/3 of suggested — the recommended manual CPC starting point).\n\nObjective types: BRAND_AWARENESS | WEBSITE_TRAFFIC | WEBSITE_VISIT |\n ENGAGEMENT | WEBSITE_CONVERSION | LEAD_GENERATION |\n JOB_APPLICANT | VIDEO_VIEW\nCost types: CPC | CPM | CPV | CPS\n\nExamples:\n baker ads linkedin bid-pricing --account-id 503001492 --objective WEBSITE_CONVERSION --cost-type CPC --targeting-file targeting.json\n baker ads linkedin bid-pricing --account-id 503001492 --objective LEAD_GENERATION --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. WEBSITE_CONVERSION, LEAD_GENERATION)\",\n required: true,\n },\n \"cost-type\": { type: \"string\", description: \"CPC | CPM | CPV | CPS\", required: true },\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 = loadTargeting(args);\n try {\n const data = await apiPost<BidPricingResult>(\"/api/ads/linkedin/bid-pricing\", {\n accountId,\n objectiveType: String(args.objective),\n costType: String(args[\"cost-type\"]).toUpperCase(),\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,oBAAoB;AAC7B,SAAS,qBAAqB;AAmB9B,SAAS,cAAc,MAAwC;AAC7D,QAAM,SAAS,KAAK;AACpB,MAAI,QAAQ;AACV,QAAI;AACF,aAAO,KAAK,MAAM,MAAM;AAAA,IAC1B,QAAQ;AACN,0BAAoB,IAAI,MAAM,yEAAyE,CAAC;AAAA,IAC1G;AAAA,EACF;AACA,QAAM,OAAO,KAAK,gBAAgB;AAClC,MAAI,MAAM;AACR,QAAI;AACF,aAAO,KAAK,MAAM,aAAa,MAAM,OAAO,CAAC;AAAA,IAC/C,SAAS,GAAG;AACV;AAAA,QACE,IAAI,MAAM,oCAAoC,aAAa,QAAQ,EAAE,UAAU,WAAW,EAAE;AAAA,MAC9F;AAAA,IACF;AAAA,EACF;AACA,sBAAoB,IAAI,MAAM,4DAA4D,CAAC;AAC7F;AAEO,IAAM,oBAAoB,cAAc;AAAA,EAC7C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaf;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,yBAAyB,UAAU,KAAK;AAAA,IACpF,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,cAAc,IAAI;AAC5C,QAAI;AACF,YAAM,OAAO,MAAM,QAA0B,iCAAiC;AAAA,QAC5E;AAAA,QACA,eAAe,OAAO,KAAK,SAAS;AAAA,QACpC,UAAU,OAAO,KAAK,WAAW,CAAC,EAAE,YAAY;AAAA,QAChD;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 +0,0 @@
1
- {"version":3,"sources":["../src/commands/ads/linkedin/shared.ts"],"sourcesContent":["import { LINKEDIN_SEARCH_STATUSES, type LinkedinSearchLevel, unsupportedLinkedinSearchStatuses } from \"@baker/api\";\nimport { ApiError } from \"../../../client.ts\";\nimport { getEnv, MissingChatIdError } from \"../../../env.ts\";\nimport { handleConnectionError, needsConnectionFix } from \"../../../error-handler.ts\";\nimport { writeAdsJson } from \"../output.ts\";\nimport type { AdsErrorEnvelope } from \"../types.ts\";\n\nconst DAY_MS = 86_400_000;\n\n/**\n * Map LinkedIn-flavored API errors into the shared CLI error envelope. The\n * backend already maps LinkedIn `serviceErrorCode` → tagged HTTP status, so by\n * the time we get here we just need to attach an actionable `fix` and exit.\n */\nexport function handleLinkedinError(err: unknown): never {\n if (err instanceof ApiError) {\n if (needsConnectionFix(err.code, err.message)) {\n handleConnectionError(\"linkedin_ads\", err.message);\n }\n if (isNoAccountsSelectedError(err.code, err.message)) {\n handleConnectionError(\"linkedin_ads\", err.message);\n }\n const explanation = explainLinkedinError(err);\n const envelope: AdsErrorEnvelope = {\n ok: false,\n error: {\n code: err.code,\n message: err.message,\n fix: {\n action: explanation.action,\n explanation: explanation.message,\n correctedCommand: explanation.correctedCommand,\n },\n retryable: err.code === \"RATE_LIMITED\" || err.code === \"UNAVAILABLE\" || err.code === \"INTERNAL_ERROR\",\n },\n };\n writeAdsJson(envelope);\n process.exit(1);\n }\n writeAdsJson(unexpectedErrorEnvelope(err));\n process.exit(1);\n}\n\n/**\n * Any failure that is not an API answer. A missing chat id gets its own code\n * and a fix — no retry can supply it — and anything else reads as the network.\n */\nexport function unexpectedErrorEnvelope(err: unknown): {\n ok: false;\n error: Pick<AdsErrorEnvelope[\"error\"], \"code\" | \"message\"> &\n Partial<Pick<AdsErrorEnvelope[\"error\"], \"fix\" | \"retryable\">>;\n} {\n if (err instanceof MissingChatIdError) {\n return {\n ok: false,\n error: {\n code: err.code,\n message: err.message,\n fix: {\n action: \"reject\",\n explanation:\n \"LinkedIn changes are staged in a chat and this run has none. Don't retry: carry on with the rest of the job and tell the user this change couldn't be staged from here.\",\n },\n retryable: false,\n },\n };\n }\n const message = err instanceof Error ? err.message : \"Unexpected error\";\n return { ok: false, error: { code: \"NETWORK_ERROR\", message } };\n}\n\n/**\n * \"No ad accounts selected\" comes back as a 400 (→ VALIDATION_ERROR), which\n * reads like a bad flag but is really an unfinished connection: the user has to\n * pick their accounts again. Route it to the connect flow, not flag advice.\n */\nexport function isNoAccountsSelectedError(code: string, message: string): boolean {\n return code === \"VALIDATION_ERROR\" && /no linkedin ad accounts selected/i.test(message);\n}\n\nfunction explainLinkedinError(err: ApiError): {\n action: AdsErrorEnvelope[\"error\"][\"fix\"][\"action\"];\n message: string;\n correctedCommand?: string;\n} {\n const lower = err.message.toLowerCase();\n if (err.code === \"VALIDATION_ERROR\" && lower.includes(\"granularity\") && lower.includes(\"daily\")) {\n return {\n action: \"retry_with_flag\",\n message:\n \"LinkedIn rejects DAILY granularity when pivoting on demographic dims (job-title, company, etc.). Re-run with --granularity ALL or MONTHLY.\",\n correctedCommand: undefined,\n };\n }\n if (err.code === \"RATE_LIMITED\") {\n return {\n action: \"wait_and_retry\",\n message:\n \"Hit a LinkedIn throttle. The CLI already backs off automatically — if you see this you've exhausted the retry budget. Wait ~60s and retry.\",\n };\n }\n if (err.code === \"INTERNAL_ERROR\" && lower.includes(\"deprecat\")) {\n return {\n action: \"reject\",\n message:\n \"LinkedIn-Version header is deprecated. The backend constant LINKEDIN_API_VERSION needs to be bumped — file an issue or update the constant.\",\n };\n }\n return { action: \"reject\", message: err.message };\n}\n\nconst LI_ACCOUNT_ID_RE = /^(urn:li:sponsoredAccount:)?\\d+$/;\n\n/** Pull the default LinkedIn ad account ID from `--account-id` arg or env. */\nexport function resolveAccountIdArg(args: Record<string, unknown>): string {\n const fromArgs = (args[\"account-id\"] as string | undefined) ?? (args[\"account-urn\"] as string | undefined);\n const id = fromArgs || getEnv().BAKER_LINKEDIN_AD_ACCOUNT_ID;\n if (!id) {\n writeAdsJson({\n ok: false,\n error: {\n code: \"MISSING_ACCOUNT_ID\",\n message:\n \"Pass --account-id (numeric) or --account-urn (urn:li:sponsoredAccount:N), or set BAKER_LINKEDIN_AD_ACCOUNT_ID. Run `baker ads linkedin accounts` to find IDs.\",\n },\n });\n process.exit(1);\n }\n if (!LI_ACCOUNT_ID_RE.test(id)) {\n writeAdsJson({\n ok: false,\n error: {\n code: \"INVALID_ACCOUNT_ID\",\n message: `Invalid LinkedIn account ID \"${id}\". Expected numeric or urn:li:sponsoredAccount:N.`,\n },\n });\n process.exit(1);\n }\n return id.startsWith(\"urn:\") ? (id.split(\":\").pop() ?? id) : id;\n}\n\nexport function todayIso(): string {\n return new Date().toISOString().slice(0, 10);\n}\n\nexport function daysAgoIso(days: number): string {\n return new Date(Date.now() - days * DAY_MS).toISOString().slice(0, 10);\n}\n\nexport function csvOrJson(args: Record<string, unknown>): string {\n return (args.output as string | undefined) ?? \"json\";\n}\n\n/** The `--statuses` help line, listing exactly what LinkedIn accepts at this level. */\nexport function statusesArgDescription(level: LinkedinSearchLevel): string {\n return `CSV of statuses (${LINKEDIN_SEARCH_STATUSES[level].join(\",\")})`;\n}\n\n/**\n * One status LinkedIn does not know fails the whole listing, so refuse it here\n * with the accepted values instead of forwarding LinkedIn's enum error.\n */\nexport function statusFilterError(level: LinkedinSearchLevel, statuses: readonly string[]): AdsErrorEnvelope | null {\n const unsupported = unsupportedLinkedinSearchStatuses(level, statuses);\n if (unsupported.length === 0) {\n return null;\n }\n const accepted = LINKEDIN_SEARCH_STATUSES[level].join(\",\");\n return {\n ok: false,\n error: {\n code: \"INVALID_STATUS\",\n message: `LinkedIn does not accept status ${unsupported.join(\", \")} for this listing.`,\n fix: {\n action: \"retry_with_flag\",\n explanation: `Re-run with --statuses from ${accepted}, or --all-statuses to drop the filter.`,\n },\n retryable: false,\n },\n };\n}\n\n/**\n * Default to ACTIVE-only on listings — almost always what an AI agent or human\n * glance wants. `--all-statuses` widens; `--statuses ACTIVE,PAUSED` overrides.\n */\nexport function resolveStatusFilter(args: Record<string, unknown>, level: LinkedinSearchLevel): string[] | undefined {\n if (args[\"all-statuses\"]) {\n return undefined;\n }\n const explicit = args.statuses as string | undefined;\n if (!explicit) {\n return [\"ACTIVE\"];\n }\n const statuses = explicit\n .split(\",\")\n .map((s) => s.trim().toUpperCase())\n .filter(Boolean);\n const error = statusFilterError(level, statuses);\n if (error) {\n writeAdsJson(error);\n process.exit(1);\n }\n return statuses;\n}\n"],"mappings":"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","names":[]}
@@ -1,104 +0,0 @@
1
- import {
2
- handleLinkedinError,
3
- resolveAccountIdArg
4
- } from "./chunk-XYOU3ROP.js";
5
- import {
6
- writeAdsJson
7
- } from "./chunk-AAF7HL4I.js";
8
- import {
9
- NO_CACHE_ARG
10
- } from "./chunk-O6VUX3O5.js";
11
- import "./chunk-GAJQPQWS.js";
12
- import "./chunk-GXDLWBOY.js";
13
- import "./chunk-GIWHHCD6.js";
14
- import "./chunk-XQIOCIDO.js";
15
- import "./chunk-ML7DLFFY.js";
16
- import {
17
- apiPost
18
- } from "./chunk-7ANWFQEA.js";
19
- import "./chunk-KODTY7PB.js";
20
- import "./chunk-H5CGVMQW.js";
21
- import "./chunk-ANYMWCST.js";
22
- import "./chunk-YQSBHWOI.js";
23
-
24
- // src/commands/ads/linkedin/forecast.ts
25
- import { readFileSync } from "fs";
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."));
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
- function parseMoney(raw) {
49
- if (!raw) return void 0;
50
- const m = /^(\d+(?:\.\d+)?)(?:\s+([A-Z]{3}))?$/.exec(raw.trim());
51
- if (!m) {
52
- handleLinkedinError(new Error(`Invalid money "${raw}". Use "100" or "100 EUR".`));
53
- }
54
- return { amount: m[1] ?? "0", currencyCode: m[2] ?? "USD" };
55
- }
56
- var forecastCommand = defineCommand({
57
- meta: {
58
- name: "forecast",
59
- description: `Forecast reach + impressions + clicks + spend for a hypothetical campaign.
60
-
61
- Wraps /rest/adSupplyForecasts. Useful for greenfield (\xA714) \u2014 answers
62
- "if we launch with this budget + targeting + objective, what's the expected delivery?"
63
-
64
- Examples:
65
- baker ads linkedin forecast --account-id 503001492 --objective LEAD_GENERATION --cost-type CPC \\
66
- --daily-budget "200 USD" --bid "8 USD" --targeting-file targeting.json`
67
- },
68
- args: {
69
- "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
70
- "account-urn": { type: "string", description: "Alias for --account-id" },
71
- objective: { type: "string", description: "Objective type", required: true },
72
- "cost-type": { type: "string", description: "CPC | CPM | CPV | CPS", required: true },
73
- "daily-budget": { type: "string", description: "e.g. '200 USD' or '200'" },
74
- "total-budget": { type: "string", description: "e.g. '6000 USD'" },
75
- bid: { type: "string", description: "Bid e.g. '8 USD'" },
76
- targeting: { type: "string", description: "Inline JSON targetingCriteria" },
77
- "targeting-file": { type: "string", description: "Path to JSON file with targetingCriteria" },
78
- "no-cache": NO_CACHE_ARG,
79
- output: { type: "string", description: "json", default: "json" }
80
- },
81
- run: async ({ args }) => {
82
- const accountId = resolveAccountIdArg(args);
83
- const targetingCriteria = loadTargeting(args);
84
- try {
85
- const data = await apiPost("/api/ads/linkedin/forecast", {
86
- accountId,
87
- objectiveType: String(args.objective),
88
- costType: String(args["cost-type"]).toUpperCase(),
89
- targetingCriteria,
90
- dailyBudget: parseMoney(args["daily-budget"]),
91
- totalBudget: parseMoney(args["total-budget"]),
92
- bid: parseMoney(args.bid),
93
- skipCache: Boolean(args["no-cache"])
94
- });
95
- writeAdsJson({ ok: true, data });
96
- } catch (err) {
97
- handleLinkedinError(err);
98
- }
99
- }
100
- });
101
- export {
102
- forecastCommand
103
- };
104
- //# sourceMappingURL=forecast-AFBIS6WT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/ads/linkedin/forecast.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiPost } from \"../../../client.ts\";\nimport { writeAdsJson } from \"../output.ts\";\nimport { handleLinkedinError, resolveAccountIdArg } from \"./shared.ts\";\n\ninterface ForecastResult {\n impressions?: { min?: number; max?: number };\n reach?: { min?: number; max?: number };\n clicks?: { min?: number; max?: number };\n costInLocalCurrency?: { min?: string; max?: string };\n costInUsd?: { min?: string; max?: string };\n ctr?: { min?: number; max?: number };\n}\n\nfunction loadTargeting(args: Record<string, unknown>): unknown {\n const inline = args.targeting as string | undefined;\n if (inline) {\n try {\n return JSON.parse(inline);\n } catch {\n handleLinkedinError(new Error(\"--targeting must be valid JSON.\"));\n }\n }\n const file = args[\"targeting-file\"] as string | undefined;\n if (file) {\n try {\n return JSON.parse(readFileSync(file, \"utf-8\"));\n } catch (e) {\n handleLinkedinError(\n new Error(`Failed to read --targeting-file: ${e instanceof Error ? e.message : \"I/O error\"}`),\n );\n }\n }\n handleLinkedinError(new Error(\"Pass --targeting-file <path> or --targeting '{...JSON...}'\"));\n}\n\nfunction parseMoney(raw: string | undefined): { amount: string; currencyCode: string } | undefined {\n if (!raw) return undefined;\n // Accept either \"100 USD\" or just \"100\" (defaults to USD).\n const m = /^(\\d+(?:\\.\\d+)?)(?:\\s+([A-Z]{3}))?$/.exec(raw.trim());\n if (!m) {\n handleLinkedinError(new Error(`Invalid money \"${raw}\". Use \"100\" or \"100 EUR\".`));\n }\n return { amount: m[1] ?? \"0\", currencyCode: m[2] ?? \"USD\" };\n}\n\nexport const forecastCommand = defineCommand({\n meta: {\n name: \"forecast\",\n description: `Forecast reach + impressions + clicks + spend for a hypothetical campaign.\n\nWraps /rest/adSupplyForecasts. Useful for greenfield (§14) — answers\n\"if we launch with this budget + targeting + objective, what's the expected delivery?\"\n\nExamples:\n baker ads linkedin forecast --account-id 503001492 --objective LEAD_GENERATION --cost-type CPC \\\\\n --daily-budget \"200 USD\" --bid \"8 USD\" --targeting-file targeting.json`,\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: { type: \"string\", description: \"Objective type\", required: true },\n \"cost-type\": { type: \"string\", description: \"CPC | CPM | CPV | CPS\", required: true },\n \"daily-budget\": { type: \"string\", description: \"e.g. '200 USD' or '200'\" },\n \"total-budget\": { type: \"string\", description: \"e.g. '6000 USD'\" },\n bid: { type: \"string\", description: \"Bid e.g. '8 USD'\" },\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 = loadTargeting(args);\n try {\n const data = await apiPost<ForecastResult>(\"/api/ads/linkedin/forecast\", {\n accountId,\n objectiveType: String(args.objective),\n costType: String(args[\"cost-type\"]).toUpperCase(),\n targetingCriteria,\n dailyBudget: parseMoney(args[\"daily-budget\"] as string | undefined),\n totalBudget: parseMoney(args[\"total-budget\"] as string | undefined),\n bid: parseMoney(args.bid as string | undefined),\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,oBAAoB;AAC7B,SAAS,qBAAqB;AAe9B,SAAS,cAAc,MAAwC;AAC7D,QAAM,SAAS,KAAK;AACpB,MAAI,QAAQ;AACV,QAAI;AACF,aAAO,KAAK,MAAM,MAAM;AAAA,IAC1B,QAAQ;AACN,0BAAoB,IAAI,MAAM,iCAAiC,CAAC;AAAA,IAClE;AAAA,EACF;AACA,QAAM,OAAO,KAAK,gBAAgB;AAClC,MAAI,MAAM;AACR,QAAI;AACF,aAAO,KAAK,MAAM,aAAa,MAAM,OAAO,CAAC;AAAA,IAC/C,SAAS,GAAG;AACV;AAAA,QACE,IAAI,MAAM,oCAAoC,aAAa,QAAQ,EAAE,UAAU,WAAW,EAAE;AAAA,MAC9F;AAAA,IACF;AAAA,EACF;AACA,sBAAoB,IAAI,MAAM,4DAA4D,CAAC;AAC7F;AAEA,SAAS,WAAW,KAA+E;AACjG,MAAI,CAAC,IAAK,QAAO;AAEjB,QAAM,IAAI,sCAAsC,KAAK,IAAI,KAAK,CAAC;AAC/D,MAAI,CAAC,GAAG;AACN,wBAAoB,IAAI,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAAA,EAClF;AACA,SAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC,KAAK,MAAM;AAC5D;AAEO,IAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQf;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,kBAAkB,UAAU,KAAK;AAAA,IAC3E,aAAa,EAAE,MAAM,UAAU,aAAa,yBAAyB,UAAU,KAAK;AAAA,IACpF,gBAAgB,EAAE,MAAM,UAAU,aAAa,0BAA0B;AAAA,IACzE,gBAAgB,EAAE,MAAM,UAAU,aAAa,kBAAkB;AAAA,IACjE,KAAK,EAAE,MAAM,UAAU,aAAa,mBAAmB;AAAA,IACvD,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,cAAc,IAAI;AAC5C,QAAI;AACF,YAAM,OAAO,MAAM,QAAwB,8BAA8B;AAAA,QACvE;AAAA,QACA,eAAe,OAAO,KAAK,SAAS;AAAA,QACpC,UAAU,OAAO,KAAK,WAAW,CAAC,EAAE,YAAY;AAAA,QAChD;AAAA,QACA,aAAa,WAAW,KAAK,cAAc,CAAuB;AAAA,QAClE,aAAa,WAAW,KAAK,cAAc,CAAuB;AAAA,QAClE,KAAK,WAAW,KAAK,GAAyB;AAAA,QAC9C,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":[]}