@koda-sl/baker-cli 0.554.0 → 0.556.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 (863) hide show
  1. package/README.md +10 -4
  2. package/dist/account-H5CL6KUY.js +82 -0
  3. package/dist/account-assets-QMKT5AT7.js +290 -0
  4. package/dist/account-level-BELF6JHB.js +611 -0
  5. package/dist/account-reads-T6GTSAXE.js +219 -0
  6. package/dist/account-users-ZGJCVGX4.js +64 -0
  7. package/dist/accounts-EXQNPSYH.js +701 -0
  8. package/dist/accounts-GNVLFZ3X.js +80 -0
  9. package/dist/actions-Q2BMP27K.js +55 -0
  10. package/dist/activecampaign-SJO2YK6M.js +938 -0
  11. package/dist/add-Q3FGYX5Q.js +305 -0
  12. package/dist/add-YGQBSEVK.js +107 -0
  13. package/dist/ads-CWKKIYD6.js +48 -0
  14. package/dist/ads-H5AEYIY3.js +120 -0
  15. package/dist/adsets-BUIT7HF2.js +182 -0
  16. package/dist/advertisers-ZAHXMIAT.js +123 -0
  17. package/dist/analytics-QW5ZXDJR.js +447 -0
  18. package/dist/analytics-XPU5SANS.js +2437 -0
  19. package/dist/animate-Q43SOWB4.js +480 -0
  20. package/dist/asset-writes-JVFE457M.js +50 -0
  21. package/dist/assign-HJ2NXW4W.js +80 -0
  22. package/dist/audience-size-IM3N6W7C.js +76 -0
  23. package/dist/audience-writes-DWSCHYQF.js +327 -0
  24. package/dist/audiences-PYBJU2GV.js +106 -0
  25. package/dist/audit-N3LAQMD4.js +154 -0
  26. package/dist/autocomplete-FBTPT5MA.js +114 -0
  27. package/dist/avatars-3OMFIKOJ.js +38 -0
  28. package/dist/bid-pricing-UUAC4GTQ.js +103 -0
  29. package/dist/brand-IZYD5SBJ.js +22 -0
  30. package/dist/brief-TNOKTNFJ.js +543 -0
  31. package/dist/campaign-groups-3IUOLEK2.js +99 -0
  32. package/dist/campaign-writes-Y7QNFOE7.js +168 -0
  33. package/dist/campaigns-2Z6WXIVA.js +130 -0
  34. package/dist/campaigns-B2AUW4TV.js +111 -0
  35. package/dist/campaigns-IDEA3LOK.js +113 -0
  36. package/dist/canvas-PVNQ7YWV.js +46 -0
  37. package/dist/capabilities-FVMMLKPY.js +147 -0
  38. package/dist/catalog-URTZYAPU.js +66 -0
  39. package/dist/catalogs-OEUNVE4N.js +782 -0
  40. package/dist/chatgpt-6KBW7F5S.js +47 -0
  41. package/dist/chats-EENMDXWZ.js +449 -0
  42. package/dist/check-7735BPTR.js +107 -0
  43. package/dist/chunk-2QGGI7MF.js +831 -0
  44. package/dist/chunk-3OMFSYQ3.js +344 -0
  45. package/dist/chunk-4N3Y5QWW.js +29 -0
  46. package/dist/chunk-4N3Y5QWW.js.map +1 -0
  47. package/dist/chunk-65CQYRMK.js +98 -0
  48. package/dist/chunk-6MZFOMLU.js +225 -0
  49. package/dist/chunk-757ZFIL4.js +910 -0
  50. package/dist/chunk-75HAGIH6.js +61 -0
  51. package/dist/chunk-7BVRFQN4.js +430 -0
  52. package/dist/chunk-7TDJCDKT.js +163 -0
  53. package/dist/chunk-7WDH6OKW.js +1902 -0
  54. package/dist/chunk-AL4MRNYI.js +709 -0
  55. package/dist/chunk-AMM4JMSN.js +91 -0
  56. package/dist/chunk-AU3IMZZC.js +19 -0
  57. package/dist/chunk-BMNOMOWP.js +156 -0
  58. package/dist/chunk-BS2MC62Y.js +203 -0
  59. package/dist/chunk-C6PWVZQE.js +103 -0
  60. package/dist/chunk-CDTAKCJR.js +178 -0
  61. package/dist/chunk-CH44XVPE.js +142 -0
  62. package/dist/chunk-CJWLDKFO.js +494 -0
  63. package/dist/chunk-DWPOAU4Z.js +5471 -0
  64. package/dist/chunk-EENYLJUN.js +225 -0
  65. package/dist/chunk-EGVWSAWY.js +83 -0
  66. package/dist/chunk-EGVWSAWY.js.map +1 -0
  67. package/dist/chunk-EJBLF2LI.js +167 -0
  68. package/dist/chunk-EJMPKO6V.js +287 -0
  69. package/dist/chunk-EKXLJRO3.js +197 -0
  70. package/dist/chunk-EL3TDR5S.js +1744 -0
  71. package/dist/chunk-GRDZWZKQ.js +249 -0
  72. package/dist/chunk-GVUBRSD3.js +51 -0
  73. package/dist/chunk-GYREQDTJ.js +392 -0
  74. package/dist/chunk-HBRXFQQV.js +3510 -0
  75. package/dist/chunk-HLHR3EK2.js +23 -0
  76. package/dist/chunk-IMFIRELA.js +547 -0
  77. package/dist/chunk-IOKD77L2.js +89 -0
  78. package/dist/chunk-KDAINT54.js +131 -0
  79. package/dist/chunk-KKKZRQFY.js +297 -0
  80. package/dist/chunk-KLO36KTV.js +224 -0
  81. package/dist/chunk-LC6PVPJX.js +76 -0
  82. package/dist/chunk-LETR3RQE.js +275 -0
  83. package/dist/chunk-MAVT2CJ4.js +66 -0
  84. package/dist/chunk-MJDN7CR7.js +930 -0
  85. package/dist/chunk-MKLAZD23.js +7857 -0
  86. package/dist/chunk-MKLAZD23.js.map +1 -0
  87. package/dist/chunk-N3PASNUA.js +136 -0
  88. package/dist/chunk-NL77JRKE.js +170 -0
  89. package/dist/chunk-OTFHIGEO.js +207 -0
  90. package/dist/chunk-PCUWBZM3.js +169 -0
  91. package/dist/chunk-PNWXTOQ4.js +455 -0
  92. package/dist/chunk-PQFTKHDA.js +479 -0
  93. package/dist/chunk-Q5DFEVLE.js +148 -0
  94. package/dist/chunk-QAJFMVGU.js +91 -0
  95. package/dist/chunk-QXCGWAC6.js +399 -0
  96. package/dist/chunk-RKDMYL4A.js +438 -0
  97. package/dist/chunk-SCBSAIVV.js +392 -0
  98. package/dist/chunk-SPBUE7R4.js +685 -0
  99. package/dist/chunk-TRAMBRVO.js +191 -0
  100. package/dist/chunk-TWFZIHKK.js +219 -0
  101. package/dist/chunk-UCJAPB5Y.js +334 -0
  102. package/dist/chunk-VFDWUIGR.js +57 -0
  103. package/dist/chunk-VN3WDB4O.js +45 -0
  104. package/dist/chunk-VN3WDB4O.js.map +1 -0
  105. package/dist/chunk-WC3YSN7L.js +604 -0
  106. package/dist/chunk-X3GWGFZP.js +5368 -0
  107. package/dist/chunk-X6U3B6YK.js +343 -0
  108. package/dist/chunk-X6U3B6YK.js.map +1 -0
  109. package/dist/chunk-XZAVBONI.js +64 -0
  110. package/dist/chunk-Y5PNLB24.js +84 -0
  111. package/dist/chunk-ZC6FICZ7.js +2209 -0
  112. package/dist/chunk-ZEGWP4FP.js +8954 -0
  113. package/dist/claim-PGDIRXIC.js +200 -0
  114. package/dist/cli.js +36 -36
  115. package/dist/companies-WTPKGEB3.js +198 -0
  116. package/dist/company-6H2H73YP.js +308 -0
  117. package/dist/complete-2QBC3POO.js +84 -0
  118. package/dist/connect-35YPFAUL.js +45 -0
  119. package/dist/conversation-YZFNEWDV.js +96 -0
  120. package/dist/conversion-upload-command-J2FIO74Y.js +439 -0
  121. package/dist/conversions-UGRVDRWU.js +78 -0
  122. package/dist/conversions-ZFDBD3OU.js +140 -0
  123. package/dist/copy-writes-2B36QJUY.js +170 -0
  124. package/dist/create-3H67EUTO.js +62 -0
  125. package/dist/create-ALTOBDP4.js +239 -0
  126. package/dist/create-C3MWUYX2.js +210 -0
  127. package/dist/create-WHTT6IXY.js +135 -0
  128. package/dist/creatives-22BYP5VN.js +118 -0
  129. package/dist/creatives-IFOPXTZK.js +58 -0
  130. package/dist/creatives-WBBN6G7H.js +229 -0
  131. package/dist/creatives-WBBN6G7H.js.map +1 -0
  132. package/dist/credentials-J5DMQJWN.js +290 -0
  133. package/dist/critique-PQRVFC52.js +232 -0
  134. package/dist/critique-X6XVPIUG.js +1451 -0
  135. package/dist/crm-LWRGJYHW.js +227 -0
  136. package/dist/crm-RUNEJY2R.js +323 -0
  137. package/dist/crop-4V4P3SKI.js +113 -0
  138. package/dist/custom-conversions-V7QPZIB4.js +128 -0
  139. package/dist/customers-IDB6NLQ6.js +65 -0
  140. package/dist/delete-2QKVUKKB.js +67 -0
  141. package/dist/delete-B7BKF24X.js +57 -0
  142. package/dist/delete-HBRYUWAA.js +69 -0
  143. package/dist/demographics-JHB3NFLU.js +141 -0
  144. package/dist/dimensions-KI3OENZD.js +101 -0
  145. package/dist/discard-FEJ6YL22.js +69 -0
  146. package/dist/domain-JYWNXBKS.js +101 -0
  147. package/dist/download-H3ZDQTFG.js +337 -0
  148. package/dist/download-H3ZDQTFG.js.map +1 -0
  149. package/dist/download-LOBPOIU5.js +172 -0
  150. package/dist/draft-EB5ZFDVN.js +557 -0
  151. package/dist/draft-I2FLECEX.js +220 -0
  152. package/dist/draft-N56HPS36.js +374 -0
  153. package/dist/draft-ZLZRTPY6.js +332 -0
  154. package/dist/engine/index.js +5 -5
  155. package/dist/experiment-O6726OBP.js +1397 -0
  156. package/dist/experiments-WVTBHD6G.js +236 -0
  157. package/dist/extract-UELZV3NI.js +142 -0
  158. package/dist/extract-UELZV3NI.js.map +1 -0
  159. package/dist/facets-V2ITIUKD.js +117 -0
  160. package/dist/feedback-MXUZWVOL.js +115 -0
  161. package/dist/feedback-PXWPR3NZ.js +136 -0
  162. package/dist/feedback-record-76RUAHZH.js +269 -0
  163. package/dist/fetch-QVOOC3FA.js +204 -0
  164. package/dist/fit-REGMM46H.js +65 -0
  165. package/dist/flows-EZV3KCV6.js +250 -0
  166. package/dist/fonts-NUX66HEI.js +39 -0
  167. package/dist/forecast-W6HKYVX5.js +121 -0
  168. package/dist/forecast-XDRKCR65.js +169 -0
  169. package/dist/funnel-3YABA3G2.js +397 -0
  170. package/dist/ga4-XFJO7VK2.js +55 -0
  171. package/dist/generate-22HT24SA.js +263 -0
  172. package/dist/get-GQQLBE5C.js +82 -0
  173. package/dist/get-NL3YZFUJ.js +62 -0
  174. package/dist/google-BPB5JLJG.js +162 -0
  175. package/dist/google-BPB5JLJG.js.map +1 -0
  176. package/dist/google-UJ4YJGTJ.js +3285 -0
  177. package/dist/google-ads-RRKKSKDD.js +198 -0
  178. package/dist/gsc-ILEIJYWP.js +30 -0
  179. package/dist/history-2UANIBRN.js +102 -0
  180. package/dist/history-YZ727ZRG.js +153 -0
  181. package/dist/hubspot-KWLXJ6QD.js +782 -0
  182. package/dist/ideas-ZO533P5Y.js +45 -0
  183. package/dist/images-Z7YBWRVJ.js +92 -0
  184. package/dist/ingest-C2HJ5LUY.js +27 -0
  185. package/dist/ingest-H53JR4GK.js +123 -0
  186. package/dist/inspect-BM6GJHQV.js +192 -0
  187. package/dist/inspiration-WGUU7W5Z.js +53 -0
  188. package/dist/instant-experiences-U6U3FYIH.js +264 -0
  189. package/dist/keyword-metrics-R2QCEDYW.js +200 -0
  190. package/dist/keywords-for-site-NBV72C3W.js +131 -0
  191. package/dist/landing-5RRWTSWK.js +28 -0
  192. package/dist/leads-6PF7ZWCH.js +115 -0
  193. package/dist/leads-IG3IIHXG.js +541 -0
  194. package/dist/learn-V2LIBEEY.js +207 -0
  195. package/dist/line-item-writes-GMNWL4DI.js +211 -0
  196. package/dist/line-items-KPIKXLG4.js +107 -0
  197. package/dist/link-X7IYKR5V.js +67 -0
  198. package/dist/linkedin-DJ4VDOF4.js +1344 -0
  199. package/dist/linkedin-DJ4VDOF4.js.map +1 -0
  200. package/dist/linkedin-person-47XFTBIN.js +139 -0
  201. package/dist/list-PHNA7QIF.js +154 -0
  202. package/dist/list-QF3BANBM.js +306 -0
  203. package/dist/list-SB3SUTH6.js +67 -0
  204. package/dist/log-JFLSSUJ6.js +95 -0
  205. package/dist/make-HZ5KAYSB.js +1367 -0
  206. package/dist/map-NYJT2MGI.js +436 -0
  207. package/dist/mcp-ABQEICYR.js +729 -0
  208. package/dist/media-AT3VV3PU.js +18 -0
  209. package/dist/media-sources-DEEKEJUB.js +35 -0
  210. package/dist/members-BX37KHKO.js +47 -0
  211. package/dist/meta-XUHI3E3L.js +122 -0
  212. package/dist/meta-XUHI3E3L.js.map +1 -0
  213. package/dist/normalize-M3VMWF4W.js +806 -0
  214. package/dist/normalize-MA2FBBIV.js +144 -0
  215. package/dist/options-NMWWF2HN.js +125 -0
  216. package/dist/organization-GRAA6ZXU.js +949 -0
  217. package/dist/page-photos-ABK4CJME.js +118 -0
  218. package/dist/performance-MQLRSH44.js +5565 -0
  219. package/dist/performance-RUBIGEAQ.js +27 -0
  220. package/dist/posts-F7NFSUHV.js +36 -0
  221. package/dist/preview-IBNFQ5RQ.js +101 -0
  222. package/dist/preview-IBNFQ5RQ.js.map +1 -0
  223. package/dist/preview-OV2EZ6YF.js +245 -0
  224. package/dist/preview-OV2EZ6YF.js.map +1 -0
  225. package/dist/promoted-tweet-writes-3P6QFGLN.js +183 -0
  226. package/dist/promoted-tweets-TGFPH7UI.js +119 -0
  227. package/dist/publish-OUVO65Z5.js +344 -0
  228. package/dist/reddit-HWQCUSEM.js +29 -0
  229. package/dist/refresh-ENQDQGTK.js +97 -0
  230. package/dist/release-ZTVXLUQS.js +63 -0
  231. package/dist/remove-XAFRT7O7.js +53 -0
  232. package/dist/reopen-SWSZHXJZ.js +66 -0
  233. package/dist/rerun-X7XVOAL3.js +96 -0
  234. package/dist/research-JMU4C4JZ.js +75 -0
  235. package/dist/research-TDH4OBX6.js +265 -0
  236. package/dist/reset-34HTKUBQ.js +57 -0
  237. package/dist/reset-KMMGLM7W.js +57 -0
  238. package/dist/resolve-2CIIKADD.js +124 -0
  239. package/dist/retry-V7KZIZKR.js +63 -0
  240. package/dist/retry-YXM23NSB.js +65 -0
  241. package/dist/revenue-D4L6U2CW.js +91 -0
  242. package/dist/rule-writes-HUBHHYEO.js +530 -0
  243. package/dist/rules-47LFGCPW.js +217 -0
  244. package/dist/rules-F6RNUOXP.js +99 -0
  245. package/dist/rules-add-SAQRESVK.js +465 -0
  246. package/dist/run-3GCYZ2HX.js +71 -0
  247. package/dist/run-FRPO2WNQ.js +69 -0
  248. package/dist/scaffold-ad-E6DD6U46.js +1513 -0
  249. package/dist/scaffold-static-ad-6WNS2PXB.js +1011 -0
  250. package/dist/scaffold-video-QKXFQ5FC.js +885 -0
  251. package/dist/schedule-S4XAVVEI.js +64 -0
  252. package/dist/scheduled-agents-ZWAP6QLC.js +55 -0
  253. package/dist/schema-EJ2XPUN6.js +135 -0
  254. package/dist/scrape-O4X6VGV2.js +2209 -0
  255. package/dist/scrape-O4X6VGV2.js.map +1 -0
  256. package/dist/search-2BAY3KKX.js +177 -0
  257. package/dist/select-ABRNFFR2.js +110 -0
  258. package/dist/set-prompt-5LYHDT4E.js +199 -0
  259. package/dist/setup-links-QT63UZBR.js +144 -0
  260. package/dist/shopify-L4ZUI6OT.js +4009 -0
  261. package/dist/site-S6QVMP7W.js +180 -0
  262. package/dist/sources-6TWWOO7Q.js +30 -0
  263. package/dist/sources-ORG5KQSW.js +457 -0
  264. package/dist/stale-MLQPXNLZ.js +90 -0
  265. package/dist/status-4G2YUCZR.js +65 -0
  266. package/dist/stock-5SQ2PGEC.js +211 -0
  267. package/dist/stock-5SQ2PGEC.js.map +1 -0
  268. package/dist/studies-QLSKON6M.js +250 -0
  269. package/dist/studio-ZLBBYHNY.js +49 -0
  270. package/dist/study-writes-GBUUKX4O.js +471 -0
  271. package/dist/sync-7LJZPHM3.js +57 -0
  272. package/dist/sync-definition-MXVL2I2H.js +70 -0
  273. package/dist/tags-2ARVNEYS.js +23 -0
  274. package/dist/tags-F4IT7RQR.js +23 -0
  275. package/dist/tags-F7ZO52EM.js +23 -0
  276. package/dist/tags-NBGGBHXR.js +227 -0
  277. package/dist/tags-TCSGQYDR.js +26 -0
  278. package/dist/targeting-DAUTJDUB.js +762 -0
  279. package/dist/targeting-criteria-H42LRULY.js +113 -0
  280. package/dist/targets-WB4E5XL2.js +106 -0
  281. package/dist/testimonials-RIJSQDSB.js +32 -0
  282. package/dist/themes-BGBDYQQK.js +95 -0
  283. package/dist/top-companies-C2W5TJ7G.js +111 -0
  284. package/dist/transcript-S7VR2GJE.js +165 -0
  285. package/dist/translate-A4GHRHSP.js +603 -0
  286. package/dist/triggers-EOKMR74O.js +144 -0
  287. package/dist/unlink-PC3TMWUT.js +70 -0
  288. package/dist/unstage-SU2ATDSZ.js +88 -0
  289. package/dist/update-DKX3EEES.js +155 -0
  290. package/dist/update-JYZ45YJG.js +66 -0
  291. package/dist/update-TAZSUOAS.js +192 -0
  292. package/dist/update-WRJUH2NM.js +101 -0
  293. package/dist/upload-BLXTMK5Q.js +130 -0
  294. package/dist/url-params-YVOFU6MK.js +101 -0
  295. package/dist/validate-44PVFQH7.js +125 -0
  296. package/dist/videos-RWPQVXS5.js +41 -0
  297. package/dist/viewer-check-KTRRUVZN.js +83 -0
  298. package/dist/web-6KUM7Q7S.js +173 -0
  299. package/dist/winning-ads-IT3O4EAN.js +86 -0
  300. package/dist/write-commands-3U5ZMIHH.js +1524 -0
  301. package/dist/write-commands-F5XPPLOO.js +1169 -0
  302. package/dist/x-X7URL52T.js +47 -0
  303. package/package.json +1 -1
  304. package/dist/account-XIC5TTV3.js +0 -82
  305. package/dist/account-assets-V7KSSTVP.js +0 -290
  306. package/dist/account-level-2KLG6HTG.js +0 -611
  307. package/dist/account-reads-ZPZUCB3P.js +0 -219
  308. package/dist/account-users-XTUKRDWK.js +0 -64
  309. package/dist/accounts-25JL77F7.js +0 -701
  310. package/dist/accounts-AF72N4NV.js +0 -80
  311. package/dist/actions-IJO4JW7J.js +0 -55
  312. package/dist/activecampaign-PBTUMTO5.js +0 -938
  313. package/dist/add-KHQXXHC5.js +0 -107
  314. package/dist/add-YQPFRDVM.js +0 -305
  315. package/dist/ads-5YCCRXEU.js +0 -48
  316. package/dist/ads-EVQ37EV3.js +0 -120
  317. package/dist/adsets-4IW5TRAK.js +0 -182
  318. package/dist/advertisers-JNOWSZZC.js +0 -123
  319. package/dist/analytics-CZMCM7XC.js +0 -2437
  320. package/dist/analytics-K5FCQLI5.js +0 -447
  321. package/dist/animate-C6BRMRRD.js +0 -480
  322. package/dist/asset-writes-RF6XTWLY.js +0 -50
  323. package/dist/assign-WXZNXVJH.js +0 -80
  324. package/dist/audience-size-ZCWH4CFC.js +0 -76
  325. package/dist/audience-writes-5KT6FHUY.js +0 -327
  326. package/dist/audiences-ZDOK3OYC.js +0 -106
  327. package/dist/audit-RBRXPPKK.js +0 -154
  328. package/dist/autocomplete-P5OU7QVL.js +0 -114
  329. package/dist/avatars-UHBA2BQ3.js +0 -38
  330. package/dist/bid-pricing-LHNYSDG4.js +0 -103
  331. package/dist/brand-7WL3O74X.js +0 -22
  332. package/dist/brief-HWZU75WP.js +0 -543
  333. package/dist/campaign-groups-BYS3GNEP.js +0 -99
  334. package/dist/campaign-writes-N6OHAK6V.js +0 -168
  335. package/dist/campaigns-2E4AQBFB.js +0 -113
  336. package/dist/campaigns-3U5IRXSV.js +0 -130
  337. package/dist/campaigns-QLKGN4FB.js +0 -111
  338. package/dist/canvas-GGHJ26ZM.js +0 -46
  339. package/dist/capabilities-TKEEHR7K.js +0 -147
  340. package/dist/catalog-7KQN43HS.js +0 -66
  341. package/dist/catalogs-5CHPI4H6.js +0 -782
  342. package/dist/chatgpt-YBHXCXWZ.js +0 -47
  343. package/dist/chats-PBXYH2LT.js +0 -449
  344. package/dist/check-SVYI72DF.js +0 -107
  345. package/dist/chunk-2RL2T5JO.js +0 -142
  346. package/dist/chunk-3HLQZTQ3.js +0 -685
  347. package/dist/chunk-42JTSTQ3.js +0 -207
  348. package/dist/chunk-4AEAL63J.js +0 -203
  349. package/dist/chunk-4PM32OS3.js +0 -57
  350. package/dist/chunk-4ULGRGBG.js +0 -333
  351. package/dist/chunk-4ULGRGBG.js.map +0 -1
  352. package/dist/chunk-4XMPL3RU.js +0 -19
  353. package/dist/chunk-5AOTCCTT.js +0 -831
  354. package/dist/chunk-5NLUTJCQ.js +0 -5368
  355. package/dist/chunk-6FWVRXDW.js +0 -64
  356. package/dist/chunk-6MXM6DA6.js +0 -225
  357. package/dist/chunk-73MLPGI2.js +0 -66
  358. package/dist/chunk-7OVPQX4X.js +0 -163
  359. package/dist/chunk-B5UVOCYA.js +0 -344
  360. package/dist/chunk-BRNZMKO4.js +0 -604
  361. package/dist/chunk-CJFCQMUY.js +0 -438
  362. package/dist/chunk-D6VQPBVM.js +0 -5471
  363. package/dist/chunk-DK66PUXL.js +0 -275
  364. package/dist/chunk-DNH2ZPZP.js +0 -287
  365. package/dist/chunk-DWSSQBLO.js +0 -103
  366. package/dist/chunk-ESXUIV6V.js +0 -169
  367. package/dist/chunk-FSEFZZ2T.js +0 -930
  368. package/dist/chunk-I4BQTVMY.js +0 -225
  369. package/dist/chunk-IBBGABK2.js +0 -91
  370. package/dist/chunk-IC4MREQH.js +0 -219
  371. package/dist/chunk-IJ6NQKAT.js +0 -61
  372. package/dist/chunk-IZROFBH7.js +0 -167
  373. package/dist/chunk-J5UTL4HE.js +0 -3510
  374. package/dist/chunk-JBMZVC5D.js +0 -91
  375. package/dist/chunk-LFELUKCA.js +0 -249
  376. package/dist/chunk-LMOZWB4G.js +0 -98
  377. package/dist/chunk-LVLTWPRR.js +0 -392
  378. package/dist/chunk-N5AIO23H.js +0 -2209
  379. package/dist/chunk-NE3OMP7R.js +0 -23
  380. package/dist/chunk-NO52OH3Y.js +0 -156
  381. package/dist/chunk-NRIKX35V.js +0 -399
  382. package/dist/chunk-NZYWKZ3Q.js +0 -76
  383. package/dist/chunk-OIORUNKH.js +0 -1902
  384. package/dist/chunk-OKXLOLEV.js +0 -455
  385. package/dist/chunk-P4MXGSSJ.js +0 -178
  386. package/dist/chunk-PYAR343F.js +0 -479
  387. package/dist/chunk-QFVZIQRQ.js +0 -8954
  388. package/dist/chunk-QI5UKQX3.js +0 -297
  389. package/dist/chunk-RCNAKWK7.js +0 -7852
  390. package/dist/chunk-RCNAKWK7.js.map +0 -1
  391. package/dist/chunk-RHNNFCRY.js +0 -494
  392. package/dist/chunk-RJQT7QXX.js +0 -547
  393. package/dist/chunk-RMZLB4AH.js +0 -197
  394. package/dist/chunk-S4NMWYHW.js +0 -51
  395. package/dist/chunk-S6XZIBWV.js +0 -392
  396. package/dist/chunk-SFQFUQDW.js +0 -170
  397. package/dist/chunk-SP3MHBME.js +0 -89
  398. package/dist/chunk-TGT4XHLX.js +0 -131
  399. package/dist/chunk-VX6GTRT3.js +0 -910
  400. package/dist/chunk-WGJ2QEW4.js +0 -334
  401. package/dist/chunk-XB4NKZAQ.js +0 -136
  402. package/dist/chunk-XSBX3LJP.js +0 -430
  403. package/dist/chunk-XXBP73RV.js +0 -148
  404. package/dist/chunk-Y3SK6EMU.js +0 -84
  405. package/dist/chunk-Y4ZBNZBU.js +0 -191
  406. package/dist/chunk-YCAJCVW4.js +0 -224
  407. package/dist/chunk-ZANXEMON.js +0 -1744
  408. package/dist/chunk-ZMTWQDFC.js +0 -709
  409. package/dist/claim-Q76T3MYA.js +0 -200
  410. package/dist/companies-MLWRWQ73.js +0 -198
  411. package/dist/company-X5Z67PMK.js +0 -308
  412. package/dist/complete-3CFP6XVY.js +0 -84
  413. package/dist/connect-QXFAB4RJ.js +0 -45
  414. package/dist/conversation-C6K6IZTH.js +0 -96
  415. package/dist/conversion-upload-command-D7S5HF22.js +0 -439
  416. package/dist/conversions-4ILDIG3K.js +0 -140
  417. package/dist/conversions-CRL327RY.js +0 -78
  418. package/dist/copy-writes-FYXKHJDB.js +0 -170
  419. package/dist/create-LDQ3YHET.js +0 -62
  420. package/dist/create-TKOG7DNJ.js +0 -210
  421. package/dist/create-WFMJOZLO.js +0 -135
  422. package/dist/create-WQNT345R.js +0 -239
  423. package/dist/creatives-45SJAD3G.js +0 -118
  424. package/dist/creatives-E4CTMZJJ.js +0 -223
  425. package/dist/creatives-E4CTMZJJ.js.map +0 -1
  426. package/dist/creatives-Q4OXNCTT.js +0 -58
  427. package/dist/credentials-E2AIMWKX.js +0 -290
  428. package/dist/critique-EWV3O3TD.js +0 -1451
  429. package/dist/critique-JVT6X2T3.js +0 -232
  430. package/dist/crm-NQH5FTK6.js +0 -227
  431. package/dist/crm-YGQKK76D.js +0 -323
  432. package/dist/crop-KV24WHOR.js +0 -113
  433. package/dist/custom-conversions-EJNX4MCK.js +0 -128
  434. package/dist/customers-YFEPJF4G.js +0 -65
  435. package/dist/delete-2UJVTHRE.js +0 -67
  436. package/dist/delete-7QAJSOCO.js +0 -69
  437. package/dist/delete-O4RO2HMR.js +0 -57
  438. package/dist/demographics-YWBHAMZ5.js +0 -141
  439. package/dist/dimensions-YXOXHOXW.js +0 -101
  440. package/dist/discard-YX4XUXG3.js +0 -69
  441. package/dist/domain-5R6CYVFY.js +0 -101
  442. package/dist/download-D2O4RYJ3.js +0 -172
  443. package/dist/download-SYWQXF57.js +0 -299
  444. package/dist/download-SYWQXF57.js.map +0 -1
  445. package/dist/draft-3MPADYS4.js +0 -220
  446. package/dist/draft-L56EMJQT.js +0 -374
  447. package/dist/draft-NLSQDRVQ.js +0 -332
  448. package/dist/draft-SGNQOUYH.js +0 -557
  449. package/dist/experiment-3NDXGQK6.js +0 -1397
  450. package/dist/experiments-DYNNWQRB.js +0 -236
  451. package/dist/extract-DWDZI35Y.js +0 -121
  452. package/dist/extract-DWDZI35Y.js.map +0 -1
  453. package/dist/facets-Y2IEM37E.js +0 -117
  454. package/dist/feedback-HJRVTU6C.js +0 -115
  455. package/dist/feedback-IVSLM5PN.js +0 -136
  456. package/dist/feedback-record-P7CO3IGE.js +0 -269
  457. package/dist/fetch-V2U5VUQZ.js +0 -204
  458. package/dist/fit-JDG6E46O.js +0 -65
  459. package/dist/flows-DP574PEX.js +0 -250
  460. package/dist/fonts-RMROS3LX.js +0 -39
  461. package/dist/forecast-AAHHVTBK.js +0 -169
  462. package/dist/forecast-BRXNGMGD.js +0 -121
  463. package/dist/funnel-FQX3DOE7.js +0 -397
  464. package/dist/ga4-IJ2UUICC.js +0 -55
  465. package/dist/generate-SYOQE3F7.js +0 -263
  466. package/dist/get-HMTI2IR6.js +0 -82
  467. package/dist/get-VFDNTZ54.js +0 -62
  468. package/dist/google-4FP6AHBL.js +0 -3285
  469. package/dist/google-HWEDJ4YS.js +0 -144
  470. package/dist/google-HWEDJ4YS.js.map +0 -1
  471. package/dist/google-ads-4DLYASRC.js +0 -198
  472. package/dist/gsc-YAU4EA75.js +0 -30
  473. package/dist/history-6B6RXNV3.js +0 -102
  474. package/dist/history-NLZSX4BK.js +0 -153
  475. package/dist/hubspot-LABBRJ44.js +0 -782
  476. package/dist/ideas-A4ELJN23.js +0 -45
  477. package/dist/images-JVNT7KYM.js +0 -92
  478. package/dist/ingest-GQWR3RHR.js +0 -27
  479. package/dist/ingest-JYN2IDKV.js +0 -123
  480. package/dist/inspect-72DY33YD.js +0 -192
  481. package/dist/inspiration-DNWTXEPX.js +0 -53
  482. package/dist/instant-experiences-6NTBX4SL.js +0 -264
  483. package/dist/keyword-metrics-GP7L2MQE.js +0 -200
  484. package/dist/keywords-for-site-6YWAUOKJ.js +0 -131
  485. package/dist/landing-EKHAZS5P.js +0 -28
  486. package/dist/leads-RN6RYOMU.js +0 -541
  487. package/dist/leads-UCXIIA5K.js +0 -115
  488. package/dist/learn-EJEFERQZ.js +0 -207
  489. package/dist/line-item-writes-IMCE2FDW.js +0 -211
  490. package/dist/line-items-ISUC3WDO.js +0 -107
  491. package/dist/link-6QL4ZVSU.js +0 -67
  492. package/dist/linkedin-OFL77SUR.js +0 -1330
  493. package/dist/linkedin-OFL77SUR.js.map +0 -1
  494. package/dist/linkedin-person-C24CBKCH.js +0 -139
  495. package/dist/list-2VNI3U7I.js +0 -154
  496. package/dist/list-PZD2QOZL.js +0 -67
  497. package/dist/list-SUXUMXPJ.js +0 -306
  498. package/dist/log-VLI7KQF2.js +0 -95
  499. package/dist/make-365ZJ25L.js +0 -1367
  500. package/dist/map-OEFL45WA.js +0 -436
  501. package/dist/mcp-NCZYQXQL.js +0 -729
  502. package/dist/media-WASM45QW.js +0 -18
  503. package/dist/media-sources-CZDK4W5Q.js +0 -35
  504. package/dist/members-N3PQSVQC.js +0 -47
  505. package/dist/meta-QFLNABF5.js +0 -122
  506. package/dist/meta-QFLNABF5.js.map +0 -1
  507. package/dist/normalize-4OKUF5BJ.js +0 -806
  508. package/dist/normalize-6DEJPTBF.js +0 -144
  509. package/dist/options-OJX77MYT.js +0 -125
  510. package/dist/organization-URQGKFEC.js +0 -949
  511. package/dist/page-photos-N4S7U7FR.js +0 -118
  512. package/dist/performance-P5T4LJRG.js +0 -27
  513. package/dist/performance-SIWBDORI.js +0 -5565
  514. package/dist/posts-MVCGZV54.js +0 -36
  515. package/dist/preview-DMTQR6ZW.js +0 -218
  516. package/dist/preview-DMTQR6ZW.js.map +0 -1
  517. package/dist/promoted-tweet-writes-S2HP5DEI.js +0 -183
  518. package/dist/promoted-tweets-WZT4N5IR.js +0 -119
  519. package/dist/publish-EDYBQHGJ.js +0 -344
  520. package/dist/reddit-DEGGHR4M.js +0 -29
  521. package/dist/refresh-HPNJGI2U.js +0 -97
  522. package/dist/release-H7M37CEO.js +0 -63
  523. package/dist/remove-MV4YS72N.js +0 -53
  524. package/dist/reopen-EFW2SKOY.js +0 -66
  525. package/dist/rerun-OM4N74YK.js +0 -96
  526. package/dist/research-7YDQOKA6.js +0 -265
  527. package/dist/research-MHXKAQW4.js +0 -75
  528. package/dist/reset-HT4AGJPR.js +0 -57
  529. package/dist/reset-XPZQ5F4D.js +0 -57
  530. package/dist/resolve-RTTXEN2B.js +0 -124
  531. package/dist/retry-DVLVWHEK.js +0 -63
  532. package/dist/retry-SBGWOUQO.js +0 -65
  533. package/dist/revenue-KJLJ53XY.js +0 -91
  534. package/dist/rule-writes-DNXELESR.js +0 -530
  535. package/dist/rules-KCSET46P.js +0 -217
  536. package/dist/rules-NVKU732Z.js +0 -99
  537. package/dist/rules-add-KY42EHJE.js +0 -465
  538. package/dist/run-2LQ7XJEO.js +0 -69
  539. package/dist/run-M7YU6KCV.js +0 -71
  540. package/dist/scaffold-ad-6YPZ75YJ.js +0 -1513
  541. package/dist/scaffold-static-ad-UJEWTDU5.js +0 -1011
  542. package/dist/scaffold-video-M4VWSVJ6.js +0 -885
  543. package/dist/schedule-J7HZQ2EL.js +0 -64
  544. package/dist/scheduled-agents-IVUQUKF4.js +0 -55
  545. package/dist/schema-LHBKBUV7.js +0 -135
  546. package/dist/scrape-FQUGOXCG.js +0 -2241
  547. package/dist/scrape-FQUGOXCG.js.map +0 -1
  548. package/dist/search-3AW52FO6.js +0 -177
  549. package/dist/select-STIWQ36I.js +0 -110
  550. package/dist/set-prompt-TODWV2F4.js +0 -199
  551. package/dist/setup-links-MNBD3UMH.js +0 -144
  552. package/dist/shopify-RJWLTNPQ.js +0 -4009
  553. package/dist/site-ZZUKS6MQ.js +0 -180
  554. package/dist/sources-36MJ6T4V.js +0 -30
  555. package/dist/sources-GNLQHTSJ.js +0 -457
  556. package/dist/stale-GJN7UO3D.js +0 -90
  557. package/dist/status-6EGB6ORB.js +0 -65
  558. package/dist/stock-DJ6I3CTO.js +0 -187
  559. package/dist/stock-DJ6I3CTO.js.map +0 -1
  560. package/dist/studies-4XXCEAHH.js +0 -250
  561. package/dist/studio-OARORMDJ.js +0 -49
  562. package/dist/study-writes-J56UIIE3.js +0 -471
  563. package/dist/sync-QHM3LMAX.js +0 -57
  564. package/dist/sync-definition-YXGN6PIQ.js +0 -70
  565. package/dist/tags-GHV5R7NI.js +0 -26
  566. package/dist/tags-IDWUV2FY.js +0 -227
  567. package/dist/tags-MBBRBZJH.js +0 -23
  568. package/dist/tags-MQYF2JHQ.js +0 -23
  569. package/dist/tags-ZGXJHATH.js +0 -23
  570. package/dist/targeting-KJ4DI56R.js +0 -762
  571. package/dist/targeting-criteria-GDCXOAUD.js +0 -113
  572. package/dist/targets-MYHOPAYY.js +0 -106
  573. package/dist/testimonials-R6RFGAKP.js +0 -32
  574. package/dist/themes-LHVXXVTX.js +0 -95
  575. package/dist/top-companies-POTV3Y2A.js +0 -111
  576. package/dist/transcript-4RVYKDVZ.js +0 -165
  577. package/dist/translate-UCASCVMN.js +0 -603
  578. package/dist/triggers-XHMMOZJK.js +0 -144
  579. package/dist/unlink-3IW3EORE.js +0 -70
  580. package/dist/unstage-APVF6KHB.js +0 -88
  581. package/dist/update-2VSJH4LQ.js +0 -66
  582. package/dist/update-42QYBUE3.js +0 -101
  583. package/dist/update-ESK6PSME.js +0 -192
  584. package/dist/update-V7SRDGHN.js +0 -155
  585. package/dist/upload-42IR5RIL.js +0 -130
  586. package/dist/url-params-GEESXN57.js +0 -101
  587. package/dist/validate-Z5SSEUES.js +0 -125
  588. package/dist/videos-PJAPZPOT.js +0 -41
  589. package/dist/viewer-check-6M34VY7K.js +0 -83
  590. package/dist/web-PUVVFMV3.js +0 -173
  591. package/dist/winning-ads-ZCP4MIEQ.js +0 -86
  592. package/dist/write-commands-5LEEPKA7.js +0 -1169
  593. package/dist/write-commands-ZS4O4DSV.js +0 -1524
  594. package/dist/x-ZKCLP23S.js +0 -47
  595. /package/dist/{account-XIC5TTV3.js.map → account-H5CL6KUY.js.map} +0 -0
  596. /package/dist/{account-assets-V7KSSTVP.js.map → account-assets-QMKT5AT7.js.map} +0 -0
  597. /package/dist/{account-level-2KLG6HTG.js.map → account-level-BELF6JHB.js.map} +0 -0
  598. /package/dist/{account-reads-ZPZUCB3P.js.map → account-reads-T6GTSAXE.js.map} +0 -0
  599. /package/dist/{account-users-XTUKRDWK.js.map → account-users-ZGJCVGX4.js.map} +0 -0
  600. /package/dist/{accounts-25JL77F7.js.map → accounts-EXQNPSYH.js.map} +0 -0
  601. /package/dist/{accounts-AF72N4NV.js.map → accounts-GNVLFZ3X.js.map} +0 -0
  602. /package/dist/{actions-IJO4JW7J.js.map → actions-Q2BMP27K.js.map} +0 -0
  603. /package/dist/{activecampaign-PBTUMTO5.js.map → activecampaign-SJO2YK6M.js.map} +0 -0
  604. /package/dist/{add-YQPFRDVM.js.map → add-Q3FGYX5Q.js.map} +0 -0
  605. /package/dist/{add-KHQXXHC5.js.map → add-YGQBSEVK.js.map} +0 -0
  606. /package/dist/{ads-5YCCRXEU.js.map → ads-CWKKIYD6.js.map} +0 -0
  607. /package/dist/{ads-EVQ37EV3.js.map → ads-H5AEYIY3.js.map} +0 -0
  608. /package/dist/{adsets-4IW5TRAK.js.map → adsets-BUIT7HF2.js.map} +0 -0
  609. /package/dist/{advertisers-JNOWSZZC.js.map → advertisers-ZAHXMIAT.js.map} +0 -0
  610. /package/dist/{analytics-K5FCQLI5.js.map → analytics-QW5ZXDJR.js.map} +0 -0
  611. /package/dist/{analytics-CZMCM7XC.js.map → analytics-XPU5SANS.js.map} +0 -0
  612. /package/dist/{animate-C6BRMRRD.js.map → animate-Q43SOWB4.js.map} +0 -0
  613. /package/dist/{asset-writes-RF6XTWLY.js.map → asset-writes-JVFE457M.js.map} +0 -0
  614. /package/dist/{assign-WXZNXVJH.js.map → assign-HJ2NXW4W.js.map} +0 -0
  615. /package/dist/{audience-size-ZCWH4CFC.js.map → audience-size-IM3N6W7C.js.map} +0 -0
  616. /package/dist/{audience-writes-5KT6FHUY.js.map → audience-writes-DWSCHYQF.js.map} +0 -0
  617. /package/dist/{audiences-ZDOK3OYC.js.map → audiences-PYBJU2GV.js.map} +0 -0
  618. /package/dist/{audit-RBRXPPKK.js.map → audit-N3LAQMD4.js.map} +0 -0
  619. /package/dist/{autocomplete-P5OU7QVL.js.map → autocomplete-FBTPT5MA.js.map} +0 -0
  620. /package/dist/{avatars-UHBA2BQ3.js.map → avatars-3OMFIKOJ.js.map} +0 -0
  621. /package/dist/{bid-pricing-LHNYSDG4.js.map → bid-pricing-UUAC4GTQ.js.map} +0 -0
  622. /package/dist/{brand-7WL3O74X.js.map → brand-IZYD5SBJ.js.map} +0 -0
  623. /package/dist/{brief-HWZU75WP.js.map → brief-TNOKTNFJ.js.map} +0 -0
  624. /package/dist/{campaign-groups-BYS3GNEP.js.map → campaign-groups-3IUOLEK2.js.map} +0 -0
  625. /package/dist/{campaign-writes-N6OHAK6V.js.map → campaign-writes-Y7QNFOE7.js.map} +0 -0
  626. /package/dist/{campaigns-3U5IRXSV.js.map → campaigns-2Z6WXIVA.js.map} +0 -0
  627. /package/dist/{campaigns-QLKGN4FB.js.map → campaigns-B2AUW4TV.js.map} +0 -0
  628. /package/dist/{campaigns-2E4AQBFB.js.map → campaigns-IDEA3LOK.js.map} +0 -0
  629. /package/dist/{canvas-GGHJ26ZM.js.map → canvas-PVNQ7YWV.js.map} +0 -0
  630. /package/dist/{capabilities-TKEEHR7K.js.map → capabilities-FVMMLKPY.js.map} +0 -0
  631. /package/dist/{catalog-7KQN43HS.js.map → catalog-URTZYAPU.js.map} +0 -0
  632. /package/dist/{catalogs-5CHPI4H6.js.map → catalogs-OEUNVE4N.js.map} +0 -0
  633. /package/dist/{chatgpt-YBHXCXWZ.js.map → chatgpt-6KBW7F5S.js.map} +0 -0
  634. /package/dist/{chats-PBXYH2LT.js.map → chats-EENMDXWZ.js.map} +0 -0
  635. /package/dist/{check-SVYI72DF.js.map → check-7735BPTR.js.map} +0 -0
  636. /package/dist/{chunk-5AOTCCTT.js.map → chunk-2QGGI7MF.js.map} +0 -0
  637. /package/dist/{chunk-B5UVOCYA.js.map → chunk-3OMFSYQ3.js.map} +0 -0
  638. /package/dist/{chunk-LMOZWB4G.js.map → chunk-65CQYRMK.js.map} +0 -0
  639. /package/dist/{chunk-I4BQTVMY.js.map → chunk-6MZFOMLU.js.map} +0 -0
  640. /package/dist/{chunk-VX6GTRT3.js.map → chunk-757ZFIL4.js.map} +0 -0
  641. /package/dist/{chunk-IJ6NQKAT.js.map → chunk-75HAGIH6.js.map} +0 -0
  642. /package/dist/{chunk-XSBX3LJP.js.map → chunk-7BVRFQN4.js.map} +0 -0
  643. /package/dist/{chunk-7OVPQX4X.js.map → chunk-7TDJCDKT.js.map} +0 -0
  644. /package/dist/{chunk-OIORUNKH.js.map → chunk-7WDH6OKW.js.map} +0 -0
  645. /package/dist/{chunk-ZMTWQDFC.js.map → chunk-AL4MRNYI.js.map} +0 -0
  646. /package/dist/{chunk-JBMZVC5D.js.map → chunk-AMM4JMSN.js.map} +0 -0
  647. /package/dist/{chunk-4XMPL3RU.js.map → chunk-AU3IMZZC.js.map} +0 -0
  648. /package/dist/{chunk-NO52OH3Y.js.map → chunk-BMNOMOWP.js.map} +0 -0
  649. /package/dist/{chunk-4AEAL63J.js.map → chunk-BS2MC62Y.js.map} +0 -0
  650. /package/dist/{chunk-DWSSQBLO.js.map → chunk-C6PWVZQE.js.map} +0 -0
  651. /package/dist/{chunk-P4MXGSSJ.js.map → chunk-CDTAKCJR.js.map} +0 -0
  652. /package/dist/{chunk-2RL2T5JO.js.map → chunk-CH44XVPE.js.map} +0 -0
  653. /package/dist/{chunk-RHNNFCRY.js.map → chunk-CJWLDKFO.js.map} +0 -0
  654. /package/dist/{chunk-D6VQPBVM.js.map → chunk-DWPOAU4Z.js.map} +0 -0
  655. /package/dist/{chunk-6MXM6DA6.js.map → chunk-EENYLJUN.js.map} +0 -0
  656. /package/dist/{chunk-IZROFBH7.js.map → chunk-EJBLF2LI.js.map} +0 -0
  657. /package/dist/{chunk-DNH2ZPZP.js.map → chunk-EJMPKO6V.js.map} +0 -0
  658. /package/dist/{chunk-RMZLB4AH.js.map → chunk-EKXLJRO3.js.map} +0 -0
  659. /package/dist/{chunk-ZANXEMON.js.map → chunk-EL3TDR5S.js.map} +0 -0
  660. /package/dist/{chunk-LFELUKCA.js.map → chunk-GRDZWZKQ.js.map} +0 -0
  661. /package/dist/{chunk-S4NMWYHW.js.map → chunk-GVUBRSD3.js.map} +0 -0
  662. /package/dist/{chunk-LVLTWPRR.js.map → chunk-GYREQDTJ.js.map} +0 -0
  663. /package/dist/{chunk-J5UTL4HE.js.map → chunk-HBRXFQQV.js.map} +0 -0
  664. /package/dist/{chunk-NE3OMP7R.js.map → chunk-HLHR3EK2.js.map} +0 -0
  665. /package/dist/{chunk-RJQT7QXX.js.map → chunk-IMFIRELA.js.map} +0 -0
  666. /package/dist/{chunk-SP3MHBME.js.map → chunk-IOKD77L2.js.map} +0 -0
  667. /package/dist/{chunk-TGT4XHLX.js.map → chunk-KDAINT54.js.map} +0 -0
  668. /package/dist/{chunk-QI5UKQX3.js.map → chunk-KKKZRQFY.js.map} +0 -0
  669. /package/dist/{chunk-YCAJCVW4.js.map → chunk-KLO36KTV.js.map} +0 -0
  670. /package/dist/{chunk-NZYWKZ3Q.js.map → chunk-LC6PVPJX.js.map} +0 -0
  671. /package/dist/{chunk-DK66PUXL.js.map → chunk-LETR3RQE.js.map} +0 -0
  672. /package/dist/{chunk-73MLPGI2.js.map → chunk-MAVT2CJ4.js.map} +0 -0
  673. /package/dist/{chunk-FSEFZZ2T.js.map → chunk-MJDN7CR7.js.map} +0 -0
  674. /package/dist/{chunk-XB4NKZAQ.js.map → chunk-N3PASNUA.js.map} +0 -0
  675. /package/dist/{chunk-SFQFUQDW.js.map → chunk-NL77JRKE.js.map} +0 -0
  676. /package/dist/{chunk-42JTSTQ3.js.map → chunk-OTFHIGEO.js.map} +0 -0
  677. /package/dist/{chunk-ESXUIV6V.js.map → chunk-PCUWBZM3.js.map} +0 -0
  678. /package/dist/{chunk-OKXLOLEV.js.map → chunk-PNWXTOQ4.js.map} +0 -0
  679. /package/dist/{chunk-PYAR343F.js.map → chunk-PQFTKHDA.js.map} +0 -0
  680. /package/dist/{chunk-XXBP73RV.js.map → chunk-Q5DFEVLE.js.map} +0 -0
  681. /package/dist/{chunk-IBBGABK2.js.map → chunk-QAJFMVGU.js.map} +0 -0
  682. /package/dist/{chunk-NRIKX35V.js.map → chunk-QXCGWAC6.js.map} +0 -0
  683. /package/dist/{chunk-CJFCQMUY.js.map → chunk-RKDMYL4A.js.map} +0 -0
  684. /package/dist/{chunk-S6XZIBWV.js.map → chunk-SCBSAIVV.js.map} +0 -0
  685. /package/dist/{chunk-3HLQZTQ3.js.map → chunk-SPBUE7R4.js.map} +0 -0
  686. /package/dist/{chunk-Y4ZBNZBU.js.map → chunk-TRAMBRVO.js.map} +0 -0
  687. /package/dist/{chunk-IC4MREQH.js.map → chunk-TWFZIHKK.js.map} +0 -0
  688. /package/dist/{chunk-WGJ2QEW4.js.map → chunk-UCJAPB5Y.js.map} +0 -0
  689. /package/dist/{chunk-4PM32OS3.js.map → chunk-VFDWUIGR.js.map} +0 -0
  690. /package/dist/{chunk-BRNZMKO4.js.map → chunk-WC3YSN7L.js.map} +0 -0
  691. /package/dist/{chunk-5NLUTJCQ.js.map → chunk-X3GWGFZP.js.map} +0 -0
  692. /package/dist/{chunk-6FWVRXDW.js.map → chunk-XZAVBONI.js.map} +0 -0
  693. /package/dist/{chunk-Y3SK6EMU.js.map → chunk-Y5PNLB24.js.map} +0 -0
  694. /package/dist/{chunk-N5AIO23H.js.map → chunk-ZC6FICZ7.js.map} +0 -0
  695. /package/dist/{chunk-QFVZIQRQ.js.map → chunk-ZEGWP4FP.js.map} +0 -0
  696. /package/dist/{claim-Q76T3MYA.js.map → claim-PGDIRXIC.js.map} +0 -0
  697. /package/dist/{companies-MLWRWQ73.js.map → companies-WTPKGEB3.js.map} +0 -0
  698. /package/dist/{company-X5Z67PMK.js.map → company-6H2H73YP.js.map} +0 -0
  699. /package/dist/{complete-3CFP6XVY.js.map → complete-2QBC3POO.js.map} +0 -0
  700. /package/dist/{connect-QXFAB4RJ.js.map → connect-35YPFAUL.js.map} +0 -0
  701. /package/dist/{conversation-C6K6IZTH.js.map → conversation-YZFNEWDV.js.map} +0 -0
  702. /package/dist/{conversion-upload-command-D7S5HF22.js.map → conversion-upload-command-J2FIO74Y.js.map} +0 -0
  703. /package/dist/{conversions-CRL327RY.js.map → conversions-UGRVDRWU.js.map} +0 -0
  704. /package/dist/{conversions-4ILDIG3K.js.map → conversions-ZFDBD3OU.js.map} +0 -0
  705. /package/dist/{copy-writes-FYXKHJDB.js.map → copy-writes-2B36QJUY.js.map} +0 -0
  706. /package/dist/{create-LDQ3YHET.js.map → create-3H67EUTO.js.map} +0 -0
  707. /package/dist/{create-WQNT345R.js.map → create-ALTOBDP4.js.map} +0 -0
  708. /package/dist/{create-TKOG7DNJ.js.map → create-C3MWUYX2.js.map} +0 -0
  709. /package/dist/{create-WFMJOZLO.js.map → create-WHTT6IXY.js.map} +0 -0
  710. /package/dist/{creatives-45SJAD3G.js.map → creatives-22BYP5VN.js.map} +0 -0
  711. /package/dist/{creatives-Q4OXNCTT.js.map → creatives-IFOPXTZK.js.map} +0 -0
  712. /package/dist/{credentials-E2AIMWKX.js.map → credentials-J5DMQJWN.js.map} +0 -0
  713. /package/dist/{critique-JVT6X2T3.js.map → critique-PQRVFC52.js.map} +0 -0
  714. /package/dist/{critique-EWV3O3TD.js.map → critique-X6XVPIUG.js.map} +0 -0
  715. /package/dist/{crm-NQH5FTK6.js.map → crm-LWRGJYHW.js.map} +0 -0
  716. /package/dist/{crm-YGQKK76D.js.map → crm-RUNEJY2R.js.map} +0 -0
  717. /package/dist/{crop-KV24WHOR.js.map → crop-4V4P3SKI.js.map} +0 -0
  718. /package/dist/{custom-conversions-EJNX4MCK.js.map → custom-conversions-V7QPZIB4.js.map} +0 -0
  719. /package/dist/{customers-YFEPJF4G.js.map → customers-IDB6NLQ6.js.map} +0 -0
  720. /package/dist/{delete-2UJVTHRE.js.map → delete-2QKVUKKB.js.map} +0 -0
  721. /package/dist/{delete-O4RO2HMR.js.map → delete-B7BKF24X.js.map} +0 -0
  722. /package/dist/{delete-7QAJSOCO.js.map → delete-HBRYUWAA.js.map} +0 -0
  723. /package/dist/{demographics-YWBHAMZ5.js.map → demographics-JHB3NFLU.js.map} +0 -0
  724. /package/dist/{dimensions-YXOXHOXW.js.map → dimensions-KI3OENZD.js.map} +0 -0
  725. /package/dist/{discard-YX4XUXG3.js.map → discard-FEJ6YL22.js.map} +0 -0
  726. /package/dist/{domain-5R6CYVFY.js.map → domain-JYWNXBKS.js.map} +0 -0
  727. /package/dist/{download-D2O4RYJ3.js.map → download-LOBPOIU5.js.map} +0 -0
  728. /package/dist/{draft-SGNQOUYH.js.map → draft-EB5ZFDVN.js.map} +0 -0
  729. /package/dist/{draft-3MPADYS4.js.map → draft-I2FLECEX.js.map} +0 -0
  730. /package/dist/{draft-L56EMJQT.js.map → draft-N56HPS36.js.map} +0 -0
  731. /package/dist/{draft-NLSQDRVQ.js.map → draft-ZLZRTPY6.js.map} +0 -0
  732. /package/dist/{experiment-3NDXGQK6.js.map → experiment-O6726OBP.js.map} +0 -0
  733. /package/dist/{experiments-DYNNWQRB.js.map → experiments-WVTBHD6G.js.map} +0 -0
  734. /package/dist/{facets-Y2IEM37E.js.map → facets-V2ITIUKD.js.map} +0 -0
  735. /package/dist/{feedback-HJRVTU6C.js.map → feedback-MXUZWVOL.js.map} +0 -0
  736. /package/dist/{feedback-IVSLM5PN.js.map → feedback-PXWPR3NZ.js.map} +0 -0
  737. /package/dist/{feedback-record-P7CO3IGE.js.map → feedback-record-76RUAHZH.js.map} +0 -0
  738. /package/dist/{fetch-V2U5VUQZ.js.map → fetch-QVOOC3FA.js.map} +0 -0
  739. /package/dist/{fit-JDG6E46O.js.map → fit-REGMM46H.js.map} +0 -0
  740. /package/dist/{flows-DP574PEX.js.map → flows-EZV3KCV6.js.map} +0 -0
  741. /package/dist/{fonts-RMROS3LX.js.map → fonts-NUX66HEI.js.map} +0 -0
  742. /package/dist/{forecast-BRXNGMGD.js.map → forecast-W6HKYVX5.js.map} +0 -0
  743. /package/dist/{forecast-AAHHVTBK.js.map → forecast-XDRKCR65.js.map} +0 -0
  744. /package/dist/{funnel-FQX3DOE7.js.map → funnel-3YABA3G2.js.map} +0 -0
  745. /package/dist/{ga4-IJ2UUICC.js.map → ga4-XFJO7VK2.js.map} +0 -0
  746. /package/dist/{generate-SYOQE3F7.js.map → generate-22HT24SA.js.map} +0 -0
  747. /package/dist/{get-HMTI2IR6.js.map → get-GQQLBE5C.js.map} +0 -0
  748. /package/dist/{get-VFDNTZ54.js.map → get-NL3YZFUJ.js.map} +0 -0
  749. /package/dist/{google-4FP6AHBL.js.map → google-UJ4YJGTJ.js.map} +0 -0
  750. /package/dist/{google-ads-4DLYASRC.js.map → google-ads-RRKKSKDD.js.map} +0 -0
  751. /package/dist/{gsc-YAU4EA75.js.map → gsc-ILEIJYWP.js.map} +0 -0
  752. /package/dist/{history-6B6RXNV3.js.map → history-2UANIBRN.js.map} +0 -0
  753. /package/dist/{history-NLZSX4BK.js.map → history-YZ727ZRG.js.map} +0 -0
  754. /package/dist/{hubspot-LABBRJ44.js.map → hubspot-KWLXJ6QD.js.map} +0 -0
  755. /package/dist/{ideas-A4ELJN23.js.map → ideas-ZO533P5Y.js.map} +0 -0
  756. /package/dist/{images-JVNT7KYM.js.map → images-Z7YBWRVJ.js.map} +0 -0
  757. /package/dist/{ingest-GQWR3RHR.js.map → ingest-C2HJ5LUY.js.map} +0 -0
  758. /package/dist/{ingest-JYN2IDKV.js.map → ingest-H53JR4GK.js.map} +0 -0
  759. /package/dist/{inspect-72DY33YD.js.map → inspect-BM6GJHQV.js.map} +0 -0
  760. /package/dist/{inspiration-DNWTXEPX.js.map → inspiration-WGUU7W5Z.js.map} +0 -0
  761. /package/dist/{instant-experiences-6NTBX4SL.js.map → instant-experiences-U6U3FYIH.js.map} +0 -0
  762. /package/dist/{keyword-metrics-GP7L2MQE.js.map → keyword-metrics-R2QCEDYW.js.map} +0 -0
  763. /package/dist/{keywords-for-site-6YWAUOKJ.js.map → keywords-for-site-NBV72C3W.js.map} +0 -0
  764. /package/dist/{landing-EKHAZS5P.js.map → landing-5RRWTSWK.js.map} +0 -0
  765. /package/dist/{leads-UCXIIA5K.js.map → leads-6PF7ZWCH.js.map} +0 -0
  766. /package/dist/{leads-RN6RYOMU.js.map → leads-IG3IIHXG.js.map} +0 -0
  767. /package/dist/{learn-EJEFERQZ.js.map → learn-V2LIBEEY.js.map} +0 -0
  768. /package/dist/{line-item-writes-IMCE2FDW.js.map → line-item-writes-GMNWL4DI.js.map} +0 -0
  769. /package/dist/{line-items-ISUC3WDO.js.map → line-items-KPIKXLG4.js.map} +0 -0
  770. /package/dist/{link-6QL4ZVSU.js.map → link-X7IYKR5V.js.map} +0 -0
  771. /package/dist/{linkedin-person-C24CBKCH.js.map → linkedin-person-47XFTBIN.js.map} +0 -0
  772. /package/dist/{list-2VNI3U7I.js.map → list-PHNA7QIF.js.map} +0 -0
  773. /package/dist/{list-SUXUMXPJ.js.map → list-QF3BANBM.js.map} +0 -0
  774. /package/dist/{list-PZD2QOZL.js.map → list-SB3SUTH6.js.map} +0 -0
  775. /package/dist/{log-VLI7KQF2.js.map → log-JFLSSUJ6.js.map} +0 -0
  776. /package/dist/{make-365ZJ25L.js.map → make-HZ5KAYSB.js.map} +0 -0
  777. /package/dist/{map-OEFL45WA.js.map → map-NYJT2MGI.js.map} +0 -0
  778. /package/dist/{mcp-NCZYQXQL.js.map → mcp-ABQEICYR.js.map} +0 -0
  779. /package/dist/{media-WASM45QW.js.map → media-AT3VV3PU.js.map} +0 -0
  780. /package/dist/{media-sources-CZDK4W5Q.js.map → media-sources-DEEKEJUB.js.map} +0 -0
  781. /package/dist/{members-N3PQSVQC.js.map → members-BX37KHKO.js.map} +0 -0
  782. /package/dist/{normalize-4OKUF5BJ.js.map → normalize-M3VMWF4W.js.map} +0 -0
  783. /package/dist/{normalize-6DEJPTBF.js.map → normalize-MA2FBBIV.js.map} +0 -0
  784. /package/dist/{options-OJX77MYT.js.map → options-NMWWF2HN.js.map} +0 -0
  785. /package/dist/{organization-URQGKFEC.js.map → organization-GRAA6ZXU.js.map} +0 -0
  786. /package/dist/{page-photos-N4S7U7FR.js.map → page-photos-ABK4CJME.js.map} +0 -0
  787. /package/dist/{performance-SIWBDORI.js.map → performance-MQLRSH44.js.map} +0 -0
  788. /package/dist/{performance-P5T4LJRG.js.map → performance-RUBIGEAQ.js.map} +0 -0
  789. /package/dist/{posts-MVCGZV54.js.map → posts-F7NFSUHV.js.map} +0 -0
  790. /package/dist/{promoted-tweet-writes-S2HP5DEI.js.map → promoted-tweet-writes-3P6QFGLN.js.map} +0 -0
  791. /package/dist/{promoted-tweets-WZT4N5IR.js.map → promoted-tweets-TGFPH7UI.js.map} +0 -0
  792. /package/dist/{publish-EDYBQHGJ.js.map → publish-OUVO65Z5.js.map} +0 -0
  793. /package/dist/{reddit-DEGGHR4M.js.map → reddit-HWQCUSEM.js.map} +0 -0
  794. /package/dist/{refresh-HPNJGI2U.js.map → refresh-ENQDQGTK.js.map} +0 -0
  795. /package/dist/{release-H7M37CEO.js.map → release-ZTVXLUQS.js.map} +0 -0
  796. /package/dist/{remove-MV4YS72N.js.map → remove-XAFRT7O7.js.map} +0 -0
  797. /package/dist/{reopen-EFW2SKOY.js.map → reopen-SWSZHXJZ.js.map} +0 -0
  798. /package/dist/{rerun-OM4N74YK.js.map → rerun-X7XVOAL3.js.map} +0 -0
  799. /package/dist/{research-MHXKAQW4.js.map → research-JMU4C4JZ.js.map} +0 -0
  800. /package/dist/{research-7YDQOKA6.js.map → research-TDH4OBX6.js.map} +0 -0
  801. /package/dist/{reset-HT4AGJPR.js.map → reset-34HTKUBQ.js.map} +0 -0
  802. /package/dist/{reset-XPZQ5F4D.js.map → reset-KMMGLM7W.js.map} +0 -0
  803. /package/dist/{resolve-RTTXEN2B.js.map → resolve-2CIIKADD.js.map} +0 -0
  804. /package/dist/{retry-DVLVWHEK.js.map → retry-V7KZIZKR.js.map} +0 -0
  805. /package/dist/{retry-SBGWOUQO.js.map → retry-YXM23NSB.js.map} +0 -0
  806. /package/dist/{revenue-KJLJ53XY.js.map → revenue-D4L6U2CW.js.map} +0 -0
  807. /package/dist/{rule-writes-DNXELESR.js.map → rule-writes-HUBHHYEO.js.map} +0 -0
  808. /package/dist/{rules-KCSET46P.js.map → rules-47LFGCPW.js.map} +0 -0
  809. /package/dist/{rules-NVKU732Z.js.map → rules-F6RNUOXP.js.map} +0 -0
  810. /package/dist/{rules-add-KY42EHJE.js.map → rules-add-SAQRESVK.js.map} +0 -0
  811. /package/dist/{run-M7YU6KCV.js.map → run-3GCYZ2HX.js.map} +0 -0
  812. /package/dist/{run-2LQ7XJEO.js.map → run-FRPO2WNQ.js.map} +0 -0
  813. /package/dist/{scaffold-ad-6YPZ75YJ.js.map → scaffold-ad-E6DD6U46.js.map} +0 -0
  814. /package/dist/{scaffold-static-ad-UJEWTDU5.js.map → scaffold-static-ad-6WNS2PXB.js.map} +0 -0
  815. /package/dist/{scaffold-video-M4VWSVJ6.js.map → scaffold-video-QKXFQ5FC.js.map} +0 -0
  816. /package/dist/{schedule-J7HZQ2EL.js.map → schedule-S4XAVVEI.js.map} +0 -0
  817. /package/dist/{scheduled-agents-IVUQUKF4.js.map → scheduled-agents-ZWAP6QLC.js.map} +0 -0
  818. /package/dist/{schema-LHBKBUV7.js.map → schema-EJ2XPUN6.js.map} +0 -0
  819. /package/dist/{search-3AW52FO6.js.map → search-2BAY3KKX.js.map} +0 -0
  820. /package/dist/{select-STIWQ36I.js.map → select-ABRNFFR2.js.map} +0 -0
  821. /package/dist/{set-prompt-TODWV2F4.js.map → set-prompt-5LYHDT4E.js.map} +0 -0
  822. /package/dist/{setup-links-MNBD3UMH.js.map → setup-links-QT63UZBR.js.map} +0 -0
  823. /package/dist/{shopify-RJWLTNPQ.js.map → shopify-L4ZUI6OT.js.map} +0 -0
  824. /package/dist/{site-ZZUKS6MQ.js.map → site-S6QVMP7W.js.map} +0 -0
  825. /package/dist/{sources-36MJ6T4V.js.map → sources-6TWWOO7Q.js.map} +0 -0
  826. /package/dist/{sources-GNLQHTSJ.js.map → sources-ORG5KQSW.js.map} +0 -0
  827. /package/dist/{stale-GJN7UO3D.js.map → stale-MLQPXNLZ.js.map} +0 -0
  828. /package/dist/{status-6EGB6ORB.js.map → status-4G2YUCZR.js.map} +0 -0
  829. /package/dist/{studies-4XXCEAHH.js.map → studies-QLSKON6M.js.map} +0 -0
  830. /package/dist/{studio-OARORMDJ.js.map → studio-ZLBBYHNY.js.map} +0 -0
  831. /package/dist/{study-writes-J56UIIE3.js.map → study-writes-GBUUKX4O.js.map} +0 -0
  832. /package/dist/{sync-QHM3LMAX.js.map → sync-7LJZPHM3.js.map} +0 -0
  833. /package/dist/{sync-definition-YXGN6PIQ.js.map → sync-definition-MXVL2I2H.js.map} +0 -0
  834. /package/dist/{tags-MQYF2JHQ.js.map → tags-2ARVNEYS.js.map} +0 -0
  835. /package/dist/{tags-ZGXJHATH.js.map → tags-F4IT7RQR.js.map} +0 -0
  836. /package/dist/{tags-MBBRBZJH.js.map → tags-F7ZO52EM.js.map} +0 -0
  837. /package/dist/{tags-IDWUV2FY.js.map → tags-NBGGBHXR.js.map} +0 -0
  838. /package/dist/{tags-GHV5R7NI.js.map → tags-TCSGQYDR.js.map} +0 -0
  839. /package/dist/{targeting-KJ4DI56R.js.map → targeting-DAUTJDUB.js.map} +0 -0
  840. /package/dist/{targeting-criteria-GDCXOAUD.js.map → targeting-criteria-H42LRULY.js.map} +0 -0
  841. /package/dist/{targets-MYHOPAYY.js.map → targets-WB4E5XL2.js.map} +0 -0
  842. /package/dist/{testimonials-R6RFGAKP.js.map → testimonials-RIJSQDSB.js.map} +0 -0
  843. /package/dist/{themes-LHVXXVTX.js.map → themes-BGBDYQQK.js.map} +0 -0
  844. /package/dist/{top-companies-POTV3Y2A.js.map → top-companies-C2W5TJ7G.js.map} +0 -0
  845. /package/dist/{transcript-4RVYKDVZ.js.map → transcript-S7VR2GJE.js.map} +0 -0
  846. /package/dist/{translate-UCASCVMN.js.map → translate-A4GHRHSP.js.map} +0 -0
  847. /package/dist/{triggers-XHMMOZJK.js.map → triggers-EOKMR74O.js.map} +0 -0
  848. /package/dist/{unlink-3IW3EORE.js.map → unlink-PC3TMWUT.js.map} +0 -0
  849. /package/dist/{unstage-APVF6KHB.js.map → unstage-SU2ATDSZ.js.map} +0 -0
  850. /package/dist/{update-V7SRDGHN.js.map → update-DKX3EEES.js.map} +0 -0
  851. /package/dist/{update-2VSJH4LQ.js.map → update-JYZ45YJG.js.map} +0 -0
  852. /package/dist/{update-ESK6PSME.js.map → update-TAZSUOAS.js.map} +0 -0
  853. /package/dist/{update-42QYBUE3.js.map → update-WRJUH2NM.js.map} +0 -0
  854. /package/dist/{upload-42IR5RIL.js.map → upload-BLXTMK5Q.js.map} +0 -0
  855. /package/dist/{url-params-GEESXN57.js.map → url-params-YVOFU6MK.js.map} +0 -0
  856. /package/dist/{validate-Z5SSEUES.js.map → validate-44PVFQH7.js.map} +0 -0
  857. /package/dist/{videos-PJAPZPOT.js.map → videos-RWPQVXS5.js.map} +0 -0
  858. /package/dist/{viewer-check-6M34VY7K.js.map → viewer-check-KTRRUVZN.js.map} +0 -0
  859. /package/dist/{web-PUVVFMV3.js.map → web-6KUM7Q7S.js.map} +0 -0
  860. /package/dist/{winning-ads-ZCP4MIEQ.js.map → winning-ads-IT3O4EAN.js.map} +0 -0
  861. /package/dist/{write-commands-ZS4O4DSV.js.map → write-commands-3U5ZMIHH.js.map} +0 -0
  862. /package/dist/{write-commands-5LEEPKA7.js.map → write-commands-F5XPPLOO.js.map} +0 -0
  863. /package/dist/{x-ZKCLP23S.js.map → x-X7URL52T.js.map} +0 -0
@@ -0,0 +1,61 @@
1
+ import {
2
+ COST_TYPES,
3
+ OBJECTIVE_TYPES,
4
+ calendarDaySchema,
5
+ targetingCriteriaSchema
6
+ } from "./chunk-MKLAZD23.js";
7
+
8
+ // ../api/src/ads-linkedin/planning.ts
9
+ import { z } from "zod";
10
+ var moneySchema = z.object({
11
+ amount: z.string().regex(/^\d+(\.\d+)?$/, "use a plain amount such as 250 or 5.57"),
12
+ currencyCode: z.string().regex(/^[A-Z]{3}$/).optional()
13
+ });
14
+ var accountIdSchema = z.string().min(1);
15
+ var linkedinBidPricingRequestSchema = z.object({
16
+ accountId: accountIdSchema,
17
+ objectiveType: z.enum(OBJECTIVE_TYPES),
18
+ costType: z.enum(COST_TYPES).default("CPC"),
19
+ campaignType: z.enum(["SPONSORED_UPDATES", "TEXT_AD", "SPONSORED_INMAILS"]).default("SPONSORED_UPDATES"),
20
+ /** EXACT = audience expansion off, the playbook default. */
21
+ matchType: z.enum(["EXACT", "AUDIENCE_EXPANDED"]).default("EXACT"),
22
+ targetingCriteria: targetingCriteriaSchema,
23
+ skipCache: z.boolean().optional()
24
+ });
25
+ var LINKEDIN_FORECAST_DEFAULT_DAYS = 30;
26
+ var linkedinForecastRequestSchema = z.object({
27
+ accountId: accountIdSchema,
28
+ objectiveType: z.enum(OBJECTIVE_TYPES).optional(),
29
+ costType: z.enum(COST_TYPES).default("CPC"),
30
+ campaignType: z.enum(["SPONSORED_UPDATES", "SPONSORED_INMAILS", "DYNAMIC"]).default("SPONSORED_UPDATES"),
31
+ /** First forecast day (UTC); defaults to tomorrow — LinkedIn forecasts only the future. */
32
+ startDate: calendarDaySchema.optional(),
33
+ days: z.number().int().min(1).max(365).default(LINKEDIN_FORECAST_DEFAULT_DAYS),
34
+ dailyBudget: moneySchema.optional(),
35
+ totalBudget: moneySchema.optional(),
36
+ /** A manual bid; without one LinkedIn forecasts its automated bidding. */
37
+ bid: moneySchema.optional(),
38
+ optimizationTarget: z.string().regex(/^[A-Z_]+$/).optional(),
39
+ targetingCriteria: targetingCriteriaSchema,
40
+ /** Add LinkedIn's raw series (daily, 7-day, 30-day) to the summary. */
41
+ full: z.boolean().default(false),
42
+ skipCache: z.boolean().optional()
43
+ }).superRefine((req, ctx) => {
44
+ if (!req.dailyBudget && !req.totalBudget) {
45
+ ctx.addIssue({
46
+ code: "custom",
47
+ path: ["totalBudget"],
48
+ message: "a budget is required (daily or total) \u2014 LinkedIn forecasts what a budget buys"
49
+ });
50
+ }
51
+ if (req.dailyBudget && req.totalBudget) {
52
+ ctx.addIssue({ code: "custom", path: ["totalBudget"], message: "pass a daily or a total budget, not both" });
53
+ }
54
+ });
55
+
56
+ export {
57
+ linkedinBidPricingRequestSchema,
58
+ LINKEDIN_FORECAST_DEFAULT_DAYS,
59
+ linkedinForecastRequestSchema
60
+ };
61
+ //# sourceMappingURL=chunk-75HAGIH6.js.map
@@ -0,0 +1,430 @@
1
+ import {
2
+ agentProfile
3
+ } from "./chunk-WR5Y64OE.js";
4
+ import {
5
+ AUTO_PUBLISH_REFUSAL,
6
+ MAX_AI_CONDITION_CHARS,
7
+ TRIGGER_KINDS,
8
+ TRIGGER_KIND_IDS,
9
+ TRIGGER_TARGETS,
10
+ TRIGGER_TARGET_FIELDS,
11
+ TRIGGER_TARGET_FIELD_IDS,
12
+ firstTimes,
13
+ isTriggerKind,
14
+ parseConditionsExpression
15
+ } from "./chunk-MKLAZD23.js";
16
+ import {
17
+ ApiError,
18
+ validateConvexId
19
+ } from "./chunk-GFWWHCBF.js";
20
+ import {
21
+ getEnv
22
+ } from "./chunk-45D6WRCJ.js";
23
+ import {
24
+ writeJson
25
+ } from "./chunk-CCYZJMZ7.js";
26
+
27
+ // src/commands/scheduled-agents/shared.ts
28
+ var TEMP_SCHEDULED_AGENT_PREFIX = "temp_agent_";
29
+ var TEMP_ID_PREFIX = "temp_";
30
+ function writeOk(data, hints) {
31
+ writeJson({ ok: true, data: data ?? null, ...hints && hints.length > 0 ? { hints } : {} });
32
+ }
33
+ function failValidation(message) {
34
+ writeJson({ ok: false, error: { code: "VALIDATION_ERROR", message } });
35
+ process.exit(1);
36
+ }
37
+ function failApi(err) {
38
+ if (err instanceof ApiError) {
39
+ writeJson({ ok: false, error: { code: err.code, message: err.message } });
40
+ process.exit(1);
41
+ }
42
+ if (err instanceof Error) {
43
+ writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: err.message } });
44
+ process.exit(1);
45
+ }
46
+ writeJson({ ok: false, error: { code: "INTERNAL_ERROR", message: "Unexpected error" } });
47
+ process.exit(1);
48
+ }
49
+ var AUTO_PUBLISH_ARG = {
50
+ "auto-publish": {
51
+ type: "string",
52
+ description: "Not available to the agent: publishing every run unreviewed is switched on by the user, on the item, after this chat is published. Passing it is refused and tells you what to ask them.",
53
+ required: false
54
+ }
55
+ };
56
+ function refuseAutoPublish(args) {
57
+ if (args["auto-publish"] === void 0) {
58
+ return;
59
+ }
60
+ writeJson({
61
+ ok: false,
62
+ error: {
63
+ code: "FORBIDDEN",
64
+ message: AUTO_PUBLISH_REFUSAL,
65
+ fix: {
66
+ action: "ask_user",
67
+ explanation: 'Run the command again without --auto-publish. After this chat is published, ask the user to open the item in Scheduled agents and switch on "Publish its work on its own" under "When a run finishes" \u2014 until then each run waits for their review.'
68
+ }
69
+ }
70
+ });
71
+ process.exit(1);
72
+ }
73
+ function isTempScheduledAgentId(id) {
74
+ return id.startsWith(TEMP_SCHEDULED_AGENT_PREFIX);
75
+ }
76
+ function isOtherTempId(id) {
77
+ return id.startsWith(TEMP_ID_PREFIX) && !isTempScheduledAgentId(id);
78
+ }
79
+ function validateScheduledAgentRef(ref) {
80
+ if (isOtherTempId(ref)) {
81
+ failValidation(`Scheduled agent temp IDs must start with ${TEMP_SCHEDULED_AGENT_PREFIX}.`);
82
+ }
83
+ if (!isTempScheduledAgentId(ref)) {
84
+ validateConvexId(ref);
85
+ }
86
+ }
87
+ var TRIGGER_ARG_DESCRIPTION = `What makes this run. ${TRIGGER_KIND_IDS.map(
88
+ (id) => `${id}: ${TRIGGER_KINDS[id].description}`
89
+ ).join(" ")} For the two time ones, pass --cron or --run-at instead and the kind is implied.`;
90
+ var TRIGGER_KIND_LIST = [...TRIGGER_KIND_IDS];
91
+ var NARROWING_DESCRIPTIONS = {
92
+ eventName: "With --trigger event.received: only this event name (a source's name, or one your site sends). Omit it to run on any event.",
93
+ toolkit: "With --trigger app.event (required): the connected tool, by its slug \u2014 gmail, slack, googlesheets.",
94
+ account: "With --trigger app.event (required): which connected account of that tool, by id (a tool can be connected more than once).",
95
+ appEvent: "With --trigger app.event (required): what happens in the tool, by the tool's own id \u2014 GMAIL_NEW_GMAIL_MESSAGE. `targets --field appEvent --app <tool>` lists them with the settings each needs.",
96
+ provider: "With --trigger connection.created, connection.removed or connection.needs_reconnect: only this tool (google-ads, hubspot, meta, or a connected tool's slug such as slack). Omit it for any tool.",
97
+ flowId: "With --trigger form.submitted or flow.step.submitted: which Form, by slug. Omit it on form.submitted for any Form.",
98
+ stepId: "With --trigger flow.step.submitted: which step of that Form, by id \u2014 `targets --field stepId --form <slug>` lists them by name.",
99
+ page: "With --trigger landing.created or landing.published: only this page, by slug. Omit it for any page.",
100
+ tag: "With --trigger task.created, task.claimed, task.completed, landing.created or landing.published: only ones carrying this tag. Omit it for any.",
101
+ experimentId: 'With --trigger experiment.decided, experiment.ended or experiment.concluded: only this test. Omit it for any test. Not for experiment.started \u2014 narrow that with --when "page = <page>".',
102
+ taskId: "With --trigger task.claimed or task.completed: only this Task, by id (a temp_ id of a Task staged in this chat works too). Omit it for any Task.",
103
+ agentId: "With --trigger session.published, session.publish_failed or session.publish_incomplete: only the runs of this scheduled agent, by id (a temp_agent_ id staged in this chat works too). Required on session.published from a chat \u2014 to follow up on this chat's own publish, use --trigger session.settled --session this.",
104
+ platform: "With --trigger session.publish_incomplete: only when this platform's changes did not all land \u2014 google-ads, meta-ads, linkedin-ads, x-ads, chatgpt-ads, tag-manager, ga4 or shopify. Omit it for any.",
105
+ collection: "With --trigger knowledge.updated: only this Knowledge collection. Omit it for any of them.",
106
+ sourceId: "With --trigger review.received: only reviews from this review source, by id. Omit it for any source.",
107
+ advertiserId: "With --trigger advertiser.new_ads: only this followed advertiser, by id. Omit it for any of them.",
108
+ adAccount: "With --trigger ad_alert.opened, ad_alert.claimed, ad_alert.fixed or ad_alert.closed: only alerts on this ad account, as <platform>:<ad account id> (meta:123). Omit it for any account.",
109
+ alertRule: 'With --trigger ad_alert.opened, ad_alert.claimed, ad_alert.fixed or ad_alert.closed: only this kind of alert, by the rule `baker ads performance attention` names (budget_cut, efficiency_degraded, tracking_broke). Omit it for any. Narrow by severity with --when "severity = critical".',
110
+ socialAccount: "With --trigger social.post_published: only posts by this followed account, by its key (linkedin:in/jacintofleta, instagram:nike \u2014 `baker media-sources list`). Omit it for any account.",
111
+ chatId: "With --trigger session.settled (required): `this` \u2014 the chat you are in. It runs once, after this chat is published and its work is fully live: pages served, every ad, Tag Manager, Analytics and store change landed or failed. Start here for any check or report on this chat's own work after it publishes.",
112
+ personRole: "With --trigger social.post_published: only posts by people with this role \u2014 ceo, founder, cto, cmo, head_of_sales, sales, marketing, employee, creator. Omit it for any account, pages included."
113
+ };
114
+ var NARROWING_ARGS = {
115
+ ...Object.fromEntries(
116
+ TRIGGER_TARGET_FIELD_IDS.map((field) => [
117
+ TRIGGER_TARGET_FIELDS[field].flag,
118
+ {
119
+ type: "string",
120
+ description: `${NARROWING_DESCRIPTIONS[field]} \`baker scheduled-agents targets --trigger <kind> --field ${field}\` lists the values.`,
121
+ required: false
122
+ }
123
+ ])
124
+ ),
125
+ config: {
126
+ type: "string",
127
+ description: `With --trigger app.event: the event's own settings as a JSON object \u2014 they filter inside the tool, before anything is sent. A Gmail search ('{"query":"from:ana@acme.com"}'), a label, a Slack channel, a GitHub repository ('{"owner":"acme","repo":"site"}'). \`targets --field appEvent --app <tool> --event <id>\` lists each setting with its examples.`,
128
+ required: false
129
+ }
130
+ };
131
+ function validateRunAt(runAt) {
132
+ if (!runAt.endsWith("Z")) {
133
+ failValidation("--run-at must be an ISO UTC timestamp ending in Z.");
134
+ }
135
+ const parsed = Date.parse(runAt);
136
+ if (!Number.isFinite(parsed)) {
137
+ failValidation("--run-at must be a valid ISO timestamp.");
138
+ }
139
+ if (parsed <= Date.now()) {
140
+ failValidation(
141
+ `--run-at ${runAt} has already passed. A one-off item only runs at a time still to come \u2014 pass a later ISO UTC timestamp, and check which timezone you converted from if you worked it out from a local time.`
142
+ );
143
+ }
144
+ }
145
+ function buildTriggerBody(args, options) {
146
+ const cron = args.cron;
147
+ const runAt = args["run-at"];
148
+ const timezone = args.timezone;
149
+ const kind = args.trigger;
150
+ const given = [cron, runAt, kind].filter(Boolean).length;
151
+ if (given > 1) {
152
+ failValidation("--cron, --run-at and --trigger are mutually exclusive.");
153
+ }
154
+ refuseNarrowingWithoutKind(args, kind, given);
155
+ if (runAt) {
156
+ validateRunAt(runAt);
157
+ return { runAt, ...timezone ? { timezone } : {} };
158
+ }
159
+ if (cron) {
160
+ return { cron, ...timezone ? { timezone } : {} };
161
+ }
162
+ if (kind) {
163
+ return { trigger: triggerFromFlags(kind, args), ...timezone ? { timezone } : {} };
164
+ }
165
+ if (timezone && !options.required) {
166
+ return { timezone };
167
+ }
168
+ if (options.required) {
169
+ failValidation(
170
+ `A trigger is required. Pass --cron or --run-at for a time-based one, or --trigger with one of: ${TRIGGER_KIND_IDS.join(", ")}.`
171
+ );
172
+ }
173
+ return void 0;
174
+ }
175
+ function flagText(args, key) {
176
+ const value = args[key];
177
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
178
+ }
179
+ function refuseMisusedKinds(kind, args) {
180
+ if (kind === "time.once") {
181
+ failValidation("Use --run-at for a one-off, rather than --trigger time.once.");
182
+ }
183
+ if (kind === "time.cron") {
184
+ failValidation("Use --cron for a repeating schedule, rather than --trigger time.cron.");
185
+ }
186
+ if (kind === "experiment.started" && flagText(args, "experiment")) {
187
+ failValidation(
188
+ 'A test that exists has already started, so --experiment never fires on experiment.started. Leave it off and add --when "page = <page>" to watch one page.'
189
+ );
190
+ }
191
+ }
192
+ function refuseStrayFlags(kind, args) {
193
+ const allowed = new Set(TRIGGER_TARGETS[kind].map((target) => TRIGGER_TARGET_FIELDS[target.field].flag));
194
+ const stray = TRIGGER_TARGET_FIELD_IDS.map((field) => TRIGGER_TARGET_FIELDS[field].flag).filter(
195
+ (flag) => !allowed.has(flag) && flagText(args, flag) !== void 0 && !(kind === "experiment.started" && flag === "experiment")
196
+ );
197
+ if (stray.length === 0) {
198
+ return;
199
+ }
200
+ failValidation(
201
+ `${stray.map((flag) => `--${flag}`).join(", ")} does not narrow ${kind}. ${allowed.size > 0 ? `It can be pointed with ${[...allowed].map((flag) => `--${flag}`).join(", ")}.` : "It runs every time it happens \u2014 narrow it with --when rules over its payload instead."}`
202
+ );
203
+ }
204
+ var NARROWING_FLAGS = [...TRIGGER_TARGET_FIELD_IDS.map((field) => TRIGGER_TARGET_FIELDS[field].flag), "config"];
205
+ function refuseNarrowingWithoutKind(args, kind, given) {
206
+ if (kind) {
207
+ return;
208
+ }
209
+ const stray = NARROWING_FLAGS.filter((flag) => flagText(args, flag) !== void 0);
210
+ if (stray.length === 0) {
211
+ return;
212
+ }
213
+ const flags = stray.map((flag) => `--${flag}`).join(", ");
214
+ failValidation(
215
+ given > 0 ? `${flags} does not narrow --cron or --run-at: a time trigger runs every time it comes round. Use --trigger <kind> with ${flags} instead, or leave ${flags} off.` : `${flags} narrows a trigger, and no trigger was given. Pass --trigger <kind> too \u2014 the item's whole trigger, with ${flags} \u2014 or leave ${flags} off.`
216
+ );
217
+ }
218
+ function configFromFlag(kind, args) {
219
+ const config = flagText(args, "config");
220
+ if (!config) {
221
+ return {};
222
+ }
223
+ if (kind !== "app.event") {
224
+ failValidation("--config is only for --trigger app.event: the settings of what happens in the tool.");
225
+ }
226
+ let parsed;
227
+ try {
228
+ parsed = JSON.parse(config);
229
+ } catch {
230
+ parsed = null;
231
+ }
232
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
233
+ failValidation(`--config must be a JSON object, e.g. '{"labelIds":"INBOX"}'.`);
234
+ }
235
+ return { configJson: config };
236
+ }
237
+ function withoutMetaActPrefix(adAccount) {
238
+ return adAccount.replace(/^meta:act_/i, "meta:");
239
+ }
240
+ function triggerFromFlags(kind, args) {
241
+ if (!isTriggerKind(kind)) {
242
+ failValidation(`--trigger must be one of: ${TRIGGER_KIND_IDS.join(", ")}.`);
243
+ }
244
+ refuseMisusedKinds(kind, args);
245
+ refuseStrayFlags(kind, args);
246
+ const narrowings = {};
247
+ for (const { field, required } of TRIGGER_TARGETS[kind]) {
248
+ const value = flagText(args, TRIGGER_TARGET_FIELDS[field].flag);
249
+ if (value) {
250
+ narrowings[field] = field === "adAccount" ? withoutMetaActPrefix(value) : value;
251
+ } else if (required) {
252
+ failValidation(
253
+ `--trigger ${kind} needs --${TRIGGER_TARGET_FIELDS[field].flag}. \`baker scheduled-agents targets --trigger ${kind} --field ${field}\` lists what it can be.`
254
+ );
255
+ }
256
+ }
257
+ return { kind, ...narrowings, ...configFromFlag(kind, args) };
258
+ }
259
+ function parseOccurrences(raw) {
260
+ if (raw === void 0) {
261
+ return void 0;
262
+ }
263
+ if (typeof raw !== "string") {
264
+ failValidation("--occurrences must be a comma-separated list of whole numbers, e.g. 1 or 1,3.");
265
+ }
266
+ const parts = raw.split(",").map((part) => part.trim()).filter((part) => part.length > 0);
267
+ const numbers = parts.map((part) => Number(part));
268
+ if (numbers.length === 0 || numbers.some((n) => !Number.isInteger(n) || n <= 0)) {
269
+ failValidation("--occurrences must be a comma-separated list of whole numbers above zero, e.g. 1 or 1,3.");
270
+ }
271
+ return numbers;
272
+ }
273
+ function parseBooleanFlag(raw, flagName) {
274
+ if (raw === void 0) {
275
+ return void 0;
276
+ }
277
+ if (raw === true || raw === "true") {
278
+ return true;
279
+ }
280
+ if (raw === false || raw === "false") {
281
+ return false;
282
+ }
283
+ failValidation(`${flagName} must be true or false.`);
284
+ }
285
+ var REACTION_ARGS = {
286
+ when: {
287
+ type: "string",
288
+ description: "Only run when what arrived passes these rules: `<field> <operator> <value>` joined by AND or by OR (either case). Fields are the trigger's payload fields (`baker scheduled-agents triggers --trigger <kind>` lists them; a webhook's are whatever was posted; an app.event's are what `targets --field appEvent --app <tool> --event <id>` says it sends). Operators: =, !=, contains, does not contain, starts with, ends with, >, <, >=, <=, in (comma list), exists, missing. Example: --when \"deal.stage = won AND amount > 10000\". A payload that fails is not counted and starts nothing. `none` clears the rules.",
289
+ required: false
290
+ },
291
+ "ai-check": {
292
+ type: "string",
293
+ description: 'Only run when AI judges that what arrived meets this condition, in plain words \u2014 for what no --when rule can say: --ai-check "the person writes on behalf of a company, not as a student or for personal use". Checked after --when, on what passed it; a turned-down arrival is not counted and starts nothing, and shows in `history` with its score. Say the boundary cases ("a freelancer counts as a company"). Emails and phones are hidden from it, as from the run \u2014 an email domain is a --when rule. Not for a time-based start (--cron, --run-at). `none` removes it.',
294
+ required: false
295
+ },
296
+ times: {
297
+ type: "string",
298
+ description: "Only the first N times it fires (and its --when rules pass), then never again. `--times 1` is only the first time. Shorthand for --occurrences 1,2,\u2026,N.",
299
+ required: false
300
+ },
301
+ payload: {
302
+ type: "string",
303
+ description: "include (default) or omit. Whether the run's first message carries what arrived \u2014 the posted body, the event's properties, the Form's answers (emails and phones masked). Place single values in --prompt with {{payload.<field>}} instead; those are filled either way.",
304
+ required: false
305
+ },
306
+ cooldown: {
307
+ type: "string",
308
+ description: "At most one run per this many minutes, however often it fires. 0 removes it.",
309
+ required: false
310
+ }
311
+ };
312
+ var SLACK_ARG = {
313
+ slack: {
314
+ type: "string",
315
+ description: "Tell each run in Slack: `here` (the Slack conversation this chat came from), `me` (a direct message to the person in this chat), `#channel` (a channel linked to this company), or `off`. Each run opens its own thread there and Baker reports on it: what it found, what it needs, whether to publish.",
316
+ required: false
317
+ }
318
+ };
319
+ function companiesArg(profile = agentProfile()) {
320
+ return profile === "organization" ? {
321
+ companies: {
322
+ type: "string",
323
+ description: "The companies whose events it hears, by id, comma-separated (`baker organization companies` lists them), or `all`. Left out, it hears every company, including ones added later. Only on a trigger that happens in a company; one company's Form, page or tag is a --when rule instead.",
324
+ required: false
325
+ }
326
+ } : {};
327
+ }
328
+ function companiesBody(args) {
329
+ return typeof args.companies === "string" && args.companies.trim().length > 0 ? { companies: args.companies.trim() } : {};
330
+ }
331
+ function slackBody(args) {
332
+ return typeof args.slack === "string" && args.slack.trim().length > 0 ? { slack: args.slack.trim() } : {};
333
+ }
334
+ function wholeNumber(raw, flag, { min }) {
335
+ if (raw === void 0) {
336
+ return void 0;
337
+ }
338
+ const value = Number(raw);
339
+ if (!Number.isInteger(value) || value < min) {
340
+ failValidation(`${flag} must be a whole number of at least ${min}.`);
341
+ }
342
+ return value;
343
+ }
344
+ function reactionBody(args) {
345
+ const occurrences = occurrencesFromFlags(args);
346
+ const when = whenFromFlag(args.when);
347
+ const includePayload = payloadFromFlag(args.payload);
348
+ const cooldownMinutes = wholeNumber(args.cooldown, "--cooldown", { min: 0 });
349
+ const aiCondition = aiCheckFromFlag(args["ai-check"]);
350
+ return {
351
+ ...occurrences !== void 0 ? { occurrences } : {},
352
+ ...when !== void 0 ? { when } : {},
353
+ ...aiCondition !== void 0 ? { aiCondition } : {},
354
+ ...includePayload !== void 0 ? { includePayload } : {},
355
+ ...cooldownMinutes !== void 0 ? { cooldownMinutes } : {}
356
+ };
357
+ }
358
+ function occurrencesFromFlags(args) {
359
+ const times = wholeNumber(args.times, "--times", { min: 1 });
360
+ const occurrences = parseOccurrences(args.occurrences);
361
+ if (times !== void 0 && occurrences !== void 0) {
362
+ failValidation("Pass --times or --occurrences, not both \u2014 --times 3 is --occurrences 1,2,3.");
363
+ }
364
+ return times !== void 0 ? firstTimes(times) : occurrences;
365
+ }
366
+ function whenFromFlag(raw) {
367
+ if (typeof raw !== "string") {
368
+ return void 0;
369
+ }
370
+ const text = raw.trim();
371
+ if (text.length === 0 || text.toLowerCase() === "none") {
372
+ return "none";
373
+ }
374
+ const parsed = parseConditionsExpression(text);
375
+ if (!parsed.ok) {
376
+ failValidation(parsed.error);
377
+ }
378
+ return text;
379
+ }
380
+ function aiCheckFromFlag(raw) {
381
+ if (typeof raw !== "string") {
382
+ return void 0;
383
+ }
384
+ const text = raw.trim();
385
+ if (text.length === 0 || text.toLowerCase() === "none") {
386
+ return "none";
387
+ }
388
+ if (text.length > MAX_AI_CONDITION_CHARS) {
389
+ failValidation(
390
+ `--ai-check is at most ${MAX_AI_CONDITION_CHARS} characters: say the condition, not the job. The job goes in --prompt.`
391
+ );
392
+ }
393
+ return text;
394
+ }
395
+ function payloadFromFlag(raw) {
396
+ if (raw === void 0) {
397
+ return void 0;
398
+ }
399
+ if (raw !== "include" && raw !== "omit") {
400
+ failValidation("--payload must be include or omit.");
401
+ }
402
+ return raw === "include";
403
+ }
404
+ function chatBody() {
405
+ const id = getEnv().BAKER_CHAT_ID;
406
+ return id ? { chatId: id } : {};
407
+ }
408
+
409
+ export {
410
+ writeOk,
411
+ failValidation,
412
+ failApi,
413
+ AUTO_PUBLISH_ARG,
414
+ refuseAutoPublish,
415
+ isTempScheduledAgentId,
416
+ validateScheduledAgentRef,
417
+ TRIGGER_ARG_DESCRIPTION,
418
+ TRIGGER_KIND_LIST,
419
+ NARROWING_ARGS,
420
+ buildTriggerBody,
421
+ parseBooleanFlag,
422
+ REACTION_ARGS,
423
+ SLACK_ARG,
424
+ companiesArg,
425
+ companiesBody,
426
+ slackBody,
427
+ reactionBody,
428
+ chatBody
429
+ };
430
+ //# sourceMappingURL=chunk-7BVRFQN4.js.map
@@ -0,0 +1,163 @@
1
+ import {
2
+ failApi
3
+ } from "./chunk-BS2MC62Y.js";
4
+ import {
5
+ CREATIVE_PERFORMANCE_DEFAULT_DAYS,
6
+ CREATIVE_PERFORMANCE_MAX_DAYS
7
+ } from "./chunk-MKLAZD23.js";
8
+ import {
9
+ apiPost
10
+ } from "./chunk-GFWWHCBF.js";
11
+ import {
12
+ registerSchema,
13
+ writeJson
14
+ } from "./chunk-CCYZJMZ7.js";
15
+
16
+ // src/commands/creatives/performance.ts
17
+ import { readFileSync } from "fs";
18
+ import path from "path";
19
+ import { defineCommand } from "citty";
20
+ import { parse as parseYaml } from "yaml";
21
+ var DESCRIPTION = `How each Baker creative is doing in the live Meta ads that show it: spend, impressions, CTR, CPC, results, cost per result, frequency and a fatigue verdict, next to the angle, hook, mechanism and dominant slot its definition set out to test. Video creatives add hookRate (percent of impressions that watched 3 seconds) and holdRate (percent of those that reached a ThruPlay). Use it before briefing new creatives, to learn which angle and mechanism to make next and which creatives to replace.
22
+
23
+ Start here:
24
+ baker creatives performance # every creative in an ad, last 30 days
25
+ baker creatives performance --slug spring-offer # one creative
26
+ baker creatives performance --days 14 --full # ids, last-7-day figures, a video's watch funnel, one row per ad
27
+
28
+ Fatigue follows the Meta playbook (07-creative-audit.md): fresh, fading, fatigued, dead, or too_early (under 14 days or 1,000 impressions) and no_delivery. A low hook rate means the first 3 seconds need new hooks; a working hook with a low hold rate means the body loses people. A creative counts once a Session's publish created an ad with it.`;
29
+ var ARGS = {
30
+ slug: { type: "string", description: "Only this creative (src/creatives/<slug>/)", required: false },
31
+ days: {
32
+ type: "string",
33
+ description: `Reporting window in days, ending today (1-${CREATIVE_PERFORMANCE_MAX_DAYS}, default ${CREATIVE_PERFORMANCE_DEFAULT_DAYS})`,
34
+ required: false
35
+ },
36
+ full: {
37
+ type: "boolean",
38
+ description: "Add ids, last-7-day CTR and cost per result, and one row per ad",
39
+ required: false,
40
+ default: false
41
+ }
42
+ };
43
+ registerSchema({ command: "creatives.performance", description: DESCRIPTION, args: ARGS });
44
+ var INSIGHT_KEYS = [
45
+ "idea",
46
+ "message",
47
+ "evidence",
48
+ "angle",
49
+ "hook",
50
+ "mechanism",
51
+ "dominantSlot",
52
+ "persona",
53
+ "awareness",
54
+ "hypothesis"
55
+ ];
56
+ var FRONTMATTER = /^---\r?\n([\s\S]*?)\r?\n---/;
57
+ function insightValue(value) {
58
+ if (typeof value === "string") return value.trim() || null;
59
+ if (typeof value === "number" || typeof value === "boolean") return String(value);
60
+ return null;
61
+ }
62
+ function definitionInsights(markdown) {
63
+ const block = FRONTMATTER.exec(markdown)?.[1];
64
+ if (!block) return null;
65
+ let parsed;
66
+ try {
67
+ parsed = parseYaml(block);
68
+ } catch {
69
+ return null;
70
+ }
71
+ if (parsed === null || typeof parsed !== "object") return null;
72
+ const insights = {};
73
+ for (const [key, raw] of Object.entries(parsed)) {
74
+ if (!(INSIGHT_KEYS.includes(key) || key.startsWith("source") || key.startsWith("reference"))) continue;
75
+ const value = insightValue(raw);
76
+ if (value !== null) insights[key] = value;
77
+ }
78
+ return Object.keys(insights).length > 0 ? insights : null;
79
+ }
80
+ function readLocalDefinition(slug) {
81
+ try {
82
+ return readFileSync(path.join(process.cwd(), "src", "creatives", slug, "_definition.md"), "utf8");
83
+ } catch {
84
+ return null;
85
+ }
86
+ }
87
+ var COMPARED_FIELDS = [
88
+ { key: "angle", label: "angle", advice: "Brief the next creative on the cheapest angle with a new hook." },
89
+ { key: "mechanism", label: "mechanism", advice: "Brief the next creative on the cheapest mechanism." },
90
+ { key: "dominantSlot", label: "dominant slot", advice: "Lead the next creative with the cheapest dominant slot." }
91
+ ];
92
+ function cheapestHint(creatives, { key, label, advice }) {
93
+ const byValue = /* @__PURE__ */ new Map();
94
+ for (const creative of creatives) {
95
+ const value = creative.definition?.[key];
96
+ if (!value || creative.costPerResult === null) continue;
97
+ const best = byValue.get(value);
98
+ if (!best || (best.costPerResult ?? Number.POSITIVE_INFINITY) > creative.costPerResult)
99
+ byValue.set(value, creative);
100
+ }
101
+ if (byValue.size < 2) return null;
102
+ const ranked = [...byValue.entries()].sort(([, a], [, b]) => (a.costPerResult ?? 0) - (b.costPerResult ?? 0)).map(
103
+ ([value, creative]) => `"${value}" ${creative.costPerResult}${creative.currency ? ` ${creative.currency}` : ""} (${creative.slug ?? creative.title})`
104
+ );
105
+ return `Cost per result by ${label}: ${ranked.join(", ")}. ${advice}`;
106
+ }
107
+ function withDefinitions(response, readDefinition) {
108
+ const creatives = response.data.creatives.map((creative) => {
109
+ const markdown = creative.slug ? readDefinition(creative.slug) : null;
110
+ const definition = markdown ? definitionInsights(markdown) : null;
111
+ return definition ? { ...creative, definition } : creative;
112
+ });
113
+ const hints = [...response.hints ?? []];
114
+ for (const field of COMPARED_FIELDS) {
115
+ const hint = cheapestHint(creatives, field);
116
+ if (hint) hints.push(hint);
117
+ }
118
+ const unnamed = creatives.filter((creative) => !creative.definition?.angle).map((c) => c.slug ?? c.title);
119
+ if (unnamed.length > 0) {
120
+ hints.push(
121
+ `No angle recorded for: ${unnamed.join(", ")}. Add angle and hook to src/creatives/<slug>/_definition.md so results show which angle works.`
122
+ );
123
+ }
124
+ return { ...response, data: { ...response.data, creatives }, ...hints.length > 0 ? { hints } : {} };
125
+ }
126
+ function syncedCreativesHint(slug) {
127
+ return `Live Meta read. Across every platform, from the synced copy (no rate limit, full history): baker ads performance creatives ranks them against their ad-group peers (madeInBaker names this creative), and baker ads performance live-in --creative ${slug ?? "<slug>"} lists the live campaigns showing it.`;
128
+ }
129
+ function parseDays(raw) {
130
+ if (raw === void 0) return void 0;
131
+ const days = Number(raw);
132
+ if (!Number.isInteger(days) || days < 1 || days > CREATIVE_PERFORMANCE_MAX_DAYS) {
133
+ throw new Error(`--days must be a whole number from 1 to ${CREATIVE_PERFORMANCE_MAX_DAYS}`);
134
+ }
135
+ return days;
136
+ }
137
+ var performanceCommand = defineCommand({
138
+ meta: { name: "performance", description: DESCRIPTION },
139
+ args: ARGS,
140
+ run: async ({ args }) => {
141
+ try {
142
+ const body = {};
143
+ const slug = args.slug;
144
+ if (slug) body.slug = slug;
145
+ const days = parseDays(args.days);
146
+ if (days !== void 0) body.days = days;
147
+ if (args.full) body.full = true;
148
+ const response = await apiPost("/api/creatives/performance", body);
149
+ const out = withDefinitions(response, readLocalDefinition);
150
+ writeJson({ ...out, hints: [...out.hints ?? [], syncedCreativesHint(slug)] });
151
+ } catch (err) {
152
+ failApi(err);
153
+ }
154
+ }
155
+ });
156
+
157
+ export {
158
+ definitionInsights,
159
+ withDefinitions,
160
+ parseDays,
161
+ performanceCommand
162
+ };
163
+ //# sourceMappingURL=chunk-7TDJCDKT.js.map