@koda-sl/baker-cli 0.489.0 → 0.491.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 (859) hide show
  1. package/README.md +169 -7
  2. package/dist/account-3H6BZO5H.js +80 -0
  3. package/dist/account-IKFDY52P.js +138 -0
  4. package/dist/account-IKFDY52P.js.map +1 -0
  5. package/dist/account-VGSYM7LY.js +79 -0
  6. package/dist/account-assets-LKZVWZAR.js +289 -0
  7. package/dist/account-assets-LKZVWZAR.js.map +1 -0
  8. package/dist/account-level-UJOZDVXY.js +608 -0
  9. package/dist/account-level-UJOZDVXY.js.map +1 -0
  10. package/dist/account-writes-AE5IJGGW.js +66 -0
  11. package/dist/accounts-2ARS6XP2.js +77 -0
  12. package/dist/accounts-AQFW4ZUM.js +611 -0
  13. package/dist/accounts-K4INATCW.js +75 -0
  14. package/dist/actions-QMUHOAXG.js +55 -0
  15. package/dist/activecampaign-J3QN5FMG.js +935 -0
  16. package/dist/activities-T253KK4Q.js +74 -0
  17. package/dist/ad-group-writes-VRSBI2Z2.js +170 -0
  18. package/dist/ad-groups-IEBVEAMS.js +68 -0
  19. package/dist/ad-writes-ALV4KFPZ.js +174 -0
  20. package/dist/add-VDUA6OWM.js +104 -0
  21. package/dist/add-XHOKCSW5.js +302 -0
  22. package/dist/ads-CQZHD7FC.js +77 -0
  23. package/dist/ads-HGDPNIT6.js +40 -0
  24. package/dist/ads-ZEY72UBN.js +114 -0
  25. package/dist/ads-ZEY72UBN.js.map +1 -0
  26. package/dist/adsets-5H3MOT3D.js +177 -0
  27. package/dist/adsets-5H3MOT3D.js.map +1 -0
  28. package/dist/advertisers-UDSEFMP7.js +120 -0
  29. package/dist/analytics-TBETZOPJ.js +433 -0
  30. package/dist/analytics-VH74LMMC.js +1976 -0
  31. package/dist/asset-writes-L5TMKIZC.js +47 -0
  32. package/dist/assign-6IE2ASFC.js +77 -0
  33. package/dist/audience-size-CSBWDFEP.js +73 -0
  34. package/dist/audience-writes-X52VG35Y.js +324 -0
  35. package/dist/audience-writes-X52VG35Y.js.map +1 -0
  36. package/dist/audiences-AAZH56WD.js +268 -0
  37. package/dist/audiences-X3RLGOVM.js +84 -0
  38. package/dist/audiences-X3RLGOVM.js.map +1 -0
  39. package/dist/audit-AEENRVGD.js +151 -0
  40. package/dist/autocomplete-AAGTJHVL.js +111 -0
  41. package/dist/avatars-VEATUUKU.js +38 -0
  42. package/dist/bid-pricing-SZTGCZTV.js +100 -0
  43. package/dist/brand-MXGETE4R.js +22 -0
  44. package/dist/brief-3GHSHOGM.js +538 -0
  45. package/dist/businesses-H3HIDQX6.js +53 -0
  46. package/dist/campaign-groups-WRI56M5X.js +95 -0
  47. package/dist/campaign-writes-PYGKSCPS.js +165 -0
  48. package/dist/campaign-writes-PYGKSCPS.js.map +1 -0
  49. package/dist/campaign-writes-U5PUVSMT.js +170 -0
  50. package/dist/campaigns-4QWC2JE7.js +109 -0
  51. package/dist/campaigns-AV6G3AUU.js +127 -0
  52. package/dist/campaigns-AV6G3AUU.js.map +1 -0
  53. package/dist/campaigns-JEIKY2M4.js +76 -0
  54. package/dist/campaigns-Q4HN7HBY.js +107 -0
  55. package/dist/canvas-VJ3XKCAC.js +46 -0
  56. package/dist/capabilities-SNGGAOV3.js +144 -0
  57. package/dist/catalog-S32MX453.js +65 -0
  58. package/dist/catalogs-OCVXZLIF.js +128 -0
  59. package/dist/catalogs-RXJTZTVX.js +778 -0
  60. package/dist/catalogs-RXJTZTVX.js.map +1 -0
  61. package/dist/chatgpt-QVF2FD3E.js +47 -0
  62. package/dist/chats-2DRTB7GK.js +276 -0
  63. package/dist/chats-2DRTB7GK.js.map +1 -0
  64. package/dist/check-Z6UMIQKD.js +104 -0
  65. package/dist/chunk-2C7AHPM4.js +191 -0
  66. package/dist/chunk-2C7AHPM4.js.map +1 -0
  67. package/dist/chunk-2WZI36D3.js +317 -0
  68. package/dist/chunk-3AMLOCXY.js +392 -0
  69. package/dist/chunk-3CVAEQMZ.js +156 -0
  70. package/dist/chunk-3WAYZQNV.js +61 -0
  71. package/dist/chunk-46GWHUKN.js +225 -0
  72. package/dist/chunk-4O6T76A3.js +191 -0
  73. package/dist/chunk-5C35OW7L.js +205 -0
  74. package/dist/chunk-5C35OW7L.js.map +1 -0
  75. package/dist/chunk-5GQCN2QZ.js +391 -0
  76. package/dist/chunk-5GQCN2QZ.js.map +1 -0
  77. package/dist/chunk-5MCVK4A3.js +903 -0
  78. package/dist/chunk-5ZLN23V5.js +97 -0
  79. package/dist/chunk-65Y3RCWP.js +68 -0
  80. package/dist/chunk-65Y3RCWP.js.map +1 -0
  81. package/dist/chunk-77ULVP62.js +547 -0
  82. package/dist/chunk-A4MVVPJ2.js +4204 -0
  83. package/dist/chunk-A4MVVPJ2.js.map +1 -0
  84. package/dist/chunk-AQM4JH62.js +274 -0
  85. package/dist/chunk-AQM4JH62.js.map +1 -0
  86. package/dist/chunk-AW2GKIGS.js +433 -0
  87. package/dist/chunk-BRLY6XD6.js +249 -0
  88. package/dist/chunk-C7NWUCLQ.js +64 -0
  89. package/dist/chunk-CP4P6YKM.js +287 -0
  90. package/dist/chunk-CP4P6YKM.js.map +1 -0
  91. package/dist/chunk-D4HKJBEW.js +23 -0
  92. package/dist/chunk-DAO63OOP.js +6352 -0
  93. package/dist/chunk-DAO63OOP.js.map +1 -0
  94. package/dist/chunk-DCBZ5CHZ.js +139 -0
  95. package/dist/chunk-G6XKD7QE.js +77 -0
  96. package/dist/chunk-GBFL4TD2.js +172 -0
  97. package/dist/chunk-H5SCKWFT.js +224 -0
  98. package/dist/chunk-HLVRHBKL.js +1078 -0
  99. package/dist/chunk-HLVRHBKL.js.map +1 -0
  100. package/dist/chunk-HXPK6KAL.js +363 -0
  101. package/dist/chunk-I7GOSMWT.js +197 -0
  102. package/dist/chunk-IBY44U2M.js +1079 -0
  103. package/dist/chunk-ITNHIZKK.js +275 -0
  104. package/dist/chunk-J33P2JNS.js +455 -0
  105. package/dist/chunk-JH2L5CQD.js +206 -0
  106. package/dist/chunk-JQH5VG6F.js +5368 -0
  107. package/dist/chunk-JVH5A3XC.js +8914 -0
  108. package/dist/chunk-KTOYQP6D.js +169 -0
  109. package/dist/chunk-LO3IF5PS.js +399 -0
  110. package/dist/chunk-LRRFGOW3.js +604 -0
  111. package/dist/chunk-LTPTJWZC.js +942 -0
  112. package/dist/chunk-MRQHJW5U.js +159 -0
  113. package/dist/chunk-NHYI7ORL.js +346 -0
  114. package/dist/chunk-NLI7C3K2.js +51 -0
  115. package/dist/chunk-NSEMXBUB.js +91 -0
  116. package/dist/chunk-OM2BRYXJ.js +3868 -0
  117. package/dist/chunk-OY4SKCIU.js +103 -0
  118. package/dist/chunk-OYAJNTRO.js +494 -0
  119. package/dist/chunk-PL7J3DPQ.js +831 -0
  120. package/dist/chunk-PUSBUMYM.js +89 -0
  121. package/dist/chunk-QTOZ32SU.js +163 -0
  122. package/dist/chunk-QTOZ32SU.js.map +1 -0
  123. package/dist/chunk-RRADFRPI.js +297 -0
  124. package/dist/chunk-SGEPZB3D.js +344 -0
  125. package/dist/chunk-SVAB6KV5.js +219 -0
  126. package/dist/chunk-SVAB6KV5.js.map +1 -0
  127. package/dist/chunk-TFTZDWCX.js +66 -0
  128. package/dist/chunk-TG4NCHFS.js +142 -0
  129. package/dist/chunk-TTHM66TA.js +207 -0
  130. package/dist/chunk-VL2GNXZY.js +19 -0
  131. package/dist/chunk-VQPZDM6N.js +160 -0
  132. package/dist/chunk-XCKINS7K.js +57 -0
  133. package/dist/chunk-YLYXSJ6O.js +8939 -0
  134. package/dist/chunk-ZAPO6UWS.js +592 -0
  135. package/dist/chunk-ZEPUDYPL.js +122 -0
  136. package/dist/chunk-ZJSGGJ5R.js +167 -0
  137. package/dist/claim-J2LYNHZK.js +197 -0
  138. package/dist/cli.js +34 -34
  139. package/dist/companies-VYY22B6T.js +195 -0
  140. package/dist/complete-5I32XM7P.js +81 -0
  141. package/dist/connect-EUFFQQ7O.js +42 -0
  142. package/dist/conversation-D6KZHGPP.js +93 -0
  143. package/dist/conversion-writes-ECZBVY7D.js +120 -0
  144. package/dist/conversions-5QCSCRLI.js +76 -0
  145. package/dist/conversions-Y3X6ZTTF.js +135 -0
  146. package/dist/copy-writes-D2RTHAL6.js +167 -0
  147. package/dist/copy-writes-D2RTHAL6.js.map +1 -0
  148. package/dist/create-2JCRTQJL.js +59 -0
  149. package/dist/create-LMSQPHPB.js +235 -0
  150. package/dist/create-MBLNB5RY.js +132 -0
  151. package/dist/create-VR7RXKL7.js +207 -0
  152. package/dist/creatives-5C42BDMW.js +182 -0
  153. package/dist/creatives-HYPSTANO.js +58 -0
  154. package/dist/creatives-MZ6ICNSY.js +88 -0
  155. package/dist/creatives-MZ6ICNSY.js.map +1 -0
  156. package/dist/credentials-4H4AUYJN.js +287 -0
  157. package/dist/critique-UOJZWDG2.js +1458 -0
  158. package/dist/critique-WCWMQQVV.js +227 -0
  159. package/dist/crm-B7OTHMBP.js +318 -0
  160. package/dist/crm-DZRWKJ6V.js +224 -0
  161. package/dist/custom-conversions-FIP6ZS34.js +127 -0
  162. package/dist/custom-conversions-FIP6ZS34.js.map +1 -0
  163. package/dist/customers-AOFJJCGD.js +56 -0
  164. package/dist/delete-DEG5KOBY.js +64 -0
  165. package/dist/delete-EFIODCXG.js +54 -0
  166. package/dist/delete-PQIMW2LK.js +66 -0
  167. package/dist/demographics-F26DIOCM.js +138 -0
  168. package/dist/discard-2EJY6UGP.js +66 -0
  169. package/dist/domain-XLJABLWB.js +98 -0
  170. package/dist/draft-2YND6T4U.js +217 -0
  171. package/dist/draft-34CGWUVA.js +281 -0
  172. package/dist/draft-L45PGCYZ.js +237 -0
  173. package/dist/draft-L45PGCYZ.js.map +1 -0
  174. package/dist/draft-TCPK6XYW.js +332 -0
  175. package/dist/draft-TCPK6XYW.js.map +1 -0
  176. package/dist/draft-WRVEANL5.js +306 -0
  177. package/dist/engine/index.js +4 -4
  178. package/dist/experiment-7N4QFRWV.js +1397 -0
  179. package/dist/facets-OPTNDPW2.js +114 -0
  180. package/dist/feedback-43BPXNBI.js +106 -0
  181. package/dist/feedback-record-35ZSDL6Z.js +260 -0
  182. package/dist/fetch-O46XBA7S.js +176 -0
  183. package/dist/find-FSQAEGGF.js +134 -0
  184. package/dist/fit-CWJ5QQ4R.js +62 -0
  185. package/dist/flows-CVORIQ4B.js +247 -0
  186. package/dist/fonts-6TPYR6IW.js +36 -0
  187. package/dist/forecast-2VLA6NJA.js +118 -0
  188. package/dist/funnel-XLKDLXMG.js +394 -0
  189. package/dist/ga4-LPDIBNYP.js +55 -0
  190. package/dist/get-O56GGN3V.js +56 -0
  191. package/dist/get-WFQ4XEAW.js +79 -0
  192. package/dist/google-5ESVO76E.js +136 -0
  193. package/dist/google-ads-DZMOTUY5.js +195 -0
  194. package/dist/gsc-FIZTQX3N.js +30 -0
  195. package/dist/history-43BBQZOB.js +133 -0
  196. package/dist/history-QKDYBSYM.js +67 -0
  197. package/dist/hubspot-S44MPK3G.js +779 -0
  198. package/dist/icon-CSVAZ7NE.js +137 -0
  199. package/dist/ideas-SLP5WXFF.js +40 -0
  200. package/dist/images-TWZOROCT.js +92 -0
  201. package/dist/ingest-5GCZ5ZBV.js +23 -0
  202. package/dist/ingest-P54J4W3V.js +107 -0
  203. package/dist/insights-YWVJMATY.js +424 -0
  204. package/dist/insights-YWVJMATY.js.map +1 -0
  205. package/dist/inspect-S4COGUBC.js +189 -0
  206. package/dist/inspiration-IX5N724J.js +53 -0
  207. package/dist/instant-experiences-NQ2GWIWL.js +257 -0
  208. package/dist/instant-experiences-NQ2GWIWL.js.map +1 -0
  209. package/dist/keyword-metrics-26CCKFZK.js +197 -0
  210. package/dist/keywords-for-site-JWWECF63.js +128 -0
  211. package/dist/landing-VFDRADZY.js +28 -0
  212. package/dist/leads-DTKKYSKH.js +90 -0
  213. package/dist/leads-THI37ZMD.js +537 -0
  214. package/dist/leads-THI37ZMD.js.map +1 -0
  215. package/dist/learn-GQ75IPRK.js +204 -0
  216. package/dist/line-item-writes-DVVHVR3Y.js +208 -0
  217. package/dist/line-items-EOZMK7A5.js +103 -0
  218. package/dist/link-R5NGCQ5H.js +64 -0
  219. package/dist/linkedin-DHZO3IJX.js +1057 -0
  220. package/dist/list-57QBEGLM.js +303 -0
  221. package/dist/list-Q44BBHDI.js +64 -0
  222. package/dist/list-W6G2NTG5.js +151 -0
  223. package/dist/locations-HM56X2MK.js +67 -0
  224. package/dist/locations-HM56X2MK.js.map +1 -0
  225. package/dist/log-B6X5EPKA.js +92 -0
  226. package/dist/logo-VHXH4J6A.js +18 -0
  227. package/dist/make-OIFLF3QS.js +1353 -0
  228. package/dist/map-PIOZT2MQ.js +433 -0
  229. package/dist/mcp-GFKHLWDB.js +714 -0
  230. package/dist/media-H6B7VDON.js +18 -0
  231. package/dist/media-H6B7VDON.js.map +1 -0
  232. package/dist/media-sources-VMMMW5UM.js +32 -0
  233. package/dist/members-W2QBMNIW.js +44 -0
  234. package/dist/meta-YHDTGJQ6.js +122 -0
  235. package/dist/meta-YHDTGJQ6.js.map +1 -0
  236. package/dist/normalize-N6XC3SLC.js +141 -0
  237. package/dist/options-XYJY2OEQ.js +122 -0
  238. package/dist/organization-BVTXCZIV.js +942 -0
  239. package/dist/organization-BVTXCZIV.js.map +1 -0
  240. package/dist/page-photos-CXRG4AXV.js +115 -0
  241. package/dist/page-photos-CXRG4AXV.js.map +1 -0
  242. package/dist/pages-PTWRXAZT.js +66 -0
  243. package/dist/performance-7NEZTOJ5.js +24 -0
  244. package/dist/pixels-MYT3TCHZ.js +60 -0
  245. package/dist/pixels-ZZCQUS3J.js +108 -0
  246. package/dist/preview-XOXAAPMQ.js +215 -0
  247. package/dist/preview-XOXAAPMQ.js.map +1 -0
  248. package/dist/promoted-tweet-writes-X2F7R2AE.js +180 -0
  249. package/dist/promoted-tweets-XCSD6VKP.js +119 -0
  250. package/dist/publish-OBY6E43R.js +341 -0
  251. package/dist/reddit-WJ6KHYBC.js +26 -0
  252. package/dist/refresh-G5BQ2LWU.js +94 -0
  253. package/dist/release-PBZO35KY.js +60 -0
  254. package/dist/remove-VJ2MEUPM.js +50 -0
  255. package/dist/reopen-W3LYOHSR.js +63 -0
  256. package/dist/rerun-4GDNBFNM.js +90 -0
  257. package/dist/research-4YTFPGH7.js +262 -0
  258. package/dist/research-LOQRIBO6.js +62 -0
  259. package/dist/reset-55CCQGXB.js +54 -0
  260. package/dist/reset-AVTQEJPZ.js +54 -0
  261. package/dist/resolve-E6FNMFE3.js +121 -0
  262. package/dist/retry-HBJ7MKVI.js +60 -0
  263. package/dist/retry-QBRYM6MG.js +62 -0
  264. package/dist/rule-writes-6ZCAJDYZ.js +522 -0
  265. package/dist/rule-writes-6ZCAJDYZ.js.map +1 -0
  266. package/dist/rules-BMYOY2BM.js +216 -0
  267. package/dist/rules-BMYOY2BM.js.map +1 -0
  268. package/dist/rules-XNDBGOIS.js +96 -0
  269. package/dist/rules-add-UM3ZKSVD.js +462 -0
  270. package/dist/run-D4YHZ4Z4.js +66 -0
  271. package/dist/run-ZCJ7NP63.js +65 -0
  272. package/dist/scaffold-ad-VQZAP32M.js +1511 -0
  273. package/dist/scaffold-static-ad-LEU4M44N.js +1005 -0
  274. package/dist/scaffold-video-PSWSYRSC.js +883 -0
  275. package/dist/schedule-AAH7HYFK.js +61 -0
  276. package/dist/scheduled-agents-HDABMHZI.js +50 -0
  277. package/dist/schema-OH5OWMVQ.js +132 -0
  278. package/dist/search-BSDPVSGA.js +174 -0
  279. package/dist/select-EI4QF4YZ.js +101 -0
  280. package/dist/set-prompt-RKDAGUWG.js +193 -0
  281. package/dist/setup-links-CNNJA7AB.js +141 -0
  282. package/dist/shared-3IBNDEFL.js +31 -0
  283. package/dist/site-NV4U7PIF.js +177 -0
  284. package/dist/sources-ATONL7W5.js +454 -0
  285. package/dist/sources-C3TGHKLQ.js +30 -0
  286. package/dist/stale-6QPXL6BZ.js +71 -0
  287. package/dist/stats-ZAGJH4AD.js +34 -0
  288. package/dist/status-BML3F4MZ.js +62 -0
  289. package/dist/stock-6SHHLSKG.js +179 -0
  290. package/dist/studies-4NIV4D5Y.js +249 -0
  291. package/dist/studies-4NIV4D5Y.js.map +1 -0
  292. package/dist/studio-ZLCGXFAN.js +49 -0
  293. package/dist/study-writes-L2AA2PGL.js +467 -0
  294. package/dist/study-writes-L2AA2PGL.js.map +1 -0
  295. package/dist/sync-DZAOUQPE.js +54 -0
  296. package/dist/sync-definition-RFEL65JE.js +64 -0
  297. package/dist/tag-manager-3CJ66GKJ.js +43 -0
  298. package/dist/tags-2KSXCJRZ.js +20 -0
  299. package/dist/tags-662KZJLV.js +26 -0
  300. package/dist/tags-6QBVW25V.js +20 -0
  301. package/dist/tags-LQCEJGIL.js +20 -0
  302. package/dist/tags-RIVD54ZG.js +224 -0
  303. package/dist/targeting-LNDQV4EK.js +759 -0
  304. package/dist/targeting-LNDQV4EK.js.map +1 -0
  305. package/dist/targeting-criteria-XNLYPIL2.js +113 -0
  306. package/dist/targets-OYIVS5KJ.js +103 -0
  307. package/dist/testimonials-WT43CF7V.js +32 -0
  308. package/dist/top-companies-6QQMOS2Y.js +108 -0
  309. package/dist/translate-7QN7JFGU.js +604 -0
  310. package/dist/triggers-LVQY3QJ2.js +142 -0
  311. package/dist/unlink-5ASZTCS2.js +67 -0
  312. package/dist/unstage-LNZTEATR.js +85 -0
  313. package/dist/update-7BIR4GYO.js +152 -0
  314. package/dist/update-BRLM5DB3.js +98 -0
  315. package/dist/update-DRZAAJQ2.js +63 -0
  316. package/dist/update-NOWC3ICD.js +188 -0
  317. package/dist/upload-457Q4ANZ.js +126 -0
  318. package/dist/url-params-KM4NJGYC.js +98 -0
  319. package/dist/validate-COLEPJBA.js +117 -0
  320. package/dist/videos-5IDZTEWC.js +39 -0
  321. package/dist/viewer-check-433AZPBC.js +80 -0
  322. package/dist/viewer-check-433AZPBC.js.map +1 -0
  323. package/dist/web-FZYOCCYN.js +140 -0
  324. package/dist/winning-ads-I4DMP7RU.js +84 -0
  325. package/dist/write-commands-FYB6QG7K.js +1024 -0
  326. package/dist/write-commands-PEJBTME6.js +1165 -0
  327. package/dist/write-commands-PEJBTME6.js.map +1 -0
  328. package/dist/x-OMN5DDLM.js +47 -0
  329. package/package.json +1 -1
  330. package/dist/account-7LUQWY6Q.js +0 -49
  331. package/dist/account-7LUQWY6Q.js.map +0 -1
  332. package/dist/account-KNRDOUJP.js +0 -79
  333. package/dist/account-Z65CPOWE.js +0 -80
  334. package/dist/account-writes-4N2MA2ZR.js +0 -66
  335. package/dist/accounts-RTN5ZGTU.js +0 -611
  336. package/dist/accounts-RW6KXBOQ.js +0 -77
  337. package/dist/accounts-UA2ZWRN4.js +0 -75
  338. package/dist/actions-HNLISA7T.js +0 -55
  339. package/dist/activecampaign-I5CILZPU.js +0 -935
  340. package/dist/activities-IQPJPP4B.js +0 -74
  341. package/dist/ad-group-writes-EUTMPBMK.js +0 -170
  342. package/dist/ad-groups-OVPAI5RM.js +0 -68
  343. package/dist/ad-writes-DACTYFEO.js +0 -174
  344. package/dist/add-6WKPFMLG.js +0 -302
  345. package/dist/add-XF5COUAS.js +0 -104
  346. package/dist/ads-G6AS5L7G.js +0 -40
  347. package/dist/ads-HXX2IAFF.js +0 -113
  348. package/dist/ads-HXX2IAFF.js.map +0 -1
  349. package/dist/ads-L65JIKCD.js +0 -77
  350. package/dist/adsets-LPN6WFGF.js +0 -176
  351. package/dist/adsets-LPN6WFGF.js.map +0 -1
  352. package/dist/advertisers-6NUM2Q3A.js +0 -120
  353. package/dist/analytics-QKP3A5F3.js +0 -1976
  354. package/dist/analytics-VLHE5A2M.js +0 -433
  355. package/dist/assign-6HI6TNLP.js +0 -77
  356. package/dist/audience-size-25LP2OBF.js +0 -73
  357. package/dist/audiences-RPLVMO4H.js +0 -268
  358. package/dist/audiences-XEZHACKH.js +0 -78
  359. package/dist/audiences-XEZHACKH.js.map +0 -1
  360. package/dist/audit-YY6X2MPA.js +0 -151
  361. package/dist/autocomplete-SAWJK4NF.js +0 -111
  362. package/dist/avatars-MXTI74VC.js +0 -38
  363. package/dist/bid-pricing-HZ74SLEB.js +0 -100
  364. package/dist/brand-T3OACVQX.js +0 -22
  365. package/dist/brief-BN4UGUXF.js +0 -538
  366. package/dist/businesses-PRRYPR7H.js +0 -53
  367. package/dist/campaign-groups-YJK767AP.js +0 -95
  368. package/dist/campaign-writes-BAFB5E7A.js +0 -165
  369. package/dist/campaign-writes-BAFB5E7A.js.map +0 -1
  370. package/dist/campaign-writes-U5LTDTYK.js +0 -170
  371. package/dist/campaigns-4SOLY7OR.js +0 -110
  372. package/dist/campaigns-4SOLY7OR.js.map +0 -1
  373. package/dist/campaigns-GALDR5KK.js +0 -109
  374. package/dist/campaigns-NR6TNQFN.js +0 -107
  375. package/dist/campaigns-TFEQTSO3.js +0 -76
  376. package/dist/canvas-GJAQAVS6.js +0 -46
  377. package/dist/capabilities-2KT6TCGZ.js +0 -144
  378. package/dist/catalog-USZL4SGX.js +0 -65
  379. package/dist/catalogs-A7XMEEEP.js +0 -128
  380. package/dist/chatgpt-4PEWDJKP.js +0 -47
  381. package/dist/chats-INN2OHSH.js +0 -262
  382. package/dist/chats-INN2OHSH.js.map +0 -1
  383. package/dist/check-MMJGFFZS.js +0 -104
  384. package/dist/chunk-2LI6746F.js +0 -103
  385. package/dist/chunk-2PWNIEW4.js +0 -197
  386. package/dist/chunk-2XRMPSEV.js +0 -142
  387. package/dist/chunk-3TZVZXM6.js +0 -224
  388. package/dist/chunk-3UXMQ3K2.js +0 -274
  389. package/dist/chunk-3UXMQ3K2.js.map +0 -1
  390. package/dist/chunk-5HJRZFMW.js +0 -207
  391. package/dist/chunk-62JQQUAU.js +0 -5368
  392. package/dist/chunk-66QHX566.js +0 -6306
  393. package/dist/chunk-66QHX566.js.map +0 -1
  394. package/dist/chunk-6JWEGFM5.js +0 -174
  395. package/dist/chunk-6JWEGFM5.js.map +0 -1
  396. package/dist/chunk-6WCAV27H.js +0 -494
  397. package/dist/chunk-6WXV5GTA.js +0 -8914
  398. package/dist/chunk-7RBJ2Z7Z.js +0 -172
  399. package/dist/chunk-7RBJ2Z7Z.js.map +0 -1
  400. package/dist/chunk-AVNSH2JE.js +0 -8939
  401. package/dist/chunk-BITS62MF.js +0 -77
  402. package/dist/chunk-BL2MX6CR.js +0 -249
  403. package/dist/chunk-BOPC3D6I.js +0 -604
  404. package/dist/chunk-C6EYCD5J.js +0 -942
  405. package/dist/chunk-CSZFZKVX.js +0 -97
  406. package/dist/chunk-D5CUAOQX.js +0 -297
  407. package/dist/chunk-D5UXWKLQ.js +0 -903
  408. package/dist/chunk-FA4YZFRV.js +0 -392
  409. package/dist/chunk-FUKDI2UK.js +0 -122
  410. package/dist/chunk-G4STCTY3.js +0 -399
  411. package/dist/chunk-GOJXKIFQ.js +0 -1605
  412. package/dist/chunk-GOJXKIFQ.js.map +0 -1
  413. package/dist/chunk-H5HDZ7IC.js +0 -139
  414. package/dist/chunk-HSPMBLKE.js +0 -363
  415. package/dist/chunk-IJ22WP3G.js +0 -275
  416. package/dist/chunk-ILSKYRDR.js +0 -169
  417. package/dist/chunk-JQU2LUZG.js +0 -57
  418. package/dist/chunk-JWSEPW7F.js +0 -225
  419. package/dist/chunk-KIGGMKAE.js +0 -66
  420. package/dist/chunk-KIGGMKAE.js.map +0 -1
  421. package/dist/chunk-KPYDTIAI.js +0 -317
  422. package/dist/chunk-LBO2YAZY.js +0 -3868
  423. package/dist/chunk-LOMH4TTC.js +0 -1079
  424. package/dist/chunk-LPXSM2DI.js +0 -66
  425. package/dist/chunk-MVB32GPI.js +0 -592
  426. package/dist/chunk-MXH35PJ5.js +0 -51
  427. package/dist/chunk-NEIUVSDK.js +0 -206
  428. package/dist/chunk-NPMAATZG.js +0 -64
  429. package/dist/chunk-NXZCCGES.js +0 -159
  430. package/dist/chunk-OP7DNHD2.js +0 -137
  431. package/dist/chunk-OP7DNHD2.js.map +0 -1
  432. package/dist/chunk-OWA7ZLC4.js +0 -547
  433. package/dist/chunk-P3W6SRSQ.js +0 -455
  434. package/dist/chunk-PA4W7BCQ.js +0 -23
  435. package/dist/chunk-PTGYM4J6.js +0 -89
  436. package/dist/chunk-QE3JEJXF.js +0 -831
  437. package/dist/chunk-QNLJ3GNZ.js +0 -433
  438. package/dist/chunk-R3EKM2P2.js +0 -191
  439. package/dist/chunk-SISA4HQR.js +0 -61
  440. package/dist/chunk-TP7HKSBX.js +0 -172
  441. package/dist/chunk-TPANP5A2.js +0 -91
  442. package/dist/chunk-TRPJJMCS.js +0 -346
  443. package/dist/chunk-TZEVD4Q6.js +0 -160
  444. package/dist/chunk-UWXDNVS5.js +0 -167
  445. package/dist/chunk-VD73V44J.js +0 -344
  446. package/dist/chunk-X7F4Z6UM.js +0 -156
  447. package/dist/chunk-ZL23HA4N.js +0 -19
  448. package/dist/claim-SLGYOOWD.js +0 -197
  449. package/dist/companies-IVMH6YII.js +0 -195
  450. package/dist/complete-45L2FI2X.js +0 -81
  451. package/dist/connect-WBGCBBFJ.js +0 -42
  452. package/dist/conversation-RIOL3OJ7.js +0 -93
  453. package/dist/conversion-writes-JU7Q2MUO.js +0 -120
  454. package/dist/conversions-3ISBR3TS.js +0 -76
  455. package/dist/conversions-TKIXNSYR.js +0 -135
  456. package/dist/create-7JY2PTIZ.js +0 -132
  457. package/dist/create-ACLCRXQP.js +0 -59
  458. package/dist/create-KYBMFD32.js +0 -207
  459. package/dist/create-VAPJ52GJ.js +0 -235
  460. package/dist/creatives-S5QUWUL6.js +0 -58
  461. package/dist/creatives-VQO2TKE3.js +0 -182
  462. package/dist/creatives-YJ3CXZQC.js +0 -87
  463. package/dist/creatives-YJ3CXZQC.js.map +0 -1
  464. package/dist/credentials-YTQ6BHWV.js +0 -287
  465. package/dist/critique-5LCG5TYF.js +0 -227
  466. package/dist/critique-BHYJYZDV.js +0 -1458
  467. package/dist/crm-IKTWHWEB.js +0 -318
  468. package/dist/crm-N7K57LZJ.js +0 -224
  469. package/dist/custom-conversions-YRYE65PU.js +0 -125
  470. package/dist/custom-conversions-YRYE65PU.js.map +0 -1
  471. package/dist/customers-NLU7NYDC.js +0 -56
  472. package/dist/delete-26J3X3ZH.js +0 -64
  473. package/dist/delete-A4F5Z54J.js +0 -66
  474. package/dist/delete-EVXOFT2H.js +0 -54
  475. package/dist/demographics-VZKFMM4X.js +0 -138
  476. package/dist/discard-ULRVUJDV.js +0 -66
  477. package/dist/domain-L4WCCX7R.js +0 -98
  478. package/dist/draft-57OQKHZI.js +0 -306
  479. package/dist/draft-EWDOIXSH.js +0 -233
  480. package/dist/draft-EWDOIXSH.js.map +0 -1
  481. package/dist/draft-GPN3HOAG.js +0 -328
  482. package/dist/draft-GPN3HOAG.js.map +0 -1
  483. package/dist/draft-O4S5RKWK.js +0 -217
  484. package/dist/draft-Y2QJE2NM.js +0 -281
  485. package/dist/experiment-G3FQVAJU.js +0 -1397
  486. package/dist/facets-EHQKGGJ2.js +0 -114
  487. package/dist/feedback-CAOZPGTT.js +0 -106
  488. package/dist/feedback-record-EXV5H6OS.js +0 -260
  489. package/dist/fetch-ETKT2RBC.js +0 -176
  490. package/dist/find-EVY4XEIQ.js +0 -134
  491. package/dist/fit-UJQ47C4A.js +0 -62
  492. package/dist/flows-Z7355RMD.js +0 -247
  493. package/dist/fonts-7VWBQPJF.js +0 -36
  494. package/dist/forecast-OI7YWZ6F.js +0 -118
  495. package/dist/funnel-2B3JXJPX.js +0 -394
  496. package/dist/ga4-2BL5YAYN.js +0 -55
  497. package/dist/get-2RSN4N3J.js +0 -56
  498. package/dist/get-6N7QJMIP.js +0 -79
  499. package/dist/google-7STODZQR.js +0 -136
  500. package/dist/google-ads-G7REKD4A.js +0 -195
  501. package/dist/gsc-UU3T2C6B.js +0 -30
  502. package/dist/history-IQ33J5PB.js +0 -67
  503. package/dist/history-YMK2JNZU.js +0 -133
  504. package/dist/hubspot-BUFS7S33.js +0 -779
  505. package/dist/icon-GB7UH5RF.js +0 -137
  506. package/dist/ideas-F6CIGTVU.js +0 -40
  507. package/dist/images-WCKTD6Z2.js +0 -92
  508. package/dist/ingest-RQUJGS7K.js +0 -107
  509. package/dist/ingest-XLTRLCDV.js +0 -23
  510. package/dist/insights-4HT2NAYP.js +0 -423
  511. package/dist/insights-4HT2NAYP.js.map +0 -1
  512. package/dist/inspect-KFVAMD4N.js +0 -189
  513. package/dist/inspiration-XQYHBJY2.js +0 -53
  514. package/dist/keyword-metrics-WYF3QMCW.js +0 -197
  515. package/dist/keywords-for-site-G5L5EP3T.js +0 -128
  516. package/dist/landing-WUILAWDS.js +0 -28
  517. package/dist/leads-2XOSAYP4.js +0 -293
  518. package/dist/leads-2XOSAYP4.js.map +0 -1
  519. package/dist/leads-4SJ4NJOI.js +0 -90
  520. package/dist/learn-CC6Q5IK2.js +0 -204
  521. package/dist/line-item-writes-YXKYR25W.js +0 -208
  522. package/dist/line-items-CKUD2UU4.js +0 -103
  523. package/dist/link-VBYFI7AM.js +0 -64
  524. package/dist/linkedin-XKVPSCLV.js +0 -1057
  525. package/dist/list-6ZNZGRRK.js +0 -151
  526. package/dist/list-ENYDGT3F.js +0 -64
  527. package/dist/list-VSUF2IWT.js +0 -303
  528. package/dist/locations-YA7NZY44.js +0 -67
  529. package/dist/locations-YA7NZY44.js.map +0 -1
  530. package/dist/log-AACKGBDW.js +0 -92
  531. package/dist/logo-YSNUUT33.js +0 -18
  532. package/dist/make-ED7HBLH3.js +0 -1353
  533. package/dist/map-63CQHWPI.js +0 -433
  534. package/dist/mcp-RKAXC6IP.js +0 -714
  535. package/dist/media-ES2UBGYW.js +0 -15
  536. package/dist/media-ES2UBGYW.js.map +0 -1
  537. package/dist/media-sources-PEHUMH7C.js +0 -32
  538. package/dist/members-SELIA674.js +0 -44
  539. package/dist/meta-AOIPEDV5.js +0 -69
  540. package/dist/meta-AOIPEDV5.js.map +0 -1
  541. package/dist/normalize-VAZPTBDX.js +0 -141
  542. package/dist/options-6FCNFWUF.js +0 -122
  543. package/dist/organization-SHREKDST.js +0 -881
  544. package/dist/organization-SHREKDST.js.map +0 -1
  545. package/dist/pages-FTI44OSH.js +0 -66
  546. package/dist/performance-K7E5KAZW.js +0 -24
  547. package/dist/pixels-6IUB3Y3H.js +0 -60
  548. package/dist/pixels-MBKR4XPX.js +0 -108
  549. package/dist/preview-V4YBD45S.js +0 -169
  550. package/dist/preview-V4YBD45S.js.map +0 -1
  551. package/dist/promoted-tweet-writes-PKEO6WUK.js +0 -180
  552. package/dist/promoted-tweets-7MXVZRBI.js +0 -119
  553. package/dist/publish-MPMGRV72.js +0 -341
  554. package/dist/reddit-XIHRI3CN.js +0 -26
  555. package/dist/refresh-A27N75NH.js +0 -94
  556. package/dist/release-UKRB5IUN.js +0 -60
  557. package/dist/remove-AFNFVPZY.js +0 -50
  558. package/dist/reopen-M5HE6J3G.js +0 -63
  559. package/dist/rerun-A2XHGFZS.js +0 -90
  560. package/dist/research-BLDY5UWH.js +0 -62
  561. package/dist/research-U7RQXMYH.js +0 -262
  562. package/dist/reset-4CCWB2RT.js +0 -54
  563. package/dist/reset-J3KCWFMZ.js +0 -54
  564. package/dist/resolve-HEK27ANI.js +0 -121
  565. package/dist/retry-HPZIUG2S.js +0 -62
  566. package/dist/retry-VVI6N6UR.js +0 -60
  567. package/dist/rules-SK5DFFPY.js +0 -96
  568. package/dist/rules-add-YQNYSME7.js +0 -462
  569. package/dist/run-KBN5K7LE.js +0 -65
  570. package/dist/run-M7ZDE6IA.js +0 -66
  571. package/dist/scaffold-ad-6BN5LWQH.js +0 -1511
  572. package/dist/scaffold-static-ad-VVZRAWBR.js +0 -1005
  573. package/dist/scaffold-video-LFIYI4GP.js +0 -883
  574. package/dist/schedule-QMOKWTJ3.js +0 -61
  575. package/dist/scheduled-agents-FCQHQ6KR.js +0 -50
  576. package/dist/schema-THFLCMBN.js +0 -132
  577. package/dist/search-XIUYSWO6.js +0 -174
  578. package/dist/select-QBU6ED4K.js +0 -101
  579. package/dist/set-prompt-TL64CRBQ.js +0 -193
  580. package/dist/setup-links-QVI6NAOK.js +0 -141
  581. package/dist/shared-NDRFKAH7.js +0 -31
  582. package/dist/site-PZPJY33N.js +0 -177
  583. package/dist/sources-ER7ANNG3.js +0 -454
  584. package/dist/sources-RMNFV4CA.js +0 -30
  585. package/dist/stale-ITFCPOER.js +0 -71
  586. package/dist/stats-RCLQE4HJ.js +0 -34
  587. package/dist/status-ABMJBCPJ.js +0 -62
  588. package/dist/stock-ECRBD7RP.js +0 -179
  589. package/dist/studio-MARZ22J2.js +0 -49
  590. package/dist/sync-QDD3MRJ6.js +0 -54
  591. package/dist/sync-definition-C6ROLKJ4.js +0 -64
  592. package/dist/tag-manager-G3LBQZUL.js +0 -43
  593. package/dist/tags-5JYOEYIT.js +0 -20
  594. package/dist/tags-B473RWAA.js +0 -224
  595. package/dist/tags-EWHPUM2V.js +0 -20
  596. package/dist/tags-KBCX6BDU.js +0 -26
  597. package/dist/tags-PEWN6GNZ.js +0 -20
  598. package/dist/targeting-criteria-EU65WUUF.js +0 -113
  599. package/dist/targets-KVXS5QKM.js +0 -103
  600. package/dist/testimonials-YMMA5YWL.js +0 -32
  601. package/dist/top-companies-OOX3DITI.js +0 -108
  602. package/dist/translate-OXVIMYHE.js +0 -604
  603. package/dist/triggers-OX2GKG4Y.js +0 -142
  604. package/dist/unlink-3USEPJSA.js +0 -67
  605. package/dist/unstage-VSCNPTAC.js +0 -85
  606. package/dist/update-6JKTH65B.js +0 -152
  607. package/dist/update-FG4ELXYJ.js +0 -98
  608. package/dist/update-GZFKHA3A.js +0 -188
  609. package/dist/update-HZHG67N6.js +0 -63
  610. package/dist/upload-BKCQ6FRW.js +0 -126
  611. package/dist/url-params-UN4DRN2H.js +0 -98
  612. package/dist/validate-ZS2M5Q3V.js +0 -117
  613. package/dist/videos-I6YXFBFT.js +0 -39
  614. package/dist/viewer-check-7ZG7KHEN.js +0 -80
  615. package/dist/web-UGU7YMII.js +0 -140
  616. package/dist/winning-ads-ABN5OULS.js +0 -84
  617. package/dist/write-commands-6VR2UD3T.js +0 -1024
  618. package/dist/write-commands-HCQI4Y27.js +0 -737
  619. package/dist/write-commands-HCQI4Y27.js.map +0 -1
  620. package/dist/x-WK2VQDPF.js +0 -47
  621. /package/dist/{account-Z65CPOWE.js.map → account-3H6BZO5H.js.map} +0 -0
  622. /package/dist/{account-KNRDOUJP.js.map → account-VGSYM7LY.js.map} +0 -0
  623. /package/dist/{account-writes-4N2MA2ZR.js.map → account-writes-AE5IJGGW.js.map} +0 -0
  624. /package/dist/{accounts-RW6KXBOQ.js.map → accounts-2ARS6XP2.js.map} +0 -0
  625. /package/dist/{accounts-RTN5ZGTU.js.map → accounts-AQFW4ZUM.js.map} +0 -0
  626. /package/dist/{accounts-UA2ZWRN4.js.map → accounts-K4INATCW.js.map} +0 -0
  627. /package/dist/{actions-HNLISA7T.js.map → actions-QMUHOAXG.js.map} +0 -0
  628. /package/dist/{activecampaign-I5CILZPU.js.map → activecampaign-J3QN5FMG.js.map} +0 -0
  629. /package/dist/{activities-IQPJPP4B.js.map → activities-T253KK4Q.js.map} +0 -0
  630. /package/dist/{ad-group-writes-EUTMPBMK.js.map → ad-group-writes-VRSBI2Z2.js.map} +0 -0
  631. /package/dist/{ad-groups-OVPAI5RM.js.map → ad-groups-IEBVEAMS.js.map} +0 -0
  632. /package/dist/{ad-writes-DACTYFEO.js.map → ad-writes-ALV4KFPZ.js.map} +0 -0
  633. /package/dist/{add-XF5COUAS.js.map → add-VDUA6OWM.js.map} +0 -0
  634. /package/dist/{add-6WKPFMLG.js.map → add-XHOKCSW5.js.map} +0 -0
  635. /package/dist/{ads-L65JIKCD.js.map → ads-CQZHD7FC.js.map} +0 -0
  636. /package/dist/{ads-G6AS5L7G.js.map → ads-HGDPNIT6.js.map} +0 -0
  637. /package/dist/{advertisers-6NUM2Q3A.js.map → advertisers-UDSEFMP7.js.map} +0 -0
  638. /package/dist/{analytics-VLHE5A2M.js.map → analytics-TBETZOPJ.js.map} +0 -0
  639. /package/dist/{analytics-QKP3A5F3.js.map → analytics-VH74LMMC.js.map} +0 -0
  640. /package/dist/{connect-WBGCBBFJ.js.map → asset-writes-L5TMKIZC.js.map} +0 -0
  641. /package/dist/{assign-6HI6TNLP.js.map → assign-6IE2ASFC.js.map} +0 -0
  642. /package/dist/{audience-size-25LP2OBF.js.map → audience-size-CSBWDFEP.js.map} +0 -0
  643. /package/dist/{audiences-RPLVMO4H.js.map → audiences-AAZH56WD.js.map} +0 -0
  644. /package/dist/{audit-YY6X2MPA.js.map → audit-AEENRVGD.js.map} +0 -0
  645. /package/dist/{autocomplete-SAWJK4NF.js.map → autocomplete-AAGTJHVL.js.map} +0 -0
  646. /package/dist/{avatars-MXTI74VC.js.map → avatars-VEATUUKU.js.map} +0 -0
  647. /package/dist/{bid-pricing-HZ74SLEB.js.map → bid-pricing-SZTGCZTV.js.map} +0 -0
  648. /package/dist/{brand-T3OACVQX.js.map → brand-MXGETE4R.js.map} +0 -0
  649. /package/dist/{brief-BN4UGUXF.js.map → brief-3GHSHOGM.js.map} +0 -0
  650. /package/dist/{businesses-PRRYPR7H.js.map → businesses-H3HIDQX6.js.map} +0 -0
  651. /package/dist/{campaign-groups-YJK767AP.js.map → campaign-groups-WRI56M5X.js.map} +0 -0
  652. /package/dist/{campaign-writes-U5LTDTYK.js.map → campaign-writes-U5PUVSMT.js.map} +0 -0
  653. /package/dist/{campaigns-GALDR5KK.js.map → campaigns-4QWC2JE7.js.map} +0 -0
  654. /package/dist/{campaigns-TFEQTSO3.js.map → campaigns-JEIKY2M4.js.map} +0 -0
  655. /package/dist/{campaigns-NR6TNQFN.js.map → campaigns-Q4HN7HBY.js.map} +0 -0
  656. /package/dist/{canvas-GJAQAVS6.js.map → canvas-VJ3XKCAC.js.map} +0 -0
  657. /package/dist/{capabilities-2KT6TCGZ.js.map → capabilities-SNGGAOV3.js.map} +0 -0
  658. /package/dist/{catalog-USZL4SGX.js.map → catalog-S32MX453.js.map} +0 -0
  659. /package/dist/{catalogs-A7XMEEEP.js.map → catalogs-OCVXZLIF.js.map} +0 -0
  660. /package/dist/{chatgpt-4PEWDJKP.js.map → chatgpt-QVF2FD3E.js.map} +0 -0
  661. /package/dist/{check-MMJGFFZS.js.map → check-Z6UMIQKD.js.map} +0 -0
  662. /package/dist/{chunk-KPYDTIAI.js.map → chunk-2WZI36D3.js.map} +0 -0
  663. /package/dist/{chunk-FA4YZFRV.js.map → chunk-3AMLOCXY.js.map} +0 -0
  664. /package/dist/{chunk-X7F4Z6UM.js.map → chunk-3CVAEQMZ.js.map} +0 -0
  665. /package/dist/{chunk-SISA4HQR.js.map → chunk-3WAYZQNV.js.map} +0 -0
  666. /package/dist/{chunk-JWSEPW7F.js.map → chunk-46GWHUKN.js.map} +0 -0
  667. /package/dist/{chunk-R3EKM2P2.js.map → chunk-4O6T76A3.js.map} +0 -0
  668. /package/dist/{chunk-D5UXWKLQ.js.map → chunk-5MCVK4A3.js.map} +0 -0
  669. /package/dist/{chunk-CSZFZKVX.js.map → chunk-5ZLN23V5.js.map} +0 -0
  670. /package/dist/{chunk-OWA7ZLC4.js.map → chunk-77ULVP62.js.map} +0 -0
  671. /package/dist/{chunk-QNLJ3GNZ.js.map → chunk-AW2GKIGS.js.map} +0 -0
  672. /package/dist/{chunk-BL2MX6CR.js.map → chunk-BRLY6XD6.js.map} +0 -0
  673. /package/dist/{chunk-NPMAATZG.js.map → chunk-C7NWUCLQ.js.map} +0 -0
  674. /package/dist/{chunk-PA4W7BCQ.js.map → chunk-D4HKJBEW.js.map} +0 -0
  675. /package/dist/{chunk-H5HDZ7IC.js.map → chunk-DCBZ5CHZ.js.map} +0 -0
  676. /package/dist/{chunk-BITS62MF.js.map → chunk-G6XKD7QE.js.map} +0 -0
  677. /package/dist/{chunk-TP7HKSBX.js.map → chunk-GBFL4TD2.js.map} +0 -0
  678. /package/dist/{chunk-3TZVZXM6.js.map → chunk-H5SCKWFT.js.map} +0 -0
  679. /package/dist/{chunk-HSPMBLKE.js.map → chunk-HXPK6KAL.js.map} +0 -0
  680. /package/dist/{chunk-2PWNIEW4.js.map → chunk-I7GOSMWT.js.map} +0 -0
  681. /package/dist/{chunk-LOMH4TTC.js.map → chunk-IBY44U2M.js.map} +0 -0
  682. /package/dist/{chunk-IJ22WP3G.js.map → chunk-ITNHIZKK.js.map} +0 -0
  683. /package/dist/{chunk-P3W6SRSQ.js.map → chunk-J33P2JNS.js.map} +0 -0
  684. /package/dist/{chunk-NEIUVSDK.js.map → chunk-JH2L5CQD.js.map} +0 -0
  685. /package/dist/{chunk-62JQQUAU.js.map → chunk-JQH5VG6F.js.map} +0 -0
  686. /package/dist/{chunk-6WXV5GTA.js.map → chunk-JVH5A3XC.js.map} +0 -0
  687. /package/dist/{chunk-ILSKYRDR.js.map → chunk-KTOYQP6D.js.map} +0 -0
  688. /package/dist/{chunk-G4STCTY3.js.map → chunk-LO3IF5PS.js.map} +0 -0
  689. /package/dist/{chunk-BOPC3D6I.js.map → chunk-LRRFGOW3.js.map} +0 -0
  690. /package/dist/{chunk-C6EYCD5J.js.map → chunk-LTPTJWZC.js.map} +0 -0
  691. /package/dist/{chunk-NXZCCGES.js.map → chunk-MRQHJW5U.js.map} +0 -0
  692. /package/dist/{chunk-TRPJJMCS.js.map → chunk-NHYI7ORL.js.map} +0 -0
  693. /package/dist/{chunk-MXH35PJ5.js.map → chunk-NLI7C3K2.js.map} +0 -0
  694. /package/dist/{chunk-TPANP5A2.js.map → chunk-NSEMXBUB.js.map} +0 -0
  695. /package/dist/{chunk-LBO2YAZY.js.map → chunk-OM2BRYXJ.js.map} +0 -0
  696. /package/dist/{chunk-2LI6746F.js.map → chunk-OY4SKCIU.js.map} +0 -0
  697. /package/dist/{chunk-6WCAV27H.js.map → chunk-OYAJNTRO.js.map} +0 -0
  698. /package/dist/{chunk-QE3JEJXF.js.map → chunk-PL7J3DPQ.js.map} +0 -0
  699. /package/dist/{chunk-PTGYM4J6.js.map → chunk-PUSBUMYM.js.map} +0 -0
  700. /package/dist/{chunk-D5CUAOQX.js.map → chunk-RRADFRPI.js.map} +0 -0
  701. /package/dist/{chunk-VD73V44J.js.map → chunk-SGEPZB3D.js.map} +0 -0
  702. /package/dist/{chunk-LPXSM2DI.js.map → chunk-TFTZDWCX.js.map} +0 -0
  703. /package/dist/{chunk-2XRMPSEV.js.map → chunk-TG4NCHFS.js.map} +0 -0
  704. /package/dist/{chunk-5HJRZFMW.js.map → chunk-TTHM66TA.js.map} +0 -0
  705. /package/dist/{chunk-ZL23HA4N.js.map → chunk-VL2GNXZY.js.map} +0 -0
  706. /package/dist/{chunk-TZEVD4Q6.js.map → chunk-VQPZDM6N.js.map} +0 -0
  707. /package/dist/{chunk-JQU2LUZG.js.map → chunk-XCKINS7K.js.map} +0 -0
  708. /package/dist/{chunk-AVNSH2JE.js.map → chunk-YLYXSJ6O.js.map} +0 -0
  709. /package/dist/{chunk-MVB32GPI.js.map → chunk-ZAPO6UWS.js.map} +0 -0
  710. /package/dist/{chunk-FUKDI2UK.js.map → chunk-ZEPUDYPL.js.map} +0 -0
  711. /package/dist/{chunk-UWXDNVS5.js.map → chunk-ZJSGGJ5R.js.map} +0 -0
  712. /package/dist/{claim-SLGYOOWD.js.map → claim-J2LYNHZK.js.map} +0 -0
  713. /package/dist/{companies-IVMH6YII.js.map → companies-VYY22B6T.js.map} +0 -0
  714. /package/dist/{complete-45L2FI2X.js.map → complete-5I32XM7P.js.map} +0 -0
  715. /package/dist/{customers-NLU7NYDC.js.map → connect-EUFFQQ7O.js.map} +0 -0
  716. /package/dist/{conversation-RIOL3OJ7.js.map → conversation-D6KZHGPP.js.map} +0 -0
  717. /package/dist/{conversion-writes-JU7Q2MUO.js.map → conversion-writes-ECZBVY7D.js.map} +0 -0
  718. /package/dist/{conversions-3ISBR3TS.js.map → conversions-5QCSCRLI.js.map} +0 -0
  719. /package/dist/{conversions-TKIXNSYR.js.map → conversions-Y3X6ZTTF.js.map} +0 -0
  720. /package/dist/{create-ACLCRXQP.js.map → create-2JCRTQJL.js.map} +0 -0
  721. /package/dist/{create-VAPJ52GJ.js.map → create-LMSQPHPB.js.map} +0 -0
  722. /package/dist/{create-7JY2PTIZ.js.map → create-MBLNB5RY.js.map} +0 -0
  723. /package/dist/{create-KYBMFD32.js.map → create-VR7RXKL7.js.map} +0 -0
  724. /package/dist/{creatives-VQO2TKE3.js.map → creatives-5C42BDMW.js.map} +0 -0
  725. /package/dist/{creatives-S5QUWUL6.js.map → creatives-HYPSTANO.js.map} +0 -0
  726. /package/dist/{credentials-YTQ6BHWV.js.map → credentials-4H4AUYJN.js.map} +0 -0
  727. /package/dist/{critique-BHYJYZDV.js.map → critique-UOJZWDG2.js.map} +0 -0
  728. /package/dist/{critique-5LCG5TYF.js.map → critique-WCWMQQVV.js.map} +0 -0
  729. /package/dist/{crm-IKTWHWEB.js.map → crm-B7OTHMBP.js.map} +0 -0
  730. /package/dist/{crm-N7K57LZJ.js.map → crm-DZRWKJ6V.js.map} +0 -0
  731. /package/dist/{fit-UJQ47C4A.js.map → customers-AOFJJCGD.js.map} +0 -0
  732. /package/dist/{delete-26J3X3ZH.js.map → delete-DEG5KOBY.js.map} +0 -0
  733. /package/dist/{delete-EVXOFT2H.js.map → delete-EFIODCXG.js.map} +0 -0
  734. /package/dist/{delete-A4F5Z54J.js.map → delete-PQIMW2LK.js.map} +0 -0
  735. /package/dist/{demographics-VZKFMM4X.js.map → demographics-F26DIOCM.js.map} +0 -0
  736. /package/dist/{discard-ULRVUJDV.js.map → discard-2EJY6UGP.js.map} +0 -0
  737. /package/dist/{domain-L4WCCX7R.js.map → domain-XLJABLWB.js.map} +0 -0
  738. /package/dist/{draft-O4S5RKWK.js.map → draft-2YND6T4U.js.map} +0 -0
  739. /package/dist/{draft-Y2QJE2NM.js.map → draft-34CGWUVA.js.map} +0 -0
  740. /package/dist/{draft-57OQKHZI.js.map → draft-WRVEANL5.js.map} +0 -0
  741. /package/dist/{experiment-G3FQVAJU.js.map → experiment-7N4QFRWV.js.map} +0 -0
  742. /package/dist/{facets-EHQKGGJ2.js.map → facets-OPTNDPW2.js.map} +0 -0
  743. /package/dist/{feedback-CAOZPGTT.js.map → feedback-43BPXNBI.js.map} +0 -0
  744. /package/dist/{feedback-record-EXV5H6OS.js.map → feedback-record-35ZSDL6Z.js.map} +0 -0
  745. /package/dist/{fetch-ETKT2RBC.js.map → fetch-O46XBA7S.js.map} +0 -0
  746. /package/dist/{find-EVY4XEIQ.js.map → find-FSQAEGGF.js.map} +0 -0
  747. /package/dist/{fonts-7VWBQPJF.js.map → fit-CWJ5QQ4R.js.map} +0 -0
  748. /package/dist/{flows-Z7355RMD.js.map → flows-CVORIQ4B.js.map} +0 -0
  749. /package/dist/{ideas-F6CIGTVU.js.map → fonts-6TPYR6IW.js.map} +0 -0
  750. /package/dist/{forecast-OI7YWZ6F.js.map → forecast-2VLA6NJA.js.map} +0 -0
  751. /package/dist/{funnel-2B3JXJPX.js.map → funnel-XLKDLXMG.js.map} +0 -0
  752. /package/dist/{ga4-2BL5YAYN.js.map → ga4-LPDIBNYP.js.map} +0 -0
  753. /package/dist/{get-2RSN4N3J.js.map → get-O56GGN3V.js.map} +0 -0
  754. /package/dist/{get-6N7QJMIP.js.map → get-WFQ4XEAW.js.map} +0 -0
  755. /package/dist/{google-7STODZQR.js.map → google-5ESVO76E.js.map} +0 -0
  756. /package/dist/{google-ads-G7REKD4A.js.map → google-ads-DZMOTUY5.js.map} +0 -0
  757. /package/dist/{gsc-UU3T2C6B.js.map → gsc-FIZTQX3N.js.map} +0 -0
  758. /package/dist/{history-YMK2JNZU.js.map → history-43BBQZOB.js.map} +0 -0
  759. /package/dist/{history-IQ33J5PB.js.map → history-QKDYBSYM.js.map} +0 -0
  760. /package/dist/{hubspot-BUFS7S33.js.map → hubspot-S44MPK3G.js.map} +0 -0
  761. /package/dist/{icon-GB7UH5RF.js.map → icon-CSVAZ7NE.js.map} +0 -0
  762. /package/dist/{ingest-XLTRLCDV.js.map → ideas-SLP5WXFF.js.map} +0 -0
  763. /package/dist/{images-WCKTD6Z2.js.map → images-TWZOROCT.js.map} +0 -0
  764. /package/dist/{logo-YSNUUT33.js.map → ingest-5GCZ5ZBV.js.map} +0 -0
  765. /package/dist/{ingest-RQUJGS7K.js.map → ingest-P54J4W3V.js.map} +0 -0
  766. /package/dist/{inspect-KFVAMD4N.js.map → inspect-S4COGUBC.js.map} +0 -0
  767. /package/dist/{inspiration-XQYHBJY2.js.map → inspiration-IX5N724J.js.map} +0 -0
  768. /package/dist/{keyword-metrics-WYF3QMCW.js.map → keyword-metrics-26CCKFZK.js.map} +0 -0
  769. /package/dist/{keywords-for-site-G5L5EP3T.js.map → keywords-for-site-JWWECF63.js.map} +0 -0
  770. /package/dist/{landing-WUILAWDS.js.map → landing-VFDRADZY.js.map} +0 -0
  771. /package/dist/{leads-4SJ4NJOI.js.map → leads-DTKKYSKH.js.map} +0 -0
  772. /package/dist/{learn-CC6Q5IK2.js.map → learn-GQ75IPRK.js.map} +0 -0
  773. /package/dist/{line-item-writes-YXKYR25W.js.map → line-item-writes-DVVHVR3Y.js.map} +0 -0
  774. /package/dist/{line-items-CKUD2UU4.js.map → line-items-EOZMK7A5.js.map} +0 -0
  775. /package/dist/{link-VBYFI7AM.js.map → link-R5NGCQ5H.js.map} +0 -0
  776. /package/dist/{linkedin-XKVPSCLV.js.map → linkedin-DHZO3IJX.js.map} +0 -0
  777. /package/dist/{list-VSUF2IWT.js.map → list-57QBEGLM.js.map} +0 -0
  778. /package/dist/{list-ENYDGT3F.js.map → list-Q44BBHDI.js.map} +0 -0
  779. /package/dist/{list-6ZNZGRRK.js.map → list-W6G2NTG5.js.map} +0 -0
  780. /package/dist/{log-AACKGBDW.js.map → log-B6X5EPKA.js.map} +0 -0
  781. /package/dist/{performance-K7E5KAZW.js.map → logo-VHXH4J6A.js.map} +0 -0
  782. /package/dist/{make-ED7HBLH3.js.map → make-OIFLF3QS.js.map} +0 -0
  783. /package/dist/{map-63CQHWPI.js.map → map-PIOZT2MQ.js.map} +0 -0
  784. /package/dist/{mcp-RKAXC6IP.js.map → mcp-GFKHLWDB.js.map} +0 -0
  785. /package/dist/{media-sources-PEHUMH7C.js.map → media-sources-VMMMW5UM.js.map} +0 -0
  786. /package/dist/{members-SELIA674.js.map → members-W2QBMNIW.js.map} +0 -0
  787. /package/dist/{normalize-VAZPTBDX.js.map → normalize-N6XC3SLC.js.map} +0 -0
  788. /package/dist/{options-6FCNFWUF.js.map → options-XYJY2OEQ.js.map} +0 -0
  789. /package/dist/{pages-FTI44OSH.js.map → pages-PTWRXAZT.js.map} +0 -0
  790. /package/dist/{reddit-XIHRI3CN.js.map → performance-7NEZTOJ5.js.map} +0 -0
  791. /package/dist/{pixels-6IUB3Y3H.js.map → pixels-MYT3TCHZ.js.map} +0 -0
  792. /package/dist/{pixels-MBKR4XPX.js.map → pixels-ZZCQUS3J.js.map} +0 -0
  793. /package/dist/{promoted-tweet-writes-PKEO6WUK.js.map → promoted-tweet-writes-X2F7R2AE.js.map} +0 -0
  794. /package/dist/{promoted-tweets-7MXVZRBI.js.map → promoted-tweets-XCSD6VKP.js.map} +0 -0
  795. /package/dist/{publish-MPMGRV72.js.map → publish-OBY6E43R.js.map} +0 -0
  796. /package/dist/{run-KBN5K7LE.js.map → reddit-WJ6KHYBC.js.map} +0 -0
  797. /package/dist/{refresh-A27N75NH.js.map → refresh-G5BQ2LWU.js.map} +0 -0
  798. /package/dist/{release-UKRB5IUN.js.map → release-PBZO35KY.js.map} +0 -0
  799. /package/dist/{remove-AFNFVPZY.js.map → remove-VJ2MEUPM.js.map} +0 -0
  800. /package/dist/{reopen-M5HE6J3G.js.map → reopen-W3LYOHSR.js.map} +0 -0
  801. /package/dist/{rerun-A2XHGFZS.js.map → rerun-4GDNBFNM.js.map} +0 -0
  802. /package/dist/{research-U7RQXMYH.js.map → research-4YTFPGH7.js.map} +0 -0
  803. /package/dist/{research-BLDY5UWH.js.map → research-LOQRIBO6.js.map} +0 -0
  804. /package/dist/{reset-4CCWB2RT.js.map → reset-55CCQGXB.js.map} +0 -0
  805. /package/dist/{reset-J3KCWFMZ.js.map → reset-AVTQEJPZ.js.map} +0 -0
  806. /package/dist/{resolve-HEK27ANI.js.map → resolve-E6FNMFE3.js.map} +0 -0
  807. /package/dist/{retry-VVI6N6UR.js.map → retry-HBJ7MKVI.js.map} +0 -0
  808. /package/dist/{retry-HPZIUG2S.js.map → retry-QBRYM6MG.js.map} +0 -0
  809. /package/dist/{rules-SK5DFFPY.js.map → rules-XNDBGOIS.js.map} +0 -0
  810. /package/dist/{rules-add-YQNYSME7.js.map → rules-add-UM3ZKSVD.js.map} +0 -0
  811. /package/dist/{run-M7ZDE6IA.js.map → run-D4YHZ4Z4.js.map} +0 -0
  812. /package/dist/{shared-NDRFKAH7.js.map → run-ZCJ7NP63.js.map} +0 -0
  813. /package/dist/{scaffold-ad-6BN5LWQH.js.map → scaffold-ad-VQZAP32M.js.map} +0 -0
  814. /package/dist/{scaffold-static-ad-VVZRAWBR.js.map → scaffold-static-ad-LEU4M44N.js.map} +0 -0
  815. /package/dist/{scaffold-video-LFIYI4GP.js.map → scaffold-video-PSWSYRSC.js.map} +0 -0
  816. /package/dist/{schedule-QMOKWTJ3.js.map → schedule-AAH7HYFK.js.map} +0 -0
  817. /package/dist/{scheduled-agents-FCQHQ6KR.js.map → scheduled-agents-HDABMHZI.js.map} +0 -0
  818. /package/dist/{schema-THFLCMBN.js.map → schema-OH5OWMVQ.js.map} +0 -0
  819. /package/dist/{search-XIUYSWO6.js.map → search-BSDPVSGA.js.map} +0 -0
  820. /package/dist/{select-QBU6ED4K.js.map → select-EI4QF4YZ.js.map} +0 -0
  821. /package/dist/{set-prompt-TL64CRBQ.js.map → set-prompt-RKDAGUWG.js.map} +0 -0
  822. /package/dist/{setup-links-QVI6NAOK.js.map → setup-links-CNNJA7AB.js.map} +0 -0
  823. /package/dist/{sync-definition-C6ROLKJ4.js.map → shared-3IBNDEFL.js.map} +0 -0
  824. /package/dist/{site-PZPJY33N.js.map → site-NV4U7PIF.js.map} +0 -0
  825. /package/dist/{sources-ER7ANNG3.js.map → sources-ATONL7W5.js.map} +0 -0
  826. /package/dist/{sources-RMNFV4CA.js.map → sources-C3TGHKLQ.js.map} +0 -0
  827. /package/dist/{stale-ITFCPOER.js.map → stale-6QPXL6BZ.js.map} +0 -0
  828. /package/dist/{stats-RCLQE4HJ.js.map → stats-ZAGJH4AD.js.map} +0 -0
  829. /package/dist/{status-ABMJBCPJ.js.map → status-BML3F4MZ.js.map} +0 -0
  830. /package/dist/{stock-ECRBD7RP.js.map → stock-6SHHLSKG.js.map} +0 -0
  831. /package/dist/{studio-MARZ22J2.js.map → studio-ZLCGXFAN.js.map} +0 -0
  832. /package/dist/{sync-QDD3MRJ6.js.map → sync-DZAOUQPE.js.map} +0 -0
  833. /package/dist/{viewer-check-7ZG7KHEN.js.map → sync-definition-RFEL65JE.js.map} +0 -0
  834. /package/dist/{tag-manager-G3LBQZUL.js.map → tag-manager-3CJ66GKJ.js.map} +0 -0
  835. /package/dist/{tags-EWHPUM2V.js.map → tags-2KSXCJRZ.js.map} +0 -0
  836. /package/dist/{tags-KBCX6BDU.js.map → tags-662KZJLV.js.map} +0 -0
  837. /package/dist/{tags-5JYOEYIT.js.map → tags-6QBVW25V.js.map} +0 -0
  838. /package/dist/{tags-PEWN6GNZ.js.map → tags-LQCEJGIL.js.map} +0 -0
  839. /package/dist/{tags-B473RWAA.js.map → tags-RIVD54ZG.js.map} +0 -0
  840. /package/dist/{targeting-criteria-EU65WUUF.js.map → targeting-criteria-XNLYPIL2.js.map} +0 -0
  841. /package/dist/{targets-KVXS5QKM.js.map → targets-OYIVS5KJ.js.map} +0 -0
  842. /package/dist/{testimonials-YMMA5YWL.js.map → testimonials-WT43CF7V.js.map} +0 -0
  843. /package/dist/{top-companies-OOX3DITI.js.map → top-companies-6QQMOS2Y.js.map} +0 -0
  844. /package/dist/{translate-OXVIMYHE.js.map → translate-7QN7JFGU.js.map} +0 -0
  845. /package/dist/{triggers-OX2GKG4Y.js.map → triggers-LVQY3QJ2.js.map} +0 -0
  846. /package/dist/{unlink-3USEPJSA.js.map → unlink-5ASZTCS2.js.map} +0 -0
  847. /package/dist/{unstage-VSCNPTAC.js.map → unstage-LNZTEATR.js.map} +0 -0
  848. /package/dist/{update-6JKTH65B.js.map → update-7BIR4GYO.js.map} +0 -0
  849. /package/dist/{update-FG4ELXYJ.js.map → update-BRLM5DB3.js.map} +0 -0
  850. /package/dist/{update-HZHG67N6.js.map → update-DRZAAJQ2.js.map} +0 -0
  851. /package/dist/{update-GZFKHA3A.js.map → update-NOWC3ICD.js.map} +0 -0
  852. /package/dist/{upload-BKCQ6FRW.js.map → upload-457Q4ANZ.js.map} +0 -0
  853. /package/dist/{url-params-UN4DRN2H.js.map → url-params-KM4NJGYC.js.map} +0 -0
  854. /package/dist/{validate-ZS2M5Q3V.js.map → validate-COLEPJBA.js.map} +0 -0
  855. /package/dist/{videos-I6YXFBFT.js.map → videos-5IDZTEWC.js.map} +0 -0
  856. /package/dist/{web-UGU7YMII.js.map → web-FZYOCCYN.js.map} +0 -0
  857. /package/dist/{winning-ads-ABN5OULS.js.map → winning-ads-I4DMP7RU.js.map} +0 -0
  858. /package/dist/{write-commands-6VR2UD3T.js.map → write-commands-FYB6QG7K.js.map} +0 -0
  859. /package/dist/{x-WK2VQDPF.js.map → x-OMN5DDLM.js.map} +0 -0
@@ -0,0 +1,225 @@
1
+ import {
2
+ BRAND_DIR,
3
+ inkLuma,
4
+ logoArtwork
5
+ } from "./chunk-JQH5VG6F.js";
6
+ import {
7
+ fetchExternalBytes
8
+ } from "./chunk-BLAHHMPF.js";
9
+ import {
10
+ apiGet,
11
+ apiPost
12
+ } from "./chunk-XDZVBX6L.js";
13
+
14
+ // src/commands/canvas/clientLogo.ts
15
+ import { mkdir, readFile, writeFile } from "fs/promises";
16
+ import * as cheerio from "cheerio";
17
+ import path from "path";
18
+ function decideClientLogo(domain, lookup) {
19
+ if (!domain) return { use: false, reason: "no_domain" };
20
+ const verdict = lookup?.brandMatch?.verdict;
21
+ if (verdict === "mismatch") {
22
+ return { use: false, reason: "mismatch", ...lookup?.brandMatch?.name ? { wrongBrand: lookup.brandMatch.name } : {} };
23
+ }
24
+ if (verdict !== "confirmed") return { use: false, reason: "unverified" };
25
+ const url = lookup?.hits?.map((hit) => hit.imageUrl ?? hit.sourceUrl).find((candidate) => Boolean(candidate));
26
+ return url ? { use: true, url } : { use: false, reason: "no_hits" };
27
+ }
28
+ function clientLogoMissNote(decision, domain) {
29
+ switch (decision.reason) {
30
+ case "no_domain":
31
+ return "Baker has no website on record for this company, so their mark could not be looked up.";
32
+ case "mismatch":
33
+ return `The mark found for \`${domain}\` belongs to ${decision.wrongBrand ?? "a different company"}, not to this client, so it was not used.`;
34
+ default:
35
+ return `No brand mark could be confirmed for \`${domain}\`, so nothing was placed.`;
36
+ }
37
+ }
38
+ function hostOf(site) {
39
+ try {
40
+ return new URL(/^https?:\/\//i.test(site) ? site : `https://${site}`).hostname.replace(/^www\./i, "").toLowerCase();
41
+ } catch {
42
+ return null;
43
+ }
44
+ }
45
+ var NOT_THE_LOGO = /favicon|apple-touch|sprite|(?:^|[/_.-])icons?(?:[/_.-]|$)|client|customer|partner|testimonial|trust|badge|award/i;
46
+ function sayings(hit, url) {
47
+ const meta = hit.providerMeta ?? {};
48
+ const given = ["alt", "class", "id", "title"].map((key) => typeof meta[key] === "string" ? meta[key] : "");
49
+ return [new URL(url).pathname, hit.name ?? "", hit.description ?? "", ...given].join(" ");
50
+ }
51
+ function logoFromExtract(hits, domain) {
52
+ const own = hostOf(domain);
53
+ if (!own) return null;
54
+ const candidates = hits.flatMap((hit) => {
55
+ const url = hit.url ?? hit.imageUrl ?? hit.sourceUrl;
56
+ const host = url ? hostOf(url) : null;
57
+ if (!url || !host || host !== own && !host.endsWith(`.${own}`)) return [];
58
+ const said = sayings(hit, url);
59
+ if (!/logo/i.test(said) || NOT_THE_LOGO.test(said)) return [];
60
+ return [{ url, score: (/\.svg(?:\?|$)/i.test(url) ? 2 : 0) + (/logo/i.test(new URL(url).pathname) ? 1 : 0) }];
61
+ });
62
+ candidates.sort((a, b) => b.score - a.score || a.url.length - b.url.length);
63
+ return candidates[0]?.url ?? null;
64
+ }
65
+ var MAX_INLINE_SVG = 3e5;
66
+ var BRAND_PLACES = "header, nav, [role=banner]";
67
+ var IMAGE_ADDRESS = ["src", "data-src", "data-lazy-src", "data-original"];
68
+ function logoFromPage(html, pageUrl, domain) {
69
+ const own = hostOf(domain);
70
+ if (!own) return null;
71
+ const $ = cheerio.load(html);
72
+ for (const el of $(`${BRAND_PLACES}`).find("img, svg").toArray()) {
73
+ const node = $(el);
74
+ const said = [node, node.closest("a")].flatMap((n) => ["class", "id", "alt", "aria-label", "title"].map((k) => n.attr(k) ?? "")).join(" ");
75
+ if (!/logo/i.test(said) || NOT_THE_LOGO.test(said)) continue;
76
+ if (el.tagName === "svg") {
77
+ const svg = standaloneSvg($, node);
78
+ if (svg) return { kind: "svg", svg };
79
+ continue;
80
+ }
81
+ const url = IMAGE_ADDRESS.map((k) => node.attr(k)?.trim() ?? "").filter((a) => a !== "" && !a.startsWith("data:")).map((a) => absolute(a, pageUrl)).find((a) => a !== null);
82
+ const host = url ? hostOf(url) : null;
83
+ if (url && host && (host === own || host.endsWith(`.${own}`))) return { kind: "url", url };
84
+ }
85
+ return null;
86
+ }
87
+ function absolute(address, base) {
88
+ try {
89
+ const url = new URL(address, base);
90
+ return /^https?:$/.test(url.protocol) ? url.href : null;
91
+ } catch {
92
+ return null;
93
+ }
94
+ }
95
+ function standaloneSvg($, node) {
96
+ const draws = node.find("path, circle, rect, polygon, polyline, ellipse, line, text").length > 0;
97
+ if (!draws || node.find("use").length > 0) return null;
98
+ const copy = node.clone();
99
+ if (!copy.attr("xmlns")) copy.attr("xmlns", "http://www.w3.org/2000/svg");
100
+ const svg = $.html(copy);
101
+ return svg.length <= MAX_INLINE_SVG ? svg : null;
102
+ }
103
+ function logoTone(inkLuma2) {
104
+ return inkLuma2 !== null && inkLuma2 > 170 ? "dark" : "light";
105
+ }
106
+ function withLogoRegistered(tokensJson, logo) {
107
+ if (tokensJson === null) return null;
108
+ let tokens;
109
+ try {
110
+ tokens = JSON.parse(tokensJson);
111
+ } catch {
112
+ return null;
113
+ }
114
+ if (!tokens || typeof tokens !== "object" || Array.isArray(tokens)) return null;
115
+ const doc = tokens;
116
+ const logos = Array.isArray(doc.logos) ? doc.logos : [];
117
+ if (logos.some((l) => l?.path === logo.path)) return null;
118
+ const next = { ...doc, logos: [...logos, { variant: "logo", background: logo.background, path: logo.path }] };
119
+ return `${JSON.stringify(next, null, 2)}
120
+ `;
121
+ }
122
+ function logoMissingHint(company, domain) {
123
+ return `No logo on file for ${company}: add it on the Brand page${domain ? ` (we could not find it on ${domain})` : ""}.`;
124
+ }
125
+ function extensionOf(url) {
126
+ return /\.(svg|png|jpg|jpeg|webp)(?:\?|$)/i.exec(url)?.[1]?.toLowerCase() ?? "svg";
127
+ }
128
+ var MAX_LOGO_BYTES = 3e6;
129
+ async function downloaded(url) {
130
+ try {
131
+ const { buffer } = await fetchExternalBytes(url, { maxBytes: MAX_LOGO_BYTES });
132
+ return buffer.byteLength > 0 ? { bytes: buffer, extension: extensionOf(url) } : null;
133
+ } catch {
134
+ return null;
135
+ }
136
+ }
137
+ async function logoOnSite(domain) {
138
+ const host = hostOf(domain);
139
+ if (!host) return null;
140
+ const page = `https://${host}/`;
141
+ try {
142
+ const { buffer } = await fetchExternalBytes(page, { maxBytes: MAX_LOGO_BYTES });
143
+ const found = logoFromPage(buffer.toString("utf8"), page, domain);
144
+ if (found?.kind === "svg") return { bytes: Buffer.from(found.svg, "utf8"), extension: "svg" };
145
+ const file = found ? await downloaded(found.url) : null;
146
+ if (file) return file;
147
+ } catch {
148
+ }
149
+ try {
150
+ const listed = await apiPost("/api/images/extract", { url: page, limit: 50 });
151
+ const url = logoFromExtract(listed.hits ?? [], domain);
152
+ return url ? await downloaded(url) : null;
153
+ } catch {
154
+ return null;
155
+ }
156
+ }
157
+ async function logoSource(domain) {
158
+ let lookup = null;
159
+ if (domain) {
160
+ try {
161
+ lookup = await apiPost("/api/images/logo", { domain, variant: "logo", autoIngest: 1 });
162
+ } catch {
163
+ lookup = null;
164
+ }
165
+ }
166
+ const decision = decideClientLogo(domain, lookup);
167
+ if (decision.use) {
168
+ const file = await downloaded(decision.url);
169
+ if (file) return file;
170
+ }
171
+ if (domain && !(decision.use === false && decision.reason === "mismatch")) {
172
+ const file = await logoOnSite(domain);
173
+ if (file) return file;
174
+ }
175
+ return { note: clientLogoMissNote(decision.use ? { use: false, reason: "no_hits" } : decision, domain) };
176
+ }
177
+ async function inkOf(bytes) {
178
+ try {
179
+ return inkLuma((await logoArtwork(bytes)).data);
180
+ } catch {
181
+ return null;
182
+ }
183
+ }
184
+ async function fetchClientLogo(root = ".") {
185
+ let domain;
186
+ let company;
187
+ try {
188
+ const found = await apiGet("/api/company");
189
+ domain = found.data.domain?.trim() || void 0;
190
+ company = found.data.name;
191
+ } catch {
192
+ domain = void 0;
193
+ }
194
+ const named = { ...domain ? { domain } : {}, ...company ? { company } : {} };
195
+ const source = await logoSource(domain);
196
+ if ("note" in source) return { ok: false, reason: source.note, ...named };
197
+ try {
198
+ const tone = logoTone(await inkOf(source.bytes));
199
+ const dir = path.join(root, BRAND_DIR, "logos");
200
+ await mkdir(dir, { recursive: true });
201
+ const file = path.join(dir, `logo-${tone}.${source.extension}`);
202
+ await writeFile(file, source.bytes);
203
+ await registerLogo(root, path.join(BRAND_DIR, "logos", path.basename(file)), tone);
204
+ return { ok: true, path: file, ...named };
205
+ } catch {
206
+ return { ok: false, reason: clientLogoMissNote({ use: false, reason: "no_hits" }, domain), ...named };
207
+ }
208
+ }
209
+ async function registerLogo(root, relative, background) {
210
+ const tokensPath = path.join(root, BRAND_DIR, "tokens.json");
211
+ const next = withLogoRegistered(await readFile(tokensPath, "utf8").catch(() => null), { path: relative, background });
212
+ if (next !== null) await writeFile(tokensPath, next, "utf8").catch(() => void 0);
213
+ }
214
+ async function withClientLogo(root, kit, reread, fetch = fetchClientLogo) {
215
+ if (kit.logo) return { kit };
216
+ const fetched = await fetch(root).catch(() => null);
217
+ if (fetched?.ok) return { kit: await reread() };
218
+ return { kit, hint: logoMissingHint(fetched?.company ?? "your company", fetched?.domain) };
219
+ }
220
+
221
+ export {
222
+ fetchClientLogo,
223
+ withClientLogo
224
+ };
225
+ //# sourceMappingURL=chunk-46GWHUKN.js.map
@@ -0,0 +1,191 @@
1
+ import {
2
+ readRenderState,
3
+ recordSeen
4
+ } from "./chunk-ZEPUDYPL.js";
5
+ import {
6
+ GLOBAL_PROMPT_FILE,
7
+ ideaBaseline,
8
+ isVideoBlueprint,
9
+ readIdeaAnchor,
10
+ recordedChanges
11
+ } from "./chunk-YLYXSJ6O.js";
12
+ import {
13
+ loadCompositionMeta
14
+ } from "./chunk-JVH5A3XC.js";
15
+ import {
16
+ parseRefExpr
17
+ } from "./chunk-JQH5VG6F.js";
18
+ import {
19
+ resolveAdaptFormats
20
+ } from "./chunk-MCJ5I5LR.js";
21
+ import {
22
+ apiPost
23
+ } from "./chunk-XDZVBX6L.js";
24
+
25
+ // src/commands/canvas/output-ratio.ts
26
+ import { readFile } from "fs/promises";
27
+ import path from "path";
28
+ function definitionFormats(markdown) {
29
+ const front = markdown.match(/^---\n([\s\S]*?)\n---/)?.[1];
30
+ if (!front) return [];
31
+ const clean = (s) => s.trim().replace(/^["']|["']$/g, "");
32
+ const flow = front.match(/^formats:\s*\[([^\]]*)\]/m);
33
+ if (flow) return (flow[1] ?? "").split(",").map(clean).filter(Boolean);
34
+ const block = front.match(/^formats:\s*\n((?:\s+-\s+.*\n?)+)/m);
35
+ if (!block) return [];
36
+ return (block[1] ?? "").split("\n").map((l) => l.replace(/^\s+-\s+/, "")).map(clean).filter(Boolean);
37
+ }
38
+ function reduce(width, height) {
39
+ const gcd = (a, b) => b === 0 ? a : gcd(b, a % b);
40
+ const d = gcd(width, height);
41
+ return `${width / d}:${height / d}`;
42
+ }
43
+ async function ratiosOf(nodes, id, seen) {
44
+ const node = nodes.get(id);
45
+ if (!node || seen.has(id)) return null;
46
+ seen.add(id);
47
+ const p = node.params ?? {};
48
+ switch (node.type) {
49
+ case "image_generate":
50
+ return typeof p.aspect_ratio === "string" ? [p.aspect_ratio] : null;
51
+ case "image_aspect_adapt":
52
+ return [...resolveAdaptFormats(p)];
53
+ case "hyperframe_snapshot": {
54
+ if (typeof p.composition !== "string") return null;
55
+ const meta = await loadCompositionMeta(p.composition).catch(() => null);
56
+ return meta ? [reduce(meta.width, meta.height)] : null;
57
+ }
58
+ case "collect": {
59
+ const images = node.inputs?.images;
60
+ if (!Array.isArray(images)) return null;
61
+ const out = [];
62
+ for (const entry of images) {
63
+ const ref = typeof entry === "string" ? parseRefExpr(entry) : null;
64
+ if (!ref || ref.kind !== "ref") return null;
65
+ const upstream = await ratiosOf(nodes, ref.nodeId, seen);
66
+ if (!upstream) return null;
67
+ out.push(ref.index !== void 0 && upstream.length > 1 ? upstream[ref.index] ?? "" : upstream[0] ?? "");
68
+ }
69
+ return out.filter(Boolean);
70
+ }
71
+ default:
72
+ return null;
73
+ }
74
+ }
75
+ async function producedRatios(canvas) {
76
+ const c = canvas;
77
+ if (!Array.isArray(c?.nodes) || typeof c?.output?.node !== "string") return null;
78
+ const nodes = new Map(c.nodes.flatMap((n) => typeof n.id === "string" ? [[n.id, n]] : []));
79
+ return ratiosOf(nodes, c.output.node, /* @__PURE__ */ new Set());
80
+ }
81
+ function value(ratio) {
82
+ const [w, h] = ratio.split(":").map(Number);
83
+ return w && h ? w / h : null;
84
+ }
85
+ function outputRatioWarnings(declared, produced) {
86
+ if (!produced || produced.length === 0) return [];
87
+ const shapes = produced.flatMap((r) => value(r) ?? []);
88
+ return declared.flatMap((format) => {
89
+ const want = value(format);
90
+ if (want === null || shapes.some((s) => Math.abs(s / want - 1) <= 0.02)) return [];
91
+ return [
92
+ {
93
+ path: "output",
94
+ code: "OUTPUT_RATIO_MISMATCH",
95
+ severity: "warning",
96
+ message: `_definition.md declares ${format}, but this canvas delivers ${produced.join(", ")}. A ${format} placement would get the wrong shape: re-scaffold with that format, or fix the formats the creative declares.`
97
+ }
98
+ ];
99
+ });
100
+ }
101
+ async function outputRatioWarningsFor(canvas, canvasPath) {
102
+ const definition = await readFile(path.join(path.dirname(canvasPath), "_definition.md"), "utf8").catch(() => null);
103
+ if (!definition) return [];
104
+ return outputRatioWarnings(definitionFormats(definition), await producedRatios(canvas));
105
+ }
106
+
107
+ // src/commands/canvas/shown-version.ts
108
+ import { z } from "zod";
109
+ var ShownResponse = z.object({
110
+ data: z.object({
111
+ runId: z.string(),
112
+ sourceSha: z.string().optional(),
113
+ createdAt: z.number(),
114
+ canvasSnapshotUrl: z.string().optional()
115
+ })
116
+ });
117
+ var SnapshotEntry = z.object({ path: z.string(), url: z.string() });
118
+ var SnapshotFiles = z.object({ canvas: SnapshotEntry.optional(), files: z.array(SnapshotEntry) });
119
+ var HISTORY = {
120
+ shown: async (slug) => ShownResponse.parse(await apiPost("/api/creatives/run", { slug })).data,
121
+ file: async (url) => {
122
+ const res = await fetch(url);
123
+ return res.ok ? res.json() : null;
124
+ },
125
+ text: async (url) => {
126
+ const res = await fetch(url);
127
+ return res.ok ? res.text() : null;
128
+ }
129
+ };
130
+ async function shownVersion(canvasRoot, slug, sources = HISTORY) {
131
+ const here = await readRenderState(canvasRoot, slug);
132
+ if (here.rendered) return here;
133
+ const run = await sources.shown(slug).catch(() => null);
134
+ if (!run) return here;
135
+ const drawn = run.canvasSnapshotUrl ? await drawnFiles(run.canvasSnapshotUrl, sources) : {};
136
+ return {
137
+ ...here,
138
+ rendered: { sourceSha: run.sourceSha ?? "", runId: run.runId, at: run.createdAt },
139
+ ...drawn.prompt !== void 0 ? { prompt: drawn.prompt } : {},
140
+ ...drawn.definition !== void 0 ? { definition: drawn.definition } : {},
141
+ ...drawn.video ? { video: drawn.video } : {}
142
+ };
143
+ }
144
+ async function drawnFiles(manifestUrl, sources) {
145
+ const manifest = SnapshotFiles.safeParse(await sources.file(manifestUrl).catch(() => null));
146
+ const files = manifest.success ? manifest.data.files : [];
147
+ const urlOf = (file) => files.find((f) => f.path === file)?.url;
148
+ const promptUrl = urlOf(GLOBAL_PROMPT_FILE);
149
+ const definitionUrl = urlOf("_definition.md");
150
+ const read = (url) => url ? sources.file(url).catch(() => null) : Promise.resolve(null);
151
+ const sceneEntries = files.filter((f) => /^scenes\/[^/]+\.json$/.test(f.path)).sort((a, b) => a.path.localeCompare(b.path));
152
+ const [prompt, definition, scenes, canvas, adSpec] = await Promise.all([
153
+ read(promptUrl),
154
+ definitionUrl ? sources.text(definitionUrl).catch(() => null) : null,
155
+ Promise.all(sceneEntries.map((f) => read(f.url))),
156
+ read(manifest.success ? manifest.data.canvas?.url : void 0),
157
+ read(urlOf("ad.spec.json"))
158
+ ]);
159
+ return {
160
+ ...prompt !== null && prompt !== void 0 ? { prompt } : {},
161
+ ...typeof definition === "string" ? { definition } : {},
162
+ video: { scenes: scenes.filter((s) => s !== null), canvas, adSpec }
163
+ };
164
+ }
165
+
166
+ // src/commands/canvas/shown-anchor.ts
167
+ async function shownBaseline(opts) {
168
+ const state = await readRenderState(opts.canvasRoot, opts.slug);
169
+ const known = opts.turnId !== void 0 && state.seen?.turnId === opts.turnId;
170
+ let fallback;
171
+ if (!known && !state.anchor) {
172
+ const shown = opts.shown ?? await shownVersion(opts.canvasRoot, opts.slug, opts.sources);
173
+ if (shown.rendered && shown.prompt !== void 0) {
174
+ const video = typeof shown.prompt === "object" && shown.prompt !== null && isVideoBlueprint(shown.prompt);
175
+ const recorded = shown.video;
176
+ const unrecorded = video && (!recorded || recorded.canvas === null || recorded.canvas === void 0);
177
+ const anchor = unrecorded ? void 0 : (await readIdeaAnchor(opts.creativeDir, { spec: shown.prompt, ...video && recorded ? { recorded } : {} }))?.anchor;
178
+ if (anchor) fallback = { ...anchor, changes: shown.definition ? recordedChanges(shown.definition) : [] };
179
+ }
180
+ }
181
+ const { baseline, seen } = ideaBaseline(state, opts.turnId, fallback);
182
+ if (seen && opts.record) await recordSeen(opts.canvasRoot, opts.slug, seen);
183
+ return baseline ? { baseline } : {};
184
+ }
185
+
186
+ export {
187
+ outputRatioWarningsFor,
188
+ shownVersion,
189
+ shownBaseline
190
+ };
191
+ //# sourceMappingURL=chunk-4O6T76A3.js.map
@@ -0,0 +1,205 @@
1
+ import {
2
+ metaDraftOpInputSchema
3
+ } from "./chunk-A4MVVPJ2.js";
4
+ import {
5
+ handleMetaError,
6
+ resolveAccountIdArg
7
+ } from "./chunk-QTOZ32SU.js";
8
+ import {
9
+ repeatedValues
10
+ } from "./chunk-ERSX3MKH.js";
11
+ import {
12
+ adCopyHints,
13
+ booleanWordPositionalError,
14
+ capabilityFix
15
+ } from "./chunk-SFJW2KED.js";
16
+ import {
17
+ withHints
18
+ } from "./chunk-D5FY4FAK.js";
19
+ import {
20
+ writeJsonEnvelope
21
+ } from "./chunk-SWL4AAPP.js";
22
+ import {
23
+ apiPost
24
+ } from "./chunk-XDZVBX6L.js";
25
+ import {
26
+ requireChatId
27
+ } from "./chunk-EE72SSB2.js";
28
+
29
+ // src/commands/ads/meta/write-shared.ts
30
+ import { readFileSync } from "fs";
31
+ function bareAccountId(args) {
32
+ return resolveAccountIdArg(args).replace(/^act_/, "");
33
+ }
34
+ function failWriteValidation(message) {
35
+ writeJsonEnvelope({ ok: false, error: { code: "VALIDATION_ERROR", message } });
36
+ process.exit(1);
37
+ }
38
+ function refuseDeleteByUpdate(payload, group) {
39
+ if (payload.status === "DELETED") {
40
+ failWriteValidation(
41
+ `update does not delete \u2014 deleting is permanent. Use \`baker ads meta ${group} delete <id>\` if the user asked to delete; otherwise pause or archive.`
42
+ );
43
+ }
44
+ }
45
+ function loadJsonFileArg(path) {
46
+ if (typeof path !== "string" || path.length === 0) {
47
+ return {};
48
+ }
49
+ try {
50
+ const parsed = JSON.parse(readFileSync(path, "utf8"));
51
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
52
+ failWriteValidation(`${path} must contain a JSON object`);
53
+ }
54
+ return parsed;
55
+ } catch (err) {
56
+ if (err instanceof SyntaxError) {
57
+ failWriteValidation(`${path} is not valid JSON: ${err.message}`);
58
+ }
59
+ throw err;
60
+ }
61
+ }
62
+ function mergePayload(file, flags) {
63
+ const merged = { ...file };
64
+ for (const [key, value] of Object.entries(flags)) {
65
+ if (value !== void 0) {
66
+ merged[key] = value;
67
+ }
68
+ }
69
+ return merged;
70
+ }
71
+ function parseMoneyFlag(amount, currency, flag) {
72
+ if (amount === void 0 || amount === null || amount === "") {
73
+ return void 0;
74
+ }
75
+ if (currency === void 0 || currency === null || currency === "") {
76
+ return { amount: String(amount) };
77
+ }
78
+ if (typeof currency !== "string" || currency.length !== 3) {
79
+ failWriteValidation(`${flag} got an invalid --currency (expected a 3-letter code like USD)`);
80
+ }
81
+ return { amount: String(amount), currencyCode: currency.toUpperCase() };
82
+ }
83
+ function parseDateFlag(value, flag) {
84
+ if (value === void 0 || value === null || value === "") {
85
+ return void 0;
86
+ }
87
+ const raw = String(value);
88
+ if (/^\d{10,}$/.test(raw)) {
89
+ return Number(raw);
90
+ }
91
+ const parsed = Date.parse(raw);
92
+ if (Number.isNaN(parsed)) {
93
+ failWriteValidation(`${flag} must be an ISO date (2026-07-10) or epoch milliseconds`);
94
+ }
95
+ return parsed;
96
+ }
97
+ function listFlag(value) {
98
+ if (typeof value !== "string" || value.trim().length === 0) {
99
+ return void 0;
100
+ }
101
+ const items = value.split(",").map((item) => item.trim()).filter(Boolean);
102
+ return items.length > 0 ? items : void 0;
103
+ }
104
+ function repeatedListFlag(rawArgs, flag, parsed) {
105
+ const items = repeatedValues(rawArgs, flag, parsed).flatMap((value) => value.split(",")).map((item) => item.trim()).filter(Boolean);
106
+ return items.length > 0 ? items : void 0;
107
+ }
108
+ function upper(value) {
109
+ return typeof value === "string" && value.length > 0 ? value.toUpperCase() : void 0;
110
+ }
111
+ function numberFlag(value, flag) {
112
+ if (value === void 0 || value === null || value === "") {
113
+ return void 0;
114
+ }
115
+ const n = Number(value);
116
+ if (!Number.isFinite(n)) {
117
+ failWriteValidation(`${flag} must be a number`);
118
+ }
119
+ return n;
120
+ }
121
+ function requireTarget(args, entity) {
122
+ const inverted = booleanWordPositionalError(args, entity);
123
+ if (inverted !== void 0) {
124
+ failWriteValidation(inverted);
125
+ }
126
+ const positional = Array.isArray(args._) ? args._[0] : void 0;
127
+ const target = args.id ?? args.target ?? args.ref ?? positional;
128
+ if (typeof target !== "string" || target.length === 0) {
129
+ failWriteValidation(`pass the ${entity} id as the positional argument`);
130
+ }
131
+ return target;
132
+ }
133
+ function preflightOp(raw) {
134
+ const preflight = metaDraftOpInputSchema.safeParse(raw);
135
+ if (!preflight.success) {
136
+ const fields = preflight.error.issues.map((issue) => ({ path: issue.path.join("."), message: issue.message }));
137
+ writeJsonEnvelope({
138
+ ok: false,
139
+ error: {
140
+ code: "VALIDATION_ERROR",
141
+ message: fields.map((field) => field.path ? `${field.path}: ${field.message}` : field.message).join("; "),
142
+ fields,
143
+ fix: capabilityFix("meta-ads")
144
+ }
145
+ });
146
+ process.exit(1);
147
+ }
148
+ return preflight.data;
149
+ }
150
+ async function stageOp(raw, extraHints = []) {
151
+ const op = preflightOp(raw);
152
+ try {
153
+ const chatId = requireChatId();
154
+ const response = await apiPost("/api/ads/meta/draft/stage", { chatId, op });
155
+ const copyHints = await adCopyHints(op);
156
+ writeJsonEnvelope(withHints(response, [...copyHints, ...extraHints]));
157
+ } catch (err) {
158
+ handleMetaError(err);
159
+ }
160
+ }
161
+ async function stageOps(raws) {
162
+ const ops = raws.map(preflightOp);
163
+ const chatId = requireChatId();
164
+ const staged = [];
165
+ for (const op of ops) {
166
+ try {
167
+ const response = await apiPost("/api/ads/meta/draft/stage", { chatId, op });
168
+ staged.push(response.data);
169
+ } catch (err) {
170
+ if (staged.length > 0) {
171
+ process.stderr.write(`staged before the refusal: ${staged.map((entry) => entry.ref).join(", ")}
172
+ `);
173
+ }
174
+ handleMetaError(err);
175
+ }
176
+ }
177
+ writeJsonEnvelope({ ok: true, data: staged });
178
+ }
179
+ async function stageStatusChange(input) {
180
+ await stageOp({
181
+ kind: input.kind,
182
+ accountId: input.accountId,
183
+ target: input.target,
184
+ payload: { status: input.status }
185
+ });
186
+ }
187
+
188
+ export {
189
+ bareAccountId,
190
+ failWriteValidation,
191
+ refuseDeleteByUpdate,
192
+ loadJsonFileArg,
193
+ mergePayload,
194
+ parseMoneyFlag,
195
+ parseDateFlag,
196
+ listFlag,
197
+ repeatedListFlag,
198
+ upper,
199
+ numberFlag,
200
+ requireTarget,
201
+ stageOp,
202
+ stageOps,
203
+ stageStatusChange
204
+ };
205
+ //# sourceMappingURL=chunk-5C35OW7L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/meta/write-shared.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { type MetaDraftStageResponse, metaDraftOpInputSchema } from \"@baker/api/ads-meta\";\nimport { apiPost } from \"../../../client.ts\";\nimport { requireChatId } from \"../../../env.ts\";\nimport { repeatedValues } from \"../../../lib/repeatedFlags.ts\";\nimport { capabilityFix } from \"../../capabilities/fix.ts\";\nimport { booleanWordPositionalError } from \"../boolean-word-positional.ts\";\nimport { adCopyHints } from \"../copy-hints.ts\";\nimport { withHints } from \"../hints.ts\";\nimport { writeJsonEnvelope } from \"../output.ts\";\nimport { handleMetaError, resolveAccountIdArg } from \"./shared.ts\";\n\n/**\n * Shared plumbing for the staged Meta write commands. Writes NEVER hit Meta\n * directly: every command stages an op against this chat's draft\n * (`/api/ads/meta/draft/stage`), the dashboard shows it as a pending Meta\n * change, and it applies when the chat is published.\n */\n\n/** Backend account ids are bare numeric — strip the `act_` prefix resolveAccountIdArg adds. */\nexport function bareAccountId(args: Record<string, unknown>): string {\n return resolveAccountIdArg(args).replace(/^act_/, \"\");\n}\n\nexport function failWriteValidation(message: string): never {\n writeJsonEnvelope({ ok: false, error: { code: \"VALIDATION_ERROR\", message } });\n process.exit(1);\n}\n\n/** Deleting is permanent, so it only stages through `delete`, whose description carries that warning. */\nexport function refuseDeleteByUpdate(payload: Record<string, unknown>, group: \"campaigns\" | \"adsets\" | \"ads\"): void {\n if (payload.status === \"DELETED\") {\n failWriteValidation(\n `update does not delete — deleting is permanent. Use \\`baker ads meta ${group} delete <id>\\` if the user asked to delete; otherwise pause or archive.`,\n );\n }\n}\n\nexport function loadJsonFileArg(path: unknown): Record<string, unknown> {\n if (typeof path !== \"string\" || path.length === 0) {\n return {};\n }\n try {\n const parsed = JSON.parse(readFileSync(path, \"utf8\")) as unknown;\n if (parsed === null || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n failWriteValidation(`${path} must contain a JSON object`);\n }\n return parsed as Record<string, unknown>;\n } catch (err) {\n if (err instanceof SyntaxError) {\n failWriteValidation(`${path} is not valid JSON: ${err.message}`);\n }\n throw err;\n }\n}\n\n/** Flags override file keys — the file is the base, flags are the overrides. */\nexport function mergePayload(file: Record<string, unknown>, flags: Record<string, unknown>): Record<string, unknown> {\n const merged: Record<string, unknown> = { ...file };\n for (const [key, value] of Object.entries(flags)) {\n if (value !== undefined) {\n merged[key] = value;\n }\n }\n return merged;\n}\n\nexport function parseMoneyFlag(\n amount: unknown,\n currency: unknown,\n flag: string,\n): { amount: string; currencyCode?: string } | undefined {\n if (amount === undefined || amount === null || amount === \"\") {\n return undefined;\n }\n if (currency === undefined || currency === null || currency === \"\") {\n // Meta ad accounts are single-currency — the backend fills it in.\n return { amount: String(amount) };\n }\n if (typeof currency !== \"string\" || currency.length !== 3) {\n failWriteValidation(`${flag} got an invalid --currency (expected a 3-letter code like USD)`);\n }\n return { amount: String(amount), currencyCode: currency.toUpperCase() };\n}\n\n/** Accepts ISO dates (2026-07-10), ISO datetimes, or epoch millis. */\nexport function parseDateFlag(value: unknown, flag: string): number | undefined {\n if (value === undefined || value === null || value === \"\") {\n return undefined;\n }\n const raw = String(value);\n if (/^\\d{10,}$/.test(raw)) {\n return Number(raw);\n }\n const parsed = Date.parse(raw);\n if (Number.isNaN(parsed)) {\n failWriteValidation(`${flag} must be an ISO date (2026-07-10) or epoch milliseconds`);\n }\n return parsed;\n}\n\n/** Split a comma-separated flag into a trimmed, non-empty array. */\nexport function listFlag(value: unknown): string[] | undefined {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n return undefined;\n }\n const items = value\n .split(\",\")\n .map((item) => item.trim())\n .filter(Boolean);\n return items.length > 0 ? items : undefined;\n}\n\n/**\n * A list flag that may be repeated as well as comma-separated\n * (`--countries ES,FR --countries DE`). citty keeps only a repeated flag's last\n * value, so the values are read from the command line (`repeatedValues`).\n */\nexport function repeatedListFlag(\n rawArgs: readonly string[] | undefined,\n flag: string,\n parsed: unknown,\n): string[] | undefined {\n const items = repeatedValues(rawArgs, flag, parsed)\n .flatMap((value) => value.split(\",\"))\n .map((item) => item.trim())\n .filter(Boolean);\n return items.length > 0 ? items : undefined;\n}\n\nexport function upper(value: unknown): string | undefined {\n return typeof value === \"string\" && value.length > 0 ? value.toUpperCase() : undefined;\n}\n\nexport function numberFlag(value: unknown, flag: string): number | undefined {\n if (value === undefined || value === null || value === \"\") {\n return undefined;\n }\n const n = Number(value);\n if (!Number.isFinite(n)) {\n failWriteValidation(`${flag} must be a number`);\n }\n return n;\n}\n\n/**\n * Accepts whichever positional the command declared (`id`, `target`, `ref`) or the raw positional.\n *\n * `--flag false` is refused first: citty turns it into the flag set to TRUE plus a stray positional,\n * so on `campaigns duplicate 6123 --replace false` the copy stages AND the live original is staged\n * for pause — the opposite of what was typed, with an \"ok\" receipt. This is the only place on this\n * surface that reads positionals, and every target-taking command goes through it.\n */\nexport function requireTarget(args: Record<string, unknown>, entity: string): string {\n const inverted = booleanWordPositionalError(args, entity);\n if (inverted !== undefined) {\n failWriteValidation(inverted);\n }\n const positional = Array.isArray(args._) ? args._[0] : undefined;\n const target = args.id ?? args.target ?? args.ref ?? positional;\n if (typeof target !== \"string\" || target.length === 0) {\n failWriteValidation(`pass the ${entity} id as the positional argument`);\n }\n return target;\n}\n\ninterface StageEnvelope extends Record<string, unknown> {\n ok: true;\n data: MetaDraftStageResponse;\n}\n\n/**\n * Preflight-validates the op against the shared `@baker/api/ads-meta` contract\n * (same schema the backend enforces), then stages it. Prints the staged\n * envelope — ref, mode (always `live`: publishing reaches the real ad account),\n * summary, warnings.\n */\n/** The op parsed against the shared contract, or the validation envelope printed and the process ended. */\nfunction preflightOp(raw: Record<string, unknown>) {\n const preflight = metaDraftOpInputSchema.safeParse(raw);\n if (!preflight.success) {\n const fields = preflight.error.issues.map((issue) => ({ path: issue.path.join(\".\"), message: issue.message }));\n writeJsonEnvelope({\n ok: false,\n error: {\n code: \"VALIDATION_ERROR\",\n message: fields.map((field) => (field.path ? `${field.path}: ${field.message}` : field.message)).join(\"; \"),\n fields,\n fix: capabilityFix(\"meta-ads\"),\n },\n });\n process.exit(1);\n }\n return preflight.data;\n}\n\nexport async function stageOp(raw: Record<string, unknown>, extraHints: readonly string[] = []): Promise<void> {\n const op = preflightOp(raw);\n try {\n const chatId = requireChatId();\n const response = await apiPost<StageEnvelope>(\"/api/ads/meta/draft/stage\", { chatId, op });\n const copyHints = await adCopyHints(op);\n writeJsonEnvelope(withHints(response, [...copyHints, ...extraHints]));\n } catch (err) {\n handleMetaError(err);\n }\n}\n\n/**\n * Stage several ops as one command and print one envelope: each staged op's\n * receipt, in order. Stops at the first refusal, which names the op it was —\n * the ones before it stay staged, and the envelope says which.\n */\nexport async function stageOps(raws: readonly Record<string, unknown>[]): Promise<void> {\n const ops = raws.map(preflightOp);\n const chatId = requireChatId();\n const staged: MetaDraftStageResponse[] = [];\n for (const op of ops) {\n try {\n const response = await apiPost<StageEnvelope>(\"/api/ads/meta/draft/stage\", { chatId, op });\n staged.push(response.data);\n } catch (err) {\n if (staged.length > 0) {\n process.stderr.write(`staged before the refusal: ${staged.map((entry) => entry.ref).join(\", \")}\\n`);\n }\n handleMetaError(err);\n }\n }\n writeJsonEnvelope({ ok: true, data: staged });\n}\n\nexport async function stageStatusChange(input: {\n kind: \"campaign.update\" | \"adSet.update\" | \"adCreative.update\" | \"ad.update\" | \"customAudience.update\";\n accountId: string;\n target: string;\n status: \"ACTIVE\" | \"PAUSED\" | \"ARCHIVED\" | \"DELETED\";\n}): Promise<void> {\n await stageOp({\n kind: input.kind,\n accountId: input.accountId,\n target: input.target,\n payload: { status: input.status },\n });\n}\n"],"mappings":"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","names":[]}