@koda-sl/baker-cli 0.514.0 → 0.515.0-dev.957976bb7

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 (854) hide show
  1. package/README.md +18 -0
  2. package/dist/account-QX4G4BJ7.js +82 -0
  3. package/dist/account-UFYZS3K6.js +82 -0
  4. package/dist/account-reads-FOEVPWDP.js +219 -0
  5. package/dist/account-users-UTIF7MIT.js +64 -0
  6. package/dist/account-writes-QAQXRIEY.js +68 -0
  7. package/dist/accounts-JK3OAS5U.js +701 -0
  8. package/dist/accounts-OE33CKWD.js +80 -0
  9. package/dist/actions-QZDSLFFK.js +55 -0
  10. package/dist/activecampaign-U6TKRR45.js +938 -0
  11. package/dist/ad-group-writes-XY5JYTKT.js +172 -0
  12. package/dist/ad-groups-YEO5ZS5U.js +70 -0
  13. package/dist/ad-writes-XRCPK4SP.js +176 -0
  14. package/dist/add-2EF7S4NK.js +305 -0
  15. package/dist/add-YCJ6RXPG.js +107 -0
  16. package/dist/ads-AYJAYLFR.js +48 -0
  17. package/dist/ads-H7H7H2CM.js +79 -0
  18. package/dist/advertisers-JLSU3G35.js +123 -0
  19. package/dist/analytics-ADIWEM6G.js +2437 -0
  20. package/dist/analytics-XB6FRNVJ.js +447 -0
  21. package/dist/animate-HRWFVE2N.js +480 -0
  22. package/dist/assign-IWZ2OPFL.js +80 -0
  23. package/dist/audience-size-P5L6MZ4C.js +76 -0
  24. package/dist/audiences-XKERWKKE.js +280 -0
  25. package/dist/audit-SEADLC6F.js +154 -0
  26. package/dist/autocomplete-AJQBJS5R.js +114 -0
  27. package/dist/avatars-4HCGWBOL.js +38 -0
  28. package/dist/bid-pricing-NWSUO3VM.js +103 -0
  29. package/dist/brand-C6OB6Q4U.js +22 -0
  30. package/dist/brief-LCWWQ4OC.js +543 -0
  31. package/dist/campaign-groups-PH64UXZJ.js +99 -0
  32. package/dist/campaign-writes-BN3EGDK5.js +168 -0
  33. package/dist/campaign-writes-CLV5ZSUK.js +176 -0
  34. package/dist/campaigns-5XRY27JZ.js +78 -0
  35. package/dist/campaigns-JF4TYYUP.js +113 -0
  36. package/dist/campaigns-ZYU4BXDP.js +111 -0
  37. package/dist/canvas-AI34UBGU.js +46 -0
  38. package/dist/capabilities-TRHAPTUU.js +147 -0
  39. package/dist/catalog-ZY3MFT55.js +65 -0
  40. package/dist/catalogs-6XLBWAUS.js +130 -0
  41. package/dist/changes-OOUVQDBY.js +135 -0
  42. package/dist/chatgpt-NAXIFWXV.js +47 -0
  43. package/dist/chats-I5RHBRS5.js +279 -0
  44. package/dist/check-3E64VBUE.js +107 -0
  45. package/dist/chunk-3CHYJYSS.js +319 -0
  46. package/dist/chunk-3G3GC5N4.js +429 -0
  47. package/dist/chunk-3M45PYU7.js +274 -0
  48. package/dist/chunk-3QHXF3QI.js +23 -0
  49. package/dist/chunk-3XPHUMLJ.js +3868 -0
  50. package/dist/chunk-45EERHDB.js +783 -0
  51. package/dist/chunk-4FGTANFK.js +387 -0
  52. package/dist/chunk-4IHWT7PH.js +167 -0
  53. package/dist/chunk-4LF4AYPT.js +846 -0
  54. package/dist/chunk-5JJD33Y2.js +455 -0
  55. package/dist/chunk-5K4QYYOJ.js +831 -0
  56. package/dist/chunk-5LJ6E4YU.js +163 -0
  57. package/dist/chunk-5T73MMBL.js +275 -0
  58. package/dist/chunk-64MAHLTK.js +363 -0
  59. package/dist/chunk-6OIKNJ7G.js +26 -0
  60. package/dist/chunk-6ZFSDYWV.js +131 -0
  61. package/dist/chunk-7I6ZVBLM.js +358 -0
  62. package/dist/chunk-AN4OEQXE.js +122 -0
  63. package/dist/chunk-AULSX5ZA.js +5368 -0
  64. package/dist/chunk-AVYUFJQQ.js +46 -0
  65. package/dist/chunk-B4YF7VQF.js +97 -0
  66. package/dist/chunk-BDOYNGUL.js +98 -0
  67. package/dist/chunk-BJOK7QD4.js +207 -0
  68. package/dist/chunk-CMCGFSUS.js +197 -0
  69. package/dist/chunk-DMJUIUAL.js +676 -0
  70. package/dist/chunk-DUCUOZLS.js +225 -0
  71. package/dist/chunk-EW7JSTRZ.js +24026 -0
  72. package/dist/chunk-EW7JSTRZ.js.map +1 -0
  73. package/dist/chunk-F3CZFUXZ.js +3187 -0
  74. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  75. package/dist/chunk-FJZYOVSW.js +843 -0
  76. package/dist/chunk-FKP4ECJY.js +19 -0
  77. package/dist/chunk-GAYRBIEF.js +712 -0
  78. package/dist/chunk-GAYRBIEF.js.map +1 -0
  79. package/dist/chunk-GNMEOU46.js +8954 -0
  80. package/dist/chunk-GYKYXWUQ.js +156 -0
  81. package/dist/chunk-GYPLRU4Y.js +297 -0
  82. package/dist/chunk-I43ZEWJQ.js +285 -0
  83. package/dist/chunk-IZABTTW5.js +228 -0
  84. package/dist/chunk-K7IE6UYV.js +1646 -0
  85. package/dist/chunk-KH5YHHJV.js +604 -0
  86. package/dist/chunk-KMY7AD3N.js +51 -0
  87. package/dist/chunk-KPCHWDJM.js +8914 -0
  88. package/dist/chunk-KTZCLJ2D.js +148 -0
  89. package/dist/chunk-MKUA54QE.js +638 -0
  90. package/dist/chunk-MTV2RSGY.js +63 -0
  91. package/dist/chunk-MUS2UTWU.js +4254 -0
  92. package/dist/chunk-MUS2UTWU.js.map +1 -0
  93. package/dist/chunk-N2QX57K3.js +392 -0
  94. package/dist/chunk-NEYWS2DQ.js +479 -0
  95. package/dist/chunk-NZ34KM46.js +7211 -0
  96. package/dist/chunk-OTC6UMJ2.js +191 -0
  97. package/dist/chunk-OUY2IAWL.js +224 -0
  98. package/dist/chunk-PJXNCRMR.js +344 -0
  99. package/dist/chunk-PYQ3GF7R.js +91 -0
  100. package/dist/chunk-Q3EIVZAR.js +170 -0
  101. package/dist/chunk-QHZE62GP.js +1919 -0
  102. package/dist/chunk-RGR6TSTJ.js +103 -0
  103. package/dist/chunk-SAAXU7QR.js +203 -0
  104. package/dist/chunk-SHTKLRI6.js +66 -0
  105. package/dist/chunk-SIKCVWM3.js +76 -0
  106. package/dist/chunk-SSXG53CZ.js +89 -0
  107. package/dist/chunk-TBWAM577.js +547 -0
  108. package/dist/chunk-TGPGQTZA.js +169 -0
  109. package/dist/chunk-UMIX2BMM.js +1518 -0
  110. package/dist/chunk-URMAEVZO.js +150 -0
  111. package/dist/chunk-VBO3ZVUU.js +61 -0
  112. package/dist/chunk-VFLYMHTO.js +592 -0
  113. package/dist/chunk-VGYIVXIZ.js +249 -0
  114. package/dist/chunk-VIB7R533.js +57 -0
  115. package/dist/chunk-WVWLPXBO.js +910 -0
  116. package/dist/chunk-XEH5XAP6.js +494 -0
  117. package/dist/chunk-XEOKVL4E.js +142 -0
  118. package/dist/chunk-XOGQJYXH.js +64 -0
  119. package/dist/chunk-XUXRA7IB.js +942 -0
  120. package/dist/claim-FIK2YTLM.js +200 -0
  121. package/dist/cli.js +34 -33
  122. package/dist/cli.js.map +1 -1
  123. package/dist/companies-KMMV6EJW.js +198 -0
  124. package/dist/company-B54URPJG.js +308 -0
  125. package/dist/complete-PPCWEXS3.js +84 -0
  126. package/dist/connect-IAXSZPGA.js +45 -0
  127. package/dist/conversation-KHTZBGX2.js +96 -0
  128. package/dist/conversion-report-U66HW6JM.js +127 -0
  129. package/dist/conversion-upload-command-IHFKVX2M.js +439 -0
  130. package/dist/conversion-writes-RSGDOAET.js +122 -0
  131. package/dist/conversions-BVOL43W4.js +78 -0
  132. package/dist/conversions-SUMZAV2T.js +140 -0
  133. package/dist/create-732HQL3C.js +210 -0
  134. package/dist/create-TFR6R2KF.js +239 -0
  135. package/dist/create-UC57ULRL.js +62 -0
  136. package/dist/create-UL2OYXOA.js +135 -0
  137. package/dist/creatives-BZEVJ6ER.js +58 -0
  138. package/dist/creatives-FU3YELGU.js +223 -0
  139. package/dist/credentials-AYV5YQE4.js +290 -0
  140. package/dist/critique-FKIJB72I.js +1451 -0
  141. package/dist/critique-IQYNDXCN.js +232 -0
  142. package/dist/crm-ILQMNJPX.js +323 -0
  143. package/dist/crm-MQQRBITZ.js +227 -0
  144. package/dist/currency-CGKO5GKH.js +88 -0
  145. package/dist/customers-NKKU6S7G.js +59 -0
  146. package/dist/delete-2TCCNRMH.js +57 -0
  147. package/dist/delete-HCZTISBT.js +69 -0
  148. package/dist/delete-UIKB5ZXS.js +67 -0
  149. package/dist/demographics-ABZODD45.js +141 -0
  150. package/dist/discard-V3K5PZ4W.js +69 -0
  151. package/dist/discover-VM3O7CQM.js +172 -0
  152. package/dist/domain-A66DHOTQ.js +101 -0
  153. package/dist/download-LSAZD5JO.js +172 -0
  154. package/dist/draft-5UUJC675.js +335 -0
  155. package/dist/draft-BATA5CVI.js +283 -0
  156. package/dist/draft-CRDBU6LF.js +308 -0
  157. package/dist/draft-P7IDMXWR.js +310 -0
  158. package/dist/draft-YBNL4ZZA.js +220 -0
  159. package/dist/engine/index.js +7 -7
  160. package/dist/experiments-MLLTHMMS.js +236 -0
  161. package/dist/facets-KSHR3MBE.js +117 -0
  162. package/dist/feedback-4GCPXZSI.js +111 -0
  163. package/dist/feedback-record-VEFHUIUJ.js +265 -0
  164. package/dist/fetch-42QL56JC.js +179 -0
  165. package/dist/fit-Q5GRVF2O.js +65 -0
  166. package/dist/flows-M3WBZQET.js +250 -0
  167. package/dist/fonts-GD4YRXQU.js +39 -0
  168. package/dist/forecast-HT46MFL4.js +121 -0
  169. package/dist/forecast-ONVS2QAI.js +169 -0
  170. package/dist/funnel-76BAD64Q.js +397 -0
  171. package/dist/generate-VBEY3N3L.js +263 -0
  172. package/dist/get-4KFAO475.js +82 -0
  173. package/dist/get-QV5NIADE.js +59 -0
  174. package/dist/google-7EZP7I6J.js +3267 -0
  175. package/dist/google-ads-J7WHTJO4.js +198 -0
  176. package/dist/history-EULKWQUS.js +136 -0
  177. package/dist/history-FEBJHFHJ.js +69 -0
  178. package/dist/history-RDVV7KBN.js +102 -0
  179. package/dist/hubspot-A3RQNMYN.js +782 -0
  180. package/dist/ideas-WX7EBPSF.js +45 -0
  181. package/dist/images-4AXF4LAC.js +92 -0
  182. package/dist/ingest-AM5YDTRH.js +110 -0
  183. package/dist/ingest-C3M4GUO6.js +26 -0
  184. package/dist/insights-UTCMSWSC.js +132 -0
  185. package/dist/inspect-DWCLRZGR.js +192 -0
  186. package/dist/intent-ZMYMFGB4.js +95 -0
  187. package/dist/keyword-gap-XSJO2R77.js +130 -0
  188. package/dist/keyword-metrics-M46FCTAS.js +200 -0
  189. package/dist/keywords-for-site-XNSLX7EA.js +131 -0
  190. package/dist/landing-MUNYZQNA.js +28 -0
  191. package/dist/languages-DIQ3OG3E.js +40 -0
  192. package/dist/lead-routes-B4FBXNEC.js +639 -0
  193. package/dist/lead-routes-B4FBXNEC.js.map +1 -0
  194. package/dist/leads-LAATTW5G.js +115 -0
  195. package/dist/learn-3GLY4G3H.js +207 -0
  196. package/dist/line-item-writes-XJTTA3X5.js +211 -0
  197. package/dist/line-items-JR25T2C5.js +107 -0
  198. package/dist/link-7DSLIF3I.js +67 -0
  199. package/dist/linkedin-W5BJ6HEH.js +1316 -0
  200. package/dist/linkedin-person-2ZYSOHYR.js +139 -0
  201. package/dist/list-3653DIYB.js +67 -0
  202. package/dist/list-G66HVYCR.js +306 -0
  203. package/dist/list-Z4M53MS5.js +154 -0
  204. package/dist/locations-HTVYJSDJ.js +40 -0
  205. package/dist/locations-M2B5XDU4.js +69 -0
  206. package/dist/log-2RJU5BOW.js +95 -0
  207. package/dist/make-MJ6JMU5T.js +1370 -0
  208. package/dist/map-27IPOBY6.js +436 -0
  209. package/dist/mcp-TFQTME4P.js +717 -0
  210. package/dist/media-sources-P246GM7W.js +35 -0
  211. package/dist/members-KOKBTUC2.js +47 -0
  212. package/dist/metrics-WYWUX6Y5.js +152 -0
  213. package/dist/models-HJ7Y55AH.js +155 -0
  214. package/dist/normalize-GXBUNTYJ.js +144 -0
  215. package/dist/options-MA25RNXF.js +125 -0
  216. package/dist/organization-NLEVNGKQ.js +949 -0
  217. package/dist/performance-34EUP5KL.js +5541 -0
  218. package/dist/performance-J3DLNI2W.js +27 -0
  219. package/dist/pixels-THEGYRXT.js +62 -0
  220. package/dist/promoted-tweet-writes-SBXWKO23.js +183 -0
  221. package/dist/promoted-tweets-W42FNWS7.js +119 -0
  222. package/dist/publish-YG76GOA7.js +344 -0
  223. package/dist/query-IQICLABN.js +62 -0
  224. package/dist/reddit-X4CERXYF.js +29 -0
  225. package/dist/refresh-A36GA7JN.js +97 -0
  226. package/dist/release-3NCMZIDI.js +63 -0
  227. package/dist/relevant-pages-UDDQOYLD.js +99 -0
  228. package/dist/remove-6LE3XNRG.js +53 -0
  229. package/dist/reopen-XLADJ2UU.js +66 -0
  230. package/dist/rerun-QVMFJZA2.js +95 -0
  231. package/dist/research-D5UUJF74.js +72 -0
  232. package/dist/research-QCI5ISUE.js +265 -0
  233. package/dist/reset-DD37KDXQ.js +57 -0
  234. package/dist/reset-FLZPKY2N.js +57 -0
  235. package/dist/resolve-KRKIJKT7.js +124 -0
  236. package/dist/retry-ALXYEKFV.js +65 -0
  237. package/dist/retry-MIXKW4EW.js +63 -0
  238. package/dist/revenue-UBZUTSXN.js +91 -0
  239. package/dist/rules-SO6P44B6.js +99 -0
  240. package/dist/rules-add-XN3BZKFO.js +465 -0
  241. package/dist/run-K2DOMOAN.js +69 -0
  242. package/dist/run-T7XAH2W5.js +70 -0
  243. package/dist/scaffold-ad-TWIT7R4U.js +1516 -0
  244. package/dist/scaffold-static-ad-GPJKOGOI.js +1015 -0
  245. package/dist/scaffold-video-7BQNOJ4S.js +888 -0
  246. package/dist/schedule-UTRVEWPE.js +64 -0
  247. package/dist/scheduled-agents-ZGCUZ6SB.js +55 -0
  248. package/dist/schema-D6BMZAPB.js +69 -0
  249. package/dist/schema-DSMF6ELE.js +135 -0
  250. package/dist/search-2P72GSKY.js +177 -0
  251. package/dist/select-N7VWQ2ZQ.js +106 -0
  252. package/dist/set-prompt-3N3HMHT6.js +198 -0
  253. package/dist/setup-links-I5RFZTS4.js +144 -0
  254. package/dist/shopify-LXSR37XI.js +3958 -0
  255. package/dist/site-AI3BFWRK.js +180 -0
  256. package/dist/sources-AOF2YDYX.js +457 -0
  257. package/dist/sources-DVMJEXEX.js +30 -0
  258. package/dist/stale-P4GGOLIB.js +76 -0
  259. package/dist/status-O25MXHU4.js +65 -0
  260. package/dist/studio-5Z4NMA4K.js +49 -0
  261. package/dist/sync-2AI7LKKN.js +57 -0
  262. package/dist/sync-definition-F3CXG6KG.js +69 -0
  263. package/dist/tags-SEZ2CQJM.js +26 -0
  264. package/dist/tags-TJDZXOXS.js +227 -0
  265. package/dist/tags-YSC7ZILI.js +23 -0
  266. package/dist/tags-Z6EALYOS.js +23 -0
  267. package/dist/tags-ZXSVW6XO.js +23 -0
  268. package/dist/targeting-criteria-AU5CSMAU.js +113 -0
  269. package/dist/targets-IOIH5JYS.js +106 -0
  270. package/dist/testimonials-Y6PUV6AL.js +32 -0
  271. package/dist/themes-PGPIAKAO.js +95 -0
  272. package/dist/top-companies-FSITN3ZR.js +111 -0
  273. package/dist/transcript-CGPX7Y37.js +165 -0
  274. package/dist/translate-QCBMGOKR.js +609 -0
  275. package/dist/triggers-MONMZSKT.js +144 -0
  276. package/dist/unlink-I7QFQQKO.js +70 -0
  277. package/dist/unstage-JXG5AU5Q.js +88 -0
  278. package/dist/update-BVZGM54I.js +66 -0
  279. package/dist/update-EI2BHUM2.js +101 -0
  280. package/dist/update-RZSV4NYP.js +155 -0
  281. package/dist/update-WLDNOZ5U.js +192 -0
  282. package/dist/upload-BP3YEQSF.js +129 -0
  283. package/dist/url-options-63DED6CR.js +131 -0
  284. package/dist/url-params-TRFI2PMD.js +101 -0
  285. package/dist/validate-SNCR25A7.js +122 -0
  286. package/dist/videos-SVZV5YYC.js +41 -0
  287. package/dist/viewer-check-LUAEGV6H.js +83 -0
  288. package/dist/web-MJQEK7BB.js +143 -0
  289. package/dist/winning-ads-KNLJHHCO.js +86 -0
  290. package/dist/write-commands-NVCX7IAU.js +1502 -0
  291. package/dist/x-ZQNHYIDU.js +47 -0
  292. package/package.json +1 -1
  293. package/dist/account-D6LEVVWT.js +0 -82
  294. package/dist/account-SGK3IJ6N.js +0 -82
  295. package/dist/account-reads-2MSUVG46.js +0 -219
  296. package/dist/account-users-MHC7AD6K.js +0 -64
  297. package/dist/account-writes-QQQC54WC.js +0 -68
  298. package/dist/accounts-2O6I7YBN.js +0 -80
  299. package/dist/accounts-QNE5QWBG.js +0 -701
  300. package/dist/actions-D7OWCP36.js +0 -55
  301. package/dist/activecampaign-LBS4M4C4.js +0 -938
  302. package/dist/ad-group-writes-CJTTUUIT.js +0 -172
  303. package/dist/ad-groups-HLGSVH74.js +0 -70
  304. package/dist/ad-writes-3UE3U7VE.js +0 -176
  305. package/dist/add-HFQB2NTU.js +0 -107
  306. package/dist/add-IUYE5H6A.js +0 -305
  307. package/dist/ads-HLUJB5SQ.js +0 -48
  308. package/dist/ads-PYNDMHUD.js +0 -79
  309. package/dist/advertisers-XXM6POO5.js +0 -123
  310. package/dist/analytics-AULKYNNT.js +0 -447
  311. package/dist/analytics-DNDTC643.js +0 -2437
  312. package/dist/animate-2BMHZ4FM.js +0 -480
  313. package/dist/assign-2GQVQKKO.js +0 -80
  314. package/dist/audience-size-C3YHQPZB.js +0 -76
  315. package/dist/audiences-M3A3QK52.js +0 -280
  316. package/dist/audit-FLPJ7GTE.js +0 -154
  317. package/dist/autocomplete-ZYMHHV7E.js +0 -114
  318. package/dist/avatars-WZ2JDMHH.js +0 -38
  319. package/dist/bid-pricing-H3M63PTW.js +0 -103
  320. package/dist/brand-IZTTBZII.js +0 -22
  321. package/dist/brief-OPQ7ICOY.js +0 -543
  322. package/dist/campaign-groups-IQSDKOVI.js +0 -99
  323. package/dist/campaign-writes-APAAV4ZU.js +0 -168
  324. package/dist/campaign-writes-BN4PZP4Z.js +0 -176
  325. package/dist/campaigns-4Y3JQC2U.js +0 -111
  326. package/dist/campaigns-GA34MEN2.js +0 -78
  327. package/dist/campaigns-K2FVD3XW.js +0 -113
  328. package/dist/canvas-IQ753Q2O.js +0 -46
  329. package/dist/capabilities-ZITW4RF7.js +0 -147
  330. package/dist/catalog-TZLU5NWI.js +0 -65
  331. package/dist/catalogs-ZR7DECMG.js +0 -130
  332. package/dist/changes-VWKTM27U.js +0 -135
  333. package/dist/chatgpt-OPOD2WHB.js +0 -47
  334. package/dist/chats-AL2SYBJO.js +0 -279
  335. package/dist/check-U2YLRD6H.js +0 -107
  336. package/dist/chunk-2GYCWRF3.js +0 -170
  337. package/dist/chunk-2L7F7KR4.js +0 -61
  338. package/dist/chunk-3YJNSUNF.js +0 -131
  339. package/dist/chunk-44ZRCSR7.js +0 -228
  340. package/dist/chunk-46YLDIQG.js +0 -4254
  341. package/dist/chunk-46YLDIQG.js.map +0 -1
  342. package/dist/chunk-4EDWXZ3I.js +0 -363
  343. package/dist/chunk-4FFBGR5L.js +0 -66
  344. package/dist/chunk-4UZUUSVL.js +0 -592
  345. package/dist/chunk-4XHCEYHI.js +0 -831
  346. package/dist/chunk-4Z6PVR3M.js +0 -479
  347. package/dist/chunk-5Y5FZV2W.js +0 -122
  348. package/dist/chunk-6HJXLGDV.js +0 -392
  349. package/dist/chunk-6KWEF6HF.js +0 -8914
  350. package/dist/chunk-6S5CWGDA.js +0 -429
  351. package/dist/chunk-6VYROVWO.js +0 -494
  352. package/dist/chunk-7HZSORAB.js +0 -843
  353. package/dist/chunk-A3IQAONL.js +0 -638
  354. package/dist/chunk-AQRXXC6E.js +0 -319
  355. package/dist/chunk-ARBXT73X.js +0 -387
  356. package/dist/chunk-ASRS37QE.js +0 -710
  357. package/dist/chunk-ASRS37QE.js.map +0 -1
  358. package/dist/chunk-BEZHQIEI.js +0 -97
  359. package/dist/chunk-BFURWHVR.js +0 -547
  360. package/dist/chunk-BX6B25KK.js +0 -358
  361. package/dist/chunk-DSCEXBDR.js +0 -676
  362. package/dist/chunk-F4YQ5PVR.js +0 -1518
  363. package/dist/chunk-FFG2OYVV.js +0 -64
  364. package/dist/chunk-FLWDFPXE.js +0 -23
  365. package/dist/chunk-FRNBRN2C.js +0 -1646
  366. package/dist/chunk-GE3VT3CA.js +0 -51
  367. package/dist/chunk-GW2WRZZA.js +0 -24026
  368. package/dist/chunk-GW2WRZZA.js.map +0 -1
  369. package/dist/chunk-HGBJQGO5.js +0 -142
  370. package/dist/chunk-HML3VQIW.js +0 -225
  371. package/dist/chunk-I7AYMJZA.js +0 -783
  372. package/dist/chunk-IRM273C7.js +0 -207
  373. package/dist/chunk-IWKD56AY.js +0 -156
  374. package/dist/chunk-JAC6JVCI.js +0 -26
  375. package/dist/chunk-JLAQWMVF.js +0 -3868
  376. package/dist/chunk-K6NULQN7.js +0 -57
  377. package/dist/chunk-L2BRAC2J.js +0 -19
  378. package/dist/chunk-LGMI4LSY.js +0 -455
  379. package/dist/chunk-LRV6M2WB.js +0 -1919
  380. package/dist/chunk-MCJ5I5LR.js +0 -3187
  381. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  382. package/dist/chunk-MVD7QIXI.js +0 -46
  383. package/dist/chunk-MZPS46OR.js +0 -76
  384. package/dist/chunk-OG47L5GG.js +0 -275
  385. package/dist/chunk-OR6KVLI5.js +0 -169
  386. package/dist/chunk-PC3FJEZH.js +0 -7211
  387. package/dist/chunk-PX3PUDK7.js +0 -167
  388. package/dist/chunk-QIOFOD4K.js +0 -344
  389. package/dist/chunk-R2SYF5FC.js +0 -249
  390. package/dist/chunk-RTH2I55B.js +0 -942
  391. package/dist/chunk-S6VFDNSQ.js +0 -63
  392. package/dist/chunk-SG2TDQEE.js +0 -150
  393. package/dist/chunk-SWN6OHXG.js +0 -148
  394. package/dist/chunk-T3P6O2VU.js +0 -89
  395. package/dist/chunk-TX7CQTD4.js +0 -5368
  396. package/dist/chunk-TXDE2QJ3.js +0 -604
  397. package/dist/chunk-UDIEKCIR.js +0 -203
  398. package/dist/chunk-UKSSNYLU.js +0 -98
  399. package/dist/chunk-USCADMM3.js +0 -163
  400. package/dist/chunk-UUGISMNE.js +0 -910
  401. package/dist/chunk-VDPOCAQ2.js +0 -197
  402. package/dist/chunk-VEJ3QX6M.js +0 -103
  403. package/dist/chunk-VFJB7OG6.js +0 -91
  404. package/dist/chunk-VRIPVLE7.js +0 -8954
  405. package/dist/chunk-WFY7KSHB.js +0 -274
  406. package/dist/chunk-XHQYFNNK.js +0 -846
  407. package/dist/chunk-YILZR3XI.js +0 -224
  408. package/dist/chunk-YJFLXOH4.js +0 -191
  409. package/dist/chunk-YNYAT2TZ.js +0 -285
  410. package/dist/chunk-YWHZYR6S.js +0 -297
  411. package/dist/claim-GOLUTAJ3.js +0 -200
  412. package/dist/companies-4AJJGTMC.js +0 -198
  413. package/dist/company-MOSPLRZJ.js +0 -308
  414. package/dist/complete-777BDV45.js +0 -84
  415. package/dist/connect-3YY7MF3I.js +0 -45
  416. package/dist/conversation-KROMHDHK.js +0 -96
  417. package/dist/conversion-report-JZHI2IHY.js +0 -127
  418. package/dist/conversion-upload-command-7RSZ5ZQU.js +0 -439
  419. package/dist/conversion-writes-SNCLQDXQ.js +0 -122
  420. package/dist/conversions-43EYP2W2.js +0 -140
  421. package/dist/conversions-EUOWILCQ.js +0 -78
  422. package/dist/create-3WOZO2XT.js +0 -239
  423. package/dist/create-7IFYLX7P.js +0 -210
  424. package/dist/create-FOHIQC3E.js +0 -62
  425. package/dist/create-UWQSQTK6.js +0 -135
  426. package/dist/creatives-2DR3QHJW.js +0 -58
  427. package/dist/creatives-KUO67WYA.js +0 -223
  428. package/dist/credentials-IP4L37XP.js +0 -290
  429. package/dist/critique-LGDNMLBL.js +0 -232
  430. package/dist/critique-LJMFAURK.js +0 -1451
  431. package/dist/crm-BNYW7PF7.js +0 -323
  432. package/dist/crm-J53V2QTN.js +0 -227
  433. package/dist/currency-X7Y6TSLF.js +0 -88
  434. package/dist/customers-663K2OCP.js +0 -59
  435. package/dist/delete-5W3YVA4L.js +0 -67
  436. package/dist/delete-6U7E6YUW.js +0 -57
  437. package/dist/delete-G4NY6ZG6.js +0 -69
  438. package/dist/demographics-4Y5LTCU4.js +0 -141
  439. package/dist/discard-RKCZNKMN.js +0 -69
  440. package/dist/discover-6DORQWXY.js +0 -172
  441. package/dist/domain-PLA2O4FW.js +0 -101
  442. package/dist/download-4EFLVSA4.js +0 -172
  443. package/dist/draft-4V7W5DV2.js +0 -310
  444. package/dist/draft-HY3U2GHU.js +0 -283
  445. package/dist/draft-JMNAGW7C.js +0 -220
  446. package/dist/draft-R6EKORNS.js +0 -308
  447. package/dist/draft-TRPQCJ4B.js +0 -335
  448. package/dist/experiments-4V242DG2.js +0 -236
  449. package/dist/facets-WXJ2MCU6.js +0 -117
  450. package/dist/feedback-IRSRPXV6.js +0 -111
  451. package/dist/feedback-record-DT3R4NA3.js +0 -265
  452. package/dist/fetch-YLQP5VQL.js +0 -179
  453. package/dist/fit-BEFCY2B4.js +0 -65
  454. package/dist/flows-FDMF3F3P.js +0 -250
  455. package/dist/fonts-C6XN5667.js +0 -39
  456. package/dist/forecast-BTPIXEQ5.js +0 -169
  457. package/dist/forecast-ZTXZD3HD.js +0 -121
  458. package/dist/funnel-7KOEX7YM.js +0 -397
  459. package/dist/generate-NWHPM2GQ.js +0 -263
  460. package/dist/get-KBSKPTAV.js +0 -59
  461. package/dist/get-OSVQVMP6.js +0 -82
  462. package/dist/google-M6BJ22UL.js +0 -3267
  463. package/dist/google-ads-XCJVAXWF.js +0 -198
  464. package/dist/history-3NTM5SFN.js +0 -69
  465. package/dist/history-4TN2A6BL.js +0 -136
  466. package/dist/history-5IWW2X33.js +0 -102
  467. package/dist/hubspot-HMVSRJQZ.js +0 -782
  468. package/dist/ideas-M66FU45H.js +0 -45
  469. package/dist/images-MM5OPUKV.js +0 -92
  470. package/dist/ingest-GU3WEBN3.js +0 -110
  471. package/dist/ingest-KMLYCFF4.js +0 -26
  472. package/dist/insights-CQCWOCIT.js +0 -132
  473. package/dist/inspect-4JO2J3D6.js +0 -192
  474. package/dist/intent-YCQCUCV3.js +0 -95
  475. package/dist/keyword-gap-PUSF7EKY.js +0 -130
  476. package/dist/keyword-metrics-JXBM22ZD.js +0 -200
  477. package/dist/keywords-for-site-OAYA7KP7.js +0 -131
  478. package/dist/landing-OZU5RRFV.js +0 -28
  479. package/dist/languages-SLFV73GE.js +0 -40
  480. package/dist/leads-Q7APIJRQ.js +0 -115
  481. package/dist/learn-NBBJRMVZ.js +0 -207
  482. package/dist/line-item-writes-X3L5NQEH.js +0 -211
  483. package/dist/line-items-NJMEPEF5.js +0 -107
  484. package/dist/link-WZSNUQQ2.js +0 -67
  485. package/dist/linkedin-55PAID62.js +0 -1316
  486. package/dist/linkedin-person-MVRI7LLC.js +0 -139
  487. package/dist/list-6S54IAUX.js +0 -67
  488. package/dist/list-QRJ4E3SC.js +0 -154
  489. package/dist/list-RZUDFLJN.js +0 -306
  490. package/dist/locations-T2OMP6QN.js +0 -40
  491. package/dist/locations-W3VOYBWL.js +0 -69
  492. package/dist/log-53SAPZZ3.js +0 -95
  493. package/dist/make-ZF3YIMKW.js +0 -1370
  494. package/dist/map-J37QFJSV.js +0 -436
  495. package/dist/mcp-YRIFPYNU.js +0 -717
  496. package/dist/media-sources-EQI3U4TC.js +0 -35
  497. package/dist/members-GYVMSCKL.js +0 -47
  498. package/dist/metrics-4YVJHYRI.js +0 -152
  499. package/dist/models-JQEPSPNQ.js +0 -155
  500. package/dist/normalize-MFN3WCH5.js +0 -144
  501. package/dist/options-DLHDHO7H.js +0 -125
  502. package/dist/organization-C2VOA2SD.js +0 -949
  503. package/dist/performance-NIF3CESZ.js +0 -27
  504. package/dist/performance-T6TBVHVU.js +0 -5541
  505. package/dist/pixels-LQAJOZIM.js +0 -62
  506. package/dist/promoted-tweet-writes-Y6BBOWDL.js +0 -183
  507. package/dist/promoted-tweets-RJT53DRM.js +0 -119
  508. package/dist/publish-IOTMJCCY.js +0 -344
  509. package/dist/query-XZMDGRO5.js +0 -62
  510. package/dist/reddit-JIHMAKAQ.js +0 -29
  511. package/dist/refresh-OQZ263CS.js +0 -97
  512. package/dist/release-4CHFURO3.js +0 -63
  513. package/dist/relevant-pages-FS7GBVXK.js +0 -99
  514. package/dist/remove-IJQPHPDI.js +0 -53
  515. package/dist/reopen-YTLPVKUR.js +0 -66
  516. package/dist/rerun-C7NB7B35.js +0 -95
  517. package/dist/research-PNBACCCP.js +0 -72
  518. package/dist/research-TLHNPK3O.js +0 -265
  519. package/dist/reset-JVLW7HA2.js +0 -57
  520. package/dist/reset-Y6FXLAQE.js +0 -57
  521. package/dist/resolve-YLRESES5.js +0 -124
  522. package/dist/retry-3V3IGDRR.js +0 -65
  523. package/dist/retry-AEKQLQMP.js +0 -63
  524. package/dist/revenue-E4GQIOUY.js +0 -91
  525. package/dist/rules-34BQAWU3.js +0 -99
  526. package/dist/rules-add-CM5XUYNS.js +0 -465
  527. package/dist/run-MD64RDHZ.js +0 -69
  528. package/dist/run-QCNRR3CA.js +0 -70
  529. package/dist/scaffold-ad-NADPY3CB.js +0 -1516
  530. package/dist/scaffold-static-ad-5YEYYVYH.js +0 -1015
  531. package/dist/scaffold-video-W7DF2CBJ.js +0 -888
  532. package/dist/schedule-CTRRF6TS.js +0 -64
  533. package/dist/scheduled-agents-OXYAVSIE.js +0 -55
  534. package/dist/schema-6Y3IXFDC.js +0 -69
  535. package/dist/schema-BEUYOGSW.js +0 -135
  536. package/dist/search-GFJKWPKN.js +0 -177
  537. package/dist/select-S72CCL57.js +0 -106
  538. package/dist/set-prompt-YYFDRXRI.js +0 -198
  539. package/dist/setup-links-D4JJLESN.js +0 -144
  540. package/dist/shopify-T4UWFIQC.js +0 -3958
  541. package/dist/site-BBZAUZA3.js +0 -180
  542. package/dist/sources-BUPV7H7F.js +0 -457
  543. package/dist/sources-FLUGHSVP.js +0 -30
  544. package/dist/stale-HP54JS5X.js +0 -76
  545. package/dist/status-CLSWQFCQ.js +0 -65
  546. package/dist/studio-T5L7UEX6.js +0 -49
  547. package/dist/sync-4YTVVEVC.js +0 -57
  548. package/dist/sync-definition-OGQ5XTQE.js +0 -69
  549. package/dist/tags-CZTRQNXV.js +0 -26
  550. package/dist/tags-FDQXWTCQ.js +0 -23
  551. package/dist/tags-R67DKRZ6.js +0 -23
  552. package/dist/tags-SA2LU6AW.js +0 -227
  553. package/dist/tags-ZOXX6VRE.js +0 -23
  554. package/dist/targeting-criteria-AQYXVSGN.js +0 -113
  555. package/dist/targets-UUVCEG3F.js +0 -106
  556. package/dist/testimonials-G3OCNPBY.js +0 -32
  557. package/dist/themes-FEVYZZCW.js +0 -95
  558. package/dist/top-companies-BQGWKYUK.js +0 -111
  559. package/dist/transcript-U46AEOEI.js +0 -165
  560. package/dist/translate-AS7JVKYM.js +0 -609
  561. package/dist/triggers-ECRBPYYF.js +0 -144
  562. package/dist/unlink-VDNCSRJV.js +0 -70
  563. package/dist/unstage-ATDXUYP2.js +0 -88
  564. package/dist/update-FJ6TBV3E.js +0 -101
  565. package/dist/update-HDBJCSTI.js +0 -66
  566. package/dist/update-U43DJRGV.js +0 -155
  567. package/dist/update-Z7TIUBMJ.js +0 -192
  568. package/dist/upload-LXCFSRIU.js +0 -129
  569. package/dist/url-options-Z4BQBEMI.js +0 -131
  570. package/dist/url-params-J7RKP5RB.js +0 -101
  571. package/dist/validate-VR3HEOMJ.js +0 -122
  572. package/dist/videos-36AXDUGZ.js +0 -41
  573. package/dist/viewer-check-6HL4OUQY.js +0 -83
  574. package/dist/web-7BRJRQX7.js +0 -143
  575. package/dist/winning-ads-GMM5W2O4.js +0 -86
  576. package/dist/write-commands-IM5DPG3R.js +0 -1502
  577. package/dist/x-HGFAL3NY.js +0 -47
  578. /package/dist/{account-SGK3IJ6N.js.map → account-QX4G4BJ7.js.map} +0 -0
  579. /package/dist/{account-D6LEVVWT.js.map → account-UFYZS3K6.js.map} +0 -0
  580. /package/dist/{account-reads-2MSUVG46.js.map → account-reads-FOEVPWDP.js.map} +0 -0
  581. /package/dist/{account-users-MHC7AD6K.js.map → account-users-UTIF7MIT.js.map} +0 -0
  582. /package/dist/{account-writes-QQQC54WC.js.map → account-writes-QAQXRIEY.js.map} +0 -0
  583. /package/dist/{accounts-QNE5QWBG.js.map → accounts-JK3OAS5U.js.map} +0 -0
  584. /package/dist/{accounts-2O6I7YBN.js.map → accounts-OE33CKWD.js.map} +0 -0
  585. /package/dist/{actions-D7OWCP36.js.map → actions-QZDSLFFK.js.map} +0 -0
  586. /package/dist/{activecampaign-LBS4M4C4.js.map → activecampaign-U6TKRR45.js.map} +0 -0
  587. /package/dist/{ad-group-writes-CJTTUUIT.js.map → ad-group-writes-XY5JYTKT.js.map} +0 -0
  588. /package/dist/{ad-groups-HLGSVH74.js.map → ad-groups-YEO5ZS5U.js.map} +0 -0
  589. /package/dist/{ad-writes-3UE3U7VE.js.map → ad-writes-XRCPK4SP.js.map} +0 -0
  590. /package/dist/{add-IUYE5H6A.js.map → add-2EF7S4NK.js.map} +0 -0
  591. /package/dist/{add-HFQB2NTU.js.map → add-YCJ6RXPG.js.map} +0 -0
  592. /package/dist/{ads-HLUJB5SQ.js.map → ads-AYJAYLFR.js.map} +0 -0
  593. /package/dist/{ads-PYNDMHUD.js.map → ads-H7H7H2CM.js.map} +0 -0
  594. /package/dist/{advertisers-XXM6POO5.js.map → advertisers-JLSU3G35.js.map} +0 -0
  595. /package/dist/{analytics-DNDTC643.js.map → analytics-ADIWEM6G.js.map} +0 -0
  596. /package/dist/{analytics-AULKYNNT.js.map → analytics-XB6FRNVJ.js.map} +0 -0
  597. /package/dist/{animate-2BMHZ4FM.js.map → animate-HRWFVE2N.js.map} +0 -0
  598. /package/dist/{assign-2GQVQKKO.js.map → assign-IWZ2OPFL.js.map} +0 -0
  599. /package/dist/{audience-size-C3YHQPZB.js.map → audience-size-P5L6MZ4C.js.map} +0 -0
  600. /package/dist/{audiences-M3A3QK52.js.map → audiences-XKERWKKE.js.map} +0 -0
  601. /package/dist/{audit-FLPJ7GTE.js.map → audit-SEADLC6F.js.map} +0 -0
  602. /package/dist/{autocomplete-ZYMHHV7E.js.map → autocomplete-AJQBJS5R.js.map} +0 -0
  603. /package/dist/{avatars-WZ2JDMHH.js.map → avatars-4HCGWBOL.js.map} +0 -0
  604. /package/dist/{bid-pricing-H3M63PTW.js.map → bid-pricing-NWSUO3VM.js.map} +0 -0
  605. /package/dist/{brand-IZTTBZII.js.map → brand-C6OB6Q4U.js.map} +0 -0
  606. /package/dist/{brief-OPQ7ICOY.js.map → brief-LCWWQ4OC.js.map} +0 -0
  607. /package/dist/{campaign-groups-IQSDKOVI.js.map → campaign-groups-PH64UXZJ.js.map} +0 -0
  608. /package/dist/{campaign-writes-APAAV4ZU.js.map → campaign-writes-BN3EGDK5.js.map} +0 -0
  609. /package/dist/{campaign-writes-BN4PZP4Z.js.map → campaign-writes-CLV5ZSUK.js.map} +0 -0
  610. /package/dist/{campaigns-GA34MEN2.js.map → campaigns-5XRY27JZ.js.map} +0 -0
  611. /package/dist/{campaigns-K2FVD3XW.js.map → campaigns-JF4TYYUP.js.map} +0 -0
  612. /package/dist/{campaigns-4Y3JQC2U.js.map → campaigns-ZYU4BXDP.js.map} +0 -0
  613. /package/dist/{canvas-IQ753Q2O.js.map → canvas-AI34UBGU.js.map} +0 -0
  614. /package/dist/{capabilities-ZITW4RF7.js.map → capabilities-TRHAPTUU.js.map} +0 -0
  615. /package/dist/{catalog-TZLU5NWI.js.map → catalog-ZY3MFT55.js.map} +0 -0
  616. /package/dist/{catalogs-ZR7DECMG.js.map → catalogs-6XLBWAUS.js.map} +0 -0
  617. /package/dist/{changes-VWKTM27U.js.map → changes-OOUVQDBY.js.map} +0 -0
  618. /package/dist/{chatgpt-OPOD2WHB.js.map → chatgpt-NAXIFWXV.js.map} +0 -0
  619. /package/dist/{chats-AL2SYBJO.js.map → chats-I5RHBRS5.js.map} +0 -0
  620. /package/dist/{check-U2YLRD6H.js.map → check-3E64VBUE.js.map} +0 -0
  621. /package/dist/{chunk-AQRXXC6E.js.map → chunk-3CHYJYSS.js.map} +0 -0
  622. /package/dist/{chunk-6S5CWGDA.js.map → chunk-3G3GC5N4.js.map} +0 -0
  623. /package/dist/{chunk-WFY7KSHB.js.map → chunk-3M45PYU7.js.map} +0 -0
  624. /package/dist/{chunk-FLWDFPXE.js.map → chunk-3QHXF3QI.js.map} +0 -0
  625. /package/dist/{chunk-JLAQWMVF.js.map → chunk-3XPHUMLJ.js.map} +0 -0
  626. /package/dist/{chunk-I7AYMJZA.js.map → chunk-45EERHDB.js.map} +0 -0
  627. /package/dist/{chunk-ARBXT73X.js.map → chunk-4FGTANFK.js.map} +0 -0
  628. /package/dist/{chunk-PX3PUDK7.js.map → chunk-4IHWT7PH.js.map} +0 -0
  629. /package/dist/{chunk-XHQYFNNK.js.map → chunk-4LF4AYPT.js.map} +0 -0
  630. /package/dist/{chunk-LGMI4LSY.js.map → chunk-5JJD33Y2.js.map} +0 -0
  631. /package/dist/{chunk-4XHCEYHI.js.map → chunk-5K4QYYOJ.js.map} +0 -0
  632. /package/dist/{chunk-USCADMM3.js.map → chunk-5LJ6E4YU.js.map} +0 -0
  633. /package/dist/{chunk-OG47L5GG.js.map → chunk-5T73MMBL.js.map} +0 -0
  634. /package/dist/{chunk-4EDWXZ3I.js.map → chunk-64MAHLTK.js.map} +0 -0
  635. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  636. /package/dist/{chunk-3YJNSUNF.js.map → chunk-6ZFSDYWV.js.map} +0 -0
  637. /package/dist/{chunk-BX6B25KK.js.map → chunk-7I6ZVBLM.js.map} +0 -0
  638. /package/dist/{chunk-5Y5FZV2W.js.map → chunk-AN4OEQXE.js.map} +0 -0
  639. /package/dist/{chunk-TX7CQTD4.js.map → chunk-AULSX5ZA.js.map} +0 -0
  640. /package/dist/{chunk-MVD7QIXI.js.map → chunk-AVYUFJQQ.js.map} +0 -0
  641. /package/dist/{chunk-BEZHQIEI.js.map → chunk-B4YF7VQF.js.map} +0 -0
  642. /package/dist/{chunk-UKSSNYLU.js.map → chunk-BDOYNGUL.js.map} +0 -0
  643. /package/dist/{chunk-IRM273C7.js.map → chunk-BJOK7QD4.js.map} +0 -0
  644. /package/dist/{chunk-VDPOCAQ2.js.map → chunk-CMCGFSUS.js.map} +0 -0
  645. /package/dist/{chunk-DSCEXBDR.js.map → chunk-DMJUIUAL.js.map} +0 -0
  646. /package/dist/{chunk-HML3VQIW.js.map → chunk-DUCUOZLS.js.map} +0 -0
  647. /package/dist/{chunk-7HZSORAB.js.map → chunk-FJZYOVSW.js.map} +0 -0
  648. /package/dist/{chunk-L2BRAC2J.js.map → chunk-FKP4ECJY.js.map} +0 -0
  649. /package/dist/{chunk-VRIPVLE7.js.map → chunk-GNMEOU46.js.map} +0 -0
  650. /package/dist/{chunk-IWKD56AY.js.map → chunk-GYKYXWUQ.js.map} +0 -0
  651. /package/dist/{chunk-YWHZYR6S.js.map → chunk-GYPLRU4Y.js.map} +0 -0
  652. /package/dist/{chunk-YNYAT2TZ.js.map → chunk-I43ZEWJQ.js.map} +0 -0
  653. /package/dist/{chunk-44ZRCSR7.js.map → chunk-IZABTTW5.js.map} +0 -0
  654. /package/dist/{chunk-FRNBRN2C.js.map → chunk-K7IE6UYV.js.map} +0 -0
  655. /package/dist/{chunk-TXDE2QJ3.js.map → chunk-KH5YHHJV.js.map} +0 -0
  656. /package/dist/{chunk-GE3VT3CA.js.map → chunk-KMY7AD3N.js.map} +0 -0
  657. /package/dist/{chunk-6KWEF6HF.js.map → chunk-KPCHWDJM.js.map} +0 -0
  658. /package/dist/{chunk-SWN6OHXG.js.map → chunk-KTZCLJ2D.js.map} +0 -0
  659. /package/dist/{chunk-A3IQAONL.js.map → chunk-MKUA54QE.js.map} +0 -0
  660. /package/dist/{chunk-S6VFDNSQ.js.map → chunk-MTV2RSGY.js.map} +0 -0
  661. /package/dist/{chunk-6HJXLGDV.js.map → chunk-N2QX57K3.js.map} +0 -0
  662. /package/dist/{chunk-4Z6PVR3M.js.map → chunk-NEYWS2DQ.js.map} +0 -0
  663. /package/dist/{chunk-PC3FJEZH.js.map → chunk-NZ34KM46.js.map} +0 -0
  664. /package/dist/{chunk-YJFLXOH4.js.map → chunk-OTC6UMJ2.js.map} +0 -0
  665. /package/dist/{chunk-YILZR3XI.js.map → chunk-OUY2IAWL.js.map} +0 -0
  666. /package/dist/{chunk-QIOFOD4K.js.map → chunk-PJXNCRMR.js.map} +0 -0
  667. /package/dist/{chunk-VFJB7OG6.js.map → chunk-PYQ3GF7R.js.map} +0 -0
  668. /package/dist/{chunk-2GYCWRF3.js.map → chunk-Q3EIVZAR.js.map} +0 -0
  669. /package/dist/{chunk-LRV6M2WB.js.map → chunk-QHZE62GP.js.map} +0 -0
  670. /package/dist/{chunk-VEJ3QX6M.js.map → chunk-RGR6TSTJ.js.map} +0 -0
  671. /package/dist/{chunk-UDIEKCIR.js.map → chunk-SAAXU7QR.js.map} +0 -0
  672. /package/dist/{chunk-4FFBGR5L.js.map → chunk-SHTKLRI6.js.map} +0 -0
  673. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  674. /package/dist/{chunk-T3P6O2VU.js.map → chunk-SSXG53CZ.js.map} +0 -0
  675. /package/dist/{chunk-BFURWHVR.js.map → chunk-TBWAM577.js.map} +0 -0
  676. /package/dist/{chunk-OR6KVLI5.js.map → chunk-TGPGQTZA.js.map} +0 -0
  677. /package/dist/{chunk-F4YQ5PVR.js.map → chunk-UMIX2BMM.js.map} +0 -0
  678. /package/dist/{chunk-SG2TDQEE.js.map → chunk-URMAEVZO.js.map} +0 -0
  679. /package/dist/{chunk-2L7F7KR4.js.map → chunk-VBO3ZVUU.js.map} +0 -0
  680. /package/dist/{chunk-4UZUUSVL.js.map → chunk-VFLYMHTO.js.map} +0 -0
  681. /package/dist/{chunk-R2SYF5FC.js.map → chunk-VGYIVXIZ.js.map} +0 -0
  682. /package/dist/{chunk-K6NULQN7.js.map → chunk-VIB7R533.js.map} +0 -0
  683. /package/dist/{chunk-UUGISMNE.js.map → chunk-WVWLPXBO.js.map} +0 -0
  684. /package/dist/{chunk-6VYROVWO.js.map → chunk-XEH5XAP6.js.map} +0 -0
  685. /package/dist/{chunk-HGBJQGO5.js.map → chunk-XEOKVL4E.js.map} +0 -0
  686. /package/dist/{chunk-FFG2OYVV.js.map → chunk-XOGQJYXH.js.map} +0 -0
  687. /package/dist/{chunk-RTH2I55B.js.map → chunk-XUXRA7IB.js.map} +0 -0
  688. /package/dist/{claim-GOLUTAJ3.js.map → claim-FIK2YTLM.js.map} +0 -0
  689. /package/dist/{companies-4AJJGTMC.js.map → companies-KMMV6EJW.js.map} +0 -0
  690. /package/dist/{company-MOSPLRZJ.js.map → company-B54URPJG.js.map} +0 -0
  691. /package/dist/{complete-777BDV45.js.map → complete-PPCWEXS3.js.map} +0 -0
  692. /package/dist/{connect-3YY7MF3I.js.map → connect-IAXSZPGA.js.map} +0 -0
  693. /package/dist/{conversation-KROMHDHK.js.map → conversation-KHTZBGX2.js.map} +0 -0
  694. /package/dist/{conversion-report-JZHI2IHY.js.map → conversion-report-U66HW6JM.js.map} +0 -0
  695. /package/dist/{conversion-upload-command-7RSZ5ZQU.js.map → conversion-upload-command-IHFKVX2M.js.map} +0 -0
  696. /package/dist/{conversion-writes-SNCLQDXQ.js.map → conversion-writes-RSGDOAET.js.map} +0 -0
  697. /package/dist/{conversions-EUOWILCQ.js.map → conversions-BVOL43W4.js.map} +0 -0
  698. /package/dist/{conversions-43EYP2W2.js.map → conversions-SUMZAV2T.js.map} +0 -0
  699. /package/dist/{create-7IFYLX7P.js.map → create-732HQL3C.js.map} +0 -0
  700. /package/dist/{create-3WOZO2XT.js.map → create-TFR6R2KF.js.map} +0 -0
  701. /package/dist/{create-FOHIQC3E.js.map → create-UC57ULRL.js.map} +0 -0
  702. /package/dist/{create-UWQSQTK6.js.map → create-UL2OYXOA.js.map} +0 -0
  703. /package/dist/{creatives-2DR3QHJW.js.map → creatives-BZEVJ6ER.js.map} +0 -0
  704. /package/dist/{creatives-KUO67WYA.js.map → creatives-FU3YELGU.js.map} +0 -0
  705. /package/dist/{credentials-IP4L37XP.js.map → credentials-AYV5YQE4.js.map} +0 -0
  706. /package/dist/{critique-LJMFAURK.js.map → critique-FKIJB72I.js.map} +0 -0
  707. /package/dist/{critique-LGDNMLBL.js.map → critique-IQYNDXCN.js.map} +0 -0
  708. /package/dist/{crm-BNYW7PF7.js.map → crm-ILQMNJPX.js.map} +0 -0
  709. /package/dist/{crm-J53V2QTN.js.map → crm-MQQRBITZ.js.map} +0 -0
  710. /package/dist/{currency-X7Y6TSLF.js.map → currency-CGKO5GKH.js.map} +0 -0
  711. /package/dist/{customers-663K2OCP.js.map → customers-NKKU6S7G.js.map} +0 -0
  712. /package/dist/{delete-6U7E6YUW.js.map → delete-2TCCNRMH.js.map} +0 -0
  713. /package/dist/{delete-G4NY6ZG6.js.map → delete-HCZTISBT.js.map} +0 -0
  714. /package/dist/{delete-5W3YVA4L.js.map → delete-UIKB5ZXS.js.map} +0 -0
  715. /package/dist/{demographics-4Y5LTCU4.js.map → demographics-ABZODD45.js.map} +0 -0
  716. /package/dist/{discard-RKCZNKMN.js.map → discard-V3K5PZ4W.js.map} +0 -0
  717. /package/dist/{discover-6DORQWXY.js.map → discover-VM3O7CQM.js.map} +0 -0
  718. /package/dist/{domain-PLA2O4FW.js.map → domain-A66DHOTQ.js.map} +0 -0
  719. /package/dist/{download-4EFLVSA4.js.map → download-LSAZD5JO.js.map} +0 -0
  720. /package/dist/{draft-TRPQCJ4B.js.map → draft-5UUJC675.js.map} +0 -0
  721. /package/dist/{draft-HY3U2GHU.js.map → draft-BATA5CVI.js.map} +0 -0
  722. /package/dist/{draft-R6EKORNS.js.map → draft-CRDBU6LF.js.map} +0 -0
  723. /package/dist/{draft-4V7W5DV2.js.map → draft-P7IDMXWR.js.map} +0 -0
  724. /package/dist/{draft-JMNAGW7C.js.map → draft-YBNL4ZZA.js.map} +0 -0
  725. /package/dist/{experiments-4V242DG2.js.map → experiments-MLLTHMMS.js.map} +0 -0
  726. /package/dist/{facets-WXJ2MCU6.js.map → facets-KSHR3MBE.js.map} +0 -0
  727. /package/dist/{feedback-IRSRPXV6.js.map → feedback-4GCPXZSI.js.map} +0 -0
  728. /package/dist/{feedback-record-DT3R4NA3.js.map → feedback-record-VEFHUIUJ.js.map} +0 -0
  729. /package/dist/{fetch-YLQP5VQL.js.map → fetch-42QL56JC.js.map} +0 -0
  730. /package/dist/{fit-BEFCY2B4.js.map → fit-Q5GRVF2O.js.map} +0 -0
  731. /package/dist/{flows-FDMF3F3P.js.map → flows-M3WBZQET.js.map} +0 -0
  732. /package/dist/{fonts-C6XN5667.js.map → fonts-GD4YRXQU.js.map} +0 -0
  733. /package/dist/{forecast-ZTXZD3HD.js.map → forecast-HT46MFL4.js.map} +0 -0
  734. /package/dist/{forecast-BTPIXEQ5.js.map → forecast-ONVS2QAI.js.map} +0 -0
  735. /package/dist/{funnel-7KOEX7YM.js.map → funnel-76BAD64Q.js.map} +0 -0
  736. /package/dist/{generate-NWHPM2GQ.js.map → generate-VBEY3N3L.js.map} +0 -0
  737. /package/dist/{get-OSVQVMP6.js.map → get-4KFAO475.js.map} +0 -0
  738. /package/dist/{get-KBSKPTAV.js.map → get-QV5NIADE.js.map} +0 -0
  739. /package/dist/{google-M6BJ22UL.js.map → google-7EZP7I6J.js.map} +0 -0
  740. /package/dist/{google-ads-XCJVAXWF.js.map → google-ads-J7WHTJO4.js.map} +0 -0
  741. /package/dist/{history-4TN2A6BL.js.map → history-EULKWQUS.js.map} +0 -0
  742. /package/dist/{history-3NTM5SFN.js.map → history-FEBJHFHJ.js.map} +0 -0
  743. /package/dist/{history-5IWW2X33.js.map → history-RDVV7KBN.js.map} +0 -0
  744. /package/dist/{hubspot-HMVSRJQZ.js.map → hubspot-A3RQNMYN.js.map} +0 -0
  745. /package/dist/{ideas-M66FU45H.js.map → ideas-WX7EBPSF.js.map} +0 -0
  746. /package/dist/{images-MM5OPUKV.js.map → images-4AXF4LAC.js.map} +0 -0
  747. /package/dist/{ingest-GU3WEBN3.js.map → ingest-AM5YDTRH.js.map} +0 -0
  748. /package/dist/{ingest-KMLYCFF4.js.map → ingest-C3M4GUO6.js.map} +0 -0
  749. /package/dist/{insights-CQCWOCIT.js.map → insights-UTCMSWSC.js.map} +0 -0
  750. /package/dist/{inspect-4JO2J3D6.js.map → inspect-DWCLRZGR.js.map} +0 -0
  751. /package/dist/{intent-YCQCUCV3.js.map → intent-ZMYMFGB4.js.map} +0 -0
  752. /package/dist/{keyword-gap-PUSF7EKY.js.map → keyword-gap-XSJO2R77.js.map} +0 -0
  753. /package/dist/{keyword-metrics-JXBM22ZD.js.map → keyword-metrics-M46FCTAS.js.map} +0 -0
  754. /package/dist/{keywords-for-site-OAYA7KP7.js.map → keywords-for-site-XNSLX7EA.js.map} +0 -0
  755. /package/dist/{landing-OZU5RRFV.js.map → landing-MUNYZQNA.js.map} +0 -0
  756. /package/dist/{languages-SLFV73GE.js.map → languages-DIQ3OG3E.js.map} +0 -0
  757. /package/dist/{leads-Q7APIJRQ.js.map → leads-LAATTW5G.js.map} +0 -0
  758. /package/dist/{learn-NBBJRMVZ.js.map → learn-3GLY4G3H.js.map} +0 -0
  759. /package/dist/{line-item-writes-X3L5NQEH.js.map → line-item-writes-XJTTA3X5.js.map} +0 -0
  760. /package/dist/{line-items-NJMEPEF5.js.map → line-items-JR25T2C5.js.map} +0 -0
  761. /package/dist/{link-WZSNUQQ2.js.map → link-7DSLIF3I.js.map} +0 -0
  762. /package/dist/{linkedin-55PAID62.js.map → linkedin-W5BJ6HEH.js.map} +0 -0
  763. /package/dist/{linkedin-person-MVRI7LLC.js.map → linkedin-person-2ZYSOHYR.js.map} +0 -0
  764. /package/dist/{list-6S54IAUX.js.map → list-3653DIYB.js.map} +0 -0
  765. /package/dist/{list-RZUDFLJN.js.map → list-G66HVYCR.js.map} +0 -0
  766. /package/dist/{list-QRJ4E3SC.js.map → list-Z4M53MS5.js.map} +0 -0
  767. /package/dist/{locations-T2OMP6QN.js.map → locations-HTVYJSDJ.js.map} +0 -0
  768. /package/dist/{locations-W3VOYBWL.js.map → locations-M2B5XDU4.js.map} +0 -0
  769. /package/dist/{log-53SAPZZ3.js.map → log-2RJU5BOW.js.map} +0 -0
  770. /package/dist/{make-ZF3YIMKW.js.map → make-MJ6JMU5T.js.map} +0 -0
  771. /package/dist/{map-J37QFJSV.js.map → map-27IPOBY6.js.map} +0 -0
  772. /package/dist/{mcp-YRIFPYNU.js.map → mcp-TFQTME4P.js.map} +0 -0
  773. /package/dist/{media-sources-EQI3U4TC.js.map → media-sources-P246GM7W.js.map} +0 -0
  774. /package/dist/{members-GYVMSCKL.js.map → members-KOKBTUC2.js.map} +0 -0
  775. /package/dist/{metrics-4YVJHYRI.js.map → metrics-WYWUX6Y5.js.map} +0 -0
  776. /package/dist/{models-JQEPSPNQ.js.map → models-HJ7Y55AH.js.map} +0 -0
  777. /package/dist/{normalize-MFN3WCH5.js.map → normalize-GXBUNTYJ.js.map} +0 -0
  778. /package/dist/{options-DLHDHO7H.js.map → options-MA25RNXF.js.map} +0 -0
  779. /package/dist/{organization-C2VOA2SD.js.map → organization-NLEVNGKQ.js.map} +0 -0
  780. /package/dist/{performance-T6TBVHVU.js.map → performance-34EUP5KL.js.map} +0 -0
  781. /package/dist/{performance-NIF3CESZ.js.map → performance-J3DLNI2W.js.map} +0 -0
  782. /package/dist/{pixels-LQAJOZIM.js.map → pixels-THEGYRXT.js.map} +0 -0
  783. /package/dist/{promoted-tweet-writes-Y6BBOWDL.js.map → promoted-tweet-writes-SBXWKO23.js.map} +0 -0
  784. /package/dist/{promoted-tweets-RJT53DRM.js.map → promoted-tweets-W42FNWS7.js.map} +0 -0
  785. /package/dist/{publish-IOTMJCCY.js.map → publish-YG76GOA7.js.map} +0 -0
  786. /package/dist/{query-XZMDGRO5.js.map → query-IQICLABN.js.map} +0 -0
  787. /package/dist/{reddit-JIHMAKAQ.js.map → reddit-X4CERXYF.js.map} +0 -0
  788. /package/dist/{refresh-OQZ263CS.js.map → refresh-A36GA7JN.js.map} +0 -0
  789. /package/dist/{release-4CHFURO3.js.map → release-3NCMZIDI.js.map} +0 -0
  790. /package/dist/{relevant-pages-FS7GBVXK.js.map → relevant-pages-UDDQOYLD.js.map} +0 -0
  791. /package/dist/{remove-IJQPHPDI.js.map → remove-6LE3XNRG.js.map} +0 -0
  792. /package/dist/{reopen-YTLPVKUR.js.map → reopen-XLADJ2UU.js.map} +0 -0
  793. /package/dist/{rerun-C7NB7B35.js.map → rerun-QVMFJZA2.js.map} +0 -0
  794. /package/dist/{research-PNBACCCP.js.map → research-D5UUJF74.js.map} +0 -0
  795. /package/dist/{research-TLHNPK3O.js.map → research-QCI5ISUE.js.map} +0 -0
  796. /package/dist/{reset-Y6FXLAQE.js.map → reset-DD37KDXQ.js.map} +0 -0
  797. /package/dist/{reset-JVLW7HA2.js.map → reset-FLZPKY2N.js.map} +0 -0
  798. /package/dist/{resolve-YLRESES5.js.map → resolve-KRKIJKT7.js.map} +0 -0
  799. /package/dist/{retry-3V3IGDRR.js.map → retry-ALXYEKFV.js.map} +0 -0
  800. /package/dist/{retry-AEKQLQMP.js.map → retry-MIXKW4EW.js.map} +0 -0
  801. /package/dist/{revenue-E4GQIOUY.js.map → revenue-UBZUTSXN.js.map} +0 -0
  802. /package/dist/{rules-34BQAWU3.js.map → rules-SO6P44B6.js.map} +0 -0
  803. /package/dist/{rules-add-CM5XUYNS.js.map → rules-add-XN3BZKFO.js.map} +0 -0
  804. /package/dist/{run-MD64RDHZ.js.map → run-K2DOMOAN.js.map} +0 -0
  805. /package/dist/{run-QCNRR3CA.js.map → run-T7XAH2W5.js.map} +0 -0
  806. /package/dist/{scaffold-ad-NADPY3CB.js.map → scaffold-ad-TWIT7R4U.js.map} +0 -0
  807. /package/dist/{scaffold-static-ad-5YEYYVYH.js.map → scaffold-static-ad-GPJKOGOI.js.map} +0 -0
  808. /package/dist/{scaffold-video-W7DF2CBJ.js.map → scaffold-video-7BQNOJ4S.js.map} +0 -0
  809. /package/dist/{schedule-CTRRF6TS.js.map → schedule-UTRVEWPE.js.map} +0 -0
  810. /package/dist/{scheduled-agents-OXYAVSIE.js.map → scheduled-agents-ZGCUZ6SB.js.map} +0 -0
  811. /package/dist/{schema-6Y3IXFDC.js.map → schema-D6BMZAPB.js.map} +0 -0
  812. /package/dist/{schema-BEUYOGSW.js.map → schema-DSMF6ELE.js.map} +0 -0
  813. /package/dist/{search-GFJKWPKN.js.map → search-2P72GSKY.js.map} +0 -0
  814. /package/dist/{select-S72CCL57.js.map → select-N7VWQ2ZQ.js.map} +0 -0
  815. /package/dist/{set-prompt-YYFDRXRI.js.map → set-prompt-3N3HMHT6.js.map} +0 -0
  816. /package/dist/{setup-links-D4JJLESN.js.map → setup-links-I5RFZTS4.js.map} +0 -0
  817. /package/dist/{shopify-T4UWFIQC.js.map → shopify-LXSR37XI.js.map} +0 -0
  818. /package/dist/{site-BBZAUZA3.js.map → site-AI3BFWRK.js.map} +0 -0
  819. /package/dist/{sources-BUPV7H7F.js.map → sources-AOF2YDYX.js.map} +0 -0
  820. /package/dist/{sources-FLUGHSVP.js.map → sources-DVMJEXEX.js.map} +0 -0
  821. /package/dist/{stale-HP54JS5X.js.map → stale-P4GGOLIB.js.map} +0 -0
  822. /package/dist/{status-CLSWQFCQ.js.map → status-O25MXHU4.js.map} +0 -0
  823. /package/dist/{studio-T5L7UEX6.js.map → studio-5Z4NMA4K.js.map} +0 -0
  824. /package/dist/{sync-4YTVVEVC.js.map → sync-2AI7LKKN.js.map} +0 -0
  825. /package/dist/{sync-definition-OGQ5XTQE.js.map → sync-definition-F3CXG6KG.js.map} +0 -0
  826. /package/dist/{tags-CZTRQNXV.js.map → tags-SEZ2CQJM.js.map} +0 -0
  827. /package/dist/{tags-SA2LU6AW.js.map → tags-TJDZXOXS.js.map} +0 -0
  828. /package/dist/{tags-R67DKRZ6.js.map → tags-YSC7ZILI.js.map} +0 -0
  829. /package/dist/{tags-ZOXX6VRE.js.map → tags-Z6EALYOS.js.map} +0 -0
  830. /package/dist/{tags-FDQXWTCQ.js.map → tags-ZXSVW6XO.js.map} +0 -0
  831. /package/dist/{targeting-criteria-AQYXVSGN.js.map → targeting-criteria-AU5CSMAU.js.map} +0 -0
  832. /package/dist/{targets-UUVCEG3F.js.map → targets-IOIH5JYS.js.map} +0 -0
  833. /package/dist/{testimonials-G3OCNPBY.js.map → testimonials-Y6PUV6AL.js.map} +0 -0
  834. /package/dist/{themes-FEVYZZCW.js.map → themes-PGPIAKAO.js.map} +0 -0
  835. /package/dist/{top-companies-BQGWKYUK.js.map → top-companies-FSITN3ZR.js.map} +0 -0
  836. /package/dist/{transcript-U46AEOEI.js.map → transcript-CGPX7Y37.js.map} +0 -0
  837. /package/dist/{translate-AS7JVKYM.js.map → translate-QCBMGOKR.js.map} +0 -0
  838. /package/dist/{triggers-ECRBPYYF.js.map → triggers-MONMZSKT.js.map} +0 -0
  839. /package/dist/{unlink-VDNCSRJV.js.map → unlink-I7QFQQKO.js.map} +0 -0
  840. /package/dist/{unstage-ATDXUYP2.js.map → unstage-JXG5AU5Q.js.map} +0 -0
  841. /package/dist/{update-HDBJCSTI.js.map → update-BVZGM54I.js.map} +0 -0
  842. /package/dist/{update-FJ6TBV3E.js.map → update-EI2BHUM2.js.map} +0 -0
  843. /package/dist/{update-U43DJRGV.js.map → update-RZSV4NYP.js.map} +0 -0
  844. /package/dist/{update-Z7TIUBMJ.js.map → update-WLDNOZ5U.js.map} +0 -0
  845. /package/dist/{upload-LXCFSRIU.js.map → upload-BP3YEQSF.js.map} +0 -0
  846. /package/dist/{url-options-Z4BQBEMI.js.map → url-options-63DED6CR.js.map} +0 -0
  847. /package/dist/{url-params-J7RKP5RB.js.map → url-params-TRFI2PMD.js.map} +0 -0
  848. /package/dist/{validate-VR3HEOMJ.js.map → validate-SNCR25A7.js.map} +0 -0
  849. /package/dist/{videos-36AXDUGZ.js.map → videos-SVZV5YYC.js.map} +0 -0
  850. /package/dist/{viewer-check-6HL4OUQY.js.map → viewer-check-LUAEGV6H.js.map} +0 -0
  851. /package/dist/{web-7BRJRQX7.js.map → web-MJQEK7BB.js.map} +0 -0
  852. /package/dist/{winning-ads-GMM5W2O4.js.map → winning-ads-KNLJHHCO.js.map} +0 -0
  853. /package/dist/{write-commands-IM5DPG3R.js.map → write-commands-NVCX7IAU.js.map} +0 -0
  854. /package/dist/{x-HGFAL3NY.js.map → x-ZQNHYIDU.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../api/src/lead-routes.ts","../src/commands/lead-routes/index.ts","../src/commands/lead-routes/args.ts"],"sourcesContent":["import { z } from \"zod\";\n\n/**\n * `/api/lead-routes/*` — the `baker lead-routes` contract the CLI and the\n * backend share.\n *\n * A lead route sends every lead one ad platform's lead form collects (a Meta\n * Instant Form, a LinkedIn Lead Gen Form, a Google lead form) to one of the\n * places a website Form can send to: a Google Sheet, a HubSpot form, a webhook,\n * Zapier, an email, Pipedrive, GoHighLevel, ActiveCampaign. Delivery goes\n * through the same door a Form's side effect takes, so a destination is sealed\n * and mapped exactly the way a Form's is.\n *\n * Staged in a chat and applied at Publish: a route sends real people's details\n * to an outside system from the moment it is live.\n */\n\nexport const LEAD_ROUTE_PLATFORMS = [\"meta\", \"linkedin\", \"google\"] as const;\nexport const leadRoutePlatformSchema = z.enum(LEAD_ROUTE_PLATFORMS);\nexport type LeadRoutePlatform = z.infer<typeof leadRoutePlatformSchema>;\n\nexport const LEAD_ROUTE_PLATFORM_LABEL: Record<LeadRoutePlatform, string> = {\n meta: \"Meta\",\n linkedin: \"LinkedIn\",\n google: \"Google Ads\",\n};\n\n/** Where a route can send. A Form's delivery types, less Crmble, whose token only the dashboard's card may hold. */\nexport const LEAD_ROUTE_DESTINATION_TYPES = [\n \"googleSpreadsheet\",\n \"hubspotForm\",\n \"httpWebhook\",\n \"zapier\",\n \"email\",\n \"pipedrive\",\n \"goHighlevelContact\",\n \"activeCampaignContact\",\n] as const;\nexport const leadRouteDestinationTypeSchema = z.enum(LEAD_ROUTE_DESTINATION_TYPES);\nexport type LeadRouteDestinationType = z.infer<typeof leadRouteDestinationTypeSchema>;\n\nexport const LEAD_ROUTE_DESTINATION_LABEL: Record<LeadRouteDestinationType, string> = {\n googleSpreadsheet: \"Google Sheets\",\n hubspotForm: \"HubSpot\",\n httpWebhook: \"Webhook\",\n zapier: \"Zapier\",\n email: \"Email\",\n pipedrive: \"Pipedrive\",\n goHighlevelContact: \"GoHighLevel\",\n activeCampaignContact: \"ActiveCampaign\",\n};\n\n/**\n * What a lead knows about the person, under one name whatever the platform\n * called the question. A platform's own predefined question (Meta's `EMAIL`,\n * LinkedIn's `EMAIL`, Google's `EMAIL`) lands here; a question the client\n * worded themselves stays an answer.\n */\nexport const LEAD_CONTACT_FIELDS = [\n \"email\",\n \"phone\",\n \"first_name\",\n \"last_name\",\n \"full_name\",\n \"company\",\n \"job_title\",\n \"city\",\n \"state\",\n \"zip\",\n \"country\",\n \"street_address\",\n \"work_email\",\n \"work_phone\",\n] as const;\nexport type LeadContactField = (typeof LEAD_CONTACT_FIELDS)[number];\n\n/** Where the lead came from: the form, the ad that opened it, when. */\nexport const LEAD_CONTEXT_FIELDS = [\n \"platform\",\n \"lead_id\",\n \"submitted_at\",\n \"form_id\",\n \"form_name\",\n \"campaign_id\",\n \"campaign_name\",\n \"ad_set_id\",\n \"ad_set_name\",\n \"ad_id\",\n \"ad_name\",\n \"is_test\",\n \"gclid\",\n] as const;\nexport type LeadContextField = (typeof LEAD_CONTEXT_FIELDS)[number];\n\n/** Every answer as `Question: answer` lines, and every consent as `Consent: yes|no`. */\nexport const LEAD_SUMMARY_FIELDS = [\"answers\", \"consents\"] as const;\n\nexport const LEAD_ANSWER_PREFIX = \"answer:\";\nexport const LEAD_TEXT_PREFIX = \"text:\";\n\n/**\n * Whether `from` names something a lead can fill: a contact or context field,\n * the answers or consents summary, one answer (`answer:<question key>`), or\n * fixed text (`text:<words>`). Pure.\n */\nexport function isLeadPath(from: string): boolean {\n if (from.startsWith(LEAD_ANSWER_PREFIX)) return from.length > LEAD_ANSWER_PREFIX.length;\n if (from.startsWith(LEAD_TEXT_PREFIX)) return true;\n return (\n (LEAD_CONTACT_FIELDS as readonly string[]).includes(from) ||\n (LEAD_CONTEXT_FIELDS as readonly string[]).includes(from) ||\n (LEAD_SUMMARY_FIELDS as readonly string[]).includes(from)\n );\n}\n\n/**\n * One value the destination receives. `key` is the destination's own name for\n * it, in the format a Form's mapping uses for the same destination: a column\n * letter for a sheet (`A`), a HubSpot field (`email`, `0-1.string.firstname`),\n * a dotted path for a webhook (`contact.email`), an ActiveCampaign field\n * (`standard.email`), a Pipedrive or GoHighLevel field\n * (`person.text.false.email`).\n */\nexport const leadRouteFieldSchema = z.object({\n key: z.string().trim().min(1),\n from: z\n .string()\n .trim()\n .min(1)\n .refine(isLeadPath, { message: \"not something a lead carries — see `baker lead-routes fields`\" }),\n});\nexport type LeadRouteField = z.infer<typeof leadRouteFieldSchema>;\n\n/** How the agent names the destination; the backend seals it the way `baker flows connect` does. */\nexport const leadRouteDestinationInputSchema = z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"googleSpreadsheet\"),\n account: z.string().optional(),\n /** An existing spreadsheet id (from `baker flows options googleSpreadsheet`). */\n resourceId: z.string().optional(),\n tab: z.string().optional(),\n /** Create a spreadsheet for these leads instead, headed with the route's columns. */\n newSheet: z.object({ title: z.string().trim().min(1) }).optional(),\n }),\n /** A HubSpot form by id (`baker hubspot forms list`): the lead is submitted to it as a contact. */\n z.object({ type: z.literal(\"hubspotForm\"), formId: z.string().trim().min(1) }),\n /** A webhook with no credential in its headers. */\n z.object({ type: z.literal(\"httpWebhook\"), url: z.string().trim().url() }),\n /** A Zapier \"Catch Hook\" address. */\n z.object({ type: z.literal(\"zapier\"), url: z.string().trim().url() }),\n /** A notification email to the team: one or more addresses, comma-separated. */\n z.object({ type: z.literal(\"email\"), email: z.string().trim().min(1), subject: z.string().trim().min(1).optional() }),\n z.object({ type: z.literal(\"pipedrive\"), account: z.string().optional() }),\n z.object({ type: z.literal(\"goHighlevelContact\"), account: z.string().optional() }),\n z.object({ type: z.literal(\"activeCampaignContact\"), account: z.string().optional() }),\n]);\nexport type LeadRouteDestinationInput = z.infer<typeof leadRouteDestinationInputSchema>;\n\n/** The farthest back a new route may start: platforms keep leads for 90 days, and a re-send of months is a flood. */\nexport const LEAD_ROUTE_MAX_BACKFILL_DAYS = 30;\n\n/** How many routes one company may have, live and staged together. */\nexport const MAX_LEAD_ROUTES = 50;\n\n// --- stage (`baker lead-routes set` / `remove`) ---\n\nexport const leadRouteSetSchema = z.object({\n /** Change this live or staged route instead of adding one. */\n id: z.string().trim().min(1).optional(),\n name: z.string().trim().min(1).max(120).optional(),\n platform: leadRoutePlatformSchema,\n /** LinkedIn: the ad account. Google: the customer id. Meta: not needed — a form id is the Page's. */\n account: z.string().trim().min(1).optional(),\n formId: z.string().trim().min(1),\n destination: leadRouteDestinationInputSchema,\n /** Omitted: the destination's own defaults (see `baker lead-routes fields`). */\n fields: z.array(leadRouteFieldSchema).max(100).optional(),\n /** Also send the leads submitted since this day (YYYY-MM-DD), at most 30 days back. Default: only new leads. */\n since: z\n .string()\n .regex(/^\\d{4}-\\d{2}-\\d{2}$/, \"a date like 2026-10-01\")\n .optional(),\n});\nexport type LeadRouteSet = z.infer<typeof leadRouteSetSchema>;\n\nexport const leadRouteStageRequestSchema = z.object({\n chatId: z.string().min(1),\n set: leadRouteSetSchema.optional(),\n /** Stop these live routes at Publish. */\n remove: z.array(z.string().trim().min(1)).max(MAX_LEAD_ROUTES).optional(),\n});\nexport type LeadRouteStageRequest = z.infer<typeof leadRouteStageRequestSchema>;\n\n/** A destination as anyone may read it: its kind and what it points at, never its credentials. */\nexport const leadRouteDestinationViewSchema = z.object({\n type: leadRouteDestinationTypeSchema,\n label: z.string(),\n url: z.string().optional(),\n});\nexport type LeadRouteDestinationView = z.infer<typeof leadRouteDestinationViewSchema>;\n\nexport const LEAD_ROUTE_STATUSES = [\"active\", \"paused\"] as const;\n\nexport const leadRouteViewSchema = z.object({\n id: z.string(),\n name: z.string(),\n platform: leadRoutePlatformSchema,\n account: z.string().optional(),\n formId: z.string(),\n formName: z.string().optional(),\n destination: leadRouteDestinationViewSchema,\n fields: z.array(z.object({ key: z.string(), from: z.string() })),\n status: z.enum(LEAD_ROUTE_STATUSES),\n /** Leads submitted from this moment on are delivered. 0 on a staged route: from the moment it is published. */\n startAt: z.number(),\n /** Only on a live route. */\n delivered: z.number().optional(),\n lastLeadAt: z.number().optional(),\n lastCheckedAt: z.number().optional(),\n /** Why the last check could not read or deliver, in words. Cleared by the next one that could. */\n lastError: z.string().optional(),\n});\nexport type LeadRouteView = z.infer<typeof leadRouteViewSchema>;\n\nexport const leadRouteStagedOpSchema = z.object({\n kind: z.enum([\"set\", \"remove\"]),\n routeId: z.string(),\n summary: z.string(),\n stagedAt: z.number(),\n route: leadRouteViewSchema.optional(),\n result: z.object({ status: z.enum([\"applied\", \"skipped\"]), reason: z.string().optional() }).optional(),\n});\nexport type LeadRouteStagedOp = z.infer<typeof leadRouteStagedOpSchema>;\n\nexport const leadRouteStageResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({ staged: z.array(leadRouteStagedOpSchema) }),\n hints: z.array(z.string()).optional(),\n});\nexport type LeadRouteStageResponse = z.infer<typeof leadRouteStageResponseSchema>;\n\n// --- list (`baker lead-routes`) ---\n\nexport const leadRouteListResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({ routes: z.array(leadRouteViewSchema), staged: z.array(leadRouteStagedOpSchema) }),\n hints: z.array(z.string()).optional(),\n});\nexport type LeadRouteListResponse = z.infer<typeof leadRouteListResponseSchema>;\n\n// --- unstage (`baker lead-routes unstage`) ---\n\nexport const leadRouteUnstageRequestSchema = z.object({\n chatId: z.string().min(1),\n /** Omitted: every staged route change on this chat. */\n routeId: z.string().optional(),\n});\nexport const leadRouteUnstageResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({ removed: z.number() }),\n});\nexport type LeadRouteUnstageResponse = z.infer<typeof leadRouteUnstageResponseSchema>;\n\n// --- fields (`baker lead-routes fields`) ---\n\nexport const leadRouteFieldsRequestSchema = z.object({\n platform: leadRoutePlatformSchema,\n account: z.string().optional(),\n formId: z.string().trim().min(1),\n});\nexport type LeadRouteFieldsRequest = z.infer<typeof leadRouteFieldsRequestSchema>;\n\n/** One question on the form, and the name a route's `from` uses for it. */\nexport const leadFormQuestionSchema = z.object({\n /** What `--field <key>=<from>` takes: a contact field, or `answer:<key>`. */\n from: z.string(),\n label: z.string(),\n});\n\nexport const leadRouteFieldsResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({\n platform: leadRoutePlatformSchema,\n formId: z.string(),\n formName: z.string().optional(),\n questions: z.array(leadFormQuestionSchema),\n /** Always available, whatever the form asks. */\n context: z.array(z.string()),\n }),\n hints: z.array(z.string()).optional(),\n});\nexport type LeadRouteFieldsResponse = z.infer<typeof leadRouteFieldsResponseSchema>;\n\n// --- preview (`baker lead-routes preview`) ---\n\nexport const leadRoutePreviewRequestSchema = z\n .object({\n /** A route staged on `chatId` or live: preview it exactly as it will send. */\n id: z.string().trim().min(1).optional(),\n chatId: z.string().optional(),\n platform: leadRoutePlatformSchema.optional(),\n account: z.string().optional(),\n formId: z.string().trim().min(1).optional(),\n destinationType: leadRouteDestinationTypeSchema.optional(),\n fields: z.array(leadRouteFieldSchema).max(100).optional(),\n /** How many of the latest leads to show. */\n limit: z.number().int().min(1).max(5).optional(),\n /** Show contact details unmasked. */\n full: z.boolean().optional(),\n })\n .refine((request) => request.id !== undefined || (request.platform && request.formId && request.destinationType), {\n message: \"Name a route (--id) or a form and a destination (--platform, --form, --to)\",\n });\nexport type LeadRoutePreviewRequest = z.infer<typeof leadRoutePreviewRequestSchema>;\n\nexport const leadRoutePreviewResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({\n fields: z.array(z.object({ key: z.string(), from: z.string() })),\n /** What the destination would have received for each of the latest leads, newest first. */\n samples: z.array(z.object({ leadId: z.string(), submittedAt: z.string(), sent: z.record(z.string(), z.string()) })),\n masked: z.boolean(),\n }),\n hints: z.array(z.string()).optional(),\n});\nexport type LeadRoutePreviewResponse = z.infer<typeof leadRoutePreviewResponseSchema>;\n","import {\n LEAD_ROUTE_DESTINATION_TYPES,\n type LeadRouteDestinationType,\n type LeadRouteFieldsRequest,\n type LeadRouteFieldsResponse,\n type LeadRouteListResponse,\n type LeadRoutePlatform,\n type LeadRoutePreviewRequest,\n type LeadRoutePreviewResponse,\n type LeadRouteStageRequest,\n type LeadRouteStageResponse,\n type LeadRouteUnstageResponse,\n} from \"@baker/api/lead-routes\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiGet, apiPost } from \"../../client.ts\";\nimport { optionalChatId, requireChatId } from \"../../env.ts\";\nimport { repeatedValues } from \"../../lib/repeatedFlags.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { LeadRouteArgsError, parseFields, parseSetArgs } from \"./args.ts\";\n\n/**\n * `baker lead-routes` — send the leads an ad platform's lead form collects (a\n * Meta Instant Form, a LinkedIn Lead Gen Form, a Google lead form) to the\n * places a website Form can send to. Every change stages on this chat and\n * applies when it is published; from then on each new lead is delivered within\n * a few minutes.\n */\n\nfunction fail(err: unknown): never {\n if (err instanceof LeadRouteArgsError) {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message: err.message } });\n } else if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n } else {\n writeJson({\n ok: false,\n error: { code: \"INTERNAL_ERROR\", message: err instanceof Error ? err.message : \"Unexpected error\" },\n });\n }\n process.exit(1);\n}\n\nconst PLATFORM_ARG = { type: \"string\", description: \"meta | linkedin | google\", required: true } as const;\nconst ACCOUNT_ARG = {\n type: \"string\",\n description: \"LinkedIn ad account id, or Google Ads customer id. Not needed for Meta\",\n required: false,\n} as const;\nconst FORM_ARG = {\n type: \"string\",\n description: \"The lead form's id (`ads meta lead-forms`, `ads linkedin lead-forms`, a Google LEAD_FORM asset id)\",\n required: true,\n} as const;\nconst FIELD_ARG = {\n type: \"string\",\n description:\n \"Repeatable. <destination key>=<lead field>: C=email, firstname=first_name, notes=answer:budget, source=text:Meta lead ad\",\n required: false,\n} as const;\n\nregisterSchema({\n command: \"lead-routes.list\",\n description:\n \"Start here: every lead form whose leads Baker sends somewhere — the form, where they go, the fields sent, whether it is active or paused, how many were delivered, the last lead and the last problem — plus `staged`: what this chat changed. Read-only.\",\n args: {},\n});\n\nregisterSchema({\n command: \"lead-routes.fields\",\n description:\n \"What a lead form asks, by the names `--field` uses: a contact field (email, phone, first_name, company…) for the platform's own questions, answer:<key> for the client's own, plus the context every lead carries (campaign_name, ad_name, submitted_at, form_name, answers, consents…). Read-only.\",\n args: { platform: PLATFORM_ARG, account: ACCOUNT_ARG, form: FORM_ARG },\n});\n\nconst OPTIONAL_PLATFORM_ARG = {\n ...PLATFORM_ARG,\n description: \"meta | linkedin | google (not with --id)\",\n required: false,\n} as const;\nconst OPTIONAL_FORM_ARG = { ...FORM_ARG, description: \"The lead form's id (not with --id)\", required: false } as const;\nconst OPTIONAL_TO_ARG = {\n type: \"string\",\n description: `${LEAD_ROUTE_DESTINATION_TYPES.join(\" | \")} (not with --id)`,\n required: false,\n} as const;\nconst PREVIEW_ID_ARG = {\n type: \"string\",\n description:\n \"A route staged on this chat or live (r1): preview it exactly as it will send — its destination and fields\",\n required: false,\n} as const;\n\nregisterSchema({\n command: \"lead-routes.preview\",\n description:\n \"What a destination would receive for the form's latest leads, contact details masked unless --full. Reads the platform only; nothing is sent. After `set`, `--id <route>` shows exactly what the staged route will send (an existing sheet's or a HubSpot form's own defaults included); before it, --platform/--form/--to [--field] try a mapping.\",\n args: {\n id: PREVIEW_ID_ARG,\n platform: OPTIONAL_PLATFORM_ARG,\n account: ACCOUNT_ARG,\n form: OPTIONAL_FORM_ARG,\n to: OPTIONAL_TO_ARG,\n field: FIELD_ARG,\n limit: { type: \"string\", description: \"How many of the latest leads, 1-5 (default 1)\", required: false },\n full: { type: \"boolean\", description: \"Show contact details unmasked\", required: false },\n },\n});\n\nregisterSchema({\n command: \"lead-routes.set\",\n description:\n \"Stage a lead route: every new lead of one lead form goes to one destination, from when this chat is published. --to googleSpreadsheet (--sheet <id> | --new-sheet <title>, [--tab]), hubspotForm (--hubspot-form <id>), httpWebhook (--url, no credential), zapier (--url, a Catch Hook), email (--email, [--subject]), pipedrive | goHighlevelContact | activeCampaignContact (the connected account). Without --field the destination's defaults apply: a new sheet gets standard columns, an existing sheet its recognised headers, HubSpot the contact fields its form has, a webhook/Zapier/email the whole lead. --since YYYY-MM-DD also sends the leads since that day (at most 30 days back). --id changes an existing route.\",\n args: {\n platform: PLATFORM_ARG,\n account: ACCOUNT_ARG,\n form: FORM_ARG,\n to: { type: \"string\", description: LEAD_ROUTE_DESTINATION_TYPES.join(\" | \"), required: true },\n sheet: {\n type: \"string\",\n description: \"Existing spreadsheet id (`baker flows options googleSpreadsheet`)\",\n required: false,\n },\n \"new-sheet\": { type: \"string\", description: \"Create a spreadsheet with this title for the leads\", required: false },\n tab: { type: \"string\", description: \"The sheet's tab to append to (default: the first)\", required: false },\n \"destination-account\": {\n type: \"string\",\n description:\n \"Which connected Google Drive / Pipedrive / GoHighLevel / ActiveCampaign account, when there are several\",\n required: false,\n },\n \"hubspot-form\": { type: \"string\", description: \"HubSpot form id (`baker hubspot forms list`)\", required: false },\n url: { type: \"string\", description: \"Webhook or Zapier hook address\", required: false },\n email: { type: \"string\", description: \"Who is emailed each lead, comma-separated\", required: false },\n subject: { type: \"string\", description: \"Email subject (default: New lead: <form>)\", required: false },\n field: FIELD_ARG,\n since: {\n type: \"string\",\n description: \"Also send leads since this day, YYYY-MM-DD, at most 30 days back\",\n required: false,\n },\n id: { type: \"string\", description: \"Change this route instead of adding one\", required: false },\n name: { type: \"string\", description: \"A name for the route\", required: false },\n },\n});\n\nregisterSchema({\n command: \"lead-routes.remove\",\n description:\n \"Stage stopping live lead routes, by id; they stop when this chat is published. A route staged in this same chat is simply taken back.\",\n args: { id: { type: \"string\", description: \"Route ids, comma-separated (r1,r2)\", required: true } },\n});\n\nregisterSchema({\n command: \"lead-routes.unstage\",\n description: \"Take back a lead route change this chat staged, before publish. --all takes back every one.\",\n args: {\n id: { type: \"string\", description: \"A routeId from `baker lead-routes list` → staged\", required: false },\n all: { type: \"boolean\", description: \"Take back every staged lead route change\", required: false },\n },\n});\n\nfunction asPlatform(value: unknown): LeadRoutePlatform {\n return value as LeadRoutePlatform;\n}\n\nconst listCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"Every lead route, live and staged in this chat.\\n\\nExample: baker lead-routes list\",\n },\n run: async () => {\n try {\n const chatId = optionalChatId();\n writeJson(await apiGet<LeadRouteListResponse>(\"/api/lead-routes\", chatId ? { chatId } : undefined));\n } catch (err) {\n fail(err);\n }\n },\n});\n\nconst fieldsCommand = defineCommand({\n meta: {\n name: \"fields\",\n description:\n \"What a lead form asks, by the names --field uses.\\n\\nExamples:\\n baker lead-routes fields --platform meta --form 1234567890\\n baker lead-routes fields --platform linkedin --account 513852526 --form 987654\",\n },\n args: { platform: PLATFORM_ARG, account: ACCOUNT_ARG, form: FORM_ARG },\n run: async ({ args }) => {\n try {\n const body: LeadRouteFieldsRequest = {\n platform: asPlatform(args.platform),\n formId: String(args.form),\n ...(args.account ? { account: String(args.account) } : {}),\n };\n writeJson(await apiPost<LeadRouteFieldsResponse>(\"/api/lead-routes/fields\", body));\n } catch (err) {\n fail(err);\n }\n },\n});\n\nconst previewCommand = defineCommand({\n meta: {\n name: \"preview\",\n description:\n \"What a destination would receive for the latest leads. Sends nothing.\\n\\nExamples:\\n baker lead-routes preview --id r1\\n baker lead-routes preview --platform meta --form 1234567890 --to httpWebhook\\n baker lead-routes preview --platform meta --form 1234567890 --to hubspotForm --field email=email --field firstname=first_name\",\n },\n args: {\n id: PREVIEW_ID_ARG,\n platform: OPTIONAL_PLATFORM_ARG,\n account: ACCOUNT_ARG,\n form: OPTIONAL_FORM_ARG,\n to: OPTIONAL_TO_ARG,\n field: FIELD_ARG,\n limit: { type: \"string\", description: \"1-5\", required: false },\n full: { type: \"boolean\", description: \"Unmasked\", required: false },\n },\n run: async ({ args, rawArgs }) => {\n try {\n const fields = parseFields(repeatedValues(rawArgs, \"field\", args.field));\n if (!args.id && !(args.platform && args.form && args.to)) {\n throw new LeadRouteArgsError(\n \"Name a route with --id r1, or a form and a destination: --platform, --form, --to\",\n );\n }\n const chatId = optionalChatId();\n const body: LeadRoutePreviewRequest = {\n ...(args.id ? { id: String(args.id) } : {}),\n ...(chatId ? { chatId } : {}),\n ...(args.platform ? { platform: asPlatform(args.platform) } : {}),\n ...(args.form ? { formId: String(args.form) } : {}),\n ...(args.to ? { destinationType: args.to as LeadRouteDestinationType } : {}),\n ...(args.account ? { account: String(args.account) } : {}),\n ...(fields.length > 0 ? { fields } : {}),\n ...(args.limit ? { limit: Number(args.limit) } : {}),\n ...(args.full === true ? { full: true } : {}),\n };\n writeJson(await apiPost<LeadRoutePreviewResponse>(\"/api/lead-routes/preview\", body));\n } catch (err) {\n fail(err);\n }\n },\n});\n\nconst setCommand = defineCommand({\n meta: {\n name: \"set\",\n description:\n 'Stage a lead route; it starts delivering when this chat is published.\\n\\nExamples:\\n baker lead-routes set --platform meta --form 1234567890 --to googleSpreadsheet --new-sheet \"Meta leads\"\\n baker lead-routes set --platform linkedin --account 513852526 --form 987654 --to hubspotForm --hubspot-form 3f2a…\\n baker lead-routes set --platform meta --form 1234567890 --to httpWebhook --url https://hooks.example.com/leads\\n baker lead-routes set --platform google --account 3865083115 --form 555 --to email --email sales@acme.com\\n baker lead-routes set --id r1 --platform meta --form 1234567890 --to googleSpreadsheet --sheet 1AbC… --field A=submitted_at --field B=email',\n },\n args: {\n platform: PLATFORM_ARG,\n account: ACCOUNT_ARG,\n form: FORM_ARG,\n to: { type: \"string\", description: LEAD_ROUTE_DESTINATION_TYPES.join(\" | \"), required: true },\n sheet: { type: \"string\", description: \"Existing spreadsheet id\", required: false },\n \"new-sheet\": { type: \"string\", description: \"Create a spreadsheet with this title\", required: false },\n tab: { type: \"string\", description: \"Tab to append to\", required: false },\n \"destination-account\": { type: \"string\", description: \"Which connected account\", required: false },\n \"hubspot-form\": { type: \"string\", description: \"HubSpot form id\", required: false },\n url: { type: \"string\", description: \"Webhook or Zapier hook address\", required: false },\n email: { type: \"string\", description: \"Recipients, comma-separated\", required: false },\n subject: { type: \"string\", description: \"Email subject\", required: false },\n field: FIELD_ARG,\n since: { type: \"string\", description: \"YYYY-MM-DD, at most 30 days back\", required: false },\n id: { type: \"string\", description: \"Change this route\", required: false },\n name: { type: \"string\", description: \"Route name\", required: false },\n },\n run: async ({ args, rawArgs }) => {\n try {\n const text = (key: string) => {\n const value = (args as Record<string, unknown>)[key];\n return typeof value === \"string\" && value.length > 0 ? value : undefined;\n };\n const set = parseSetArgs(\n {\n id: text(\"id\"),\n name: text(\"name\"),\n platform: text(\"platform\"),\n account: text(\"account\"),\n form: text(\"form\"),\n to: text(\"to\"),\n sheet: text(\"sheet\"),\n \"new-sheet\": text(\"new-sheet\"),\n tab: text(\"tab\"),\n \"destination-account\": text(\"destination-account\"),\n \"hubspot-form\": text(\"hubspot-form\"),\n url: text(\"url\"),\n email: text(\"email\"),\n subject: text(\"subject\"),\n since: text(\"since\"),\n },\n repeatedValues(rawArgs, \"field\", args.field),\n );\n const body: LeadRouteStageRequest = { chatId: requireChatId(), set };\n writeJson(await apiPost<LeadRouteStageResponse>(\"/api/lead-routes/stage\", body));\n } catch (err) {\n fail(err);\n }\n },\n});\n\nconst removeCommand = defineCommand({\n meta: {\n name: \"remove\",\n description: \"Stage stopping live lead routes.\\n\\nExample: baker lead-routes remove r1\",\n },\n args: { id: { type: \"positional\", description: \"Route ids, comma-separated\", required: true } },\n run: async ({ args }) => {\n try {\n const remove = String(args.id)\n .split(\",\")\n .map((id) => id.trim())\n .filter(Boolean);\n const body: LeadRouteStageRequest = { chatId: requireChatId(), remove };\n writeJson(await apiPost<LeadRouteStageResponse>(\"/api/lead-routes/stage\", body));\n } catch (err) {\n fail(err);\n }\n },\n});\n\nconst unstageCommand = defineCommand({\n meta: {\n name: \"unstage\",\n description:\n \"Take back a staged lead route change.\\n\\nExamples:\\n baker lead-routes unstage r2\\n baker lead-routes unstage --all\",\n },\n args: {\n id: { type: \"positional\", description: \"A staged routeId\", required: false },\n all: { type: \"boolean\", description: \"Every staged change\", required: false },\n },\n run: async ({ args }) => {\n try {\n const id = typeof args.id === \"string\" && args.id.length > 0 ? args.id : undefined;\n if ((id === undefined) === (args.all !== true)) {\n throw new LeadRouteArgsError(\"Pass one route id (see `baker lead-routes list` → staged) or --all.\");\n }\n const body = { chatId: requireChatId(), ...(id ? { routeId: id } : {}) };\n writeJson(await apiPost<LeadRouteUnstageResponse>(\"/api/lead-routes/unstage\", body));\n } catch (err) {\n fail(err);\n }\n },\n});\n\nexport const leadRoutesCommand = defineCommand({\n meta: {\n name: \"lead-routes\",\n description: `Send the leads an ad platform's lead form collects — a Meta Instant Form, a LinkedIn Lead Gen Form, a Google lead form — to a Google Sheet, HubSpot, a webhook, Zapier, an email, Pipedrive, GoHighLevel or ActiveCampaign. Staged on this chat; delivering from when it is published. Subcommands: list, fields, preview, set, remove, unstage.\n\nExamples:\n baker lead-routes list\n baker lead-routes fields --platform meta --form 1234567890\n baker lead-routes set --platform meta --form 1234567890 --to googleSpreadsheet --new-sheet \"Meta leads\"\n baker lead-routes remove r1\nFull guide: __tooling__/docs/tools/baker/lead-routes.md`,\n },\n subCommands: {\n list: listCommand,\n fields: fieldsCommand,\n preview: previewCommand,\n set: setCommand,\n remove: removeCommand,\n unstage: unstageCommand,\n },\n});\n","import {\n LEAD_ROUTE_DESTINATION_TYPES,\n LEAD_ROUTE_PLATFORMS,\n type LeadRouteDestinationInput,\n type LeadRouteField,\n type LeadRouteSet,\n leadRouteSetSchema,\n} from \"@baker/api/lead-routes\";\n\n/** A `baker lead-routes` call the CLI can refuse before any request. */\nexport class LeadRouteArgsError extends Error {}\n\nexport type SetFlags = {\n id?: string;\n name?: string;\n platform?: string;\n account?: string;\n form?: string;\n to?: string;\n sheet?: string;\n \"new-sheet\"?: string;\n tab?: string;\n \"destination-account\"?: string;\n \"hubspot-form\"?: string;\n url?: string;\n email?: string;\n subject?: string;\n since?: string;\n};\n\n/** `--field <key>=<from>`, each one: the destination's key, then what the lead fills it with. */\nexport function parseFields(values: readonly string[]): LeadRouteField[] {\n return values.map((value) => {\n const at = value.indexOf(\"=\");\n if (at <= 0 || at === value.length - 1) {\n throw new LeadRouteArgsError(\n `--field \"${value}\" needs the form <destination key>=<lead field>, e.g. --field C=email or --field firstname=first_name.`,\n );\n }\n return { key: value.slice(0, at).trim(), from: value.slice(at + 1).trim() };\n });\n}\n\n/** Which destination flags each `--to` takes; any other one is a mistake worth saying out loud. */\nconst DESTINATION_FLAGS = {\n googleSpreadsheet: [\"sheet\", \"new-sheet\", \"tab\", \"destination-account\"],\n hubspotForm: [\"hubspot-form\"],\n httpWebhook: [\"url\"],\n zapier: [\"url\"],\n email: [\"email\", \"subject\"],\n pipedrive: [\"destination-account\"],\n goHighlevelContact: [\"destination-account\"],\n activeCampaignContact: [\"destination-account\"],\n} as const satisfies Record<(typeof LEAD_ROUTE_DESTINATION_TYPES)[number], readonly (keyof SetFlags)[]>;\n\nconst ALL_DESTINATION_FLAGS = new Set<string>(Object.values(DESTINATION_FLAGS).flat());\n\ntype DestinationType = keyof typeof DESTINATION_FLAGS;\n\nfunction need(value: string | undefined, message: string): string {\n if (!value) throw new LeadRouteArgsError(message);\n return value;\n}\n\nfunction sheetDestination(flags: SetFlags): LeadRouteDestinationInput {\n if (!flags.sheet === !flags[\"new-sheet\"]) {\n throw new LeadRouteArgsError(\n \"Name the spreadsheet with --sheet <id> (`baker flows options googleSpreadsheet`) or make one with --new-sheet <title>.\",\n );\n }\n return {\n type: \"googleSpreadsheet\",\n ...(flags[\"destination-account\"] ? { account: flags[\"destination-account\"] } : {}),\n ...(flags.sheet ? { resourceId: flags.sheet } : {}),\n ...(flags[\"new-sheet\"] ? { newSheet: { title: flags[\"new-sheet\"] } } : {}),\n ...(flags.tab ? { tab: flags.tab } : {}),\n };\n}\n\nfunction accountDestination(type: \"pipedrive\" | \"goHighlevelContact\" | \"activeCampaignContact\") {\n return (flags: SetFlags): LeadRouteDestinationInput => ({\n type,\n ...(flags[\"destination-account\"] ? { account: flags[\"destination-account\"] } : {}),\n });\n}\n\n/** Each `--to`'s destination, from the flags it takes. */\nconst DESTINATIONS: Record<DestinationType, (flags: SetFlags) => LeadRouteDestinationInput> = {\n googleSpreadsheet: sheetDestination,\n hubspotForm: (flags) => ({\n type: \"hubspotForm\",\n formId: need(flags[\"hubspot-form\"], \"--to hubspotForm needs --hubspot-form <id> (`baker hubspot forms list`).\"),\n }),\n httpWebhook: (flags) => ({ type: \"httpWebhook\", url: need(flags.url, \"--to httpWebhook needs --url <address>.\") }),\n zapier: (flags) => ({ type: \"zapier\", url: need(flags.url, \"--to zapier needs --url <address>.\") }),\n email: (flags) => ({\n type: \"email\",\n email: need(flags.email, \"--to email needs --email <address>[,<address>…].\"),\n ...(flags.subject ? { subject: flags.subject } : {}),\n }),\n pipedrive: accountDestination(\"pipedrive\"),\n goHighlevelContact: accountDestination(\"goHighlevelContact\"),\n activeCampaignContact: accountDestination(\"activeCampaignContact\"),\n};\n\nfunction destinationOf(flags: SetFlags): LeadRouteDestinationInput {\n const to = flags.to;\n if (!to || !(LEAD_ROUTE_DESTINATION_TYPES as readonly string[]).includes(to)) {\n throw new LeadRouteArgsError(`--to must be one of ${LEAD_ROUTE_DESTINATION_TYPES.join(\", \")}.`);\n }\n const type = to as DestinationType;\n const allowed = new Set<string>(DESTINATION_FLAGS[type]);\n const stray = [...ALL_DESTINATION_FLAGS].filter((flag) => !allowed.has(flag) && flags[flag as keyof SetFlags]);\n if (stray.length > 0) {\n throw new LeadRouteArgsError(`--to ${type} does not take ${stray.map((flag) => `--${flag}`).join(\", \")}.`);\n }\n return DESTINATIONS[type](flags);\n}\n\n/** The route one `baker lead-routes set` describes, checked against the shared contract. */\nexport function parseSetArgs(flags: SetFlags, fieldValues: readonly string[]): LeadRouteSet {\n if (!flags.platform || !(LEAD_ROUTE_PLATFORMS as readonly string[]).includes(flags.platform)) {\n throw new LeadRouteArgsError(`--platform must be one of ${LEAD_ROUTE_PLATFORMS.join(\", \")}.`);\n }\n if (!flags.form) throw new LeadRouteArgsError(\"--form <lead form id> is required.\");\n const fields = parseFields(fieldValues);\n const parsed = leadRouteSetSchema.safeParse({\n ...(flags.id ? { id: flags.id } : {}),\n ...(flags.name ? { name: flags.name } : {}),\n platform: flags.platform,\n ...(flags.account ? { account: flags.account } : {}),\n formId: flags.form,\n destination: destinationOf(flags),\n ...(fields.length > 0 ? { fields } : {}),\n ...(flags.since ? { since: flags.since } : {}),\n });\n if (!parsed.success) {\n const issue = parsed.error.issues[0];\n throw new LeadRouteArgsError(`${issue?.path.join(\".\") || \"route\"}: ${issue?.message ?? \"invalid\"}`);\n }\n return parsed.data;\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,115 @@
1
+ import {
2
+ csvOrJson,
3
+ handleLinkedinError,
4
+ resolveAccountIdArg
5
+ } from "./chunk-BJOK7QD4.js";
6
+ import {
7
+ writeAdsJson,
8
+ writeAdsOutput
9
+ } from "./chunk-ZRP7Y2DM.js";
10
+ import {
11
+ NO_CACHE_ARG
12
+ } from "./chunk-AGBBTTKA.js";
13
+ import "./chunk-NZ34KM46.js";
14
+ import "./chunk-CAZGM2NX.js";
15
+ import "./chunk-NZS3KEQ2.js";
16
+ import "./chunk-GIWHHCD6.js";
17
+ import "./chunk-SOPVIIUW.js";
18
+ import "./chunk-G4FG5EQO.js";
19
+ import "./chunk-NSBNIPIW.js";
20
+ import "./chunk-MUS2UTWU.js";
21
+ import {
22
+ apiGet
23
+ } from "./chunk-X7VQFLHI.js";
24
+ import "./chunk-LU4HI4KI.js";
25
+ import "./chunk-LGK7UWBN.js";
26
+ import "./chunk-Q7US4OOA.js";
27
+ import "./chunk-YQSBHWOI.js";
28
+
29
+ // src/commands/ads/linkedin/leads.ts
30
+ import { defineCommand } from "citty";
31
+ var DAY_MS = 864e5;
32
+ function epochMs(value, flag) {
33
+ const text = String(value);
34
+ const ms = /^\d+$/.test(text) ? Number(text) : Date.parse(text);
35
+ if (Number.isNaN(ms)) {
36
+ throw new Error(`${flag} must be YYYY-MM-DD or epoch ms, got ${text}`);
37
+ }
38
+ return ms;
39
+ }
40
+ function leadsParams(args, accountId) {
41
+ const params = { "account-id": accountId };
42
+ if (args["form-id"]) params["form-id"] = String(args["form-id"]);
43
+ if (args["campaign-id"]) params["campaign-id"] = String(args["campaign-id"]);
44
+ const sinceMs = args["since-ms"] ? epochMs(args["since-ms"], "--since-ms") : args["since-days"] ? Date.now() - Number(args["since-days"]) * DAY_MS : void 0;
45
+ if (sinceMs) params["since-ms"] = String(sinceMs);
46
+ if (args.until) params["until-ms"] = String(epochMs(args.until, "--until"));
47
+ if (args["test-leads"]) params["test-leads"] = "true";
48
+ if (args.limit) params.limit = String(args.limit);
49
+ if (args["no-cache"]) params["skip-cache"] = "true";
50
+ return params;
51
+ }
52
+ var leadsCommand = defineCommand({
53
+ meta: {
54
+ name: "leads",
55
+ description: `List Lead Gen Form responses (playbook \xA707).
56
+
57
+ LinkedIn retains LGF responses for 90 days only \u2014 sync to your CRM via this
58
+ endpoint or you'll lose them.
59
+
60
+ Examples:
61
+ baker ads linkedin leads --account-id 503001492
62
+ baker ads linkedin leads --account-id 503001492 --campaign-id 1234
63
+ baker ads linkedin leads --account-id 503001492 --form-id 5678 --since-days 7
64
+ baker ads linkedin leads --account-id 503001492 --output csv
65
+ baker ads linkedin leads --test-leads # only the test leads Campaign Manager's preview submitted
66
+
67
+ Answers come back with their question's label, and a multiple-choice answer as
68
+ the option chosen. Form ids are the ones \`baker ads linkedin lead-forms\` lists.`
69
+ },
70
+ args: {
71
+ "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
72
+ "account-urn": { type: "string", description: "Alias for --account-id" },
73
+ "form-id": { type: "string", description: "Filter by Lead Gen Form ID" },
74
+ "campaign-id": { type: "string", description: "Filter by campaign ID" },
75
+ "since-days": { type: "string", description: "Only responses submitted in the last N days" },
76
+ "since-ms": {
77
+ type: "string",
78
+ description: "Only responses submitted at or after this epoch ms (alternative to --since-days)"
79
+ },
80
+ until: { type: "string", description: "Only responses submitted before this date (YYYY-MM-DD or epoch ms)" },
81
+ "test-leads": { type: "boolean", description: "Only test leads (submitted from a form preview)" },
82
+ limit: { type: "string", description: "Max rows (default: 500)" },
83
+ "no-cache": NO_CACHE_ARG,
84
+ output: { type: "string", description: "json|csv|jsonl|md", default: "json" }
85
+ },
86
+ run: async ({ args }) => {
87
+ const accountId = resolveAccountIdArg(args);
88
+ try {
89
+ const params = leadsParams(args, accountId);
90
+ const data = await apiGet("/api/ads/linkedin/leads", params);
91
+ const fmt = csvOrJson(args);
92
+ if (fmt !== "json") {
93
+ const flat = data.map((r) => ({
94
+ id: r.id,
95
+ formId: r.formId,
96
+ formName: r.formName ?? "",
97
+ campaignUrn: r.campaignUrn,
98
+ campaignName: r.campaignName ?? "",
99
+ testLead: r.testLead ?? false,
100
+ submittedAt: r.submittedAt ? new Date(r.submittedAt).toISOString() : "",
101
+ answers: (r.answers ?? []).map((a) => `${a.question}: ${a.answer}`).join(" | ")
102
+ }));
103
+ writeAdsOutput(flat, fmt);
104
+ return;
105
+ }
106
+ writeAdsJson({ ok: true, data });
107
+ } catch (err) {
108
+ handleLinkedinError(err);
109
+ }
110
+ }
111
+ });
112
+ export {
113
+ leadsCommand
114
+ };
115
+ //# sourceMappingURL=leads-LAATTW5G.js.map
@@ -0,0 +1,207 @@
1
+ import {
2
+ parseDays,
3
+ withDefinitions
4
+ } from "./chunk-5LJ6E4YU.js";
5
+ import {
6
+ setDefinitionFields
7
+ } from "./chunk-I43ZEWJQ.js";
8
+ import {
9
+ IDEAS_DIR,
10
+ readIdeas
11
+ } from "./chunk-KTZCLJ2D.js";
12
+ import "./chunk-MKUA54QE.js";
13
+ import "./chunk-QPESDKZC.js";
14
+ import "./chunk-E44NXCTL.js";
15
+ import {
16
+ findWorkspaceRoot
17
+ } from "./chunk-EJGAJHLB.js";
18
+ import "./chunk-QHZE62GP.js";
19
+ import "./chunk-F3CZFUXZ.js";
20
+ import "./chunk-LNNTHEL7.js";
21
+ import "./chunk-FOMFU2RX.js";
22
+ import "./chunk-PSGIHSNC.js";
23
+ import "./chunk-PONLPYD7.js";
24
+ import {
25
+ failApi
26
+ } from "./chunk-SAAXU7QR.js";
27
+ import "./chunk-NZ34KM46.js";
28
+ import "./chunk-CAZGM2NX.js";
29
+ import "./chunk-NZS3KEQ2.js";
30
+ import "./chunk-GIWHHCD6.js";
31
+ import "./chunk-SOPVIIUW.js";
32
+ import "./chunk-G4FG5EQO.js";
33
+ import "./chunk-NSBNIPIW.js";
34
+ import "./chunk-MUS2UTWU.js";
35
+ import {
36
+ apiPost
37
+ } from "./chunk-X7VQFLHI.js";
38
+ import "./chunk-LU4HI4KI.js";
39
+ import "./chunk-LGK7UWBN.js";
40
+ import {
41
+ registerSchema,
42
+ writeJson
43
+ } from "./chunk-Q7US4OOA.js";
44
+ import "./chunk-YQSBHWOI.js";
45
+
46
+ // src/commands/creatives/learn.ts
47
+ import { readFileSync } from "fs";
48
+ import { readFile, writeFile } from "fs/promises";
49
+ import path from "path";
50
+ import { defineCommand } from "citty";
51
+
52
+ // src/commands/creatives/learn-model.ts
53
+ var MIN_IMPRESSIONS = 1e3;
54
+ var SEEN_ENOUGH = 5e3;
55
+ var WINNER_RATIO = 0.8;
56
+ var WINNER_MIN_RESULTS = 3;
57
+ var FAILED_RATIO = 1.5;
58
+ var SILENT_SPEND = 2;
59
+ var SETTLED = /* @__PURE__ */ new Set(["winner", "failed", "inconclusive"]);
60
+ var round = (n) => Math.round(n * 100) / 100;
61
+ function totals(creatives) {
62
+ const spend = creatives.reduce((sum, c) => sum + c.spend, 0);
63
+ const impressions = creatives.reduce((sum, c) => sum + c.impressions, 0);
64
+ const results = creatives.reduce((sum, c) => sum + (c.results ?? 0), 0);
65
+ const clicks = creatives.reduce((sum, c) => sum + (c.ctr ?? 0) * c.impressions, 0);
66
+ return { spend, impressions, results, ctr: impressions > 0 ? round(clicks / impressions) : null };
67
+ }
68
+ function verdict(result, usual) {
69
+ if (result.impressions < MIN_IMPRESSIONS) return "testing";
70
+ if (usual !== null) {
71
+ if (result.results === 0 && result.spend >= SILENT_SPEND * usual) return "failed";
72
+ const ratio = result.vsAccount;
73
+ if (ratio !== null && result.results >= WINNER_MIN_RESULTS && ratio <= WINNER_RATIO) return "winner";
74
+ if (ratio !== null && ratio >= FAILED_RATIO) return "failed";
75
+ }
76
+ return result.impressions >= SEEN_ENOUGH ? "inconclusive" : "testing";
77
+ }
78
+ function ideaResult(own, usual, asOf) {
79
+ const mine = totals(own);
80
+ const costPerResult = mine.results > 0 ? round(mine.spend / mine.results) : null;
81
+ return {
82
+ asOf,
83
+ creatives: own.length,
84
+ ...own[0]?.currency ? { currency: own[0].currency } : {},
85
+ spend: round(mine.spend),
86
+ impressions: mine.impressions,
87
+ results: mine.results,
88
+ costPerResult,
89
+ ctr: mine.ctr,
90
+ vsAccount: usual !== null && costPerResult !== null ? round(costPerResult / usual) : null
91
+ };
92
+ }
93
+ function learnFromResults(ideas, creatives, asOf) {
94
+ const ideaOf = (c) => c.definition?.idea ?? null;
95
+ return ideas.flatMap((idea) => {
96
+ if (idea.status === "idea" || idea.status === "retired") return [];
97
+ const own = creatives.filter((c) => ideaOf(c) === idea.id);
98
+ if (own.length === 0) return [];
99
+ const rest = totals(creatives.filter((c) => ideaOf(c) !== idea.id));
100
+ const usual = rest.results > 0 ? rest.spend / rest.results : null;
101
+ const result = ideaResult(own, usual, asOf);
102
+ const to = verdict(result, usual);
103
+ if (to === "testing" && SETTLED.has(idea.status)) return [];
104
+ return [{ idea: idea.id, from: idea.status, to, result }];
105
+ });
106
+ }
107
+
108
+ // src/commands/creatives/learn.ts
109
+ var DESCRIPTION = `Write back what each built idea's ads did in the live Meta account: every creative of the idea pooled, judged against the rest of the account's cost per result, and the verdict (winner, failed, inconclusive, testing) and frozen numbers written onto src/creatives/_ideas/<idea>.md. Run it before writing new ideas, and weekly.
110
+
111
+ Start here:
112
+ baker creatives learn # last 30 days, written onto the ideas
113
+ baker creatives learn --days 60
114
+ baker creatives learn --dry-run # show the verdicts, write nothing
115
+
116
+ A winner gets results at 0.8x the usual cost or less (3+ results); failed is 1.5x or more, or spend worth two usual results with none; under 1,000 impressions it is still testing.`;
117
+ var ARGS = {
118
+ days: { type: "string", required: false, description: "Reporting window in days (default 30)" },
119
+ "dry-run": { type: "boolean", required: false, default: false, description: "Show the verdicts; write nothing" }
120
+ };
121
+ registerSchema({ command: "creatives.learn", description: DESCRIPTION, args: ARGS });
122
+ function learnEnvelope(learnings, written, unreadable = []) {
123
+ const winners = learnings.filter((l) => l.to === "winner").map((l) => l.idea);
124
+ const failed = learnings.filter((l) => l.to === "failed").map((l) => l.idea);
125
+ const hints = [];
126
+ if (unreadable.length > 0) {
127
+ hints.push(
128
+ `Could not read ${unreadable.join(", ")}, so their results were not written: fix what \`baker creatives ideas\` names, then run this again.`
129
+ );
130
+ }
131
+ if (learnings.length === 0) {
132
+ hints.push(
133
+ "No built idea has ads delivering yet: nothing to learn. Ideas count once a published ad shows their creative."
134
+ );
135
+ }
136
+ if (winners.length > 0) {
137
+ hints.push(
138
+ `Build on ${winners.join(", ")}: keep the message and make it in a new format or for a new persona before any new idea.`
139
+ );
140
+ }
141
+ if (failed.length > 0) {
142
+ hints.push(
143
+ `${failed.join(", ")} lost: never repeat their message; \`baker creatives ideas\` flags an idea that does.`
144
+ );
145
+ }
146
+ return {
147
+ ok: true,
148
+ data: {
149
+ written,
150
+ ideas: learnings.map((l) => ({
151
+ idea: l.idea,
152
+ status: l.from === l.to ? l.to : `${l.from} \u2192 ${l.to}`,
153
+ ...l.result
154
+ }))
155
+ },
156
+ hints
157
+ };
158
+ }
159
+ async function writeBack(root, learnings) {
160
+ for (const learning of learnings) {
161
+ const file = path.join(root, IDEAS_DIR, `${learning.idea}.md`);
162
+ const raw = await readFile(file, "utf8");
163
+ await writeFile(file, setDefinitionFields(raw, { status: learning.to, result: learning.result }), "utf8");
164
+ }
165
+ }
166
+ function readDefinition(root, slug) {
167
+ try {
168
+ return readFileSync(path.join(root, "src", "creatives", slug, "_definition.md"), "utf8");
169
+ } catch {
170
+ return null;
171
+ }
172
+ }
173
+ function today() {
174
+ return (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
175
+ }
176
+ var learnCommand = defineCommand({
177
+ meta: { name: "learn", description: DESCRIPTION },
178
+ args: ARGS,
179
+ async run({ args }) {
180
+ try {
181
+ const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();
182
+ const days = parseDays(args.days);
183
+ const performance = withDefinitions(
184
+ await apiPost("/api/creatives/performance", days ? { days } : {}),
185
+ (slug) => readDefinition(root, slug)
186
+ );
187
+ const { ideas, unreadable } = await readIdeas(root);
188
+ const learnings = learnFromResults(ideas, performance.data.creatives, today());
189
+ const dryRun = args["dry-run"] === true;
190
+ if (!dryRun) await writeBack(root, learnings);
191
+ writeJson(
192
+ learnEnvelope(
193
+ learnings,
194
+ !dryRun && learnings.length > 0,
195
+ unreadable.map((u) => u.id)
196
+ )
197
+ );
198
+ } catch (err) {
199
+ failApi(err);
200
+ }
201
+ }
202
+ });
203
+ export {
204
+ learnCommand,
205
+ learnEnvelope
206
+ };
207
+ //# sourceMappingURL=learn-3GLY4G3H.js.map
@@ -0,0 +1,211 @@
1
+ import {
2
+ compact,
3
+ csvArg,
4
+ microsFromArg,
5
+ requireTarget,
6
+ requireTargets,
7
+ stageAccountId,
8
+ stageXOp,
9
+ stageXOps
10
+ } from "./chunk-TGPGQTZA.js";
11
+ import "./chunk-FIN4ZXGJ.js";
12
+ import "./chunk-7NF73SCB.js";
13
+ import "./chunk-ZRP7Y2DM.js";
14
+ import {
15
+ OBJECTIVES,
16
+ PLACEMENTS,
17
+ PRODUCT_TYPES
18
+ } from "./chunk-NZ34KM46.js";
19
+ import "./chunk-CAZGM2NX.js";
20
+ import "./chunk-NZS3KEQ2.js";
21
+ import "./chunk-GIWHHCD6.js";
22
+ import "./chunk-SOPVIIUW.js";
23
+ import "./chunk-G4FG5EQO.js";
24
+ import "./chunk-NSBNIPIW.js";
25
+ import "./chunk-MUS2UTWU.js";
26
+ import "./chunk-X7VQFLHI.js";
27
+ import "./chunk-LU4HI4KI.js";
28
+ import "./chunk-LGK7UWBN.js";
29
+ import {
30
+ registerSchema
31
+ } from "./chunk-Q7US4OOA.js";
32
+ import "./chunk-YQSBHWOI.js";
33
+
34
+ // src/commands/ads/x/line-item-writes.ts
35
+ import { defineCommand } from "citty";
36
+ registerSchema({
37
+ command: "ads.x.lineItems.create",
38
+ description: `Stage a new X ad group under a campaign. Objective, product type and campaign are fixed at create \u2014 X refuses to change any of them afterwards, so get them right here.
39
+ Objectives: ${OBJECTIVES.join(", ")}.`,
40
+ args: {
41
+ "account-id": { type: "string", description: "X Ads account ID", required: false },
42
+ "campaign-id": {
43
+ type: "string",
44
+ description: "Parent campaign id, or an x_temp_* ref staged in this draft",
45
+ required: true
46
+ },
47
+ name: { type: "string", description: "Ad group name", required: true },
48
+ objective: { type: "string", description: OBJECTIVES.join(" | "), required: true },
49
+ "product-type": { type: "string", description: PRODUCT_TYPES.join(" | "), required: false },
50
+ placements: { type: "string", description: `CSV of ${PLACEMENTS.join(", ")}`, required: false },
51
+ status: { type: "string", description: "ACTIVE | PAUSED | DRAFT (default PAUSED)", required: false },
52
+ "bid-strategy": { type: "string", description: "AUTO | MAX | TARGET", required: false },
53
+ bid: {
54
+ type: "string",
55
+ description: "Bid in account currency \u2014 required for MAX/TARGET, refused for AUTO",
56
+ required: false
57
+ },
58
+ "daily-budget": { type: "string", description: "Daily budget in account currency", required: false },
59
+ "total-budget": { type: "string", description: "Lifetime budget in account currency", required: false },
60
+ "start-time": { type: "string", description: "ISO 8601 start", required: false },
61
+ "end-time": { type: "string", description: "ISO 8601 end", required: false }
62
+ }
63
+ });
64
+ var lineItemsCreateCommand = defineCommand({
65
+ meta: {
66
+ name: "create",
67
+ description: `Stage a new ad group (applies when the chat is published).
68
+
69
+ Examples:
70
+ baker ads x line-items create --campaign-id oilf0 --name "Spain" --objective WEBSITE_CLICKS
71
+ baker ads x line-items create --campaign-id x_temp_abc --name "Spain" --objective REACH --bid-strategy MAX --bid 1.20`
72
+ },
73
+ args: {
74
+ "account-id": { type: "string", description: "X Ads account ID" },
75
+ "campaign-id": { type: "string", description: "Parent campaign id or x_temp_* ref", required: true },
76
+ name: { type: "string", description: "Ad group name", required: true },
77
+ objective: { type: "string", description: OBJECTIVES.join(" | "), required: true },
78
+ "product-type": { type: "string", description: PRODUCT_TYPES.join(" | ") },
79
+ placements: { type: "string", description: `CSV of ${PLACEMENTS.join(", ")}` },
80
+ status: { type: "string", description: "ACTIVE | PAUSED | DRAFT (default PAUSED)" },
81
+ "bid-strategy": { type: "string", description: "AUTO | MAX | TARGET" },
82
+ bid: { type: "string", description: "Bid in account currency" },
83
+ "daily-budget": { type: "string", description: "Daily budget in account currency" },
84
+ "total-budget": { type: "string", description: "Lifetime budget in account currency" },
85
+ "start-time": { type: "string", description: "ISO 8601 start" },
86
+ "end-time": { type: "string", description: "ISO 8601 end" }
87
+ },
88
+ run: async ({ args }) => {
89
+ const accountId = await stageAccountId(args);
90
+ await stageXOp({
91
+ kind: "lineItem.create",
92
+ accountId,
93
+ payload: compact({
94
+ campaignId: args["campaign-id"],
95
+ name: args.name,
96
+ objective: args.objective,
97
+ productType: args["product-type"],
98
+ placements: csvArg(args.placements),
99
+ entityStatus: args.status,
100
+ bidStrategy: args["bid-strategy"],
101
+ bidAmountLocalMicro: microsFromArg(args.bid, "--bid"),
102
+ dailyBudgetAmountLocalMicro: microsFromArg(args["daily-budget"], "--daily-budget"),
103
+ totalBudgetAmountLocalMicro: microsFromArg(args["total-budget"], "--total-budget"),
104
+ startTime: args["start-time"],
105
+ endTime: args["end-time"]
106
+ })
107
+ });
108
+ }
109
+ });
110
+ registerSchema({
111
+ command: "ads.x.lineItems.update",
112
+ description: "Stage a change to an existing X ad group. Objective, product type and campaign are absent on purpose \u2014 X treats all three as immutable after create.",
113
+ args: {
114
+ id: { type: "string", description: "Ad group id", required: true },
115
+ "account-id": { type: "string", description: "X Ads account ID", required: false },
116
+ name: { type: "string", description: "New name", required: false },
117
+ status: { type: "string", description: "ACTIVE | PAUSED", required: false },
118
+ placements: { type: "string", description: "CSV of placements", required: false },
119
+ "bid-strategy": { type: "string", description: "AUTO | MAX | TARGET", required: false },
120
+ bid: { type: "string", description: "Bid in account currency", required: false },
121
+ "daily-budget": { type: "string", description: "Daily budget in account currency", required: false },
122
+ "total-budget": { type: "string", description: "Lifetime budget in account currency", required: false },
123
+ "start-time": { type: "string", description: "ISO 8601 start", required: false },
124
+ "end-time": { type: "string", description: "ISO 8601 end", required: false }
125
+ }
126
+ });
127
+ var lineItemsUpdateCommand = defineCommand({
128
+ meta: {
129
+ name: "update",
130
+ description: `Stage a change to an ad group.
131
+
132
+ Examples:
133
+ baker ads x line-items update wiee9 --bid 1.50
134
+ baker ads x line-items update wiee9 --end-time 2026-12-31T00:00:00Z`
135
+ },
136
+ args: {
137
+ id: { type: "positional", description: "Ad group id", required: true },
138
+ "account-id": { type: "string", description: "X Ads account ID" },
139
+ name: { type: "string", description: "New name" },
140
+ status: { type: "string", description: "ACTIVE | PAUSED" },
141
+ placements: { type: "string", description: "CSV of placements" },
142
+ "bid-strategy": { type: "string", description: "AUTO | MAX | TARGET" },
143
+ bid: { type: "string", description: "Bid in account currency" },
144
+ "daily-budget": { type: "string", description: "Daily budget in account currency" },
145
+ "total-budget": { type: "string", description: "Lifetime budget in account currency" },
146
+ "start-time": { type: "string", description: "ISO 8601 start" },
147
+ "end-time": { type: "string", description: "ISO 8601 end" }
148
+ },
149
+ run: async ({ args }) => {
150
+ const accountId = await stageAccountId(args);
151
+ await stageXOp({
152
+ kind: "lineItem.update",
153
+ accountId,
154
+ target: requireTarget(args, "id"),
155
+ payload: compact({
156
+ name: args.name,
157
+ entityStatus: args.status,
158
+ placements: csvArg(args.placements),
159
+ bidStrategy: args["bid-strategy"],
160
+ bidAmountLocalMicro: microsFromArg(args.bid, "--bid"),
161
+ dailyBudgetAmountLocalMicro: microsFromArg(args["daily-budget"], "--daily-budget"),
162
+ totalBudgetAmountLocalMicro: microsFromArg(args["total-budget"], "--total-budget"),
163
+ startTime: args["start-time"],
164
+ endTime: args["end-time"]
165
+ })
166
+ });
167
+ }
168
+ });
169
+ function statusCommand(name, status) {
170
+ registerSchema({
171
+ command: `ads.x.lineItems.${name}`,
172
+ description: `Stage ${name === "pause" ? "a pause" : "a resume"} for one or more X ad groups. Pass every id in one call.`,
173
+ args: {
174
+ ids: { type: "string", description: "Ad group ids, comma-separated", required: true },
175
+ "account-id": { type: "string", description: "X Ads account ID", required: false }
176
+ }
177
+ });
178
+ return defineCommand({
179
+ meta: {
180
+ name,
181
+ description: `Stage ${name === "pause" ? "pausing" : "resuming"} ad groups.
182
+
183
+ Example:
184
+ baker ads x line-items ${name} wiee9,wo2sr`
185
+ },
186
+ args: {
187
+ ids: { type: "positional", description: "Ad group ids, comma-separated", required: true },
188
+ "account-id": { type: "string", description: "X Ads account ID" }
189
+ },
190
+ run: async ({ args }) => {
191
+ const accountId = await stageAccountId(args);
192
+ await stageXOps(
193
+ requireTargets(args, "ids").map((id) => ({
194
+ kind: "lineItem.update",
195
+ accountId,
196
+ target: id,
197
+ payload: { entityStatus: status }
198
+ }))
199
+ );
200
+ }
201
+ });
202
+ }
203
+ var lineItemsPauseCommand = statusCommand("pause", "PAUSED");
204
+ var lineItemsResumeCommand = statusCommand("resume", "ACTIVE");
205
+ export {
206
+ lineItemsCreateCommand,
207
+ lineItemsPauseCommand,
208
+ lineItemsResumeCommand,
209
+ lineItemsUpdateCommand
210
+ };
211
+ //# sourceMappingURL=line-item-writes-XJTTA3X5.js.map