@koda-sl/baker-cli 0.522.0 → 0.524.0-dev.3eb5500a1

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 (882) hide show
  1. package/README.md +19 -0
  2. package/dist/account-D56ET6IW.js +82 -0
  3. package/dist/account-R536H7IZ.js +82 -0
  4. package/dist/account-reads-7ZOFEQWM.js +219 -0
  5. package/dist/account-users-SLFD5EF6.js +64 -0
  6. package/dist/account-writes-SWMDBVH4.js +68 -0
  7. package/dist/accounts-5AIU2BII.js +80 -0
  8. package/dist/accounts-X25YHBAH.js +701 -0
  9. package/dist/actions-WL47GZOU.js +55 -0
  10. package/dist/activecampaign-J36ZLRDG.js +938 -0
  11. package/dist/ad-group-writes-INFBYL3B.js +172 -0
  12. package/dist/ad-groups-HTVKYBPX.js +70 -0
  13. package/dist/ad-writes-62JZYKJ4.js +176 -0
  14. package/dist/add-6IU3SWQI.js +305 -0
  15. package/dist/add-HBZMWXRJ.js +107 -0
  16. package/dist/ads-JKD6VMCE.js +48 -0
  17. package/dist/ads-ZWNY3UY4.js +79 -0
  18. package/dist/advertisers-N2XLRZE6.js +123 -0
  19. package/dist/analytics-KUJVUDY6.js +2437 -0
  20. package/dist/analytics-QFZEVFVQ.js +447 -0
  21. package/dist/animate-ZS24SJGN.js +480 -0
  22. package/dist/assign-PURBKGQY.js +80 -0
  23. package/dist/audience-size-A5FPKEUM.js +76 -0
  24. package/dist/audiences-5FNTEENV.js +280 -0
  25. package/dist/audit-7ZGDFGET.js +154 -0
  26. package/dist/autocomplete-3HJBPKLV.js +114 -0
  27. package/dist/avatars-6BBL6L5K.js +38 -0
  28. package/dist/bid-pricing-GIM7LJRR.js +103 -0
  29. package/dist/brand-CXEH7YYF.js +22 -0
  30. package/dist/brief-FL6G3NTB.js +543 -0
  31. package/dist/campaign-groups-BNBS7QBX.js +99 -0
  32. package/dist/campaign-writes-MWA2FPKC.js +168 -0
  33. package/dist/campaign-writes-QQGI3U2P.js +176 -0
  34. package/dist/campaigns-42OP3HPV.js +78 -0
  35. package/dist/campaigns-LYIG74TQ.js +113 -0
  36. package/dist/campaigns-QKSDJAWD.js +111 -0
  37. package/dist/canvas-7SX3ZDKZ.js +46 -0
  38. package/dist/capabilities-FGLYVSW5.js +147 -0
  39. package/dist/catalog-7S3ZR3JP.js +65 -0
  40. package/dist/catalogs-RWAZMJHF.js +130 -0
  41. package/dist/changes-PMDRPRK7.js +135 -0
  42. package/dist/chatgpt-J2LK4NK4.js +47 -0
  43. package/dist/chats-EG6UCN45.js +279 -0
  44. package/dist/check-BC2KFBQM.js +107 -0
  45. package/dist/chunk-24E77GI6.js +91 -0
  46. package/dist/chunk-2FL7NBPT.js +45 -0
  47. package/dist/chunk-2PRRXTV3.js +197 -0
  48. package/dist/chunk-32GFGVW2.js +131 -0
  49. package/dist/chunk-347GRWQN.js +831 -0
  50. package/dist/chunk-45EERHDB.js +783 -0
  51. package/dist/chunk-56UWXQEN.js +392 -0
  52. package/dist/chunk-5N2CSLY6.js +1646 -0
  53. package/dist/chunk-5YN53OAA.js +61 -0
  54. package/dist/chunk-6K73DWA5.js +275 -0
  55. package/dist/chunk-6OIKNJ7G.js +26 -0
  56. package/dist/chunk-6TQTKC4M.js +64 -0
  57. package/dist/chunk-76TUVLAJ.js +942 -0
  58. package/dist/chunk-7EOD7RV4.js +103 -0
  59. package/dist/chunk-7R5WC5PM.js +98 -0
  60. package/dist/chunk-A5SPK37E.js +19 -0
  61. package/dist/chunk-AIG53YWM.js +429 -0
  62. package/dist/chunk-AOLRE5JO.js +5368 -0
  63. package/dist/chunk-BDAXBOGT.js +66 -0
  64. package/dist/chunk-BEHOW6DU.js +169 -0
  65. package/dist/chunk-BM3HTMD6.js +363 -0
  66. package/dist/chunk-BPUVBVKK.js +122 -0
  67. package/dist/chunk-CK6UMOYN.js +23 -0
  68. package/dist/chunk-CONB42F3.js +170 -0
  69. package/dist/chunk-CWZ2ODJQ.js +57 -0
  70. package/dist/chunk-D4U72EIE.js +638 -0
  71. package/dist/chunk-DJXE3M5R.js +24026 -0
  72. package/dist/chunk-DJXE3M5R.js.map +1 -0
  73. package/dist/chunk-DYOUJERF.js +7234 -0
  74. package/dist/chunk-EIBWWYBK.js +89 -0
  75. package/dist/chunk-EJHYK54S.js +910 -0
  76. package/dist/chunk-ETLGTUQI.js +676 -0
  77. package/dist/chunk-F3CZFUXZ.js +3187 -0
  78. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  79. package/dist/chunk-GLUXBB6C.js +156 -0
  80. package/dist/chunk-GXDFLDFK.js +843 -0
  81. package/dist/chunk-GXSYGI77.js +592 -0
  82. package/dist/chunk-IAK7AB22.js +46 -0
  83. package/dist/chunk-IHZUSAUX.js +179 -0
  84. package/dist/chunk-ISDOF6KZ.js +148 -0
  85. package/dist/chunk-IZABTTW5.js +228 -0
  86. package/dist/chunk-JMQ3F5VX.js +207 -0
  87. package/dist/chunk-KAAYVKBH.js +479 -0
  88. package/dist/chunk-KZ55NULP.js +494 -0
  89. package/dist/chunk-LOLB3YJR.js +8914 -0
  90. package/dist/chunk-LP2KYY5Z.js +547 -0
  91. package/dist/chunk-MTV2RSGY.js +63 -0
  92. package/dist/chunk-MUS2UTWU.js +4254 -0
  93. package/dist/chunk-MUS2UTWU.js.map +1 -0
  94. package/dist/chunk-MZE6PLV3.js +297 -0
  95. package/dist/chunk-OW27W5X4.js +712 -0
  96. package/dist/chunk-OW27W5X4.js.map +1 -0
  97. package/dist/chunk-OXOC6TJC.js +8954 -0
  98. package/dist/chunk-PCIMC7VX.js +163 -0
  99. package/dist/chunk-PILLZPNC.js +3020 -0
  100. package/dist/chunk-PILLZPNC.js.map +1 -0
  101. package/dist/chunk-RESQPBSC.js +455 -0
  102. package/dist/chunk-RIA5RXPL.js +387 -0
  103. package/dist/chunk-SIKCVWM3.js +76 -0
  104. package/dist/chunk-SPQ7IVTJ.js +225 -0
  105. package/dist/chunk-TG2DC6CO.js +274 -0
  106. package/dist/chunk-TIYFDFLN.js +191 -0
  107. package/dist/chunk-TVSHBUPA.js +377 -0
  108. package/dist/chunk-U4BPW7ZO.js +167 -0
  109. package/dist/chunk-UK6AYD3V.js +224 -0
  110. package/dist/chunk-UMTGF43H.js +249 -0
  111. package/dist/chunk-URMAEVZO.js +150 -0
  112. package/dist/chunk-VGKDX7LP.js +846 -0
  113. package/dist/chunk-WEQZ563U.js +319 -0
  114. package/dist/chunk-XC3DYN2N.js +1518 -0
  115. package/dist/chunk-XGQ4XMCS.js +3868 -0
  116. package/dist/chunk-XH7TGLJC.js +344 -0
  117. package/dist/chunk-XKRCO3JC.js +203 -0
  118. package/dist/chunk-XL7X37UC.js +188 -0
  119. package/dist/chunk-XXCMIS2V.js +285 -0
  120. package/dist/chunk-ZLEHD3ZT.js +604 -0
  121. package/dist/chunk-ZQW6UZQC.js +142 -0
  122. package/dist/chunk-ZRAZBHTG.js +1919 -0
  123. package/dist/chunk-ZUXXUHZY.js +91 -0
  124. package/dist/chunk-ZV7I2U4T.js +51 -0
  125. package/dist/claim-HDRBJL5Q.js +200 -0
  126. package/dist/cli.js +34 -33
  127. package/dist/cli.js.map +1 -1
  128. package/dist/companies-A7BFDYCP.js +198 -0
  129. package/dist/company-7MUAN5HT.js +308 -0
  130. package/dist/complete-2QWJE5JP.js +84 -0
  131. package/dist/connect-7JCP2CAX.js +45 -0
  132. package/dist/conversation-FKUZLUGV.js +96 -0
  133. package/dist/conversion-report-IHKQKNBM.js +127 -0
  134. package/dist/conversion-upload-command-5MOGWC26.js +439 -0
  135. package/dist/conversion-writes-NAJVO3WP.js +122 -0
  136. package/dist/conversions-5BBFXRRS.js +140 -0
  137. package/dist/conversions-KBFMVTII.js +78 -0
  138. package/dist/create-KMGTMXQE.js +135 -0
  139. package/dist/create-SSQ2R7Z4.js +62 -0
  140. package/dist/create-V7T4SFNP.js +239 -0
  141. package/dist/create-YUMBZ4MQ.js +210 -0
  142. package/dist/creatives-KPI7CSZ5.js +223 -0
  143. package/dist/creatives-OIEYLRXB.js +58 -0
  144. package/dist/credentials-4DSXDO63.js +290 -0
  145. package/dist/critique-AO3YXLGU.js +1451 -0
  146. package/dist/critique-R3D2I2O6.js +232 -0
  147. package/dist/crm-JSXAYQWL.js +323 -0
  148. package/dist/crm-VXNDN5KA.js +227 -0
  149. package/dist/currency-RKTYXSNH.js +88 -0
  150. package/dist/customers-MZWGBY4J.js +59 -0
  151. package/dist/delete-GQUWHFPZ.js +57 -0
  152. package/dist/delete-K4X4MXMC.js +69 -0
  153. package/dist/delete-LC6BMULH.js +67 -0
  154. package/dist/demographics-236FSE3G.js +141 -0
  155. package/dist/discard-NPSWHJZH.js +69 -0
  156. package/dist/discover-VL3BDJOO.js +172 -0
  157. package/dist/domain-JQFCOVCS.js +101 -0
  158. package/dist/download-H2ISXHDF.js +172 -0
  159. package/dist/draft-N752W2ZE.js +220 -0
  160. package/dist/draft-RXJVZ5WR.js +310 -0
  161. package/dist/draft-SOFVVDSV.js +335 -0
  162. package/dist/draft-UGUB35WQ.js +283 -0
  163. package/dist/draft-W2S6Z7ZZ.js +308 -0
  164. package/dist/engine/index.js +7 -7
  165. package/dist/experiments-5IC4YWGK.js +236 -0
  166. package/dist/facets-RCPT4627.js +117 -0
  167. package/dist/feedback-RH53D4TY.js +111 -0
  168. package/dist/feedback-record-35VOENY5.js +265 -0
  169. package/dist/fetch-MT4EANEF.js +179 -0
  170. package/dist/fit-U37JJGM5.js +65 -0
  171. package/dist/flows-6IY6WH42.js +250 -0
  172. package/dist/fonts-36GCZLVE.js +39 -0
  173. package/dist/forecast-KRKT6KFH.js +121 -0
  174. package/dist/forecast-SS4ZN3KP.js +169 -0
  175. package/dist/funnel-Z6LGT4CT.js +397 -0
  176. package/dist/generate-NWUTMT3G.js +263 -0
  177. package/dist/get-DWCTJFGR.js +82 -0
  178. package/dist/get-X4CQVJQZ.js +59 -0
  179. package/dist/google-6H4QGAKT.js +3267 -0
  180. package/dist/google-ads-7XRMT53M.js +198 -0
  181. package/dist/history-EIRUGQHZ.js +136 -0
  182. package/dist/history-HYX6YWI4.js +69 -0
  183. package/dist/history-JCYWRY2E.js +102 -0
  184. package/dist/hubspot-VLA6PKI2.js +782 -0
  185. package/dist/ideas-27P4HQZI.js +45 -0
  186. package/dist/images-YOZ3YLL2.js +92 -0
  187. package/dist/ingest-6Q54EZ2Y.js +110 -0
  188. package/dist/ingest-DW2TG6OK.js +26 -0
  189. package/dist/insights-7CS63UUJ.js +132 -0
  190. package/dist/inspect-ZOPVVXXE.js +192 -0
  191. package/dist/intent-XNGEMHFD.js +95 -0
  192. package/dist/keyword-gap-TK2BMMB3.js +130 -0
  193. package/dist/keyword-metrics-XJKDE25Z.js +200 -0
  194. package/dist/keywords-for-site-SWCA75X3.js +131 -0
  195. package/dist/landing-GMAUCDYC.js +28 -0
  196. package/dist/languages-PDXVOG5V.js +40 -0
  197. package/dist/lead-routes-NIAWLKYM.js +733 -0
  198. package/dist/lead-routes-NIAWLKYM.js.map +1 -0
  199. package/dist/leads-MA2PDGLB.js +115 -0
  200. package/dist/learn-77RDRZHO.js +207 -0
  201. package/dist/line-item-writes-DKRS6ANU.js +211 -0
  202. package/dist/line-items-R5EID7EC.js +107 -0
  203. package/dist/link-MK67UR6N.js +67 -0
  204. package/dist/linkedin-4X57MIAN.js +1328 -0
  205. package/dist/linkedin-person-XXVK3DJW.js +139 -0
  206. package/dist/list-45MXHBTK.js +154 -0
  207. package/dist/list-PQ3CQV74.js +67 -0
  208. package/dist/list-VWWJOAGX.js +306 -0
  209. package/dist/locations-7T4U5RDB.js +40 -0
  210. package/dist/locations-E4XIZVAB.js +69 -0
  211. package/dist/log-RHF535KO.js +95 -0
  212. package/dist/lookup-Q6TLACOT.js +23 -0
  213. package/dist/make-RSNKIYPN.js +1366 -0
  214. package/dist/map-GM3MZLPC.js +436 -0
  215. package/dist/mcp-XT7EIY77.js +729 -0
  216. package/dist/media-sources-A4BDXKCY.js +35 -0
  217. package/dist/members-FJFYPWOC.js +47 -0
  218. package/dist/metrics-MQ4H74R7.js +152 -0
  219. package/dist/models-64UHXEON.js +155 -0
  220. package/dist/normalize-ATKIWTZN.js +144 -0
  221. package/dist/options-Q5VYCXVZ.js +125 -0
  222. package/dist/organization-TX736WKT.js +949 -0
  223. package/dist/performance-3YY4YWX5.js +27 -0
  224. package/dist/performance-GIYI3N4X.js +5556 -0
  225. package/dist/pixels-UBKSXMN3.js +62 -0
  226. package/dist/plan-T3MJKFAM.js +208 -0
  227. package/dist/promoted-tweet-writes-2AO5GRUC.js +183 -0
  228. package/dist/promoted-tweets-XF7FL3J4.js +119 -0
  229. package/dist/publish-H54LNDCJ.js +344 -0
  230. package/dist/query-TPKGR2UQ.js +62 -0
  231. package/dist/questionnaire-BFYEO57P.js +94 -0
  232. package/dist/reddit-TPEGEBHQ.js +29 -0
  233. package/dist/refresh-WZFQMCBO.js +97 -0
  234. package/dist/release-M4XTMFXE.js +63 -0
  235. package/dist/relevant-pages-HMYBVWNR.js +99 -0
  236. package/dist/remove-XS6BH7RQ.js +53 -0
  237. package/dist/reopen-K4BRTGEJ.js +66 -0
  238. package/dist/rerun-PE6GNTCI.js +95 -0
  239. package/dist/research-IWSBNIFT.js +72 -0
  240. package/dist/research-XWQUJMBR.js +265 -0
  241. package/dist/reset-FMZ3R6Y4.js +57 -0
  242. package/dist/reset-JQO7EK5G.js +57 -0
  243. package/dist/resolve-Y4CMZU35.js +124 -0
  244. package/dist/retry-H64XQ4NC.js +63 -0
  245. package/dist/retry-OR2YQOZT.js +65 -0
  246. package/dist/revenue-W7AXXQ7K.js +91 -0
  247. package/dist/rules-PMLZKICG.js +99 -0
  248. package/dist/rules-add-263D2LQY.js +465 -0
  249. package/dist/run-A2MJEURT.js +69 -0
  250. package/dist/run-MKZMTMRT.js +70 -0
  251. package/dist/scaffold-ad-HISG6L46.js +1512 -0
  252. package/dist/scaffold-static-ad-MW3JMMDU.js +1010 -0
  253. package/dist/scaffold-video-QYXBYFTQ.js +884 -0
  254. package/dist/schedule-UA5RXNZ2.js +64 -0
  255. package/dist/scheduled-agents-YIKWS5CO.js +55 -0
  256. package/dist/schema-IKSQHB3S.js +135 -0
  257. package/dist/schema-M44S4TPF.js +69 -0
  258. package/dist/search-ZQV7SM7W.js +177 -0
  259. package/dist/select-VTWL2NMR.js +106 -0
  260. package/dist/sends-CAQ42KOR.js +349 -0
  261. package/dist/set-prompt-2V4UPUKW.js +198 -0
  262. package/dist/setup-links-PBWJYOD2.js +144 -0
  263. package/dist/shopify-VQYRSXVS.js +3958 -0
  264. package/dist/site-GYJYYMYH.js +180 -0
  265. package/dist/sources-3NA3ZB75.js +457 -0
  266. package/dist/sources-UMYCW35T.js +30 -0
  267. package/dist/stale-54NIICZG.js +76 -0
  268. package/dist/status-CRZCFN5W.js +65 -0
  269. package/dist/studio-2VGYFGS4.js +49 -0
  270. package/dist/sync-K4KLGMJR.js +57 -0
  271. package/dist/sync-definition-TK5Z3ISW.js +69 -0
  272. package/dist/tags-7SNORKEL.js +23 -0
  273. package/dist/tags-HCTVWQI7.js +23 -0
  274. package/dist/tags-HD4NPLTY.js +23 -0
  275. package/dist/tags-HOIYE6JK.js +26 -0
  276. package/dist/tags-XUJPIGIE.js +227 -0
  277. package/dist/targeting-criteria-EN6MZR7O.js +113 -0
  278. package/dist/targets-XIZJSYCM.js +106 -0
  279. package/dist/testimonials-UOSKSII2.js +32 -0
  280. package/dist/themes-3TW3WDLZ.js +95 -0
  281. package/dist/top-companies-2PZH6RG3.js +111 -0
  282. package/dist/transcript-M6J4MYXK.js +165 -0
  283. package/dist/translate-V5RCXHB3.js +600 -0
  284. package/dist/triggers-E3XWB4EZ.js +144 -0
  285. package/dist/unlink-OIMMKPRN.js +70 -0
  286. package/dist/unstage-SP32LXDY.js +88 -0
  287. package/dist/unstage-XN3VC7LZ.js +96 -0
  288. package/dist/update-2GAPIRWU.js +192 -0
  289. package/dist/update-H7SAAZ3Z.js +155 -0
  290. package/dist/update-LXIHAKQ5.js +66 -0
  291. package/dist/update-NKNWGXFC.js +101 -0
  292. package/dist/upload-7RPI4DLV.js +129 -0
  293. package/dist/url-options-TUU37JHG.js +131 -0
  294. package/dist/url-params-RJSXPKA3.js +101 -0
  295. package/dist/validate-6SZ4B3QA.js +122 -0
  296. package/dist/videos-PUOP3G23.js +41 -0
  297. package/dist/viewer-check-BLM3ZLLH.js +83 -0
  298. package/dist/web-YUBTKG6V.js +143 -0
  299. package/dist/winning-ads-MVSHJFYV.js +86 -0
  300. package/dist/write-commands-ZXTABQKK.js +1525 -0
  301. package/dist/x-7K2VKYXQ.js +47 -0
  302. package/package.json +1 -1
  303. package/dist/account-HDSDPK4L.js +0 -82
  304. package/dist/account-YDA4MRIK.js +0 -82
  305. package/dist/account-reads-5VPDX6NF.js +0 -219
  306. package/dist/account-users-KWVYRT2M.js +0 -64
  307. package/dist/account-writes-D3ELXDOF.js +0 -68
  308. package/dist/accounts-6WPNPMFP.js +0 -701
  309. package/dist/accounts-GY7HP6ER.js +0 -80
  310. package/dist/actions-HRAXJHLG.js +0 -55
  311. package/dist/activecampaign-A7AMIRYU.js +0 -938
  312. package/dist/ad-group-writes-QMLGO62B.js +0 -172
  313. package/dist/ad-groups-5KQWUB7J.js +0 -70
  314. package/dist/ad-writes-Y6BNCZGK.js +0 -176
  315. package/dist/add-OHYKPUG7.js +0 -107
  316. package/dist/add-ZEPO6CVT.js +0 -305
  317. package/dist/ads-F7ARRWCB.js +0 -79
  318. package/dist/ads-U3JUR6JR.js +0 -48
  319. package/dist/advertisers-523UPXDM.js +0 -123
  320. package/dist/analytics-7BTPFE3S.js +0 -2437
  321. package/dist/analytics-TRUVVR6I.js +0 -447
  322. package/dist/animate-S4KGFV36.js +0 -480
  323. package/dist/assign-2AW5GY3T.js +0 -80
  324. package/dist/audience-size-VHFMQEMF.js +0 -76
  325. package/dist/audiences-N6DE6EAV.js +0 -280
  326. package/dist/audit-WG6M3CXB.js +0 -154
  327. package/dist/autocomplete-WHNI5BQM.js +0 -114
  328. package/dist/avatars-WECPBQ4T.js +0 -38
  329. package/dist/bid-pricing-WVHPUM74.js +0 -103
  330. package/dist/brand-TNZRFKI4.js +0 -22
  331. package/dist/brief-F56MVJHA.js +0 -543
  332. package/dist/campaign-groups-OLJ5567X.js +0 -99
  333. package/dist/campaign-writes-2DVIWSWU.js +0 -168
  334. package/dist/campaign-writes-6LU3LDDY.js +0 -176
  335. package/dist/campaigns-7YE5UYPS.js +0 -78
  336. package/dist/campaigns-MJ64UJTS.js +0 -113
  337. package/dist/campaigns-PHSRKXVZ.js +0 -111
  338. package/dist/canvas-FUHHYUO7.js +0 -46
  339. package/dist/capabilities-5MXUVZJV.js +0 -147
  340. package/dist/catalog-PKYW67IO.js +0 -65
  341. package/dist/catalogs-2GNJYFSF.js +0 -130
  342. package/dist/changes-UQYFPZWO.js +0 -135
  343. package/dist/chatgpt-6PP4HANG.js +0 -47
  344. package/dist/chats-FVR35ZQ3.js +0 -279
  345. package/dist/check-4P2IVABH.js +0 -107
  346. package/dist/chunk-2BW4P45O.js +0 -203
  347. package/dist/chunk-3U4T4CKO.js +0 -249
  348. package/dist/chunk-44ZRCSR7.js +0 -228
  349. package/dist/chunk-46YLDIQG.js +0 -4254
  350. package/dist/chunk-46YLDIQG.js.map +0 -1
  351. package/dist/chunk-47RFRYEP.js +0 -197
  352. package/dist/chunk-56OEYUJU.js +0 -61
  353. package/dist/chunk-5OQKC5AV.js +0 -592
  354. package/dist/chunk-65QGMY3C.js +0 -51
  355. package/dist/chunk-6F3GFXHP.js +0 -188
  356. package/dist/chunk-7EHBCACP.js +0 -156
  357. package/dist/chunk-ABK536AV.js +0 -148
  358. package/dist/chunk-ALTTFAER.js +0 -377
  359. package/dist/chunk-ARXNQRKT.js +0 -275
  360. package/dist/chunk-AYAVYXSL.js +0 -638
  361. package/dist/chunk-BKIE7DBG.js +0 -103
  362. package/dist/chunk-BYNBZIHS.js +0 -98
  363. package/dist/chunk-CK2SDG7U.js +0 -64
  364. package/dist/chunk-DMGLSVZF.js +0 -547
  365. package/dist/chunk-ENGKUMTR.js +0 -1518
  366. package/dist/chunk-FBTECDEZ.js +0 -163
  367. package/dist/chunk-FLSWMHI2.js +0 -910
  368. package/dist/chunk-FMMSQIVK.js +0 -122
  369. package/dist/chunk-FZSJFSDC.js +0 -19
  370. package/dist/chunk-GOTPUACV.js +0 -846
  371. package/dist/chunk-GS4MMLXY.js +0 -191
  372. package/dist/chunk-GSVG7XT3.js +0 -297
  373. package/dist/chunk-GVTFXENJ.js +0 -479
  374. package/dist/chunk-HQYXRF7E.js +0 -604
  375. package/dist/chunk-HTNLN244.js +0 -45
  376. package/dist/chunk-HVJJEQDQ.js +0 -7234
  377. package/dist/chunk-I6QJJ7OY.js +0 -1646
  378. package/dist/chunk-I7AYMJZA.js +0 -783
  379. package/dist/chunk-ICHXD4IB.js +0 -344
  380. package/dist/chunk-IQ3MYXCJ.js +0 -676
  381. package/dist/chunk-IRDKHNKO.js +0 -142
  382. package/dist/chunk-IXPYC4D2.js +0 -170
  383. package/dist/chunk-JAC6JVCI.js +0 -26
  384. package/dist/chunk-JOE42ZW6.js +0 -2984
  385. package/dist/chunk-JOE42ZW6.js.map +0 -1
  386. package/dist/chunk-JWMPFTEF.js +0 -8954
  387. package/dist/chunk-KNSUNB2Z.js +0 -207
  388. package/dist/chunk-L5RAYYEF.js +0 -225
  389. package/dist/chunk-MCJ5I5LR.js +0 -3187
  390. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  391. package/dist/chunk-MF3BTAT6.js +0 -843
  392. package/dist/chunk-MJ4MJZV3.js +0 -710
  393. package/dist/chunk-MJ4MJZV3.js.map +0 -1
  394. package/dist/chunk-MZPS46OR.js +0 -76
  395. package/dist/chunk-NB2FU6EZ.js +0 -179
  396. package/dist/chunk-NHQIGCFL.js +0 -274
  397. package/dist/chunk-NZ42DEU7.js +0 -3868
  398. package/dist/chunk-OVBZ26PE.js +0 -89
  399. package/dist/chunk-PESH2VF7.js +0 -494
  400. package/dist/chunk-PWYGIUNB.js +0 -91
  401. package/dist/chunk-QDGDA2YD.js +0 -66
  402. package/dist/chunk-QKMMQPAJ.js +0 -224
  403. package/dist/chunk-QOOOYHMN.js +0 -91
  404. package/dist/chunk-R2QZBA7P.js +0 -8914
  405. package/dist/chunk-RL6UQXX7.js +0 -23
  406. package/dist/chunk-S6VFDNSQ.js +0 -63
  407. package/dist/chunk-SBQQHP5H.js +0 -46
  408. package/dist/chunk-SG2TDQEE.js +0 -150
  409. package/dist/chunk-SZJKURRJ.js +0 -5368
  410. package/dist/chunk-UBDY5RE4.js +0 -387
  411. package/dist/chunk-UHQ2H3NQ.js +0 -363
  412. package/dist/chunk-VJINC2Q3.js +0 -131
  413. package/dist/chunk-VP4PO7FW.js +0 -392
  414. package/dist/chunk-VXXVPUBA.js +0 -169
  415. package/dist/chunk-W4NFBCCR.js +0 -167
  416. package/dist/chunk-W52LH3J3.js +0 -429
  417. package/dist/chunk-W5WKPVCJ.js +0 -831
  418. package/dist/chunk-WWLZ5RRU.js +0 -319
  419. package/dist/chunk-X3BOXZVP.js +0 -1919
  420. package/dist/chunk-XOCOK3IR.js +0 -57
  421. package/dist/chunk-Z5PSSFN7.js +0 -455
  422. package/dist/chunk-ZKIWDT6R.js +0 -942
  423. package/dist/chunk-ZN5CI4CP.js +0 -285
  424. package/dist/chunk-ZRXFY2JM.js +0 -24026
  425. package/dist/chunk-ZRXFY2JM.js.map +0 -1
  426. package/dist/claim-B6IX5MUB.js +0 -200
  427. package/dist/companies-U4APTF2Z.js +0 -198
  428. package/dist/company-WFVBYXKK.js +0 -308
  429. package/dist/complete-KFV5NU52.js +0 -84
  430. package/dist/connect-2TWKL3DQ.js +0 -45
  431. package/dist/conversation-7VQ7CGVT.js +0 -96
  432. package/dist/conversion-report-6IQKXWFU.js +0 -127
  433. package/dist/conversion-upload-command-TYGIB7XJ.js +0 -439
  434. package/dist/conversion-writes-UQU3QJTF.js +0 -122
  435. package/dist/conversions-P2A6R4FG.js +0 -140
  436. package/dist/conversions-ZP2SKL36.js +0 -78
  437. package/dist/create-KE3GM4W6.js +0 -62
  438. package/dist/create-KKURENQ7.js +0 -210
  439. package/dist/create-M7OTWZ2W.js +0 -135
  440. package/dist/create-XLQEQYVN.js +0 -239
  441. package/dist/creatives-AXMG777O.js +0 -223
  442. package/dist/creatives-VR3N5A3X.js +0 -58
  443. package/dist/credentials-HTPDDOYP.js +0 -290
  444. package/dist/critique-EZJMYQLC.js +0 -1451
  445. package/dist/critique-Q5ZZ6PKB.js +0 -232
  446. package/dist/crm-5QOSCQWL.js +0 -227
  447. package/dist/crm-YLSUKW6N.js +0 -323
  448. package/dist/currency-SVEUNKHP.js +0 -88
  449. package/dist/customers-OGKISQAS.js +0 -59
  450. package/dist/delete-23FUCSTE.js +0 -67
  451. package/dist/delete-MD6QBKGM.js +0 -69
  452. package/dist/delete-OPIN5KCK.js +0 -57
  453. package/dist/demographics-AFNPWEZP.js +0 -141
  454. package/dist/discard-UKPRZTQT.js +0 -69
  455. package/dist/discover-2ZX3DYSF.js +0 -172
  456. package/dist/domain-6TJPO4WO.js +0 -101
  457. package/dist/download-TBPG3ZIH.js +0 -172
  458. package/dist/draft-2EO63W4K.js +0 -308
  459. package/dist/draft-ALSOCILF.js +0 -310
  460. package/dist/draft-BAWIN2IN.js +0 -335
  461. package/dist/draft-KYO43IJD.js +0 -220
  462. package/dist/draft-QUXRJRNY.js +0 -283
  463. package/dist/experiments-QXAC5BPW.js +0 -236
  464. package/dist/facets-7IDDCZIY.js +0 -117
  465. package/dist/feedback-ZWFOBIGU.js +0 -111
  466. package/dist/feedback-record-ZZRR4LUM.js +0 -265
  467. package/dist/fetch-HYGMTCHK.js +0 -179
  468. package/dist/fit-KDY7PZFL.js +0 -65
  469. package/dist/flows-U646JOQN.js +0 -250
  470. package/dist/fonts-6RIJJ222.js +0 -39
  471. package/dist/forecast-4NJXBMZV.js +0 -121
  472. package/dist/forecast-IECMUBL2.js +0 -169
  473. package/dist/funnel-KE26EFLO.js +0 -397
  474. package/dist/generate-VQTLPEYW.js +0 -263
  475. package/dist/get-KUOCL3IX.js +0 -82
  476. package/dist/get-MINQPB73.js +0 -59
  477. package/dist/google-CWHRLDBL.js +0 -3267
  478. package/dist/google-ads-RIIV4EJI.js +0 -198
  479. package/dist/history-7OLO7HIP.js +0 -136
  480. package/dist/history-JK6S5KWG.js +0 -69
  481. package/dist/history-VFA6IVKN.js +0 -102
  482. package/dist/hubspot-IMLZUTT3.js +0 -782
  483. package/dist/ideas-ZUXLYR6Y.js +0 -45
  484. package/dist/images-WNMQFAC3.js +0 -92
  485. package/dist/ingest-FKC5PBBE.js +0 -110
  486. package/dist/ingest-L5YC6U2N.js +0 -26
  487. package/dist/insights-7CCOJ4G6.js +0 -132
  488. package/dist/inspect-2XJ6LLSJ.js +0 -192
  489. package/dist/intent-VGQHKKNW.js +0 -95
  490. package/dist/keyword-gap-JKC3U3OS.js +0 -130
  491. package/dist/keyword-metrics-OYHBOWA3.js +0 -200
  492. package/dist/keywords-for-site-EUTBLXRT.js +0 -131
  493. package/dist/landing-PRG5PT7J.js +0 -28
  494. package/dist/languages-JR3RSGUP.js +0 -40
  495. package/dist/leads-KXCGAJ34.js +0 -115
  496. package/dist/learn-N2XDH4XA.js +0 -207
  497. package/dist/line-item-writes-4YZNT3VI.js +0 -211
  498. package/dist/line-items-FSQPXOKE.js +0 -107
  499. package/dist/link-ITXPWVMH.js +0 -67
  500. package/dist/linkedin-Z6M3YEAQ.js +0 -1328
  501. package/dist/linkedin-person-IK2MWL7Y.js +0 -139
  502. package/dist/list-EVIRF2CY.js +0 -154
  503. package/dist/list-VJRTBW6A.js +0 -306
  504. package/dist/list-WA3PQEWJ.js +0 -67
  505. package/dist/locations-N5TZTS5F.js +0 -40
  506. package/dist/locations-QRISCNMR.js +0 -69
  507. package/dist/log-VFGFY5PT.js +0 -95
  508. package/dist/lookup-BHU3XAXX.js +0 -23
  509. package/dist/make-DRWMUES6.js +0 -1366
  510. package/dist/map-3YMLKUNL.js +0 -436
  511. package/dist/mcp-MIZR2NFZ.js +0 -729
  512. package/dist/media-sources-RKIBHCTU.js +0 -35
  513. package/dist/members-XMHVOMNT.js +0 -47
  514. package/dist/metrics-NCSG7SLD.js +0 -152
  515. package/dist/models-2NPHMHN7.js +0 -155
  516. package/dist/normalize-PSPLM7OO.js +0 -144
  517. package/dist/options-5KONPMEL.js +0 -125
  518. package/dist/organization-BU6WIFXV.js +0 -949
  519. package/dist/performance-74OQO2QQ.js +0 -27
  520. package/dist/performance-IIYMHJFE.js +0 -5556
  521. package/dist/pixels-COONSHMC.js +0 -62
  522. package/dist/plan-YNNTUNJE.js +0 -208
  523. package/dist/promoted-tweet-writes-IYDFXFVR.js +0 -183
  524. package/dist/promoted-tweets-A42JISSP.js +0 -119
  525. package/dist/publish-C3NUBIID.js +0 -344
  526. package/dist/query-G4L42FHT.js +0 -62
  527. package/dist/questionnaire-P2XATEWU.js +0 -94
  528. package/dist/reddit-VMNGERE6.js +0 -29
  529. package/dist/refresh-EBRMXZAC.js +0 -97
  530. package/dist/release-MKGBYUKY.js +0 -63
  531. package/dist/relevant-pages-IVHAKIOI.js +0 -99
  532. package/dist/remove-EHHTOC7T.js +0 -53
  533. package/dist/reopen-ILUWK3W3.js +0 -66
  534. package/dist/rerun-367PVEIF.js +0 -95
  535. package/dist/research-7BWH4VVV.js +0 -72
  536. package/dist/research-VDSOAQ77.js +0 -265
  537. package/dist/reset-VAKJGC3Q.js +0 -57
  538. package/dist/reset-X2JMHREN.js +0 -57
  539. package/dist/resolve-7OXBK4CU.js +0 -124
  540. package/dist/retry-2L2B3FOJ.js +0 -65
  541. package/dist/retry-GJBALRAZ.js +0 -63
  542. package/dist/revenue-H66XC7JC.js +0 -91
  543. package/dist/rules-PJJSIQWM.js +0 -99
  544. package/dist/rules-add-UFY7TAO3.js +0 -465
  545. package/dist/run-6PDML7YJ.js +0 -70
  546. package/dist/run-QBXFCGML.js +0 -69
  547. package/dist/scaffold-ad-KOBSZMKJ.js +0 -1512
  548. package/dist/scaffold-static-ad-2I7TXF7L.js +0 -1010
  549. package/dist/scaffold-video-P5UOTXWT.js +0 -884
  550. package/dist/schedule-JNBK267N.js +0 -64
  551. package/dist/scheduled-agents-274ZTTUZ.js +0 -55
  552. package/dist/schema-7HR57YTC.js +0 -135
  553. package/dist/schema-YO5VLVDS.js +0 -69
  554. package/dist/search-33EMRTMI.js +0 -177
  555. package/dist/select-3ZRWAYT7.js +0 -106
  556. package/dist/sends-F3YIA763.js +0 -349
  557. package/dist/set-prompt-SCSC7BRO.js +0 -198
  558. package/dist/setup-links-BEIHAXVR.js +0 -144
  559. package/dist/shopify-XDDDUQTQ.js +0 -3958
  560. package/dist/site-DWVWM3HD.js +0 -180
  561. package/dist/sources-7WWI2YXF.js +0 -457
  562. package/dist/sources-O7ZOL5YR.js +0 -30
  563. package/dist/stale-WAKIZSQS.js +0 -76
  564. package/dist/status-JOIUSIE7.js +0 -65
  565. package/dist/studio-FJL2TIZK.js +0 -49
  566. package/dist/sync-XBCQXUD7.js +0 -57
  567. package/dist/sync-definition-2BQUWH3Y.js +0 -69
  568. package/dist/tags-3YUICYEG.js +0 -227
  569. package/dist/tags-AQ2JGXPQ.js +0 -23
  570. package/dist/tags-AXIDVYMK.js +0 -23
  571. package/dist/tags-HISOVNNV.js +0 -23
  572. package/dist/tags-NSCLNPLU.js +0 -26
  573. package/dist/targeting-criteria-DFJQKQV4.js +0 -113
  574. package/dist/targets-NQKCNVQ7.js +0 -106
  575. package/dist/testimonials-K5D2KRYK.js +0 -32
  576. package/dist/themes-CIXQPTFX.js +0 -95
  577. package/dist/top-companies-3M7H5NPQ.js +0 -111
  578. package/dist/transcript-CQTAZJK4.js +0 -165
  579. package/dist/translate-D2SJCT7D.js +0 -600
  580. package/dist/triggers-THBRMWM6.js +0 -144
  581. package/dist/unlink-WWPY4336.js +0 -70
  582. package/dist/unstage-HTYFDR33.js +0 -88
  583. package/dist/unstage-UMPZSEUA.js +0 -96
  584. package/dist/update-AMTTYSZP.js +0 -66
  585. package/dist/update-FMK63TCD.js +0 -192
  586. package/dist/update-HCQFGRDE.js +0 -101
  587. package/dist/update-N3DTFTQE.js +0 -155
  588. package/dist/upload-BCUR7GMG.js +0 -129
  589. package/dist/url-options-7ZFP6Y2T.js +0 -131
  590. package/dist/url-params-YWPEV5V5.js +0 -101
  591. package/dist/validate-GZYVVNHQ.js +0 -122
  592. package/dist/videos-L5BDS2M4.js +0 -41
  593. package/dist/viewer-check-DBQ6T3R5.js +0 -83
  594. package/dist/web-62AJC2EU.js +0 -143
  595. package/dist/winning-ads-OHVZERTH.js +0 -86
  596. package/dist/write-commands-BWWXFT2R.js +0 -1525
  597. package/dist/x-ACDJXCOY.js +0 -47
  598. /package/dist/{account-HDSDPK4L.js.map → account-D56ET6IW.js.map} +0 -0
  599. /package/dist/{account-YDA4MRIK.js.map → account-R536H7IZ.js.map} +0 -0
  600. /package/dist/{account-reads-5VPDX6NF.js.map → account-reads-7ZOFEQWM.js.map} +0 -0
  601. /package/dist/{account-users-KWVYRT2M.js.map → account-users-SLFD5EF6.js.map} +0 -0
  602. /package/dist/{account-writes-D3ELXDOF.js.map → account-writes-SWMDBVH4.js.map} +0 -0
  603. /package/dist/{accounts-GY7HP6ER.js.map → accounts-5AIU2BII.js.map} +0 -0
  604. /package/dist/{accounts-6WPNPMFP.js.map → accounts-X25YHBAH.js.map} +0 -0
  605. /package/dist/{actions-HRAXJHLG.js.map → actions-WL47GZOU.js.map} +0 -0
  606. /package/dist/{activecampaign-A7AMIRYU.js.map → activecampaign-J36ZLRDG.js.map} +0 -0
  607. /package/dist/{ad-group-writes-QMLGO62B.js.map → ad-group-writes-INFBYL3B.js.map} +0 -0
  608. /package/dist/{ad-groups-5KQWUB7J.js.map → ad-groups-HTVKYBPX.js.map} +0 -0
  609. /package/dist/{ad-writes-Y6BNCZGK.js.map → ad-writes-62JZYKJ4.js.map} +0 -0
  610. /package/dist/{add-ZEPO6CVT.js.map → add-6IU3SWQI.js.map} +0 -0
  611. /package/dist/{add-OHYKPUG7.js.map → add-HBZMWXRJ.js.map} +0 -0
  612. /package/dist/{ads-U3JUR6JR.js.map → ads-JKD6VMCE.js.map} +0 -0
  613. /package/dist/{ads-F7ARRWCB.js.map → ads-ZWNY3UY4.js.map} +0 -0
  614. /package/dist/{advertisers-523UPXDM.js.map → advertisers-N2XLRZE6.js.map} +0 -0
  615. /package/dist/{analytics-7BTPFE3S.js.map → analytics-KUJVUDY6.js.map} +0 -0
  616. /package/dist/{analytics-TRUVVR6I.js.map → analytics-QFZEVFVQ.js.map} +0 -0
  617. /package/dist/{animate-S4KGFV36.js.map → animate-ZS24SJGN.js.map} +0 -0
  618. /package/dist/{assign-2AW5GY3T.js.map → assign-PURBKGQY.js.map} +0 -0
  619. /package/dist/{audience-size-VHFMQEMF.js.map → audience-size-A5FPKEUM.js.map} +0 -0
  620. /package/dist/{audiences-N6DE6EAV.js.map → audiences-5FNTEENV.js.map} +0 -0
  621. /package/dist/{audit-WG6M3CXB.js.map → audit-7ZGDFGET.js.map} +0 -0
  622. /package/dist/{autocomplete-WHNI5BQM.js.map → autocomplete-3HJBPKLV.js.map} +0 -0
  623. /package/dist/{avatars-WECPBQ4T.js.map → avatars-6BBL6L5K.js.map} +0 -0
  624. /package/dist/{bid-pricing-WVHPUM74.js.map → bid-pricing-GIM7LJRR.js.map} +0 -0
  625. /package/dist/{brand-TNZRFKI4.js.map → brand-CXEH7YYF.js.map} +0 -0
  626. /package/dist/{brief-F56MVJHA.js.map → brief-FL6G3NTB.js.map} +0 -0
  627. /package/dist/{campaign-groups-OLJ5567X.js.map → campaign-groups-BNBS7QBX.js.map} +0 -0
  628. /package/dist/{campaign-writes-2DVIWSWU.js.map → campaign-writes-MWA2FPKC.js.map} +0 -0
  629. /package/dist/{campaign-writes-6LU3LDDY.js.map → campaign-writes-QQGI3U2P.js.map} +0 -0
  630. /package/dist/{campaigns-7YE5UYPS.js.map → campaigns-42OP3HPV.js.map} +0 -0
  631. /package/dist/{campaigns-MJ64UJTS.js.map → campaigns-LYIG74TQ.js.map} +0 -0
  632. /package/dist/{campaigns-PHSRKXVZ.js.map → campaigns-QKSDJAWD.js.map} +0 -0
  633. /package/dist/{canvas-FUHHYUO7.js.map → canvas-7SX3ZDKZ.js.map} +0 -0
  634. /package/dist/{capabilities-5MXUVZJV.js.map → capabilities-FGLYVSW5.js.map} +0 -0
  635. /package/dist/{catalog-PKYW67IO.js.map → catalog-7S3ZR3JP.js.map} +0 -0
  636. /package/dist/{catalogs-2GNJYFSF.js.map → catalogs-RWAZMJHF.js.map} +0 -0
  637. /package/dist/{changes-UQYFPZWO.js.map → changes-PMDRPRK7.js.map} +0 -0
  638. /package/dist/{chatgpt-6PP4HANG.js.map → chatgpt-J2LK4NK4.js.map} +0 -0
  639. /package/dist/{chats-FVR35ZQ3.js.map → chats-EG6UCN45.js.map} +0 -0
  640. /package/dist/{check-4P2IVABH.js.map → check-BC2KFBQM.js.map} +0 -0
  641. /package/dist/{chunk-QOOOYHMN.js.map → chunk-24E77GI6.js.map} +0 -0
  642. /package/dist/{chunk-HTNLN244.js.map → chunk-2FL7NBPT.js.map} +0 -0
  643. /package/dist/{chunk-47RFRYEP.js.map → chunk-2PRRXTV3.js.map} +0 -0
  644. /package/dist/{chunk-VJINC2Q3.js.map → chunk-32GFGVW2.js.map} +0 -0
  645. /package/dist/{chunk-W5WKPVCJ.js.map → chunk-347GRWQN.js.map} +0 -0
  646. /package/dist/{chunk-I7AYMJZA.js.map → chunk-45EERHDB.js.map} +0 -0
  647. /package/dist/{chunk-VP4PO7FW.js.map → chunk-56UWXQEN.js.map} +0 -0
  648. /package/dist/{chunk-I6QJJ7OY.js.map → chunk-5N2CSLY6.js.map} +0 -0
  649. /package/dist/{chunk-56OEYUJU.js.map → chunk-5YN53OAA.js.map} +0 -0
  650. /package/dist/{chunk-ARXNQRKT.js.map → chunk-6K73DWA5.js.map} +0 -0
  651. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  652. /package/dist/{chunk-CK2SDG7U.js.map → chunk-6TQTKC4M.js.map} +0 -0
  653. /package/dist/{chunk-ZKIWDT6R.js.map → chunk-76TUVLAJ.js.map} +0 -0
  654. /package/dist/{chunk-BKIE7DBG.js.map → chunk-7EOD7RV4.js.map} +0 -0
  655. /package/dist/{chunk-BYNBZIHS.js.map → chunk-7R5WC5PM.js.map} +0 -0
  656. /package/dist/{chunk-FZSJFSDC.js.map → chunk-A5SPK37E.js.map} +0 -0
  657. /package/dist/{chunk-W52LH3J3.js.map → chunk-AIG53YWM.js.map} +0 -0
  658. /package/dist/{chunk-SZJKURRJ.js.map → chunk-AOLRE5JO.js.map} +0 -0
  659. /package/dist/{chunk-QDGDA2YD.js.map → chunk-BDAXBOGT.js.map} +0 -0
  660. /package/dist/{chunk-VXXVPUBA.js.map → chunk-BEHOW6DU.js.map} +0 -0
  661. /package/dist/{chunk-UHQ2H3NQ.js.map → chunk-BM3HTMD6.js.map} +0 -0
  662. /package/dist/{chunk-FMMSQIVK.js.map → chunk-BPUVBVKK.js.map} +0 -0
  663. /package/dist/{chunk-RL6UQXX7.js.map → chunk-CK6UMOYN.js.map} +0 -0
  664. /package/dist/{chunk-IXPYC4D2.js.map → chunk-CONB42F3.js.map} +0 -0
  665. /package/dist/{chunk-XOCOK3IR.js.map → chunk-CWZ2ODJQ.js.map} +0 -0
  666. /package/dist/{chunk-AYAVYXSL.js.map → chunk-D4U72EIE.js.map} +0 -0
  667. /package/dist/{chunk-HVJJEQDQ.js.map → chunk-DYOUJERF.js.map} +0 -0
  668. /package/dist/{chunk-OVBZ26PE.js.map → chunk-EIBWWYBK.js.map} +0 -0
  669. /package/dist/{chunk-FLSWMHI2.js.map → chunk-EJHYK54S.js.map} +0 -0
  670. /package/dist/{chunk-IQ3MYXCJ.js.map → chunk-ETLGTUQI.js.map} +0 -0
  671. /package/dist/{chunk-7EHBCACP.js.map → chunk-GLUXBB6C.js.map} +0 -0
  672. /package/dist/{chunk-MF3BTAT6.js.map → chunk-GXDFLDFK.js.map} +0 -0
  673. /package/dist/{chunk-5OQKC5AV.js.map → chunk-GXSYGI77.js.map} +0 -0
  674. /package/dist/{chunk-SBQQHP5H.js.map → chunk-IAK7AB22.js.map} +0 -0
  675. /package/dist/{chunk-NB2FU6EZ.js.map → chunk-IHZUSAUX.js.map} +0 -0
  676. /package/dist/{chunk-ABK536AV.js.map → chunk-ISDOF6KZ.js.map} +0 -0
  677. /package/dist/{chunk-44ZRCSR7.js.map → chunk-IZABTTW5.js.map} +0 -0
  678. /package/dist/{chunk-KNSUNB2Z.js.map → chunk-JMQ3F5VX.js.map} +0 -0
  679. /package/dist/{chunk-GVTFXENJ.js.map → chunk-KAAYVKBH.js.map} +0 -0
  680. /package/dist/{chunk-PESH2VF7.js.map → chunk-KZ55NULP.js.map} +0 -0
  681. /package/dist/{chunk-R2QZBA7P.js.map → chunk-LOLB3YJR.js.map} +0 -0
  682. /package/dist/{chunk-DMGLSVZF.js.map → chunk-LP2KYY5Z.js.map} +0 -0
  683. /package/dist/{chunk-S6VFDNSQ.js.map → chunk-MTV2RSGY.js.map} +0 -0
  684. /package/dist/{chunk-GSVG7XT3.js.map → chunk-MZE6PLV3.js.map} +0 -0
  685. /package/dist/{chunk-JWMPFTEF.js.map → chunk-OXOC6TJC.js.map} +0 -0
  686. /package/dist/{chunk-FBTECDEZ.js.map → chunk-PCIMC7VX.js.map} +0 -0
  687. /package/dist/{chunk-Z5PSSFN7.js.map → chunk-RESQPBSC.js.map} +0 -0
  688. /package/dist/{chunk-UBDY5RE4.js.map → chunk-RIA5RXPL.js.map} +0 -0
  689. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  690. /package/dist/{chunk-L5RAYYEF.js.map → chunk-SPQ7IVTJ.js.map} +0 -0
  691. /package/dist/{chunk-NHQIGCFL.js.map → chunk-TG2DC6CO.js.map} +0 -0
  692. /package/dist/{chunk-GS4MMLXY.js.map → chunk-TIYFDFLN.js.map} +0 -0
  693. /package/dist/{chunk-ALTTFAER.js.map → chunk-TVSHBUPA.js.map} +0 -0
  694. /package/dist/{chunk-W4NFBCCR.js.map → chunk-U4BPW7ZO.js.map} +0 -0
  695. /package/dist/{chunk-QKMMQPAJ.js.map → chunk-UK6AYD3V.js.map} +0 -0
  696. /package/dist/{chunk-3U4T4CKO.js.map → chunk-UMTGF43H.js.map} +0 -0
  697. /package/dist/{chunk-SG2TDQEE.js.map → chunk-URMAEVZO.js.map} +0 -0
  698. /package/dist/{chunk-GOTPUACV.js.map → chunk-VGKDX7LP.js.map} +0 -0
  699. /package/dist/{chunk-WWLZ5RRU.js.map → chunk-WEQZ563U.js.map} +0 -0
  700. /package/dist/{chunk-ENGKUMTR.js.map → chunk-XC3DYN2N.js.map} +0 -0
  701. /package/dist/{chunk-NZ42DEU7.js.map → chunk-XGQ4XMCS.js.map} +0 -0
  702. /package/dist/{chunk-ICHXD4IB.js.map → chunk-XH7TGLJC.js.map} +0 -0
  703. /package/dist/{chunk-2BW4P45O.js.map → chunk-XKRCO3JC.js.map} +0 -0
  704. /package/dist/{chunk-6F3GFXHP.js.map → chunk-XL7X37UC.js.map} +0 -0
  705. /package/dist/{chunk-ZN5CI4CP.js.map → chunk-XXCMIS2V.js.map} +0 -0
  706. /package/dist/{chunk-HQYXRF7E.js.map → chunk-ZLEHD3ZT.js.map} +0 -0
  707. /package/dist/{chunk-IRDKHNKO.js.map → chunk-ZQW6UZQC.js.map} +0 -0
  708. /package/dist/{chunk-X3BOXZVP.js.map → chunk-ZRAZBHTG.js.map} +0 -0
  709. /package/dist/{chunk-PWYGIUNB.js.map → chunk-ZUXXUHZY.js.map} +0 -0
  710. /package/dist/{chunk-65QGMY3C.js.map → chunk-ZV7I2U4T.js.map} +0 -0
  711. /package/dist/{claim-B6IX5MUB.js.map → claim-HDRBJL5Q.js.map} +0 -0
  712. /package/dist/{companies-U4APTF2Z.js.map → companies-A7BFDYCP.js.map} +0 -0
  713. /package/dist/{company-WFVBYXKK.js.map → company-7MUAN5HT.js.map} +0 -0
  714. /package/dist/{complete-KFV5NU52.js.map → complete-2QWJE5JP.js.map} +0 -0
  715. /package/dist/{connect-2TWKL3DQ.js.map → connect-7JCP2CAX.js.map} +0 -0
  716. /package/dist/{conversation-7VQ7CGVT.js.map → conversation-FKUZLUGV.js.map} +0 -0
  717. /package/dist/{conversion-report-6IQKXWFU.js.map → conversion-report-IHKQKNBM.js.map} +0 -0
  718. /package/dist/{conversion-upload-command-TYGIB7XJ.js.map → conversion-upload-command-5MOGWC26.js.map} +0 -0
  719. /package/dist/{conversion-writes-UQU3QJTF.js.map → conversion-writes-NAJVO3WP.js.map} +0 -0
  720. /package/dist/{conversions-P2A6R4FG.js.map → conversions-5BBFXRRS.js.map} +0 -0
  721. /package/dist/{conversions-ZP2SKL36.js.map → conversions-KBFMVTII.js.map} +0 -0
  722. /package/dist/{create-M7OTWZ2W.js.map → create-KMGTMXQE.js.map} +0 -0
  723. /package/dist/{create-KE3GM4W6.js.map → create-SSQ2R7Z4.js.map} +0 -0
  724. /package/dist/{create-XLQEQYVN.js.map → create-V7T4SFNP.js.map} +0 -0
  725. /package/dist/{create-KKURENQ7.js.map → create-YUMBZ4MQ.js.map} +0 -0
  726. /package/dist/{creatives-AXMG777O.js.map → creatives-KPI7CSZ5.js.map} +0 -0
  727. /package/dist/{creatives-VR3N5A3X.js.map → creatives-OIEYLRXB.js.map} +0 -0
  728. /package/dist/{credentials-HTPDDOYP.js.map → credentials-4DSXDO63.js.map} +0 -0
  729. /package/dist/{critique-EZJMYQLC.js.map → critique-AO3YXLGU.js.map} +0 -0
  730. /package/dist/{critique-Q5ZZ6PKB.js.map → critique-R3D2I2O6.js.map} +0 -0
  731. /package/dist/{crm-YLSUKW6N.js.map → crm-JSXAYQWL.js.map} +0 -0
  732. /package/dist/{crm-5QOSCQWL.js.map → crm-VXNDN5KA.js.map} +0 -0
  733. /package/dist/{currency-SVEUNKHP.js.map → currency-RKTYXSNH.js.map} +0 -0
  734. /package/dist/{customers-OGKISQAS.js.map → customers-MZWGBY4J.js.map} +0 -0
  735. /package/dist/{delete-OPIN5KCK.js.map → delete-GQUWHFPZ.js.map} +0 -0
  736. /package/dist/{delete-MD6QBKGM.js.map → delete-K4X4MXMC.js.map} +0 -0
  737. /package/dist/{delete-23FUCSTE.js.map → delete-LC6BMULH.js.map} +0 -0
  738. /package/dist/{demographics-AFNPWEZP.js.map → demographics-236FSE3G.js.map} +0 -0
  739. /package/dist/{discard-UKPRZTQT.js.map → discard-NPSWHJZH.js.map} +0 -0
  740. /package/dist/{discover-2ZX3DYSF.js.map → discover-VL3BDJOO.js.map} +0 -0
  741. /package/dist/{domain-6TJPO4WO.js.map → domain-JQFCOVCS.js.map} +0 -0
  742. /package/dist/{download-TBPG3ZIH.js.map → download-H2ISXHDF.js.map} +0 -0
  743. /package/dist/{draft-KYO43IJD.js.map → draft-N752W2ZE.js.map} +0 -0
  744. /package/dist/{draft-ALSOCILF.js.map → draft-RXJVZ5WR.js.map} +0 -0
  745. /package/dist/{draft-BAWIN2IN.js.map → draft-SOFVVDSV.js.map} +0 -0
  746. /package/dist/{draft-QUXRJRNY.js.map → draft-UGUB35WQ.js.map} +0 -0
  747. /package/dist/{draft-2EO63W4K.js.map → draft-W2S6Z7ZZ.js.map} +0 -0
  748. /package/dist/{experiments-QXAC5BPW.js.map → experiments-5IC4YWGK.js.map} +0 -0
  749. /package/dist/{facets-7IDDCZIY.js.map → facets-RCPT4627.js.map} +0 -0
  750. /package/dist/{feedback-ZWFOBIGU.js.map → feedback-RH53D4TY.js.map} +0 -0
  751. /package/dist/{feedback-record-ZZRR4LUM.js.map → feedback-record-35VOENY5.js.map} +0 -0
  752. /package/dist/{fetch-HYGMTCHK.js.map → fetch-MT4EANEF.js.map} +0 -0
  753. /package/dist/{fit-KDY7PZFL.js.map → fit-U37JJGM5.js.map} +0 -0
  754. /package/dist/{flows-U646JOQN.js.map → flows-6IY6WH42.js.map} +0 -0
  755. /package/dist/{fonts-6RIJJ222.js.map → fonts-36GCZLVE.js.map} +0 -0
  756. /package/dist/{forecast-4NJXBMZV.js.map → forecast-KRKT6KFH.js.map} +0 -0
  757. /package/dist/{forecast-IECMUBL2.js.map → forecast-SS4ZN3KP.js.map} +0 -0
  758. /package/dist/{funnel-KE26EFLO.js.map → funnel-Z6LGT4CT.js.map} +0 -0
  759. /package/dist/{generate-VQTLPEYW.js.map → generate-NWUTMT3G.js.map} +0 -0
  760. /package/dist/{get-KUOCL3IX.js.map → get-DWCTJFGR.js.map} +0 -0
  761. /package/dist/{get-MINQPB73.js.map → get-X4CQVJQZ.js.map} +0 -0
  762. /package/dist/{google-CWHRLDBL.js.map → google-6H4QGAKT.js.map} +0 -0
  763. /package/dist/{google-ads-RIIV4EJI.js.map → google-ads-7XRMT53M.js.map} +0 -0
  764. /package/dist/{history-7OLO7HIP.js.map → history-EIRUGQHZ.js.map} +0 -0
  765. /package/dist/{history-JK6S5KWG.js.map → history-HYX6YWI4.js.map} +0 -0
  766. /package/dist/{history-VFA6IVKN.js.map → history-JCYWRY2E.js.map} +0 -0
  767. /package/dist/{hubspot-IMLZUTT3.js.map → hubspot-VLA6PKI2.js.map} +0 -0
  768. /package/dist/{ideas-ZUXLYR6Y.js.map → ideas-27P4HQZI.js.map} +0 -0
  769. /package/dist/{images-WNMQFAC3.js.map → images-YOZ3YLL2.js.map} +0 -0
  770. /package/dist/{ingest-FKC5PBBE.js.map → ingest-6Q54EZ2Y.js.map} +0 -0
  771. /package/dist/{ingest-L5YC6U2N.js.map → ingest-DW2TG6OK.js.map} +0 -0
  772. /package/dist/{insights-7CCOJ4G6.js.map → insights-7CS63UUJ.js.map} +0 -0
  773. /package/dist/{inspect-2XJ6LLSJ.js.map → inspect-ZOPVVXXE.js.map} +0 -0
  774. /package/dist/{intent-VGQHKKNW.js.map → intent-XNGEMHFD.js.map} +0 -0
  775. /package/dist/{keyword-gap-JKC3U3OS.js.map → keyword-gap-TK2BMMB3.js.map} +0 -0
  776. /package/dist/{keyword-metrics-OYHBOWA3.js.map → keyword-metrics-XJKDE25Z.js.map} +0 -0
  777. /package/dist/{keywords-for-site-EUTBLXRT.js.map → keywords-for-site-SWCA75X3.js.map} +0 -0
  778. /package/dist/{landing-PRG5PT7J.js.map → landing-GMAUCDYC.js.map} +0 -0
  779. /package/dist/{languages-JR3RSGUP.js.map → languages-PDXVOG5V.js.map} +0 -0
  780. /package/dist/{leads-KXCGAJ34.js.map → leads-MA2PDGLB.js.map} +0 -0
  781. /package/dist/{learn-N2XDH4XA.js.map → learn-77RDRZHO.js.map} +0 -0
  782. /package/dist/{line-item-writes-4YZNT3VI.js.map → line-item-writes-DKRS6ANU.js.map} +0 -0
  783. /package/dist/{line-items-FSQPXOKE.js.map → line-items-R5EID7EC.js.map} +0 -0
  784. /package/dist/{link-ITXPWVMH.js.map → link-MK67UR6N.js.map} +0 -0
  785. /package/dist/{linkedin-Z6M3YEAQ.js.map → linkedin-4X57MIAN.js.map} +0 -0
  786. /package/dist/{linkedin-person-IK2MWL7Y.js.map → linkedin-person-XXVK3DJW.js.map} +0 -0
  787. /package/dist/{list-EVIRF2CY.js.map → list-45MXHBTK.js.map} +0 -0
  788. /package/dist/{list-WA3PQEWJ.js.map → list-PQ3CQV74.js.map} +0 -0
  789. /package/dist/{list-VJRTBW6A.js.map → list-VWWJOAGX.js.map} +0 -0
  790. /package/dist/{locations-N5TZTS5F.js.map → locations-7T4U5RDB.js.map} +0 -0
  791. /package/dist/{locations-QRISCNMR.js.map → locations-E4XIZVAB.js.map} +0 -0
  792. /package/dist/{log-VFGFY5PT.js.map → log-RHF535KO.js.map} +0 -0
  793. /package/dist/{lookup-BHU3XAXX.js.map → lookup-Q6TLACOT.js.map} +0 -0
  794. /package/dist/{make-DRWMUES6.js.map → make-RSNKIYPN.js.map} +0 -0
  795. /package/dist/{map-3YMLKUNL.js.map → map-GM3MZLPC.js.map} +0 -0
  796. /package/dist/{mcp-MIZR2NFZ.js.map → mcp-XT7EIY77.js.map} +0 -0
  797. /package/dist/{media-sources-RKIBHCTU.js.map → media-sources-A4BDXKCY.js.map} +0 -0
  798. /package/dist/{members-XMHVOMNT.js.map → members-FJFYPWOC.js.map} +0 -0
  799. /package/dist/{metrics-NCSG7SLD.js.map → metrics-MQ4H74R7.js.map} +0 -0
  800. /package/dist/{models-2NPHMHN7.js.map → models-64UHXEON.js.map} +0 -0
  801. /package/dist/{normalize-PSPLM7OO.js.map → normalize-ATKIWTZN.js.map} +0 -0
  802. /package/dist/{options-5KONPMEL.js.map → options-Q5VYCXVZ.js.map} +0 -0
  803. /package/dist/{organization-BU6WIFXV.js.map → organization-TX736WKT.js.map} +0 -0
  804. /package/dist/{performance-74OQO2QQ.js.map → performance-3YY4YWX5.js.map} +0 -0
  805. /package/dist/{performance-IIYMHJFE.js.map → performance-GIYI3N4X.js.map} +0 -0
  806. /package/dist/{pixels-COONSHMC.js.map → pixels-UBKSXMN3.js.map} +0 -0
  807. /package/dist/{plan-YNNTUNJE.js.map → plan-T3MJKFAM.js.map} +0 -0
  808. /package/dist/{promoted-tweet-writes-IYDFXFVR.js.map → promoted-tweet-writes-2AO5GRUC.js.map} +0 -0
  809. /package/dist/{promoted-tweets-A42JISSP.js.map → promoted-tweets-XF7FL3J4.js.map} +0 -0
  810. /package/dist/{publish-C3NUBIID.js.map → publish-H54LNDCJ.js.map} +0 -0
  811. /package/dist/{query-G4L42FHT.js.map → query-TPKGR2UQ.js.map} +0 -0
  812. /package/dist/{questionnaire-P2XATEWU.js.map → questionnaire-BFYEO57P.js.map} +0 -0
  813. /package/dist/{reddit-VMNGERE6.js.map → reddit-TPEGEBHQ.js.map} +0 -0
  814. /package/dist/{refresh-EBRMXZAC.js.map → refresh-WZFQMCBO.js.map} +0 -0
  815. /package/dist/{release-MKGBYUKY.js.map → release-M4XTMFXE.js.map} +0 -0
  816. /package/dist/{relevant-pages-IVHAKIOI.js.map → relevant-pages-HMYBVWNR.js.map} +0 -0
  817. /package/dist/{remove-EHHTOC7T.js.map → remove-XS6BH7RQ.js.map} +0 -0
  818. /package/dist/{reopen-ILUWK3W3.js.map → reopen-K4BRTGEJ.js.map} +0 -0
  819. /package/dist/{rerun-367PVEIF.js.map → rerun-PE6GNTCI.js.map} +0 -0
  820. /package/dist/{research-7BWH4VVV.js.map → research-IWSBNIFT.js.map} +0 -0
  821. /package/dist/{research-VDSOAQ77.js.map → research-XWQUJMBR.js.map} +0 -0
  822. /package/dist/{reset-VAKJGC3Q.js.map → reset-FMZ3R6Y4.js.map} +0 -0
  823. /package/dist/{reset-X2JMHREN.js.map → reset-JQO7EK5G.js.map} +0 -0
  824. /package/dist/{resolve-7OXBK4CU.js.map → resolve-Y4CMZU35.js.map} +0 -0
  825. /package/dist/{retry-GJBALRAZ.js.map → retry-H64XQ4NC.js.map} +0 -0
  826. /package/dist/{retry-2L2B3FOJ.js.map → retry-OR2YQOZT.js.map} +0 -0
  827. /package/dist/{revenue-H66XC7JC.js.map → revenue-W7AXXQ7K.js.map} +0 -0
  828. /package/dist/{rules-PJJSIQWM.js.map → rules-PMLZKICG.js.map} +0 -0
  829. /package/dist/{rules-add-UFY7TAO3.js.map → rules-add-263D2LQY.js.map} +0 -0
  830. /package/dist/{run-QBXFCGML.js.map → run-A2MJEURT.js.map} +0 -0
  831. /package/dist/{run-6PDML7YJ.js.map → run-MKZMTMRT.js.map} +0 -0
  832. /package/dist/{scaffold-ad-KOBSZMKJ.js.map → scaffold-ad-HISG6L46.js.map} +0 -0
  833. /package/dist/{scaffold-static-ad-2I7TXF7L.js.map → scaffold-static-ad-MW3JMMDU.js.map} +0 -0
  834. /package/dist/{scaffold-video-P5UOTXWT.js.map → scaffold-video-QYXBYFTQ.js.map} +0 -0
  835. /package/dist/{schedule-JNBK267N.js.map → schedule-UA5RXNZ2.js.map} +0 -0
  836. /package/dist/{scheduled-agents-274ZTTUZ.js.map → scheduled-agents-YIKWS5CO.js.map} +0 -0
  837. /package/dist/{schema-7HR57YTC.js.map → schema-IKSQHB3S.js.map} +0 -0
  838. /package/dist/{schema-YO5VLVDS.js.map → schema-M44S4TPF.js.map} +0 -0
  839. /package/dist/{search-33EMRTMI.js.map → search-ZQV7SM7W.js.map} +0 -0
  840. /package/dist/{select-3ZRWAYT7.js.map → select-VTWL2NMR.js.map} +0 -0
  841. /package/dist/{sends-F3YIA763.js.map → sends-CAQ42KOR.js.map} +0 -0
  842. /package/dist/{set-prompt-SCSC7BRO.js.map → set-prompt-2V4UPUKW.js.map} +0 -0
  843. /package/dist/{setup-links-BEIHAXVR.js.map → setup-links-PBWJYOD2.js.map} +0 -0
  844. /package/dist/{shopify-XDDDUQTQ.js.map → shopify-VQYRSXVS.js.map} +0 -0
  845. /package/dist/{site-DWVWM3HD.js.map → site-GYJYYMYH.js.map} +0 -0
  846. /package/dist/{sources-7WWI2YXF.js.map → sources-3NA3ZB75.js.map} +0 -0
  847. /package/dist/{sources-O7ZOL5YR.js.map → sources-UMYCW35T.js.map} +0 -0
  848. /package/dist/{stale-WAKIZSQS.js.map → stale-54NIICZG.js.map} +0 -0
  849. /package/dist/{status-JOIUSIE7.js.map → status-CRZCFN5W.js.map} +0 -0
  850. /package/dist/{studio-FJL2TIZK.js.map → studio-2VGYFGS4.js.map} +0 -0
  851. /package/dist/{sync-XBCQXUD7.js.map → sync-K4KLGMJR.js.map} +0 -0
  852. /package/dist/{sync-definition-2BQUWH3Y.js.map → sync-definition-TK5Z3ISW.js.map} +0 -0
  853. /package/dist/{tags-HISOVNNV.js.map → tags-7SNORKEL.js.map} +0 -0
  854. /package/dist/{tags-AQ2JGXPQ.js.map → tags-HCTVWQI7.js.map} +0 -0
  855. /package/dist/{tags-AXIDVYMK.js.map → tags-HD4NPLTY.js.map} +0 -0
  856. /package/dist/{tags-NSCLNPLU.js.map → tags-HOIYE6JK.js.map} +0 -0
  857. /package/dist/{tags-3YUICYEG.js.map → tags-XUJPIGIE.js.map} +0 -0
  858. /package/dist/{targeting-criteria-DFJQKQV4.js.map → targeting-criteria-EN6MZR7O.js.map} +0 -0
  859. /package/dist/{targets-NQKCNVQ7.js.map → targets-XIZJSYCM.js.map} +0 -0
  860. /package/dist/{testimonials-K5D2KRYK.js.map → testimonials-UOSKSII2.js.map} +0 -0
  861. /package/dist/{themes-CIXQPTFX.js.map → themes-3TW3WDLZ.js.map} +0 -0
  862. /package/dist/{top-companies-3M7H5NPQ.js.map → top-companies-2PZH6RG3.js.map} +0 -0
  863. /package/dist/{transcript-CQTAZJK4.js.map → transcript-M6J4MYXK.js.map} +0 -0
  864. /package/dist/{translate-D2SJCT7D.js.map → translate-V5RCXHB3.js.map} +0 -0
  865. /package/dist/{triggers-THBRMWM6.js.map → triggers-E3XWB4EZ.js.map} +0 -0
  866. /package/dist/{unlink-WWPY4336.js.map → unlink-OIMMKPRN.js.map} +0 -0
  867. /package/dist/{unstage-HTYFDR33.js.map → unstage-SP32LXDY.js.map} +0 -0
  868. /package/dist/{unstage-UMPZSEUA.js.map → unstage-XN3VC7LZ.js.map} +0 -0
  869. /package/dist/{update-FMK63TCD.js.map → update-2GAPIRWU.js.map} +0 -0
  870. /package/dist/{update-N3DTFTQE.js.map → update-H7SAAZ3Z.js.map} +0 -0
  871. /package/dist/{update-AMTTYSZP.js.map → update-LXIHAKQ5.js.map} +0 -0
  872. /package/dist/{update-HCQFGRDE.js.map → update-NKNWGXFC.js.map} +0 -0
  873. /package/dist/{upload-BCUR7GMG.js.map → upload-7RPI4DLV.js.map} +0 -0
  874. /package/dist/{url-options-7ZFP6Y2T.js.map → url-options-TUU37JHG.js.map} +0 -0
  875. /package/dist/{url-params-YWPEV5V5.js.map → url-params-RJSXPKA3.js.map} +0 -0
  876. /package/dist/{validate-GZYVVNHQ.js.map → validate-6SZ4B3QA.js.map} +0 -0
  877. /package/dist/{videos-L5BDS2M4.js.map → videos-PUOP3G23.js.map} +0 -0
  878. /package/dist/{viewer-check-DBQ6T3R5.js.map → viewer-check-BLM3ZLLH.js.map} +0 -0
  879. /package/dist/{web-62AJC2EU.js.map → web-YUBTKG6V.js.map} +0 -0
  880. /package/dist/{winning-ads-OHVZERTH.js.map → winning-ads-MVSHJFYV.js.map} +0 -0
  881. /package/dist/{write-commands-BWWXFT2R.js.map → write-commands-ZXTABQKK.js.map} +0 -0
  882. /package/dist/{x-ACDJXCOY.js.map → x-7K2VKYXQ.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. */\n/** What each platform calls its own lead form, as a marketer knows it. */\nexport const LEAD_FORM_KIND_LABEL: Record<LeadRoutePlatform, string> = {\n meta: \"Meta Instant Form\",\n linkedin: \"LinkedIn Lead Gen Form\",\n google: \"Google Ads lead form\",\n};\n\n/**\n * The Form a lead form's leads are counted under.\n *\n * A lead an ad platform's own form collected is a Form submission like a\n * landing's: it is on the Forms list, in conversions as `submit:<slug>`, and in\n * the submissions list with its sealed answers. It is filed under this slug\n * because it has no Form file of its own — the form lives on the platform.\n */\nexport const LEAD_FORM_FLOW_PREFIX = \"lead-form-\";\n\n/** The one step a lead form is, as the submissions list counts steps. */\nexport const LEAD_FORM_STEP = \"lead_form\";\n\nexport function leadFormFlowSlug(platform: LeadRoutePlatform, formId: string): string {\n return `${LEAD_FORM_FLOW_PREFIX}${platform}-${formId}`.slice(0, 120);\n}\n\n/** The visit one lead is — one person, one form, one moment — which its deliveries are filed in too. */\nexport function leadVisitId(platform: LeadRoutePlatform, leadId: string): string {\n return `lead:${platform}:${leadId}`;\n}\n\n/** The platform a lead's own visit id names, or `null` for a browser's visit. */\nexport function leadPlatformOfVisitId(sessionId: string): LeadRoutePlatform | null {\n return LEAD_ROUTE_PLATFORMS.find((platform) => sessionId.startsWith(`lead:${platform}:`)) ?? null;\n}\n\n/** The platform and form a lead form's slug names, or `null` for a landing's own Form. */\nexport function leadFormOfFlowSlug(slug: string): { platform: LeadRoutePlatform; formId: string } | null {\n if (!slug.startsWith(LEAD_FORM_FLOW_PREFIX)) return null;\n const rest = slug.slice(LEAD_FORM_FLOW_PREFIX.length);\n const platform = LEAD_ROUTE_PLATFORMS.find((candidate) => rest.startsWith(`${candidate}-`));\n return platform ? { platform, formId: rest.slice(platform.length + 1) } : null;\n}\n\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\n/** `set --id` without `--to`: change a route's mapping, start or name, keeping its form and destination. */\nexport const leadRouteAmendSchema = z.object({\n id: z.string().trim().min(1),\n name: z.string().trim().min(1).max(120).optional(),\n /** Replaces the whole mapping. */\n fields: z.array(leadRouteFieldSchema).max(100).optional(),\n /** Laid over the existing mapping by key: a new key is added, a known one replaced. */\n addFields: z.array(leadRouteFieldSchema).max(100).optional(),\n since: z\n .string()\n .regex(/^\\d{4}-\\d{2}-\\d{2}$/, \"a date like 2026-10-01\")\n .optional(),\n});\nexport type LeadRouteAmend = z.infer<typeof leadRouteAmendSchema>;\n\nexport const leadRouteStageRequestSchema = z.object({\n chatId: z.string().min(1),\n set: leadRouteSetSchema.optional(),\n amend: leadRouteAmendSchema.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 /** The Form its leads are counted under, as submissions: `baker analytics flow|submissions --flow <formSlug>`. */\n formSlug: z.string(),\n destination: leadRouteDestinationViewSchema,\n fields: z.array(z.object({ key: z.string(), from: z.string() })),\n /** What the lead form asks, as read when the route was staged. */\n questions: z.array(z.object({ from: z.string(), label: z.string() })).optional(),\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 /** The live route as it was when this was staged: absent for a route this chat adds. */\n before: 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, parseStageArgs, previewDestinationRefusal } 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\n/** `set`'s destination flags, which a preview takes too: only an existing sheet or HubSpot form changes what it shows. */\nconst PREVIEW_DESTINATION_ARGS = {\n sheet: {\n type: \"string\",\n description: \"Existing spreadsheet id (needs --field; else stage, then --id)\",\n required: false,\n },\n \"new-sheet\": { type: \"string\", description: \"A sheet `set` would create: its default columns\", required: false },\n tab: { type: \"string\", description: \"Ignored by a preview\", required: false },\n \"destination-account\": { type: \"string\", description: \"Ignored by a preview\", required: false },\n \"hubspot-form\": {\n type: \"string\",\n description: \"HubSpot form id (needs --field; else stage, then --id)\",\n required: false,\n },\n url: { type: \"string\", description: \"Ignored by a preview\", required: false },\n email: { type: \"string\", description: \"Ignored by a preview\", required: false },\n subject: { type: \"string\", description: \"Ignored by a preview\", 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 ...PREVIEW_DESTINATION_ARGS,\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\nconst SET_PLATFORM_ARG = { ...PLATFORM_ARG, description: \"meta | linkedin | google\", required: false } as const;\nconst SET_FORM_ARG = { ...FORM_ARG, required: false } as const;\nconst SET_TO_ARG = {\n type: \"string\",\n description: `${LEAD_ROUTE_DESTINATION_TYPES.join(\" | \")}. Leave out with --id to keep the route's destination`,\n required: false,\n} as const;\nconst ADD_FIELD_ARG = {\n type: \"string\",\n description: \"Repeatable, with --id and no --to: add or replace one column of the route's mapping, M=answer:budget\",\n required: false,\n} as const;\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: with --to and its destination flags, the whole route; without --to, only its mapping (--add-field M=answer:budget adds or replaces one column, --field replaces them all), --since or --name — its form and destination are kept.\",\n args: {\n platform: SET_PLATFORM_ARG,\n account: ACCOUNT_ARG,\n form: SET_FORM_ARG,\n to: SET_TO_ARG,\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 \"add-field\": ADD_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 ...PREVIEW_DESTINATION_ARGS,\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 const refusal = previewDestinationRefusal(\n { sheet: args.sheet as string | undefined, \"hubspot-form\": args[\"hubspot-form\"] as string | undefined },\n fields.length > 0,\n );\n if (refusal) throw new LeadRouteArgsError(refusal);\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 --add-field M=answer:budget --add-field \"N=text:Facebook lead ad\"',\n },\n args: {\n platform: SET_PLATFORM_ARG,\n account: ACCOUNT_ARG,\n form: SET_FORM_ARG,\n to: SET_TO_ARG,\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 \"add-field\": ADD_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 staged = parseStageArgs(\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 {\n fields: repeatedValues(rawArgs, \"field\", args.field),\n addFields: repeatedValues(rawArgs, \"add-field\", args[\"add-field\"]),\n },\n );\n const body: LeadRouteStageRequest = { chatId: requireChatId(), ...staged };\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 LeadRouteAmend,\n type LeadRouteDestinationInput,\n type LeadRouteField,\n type LeadRouteSet,\n leadRouteAmendSchema,\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\n/** Flags that name a form or a destination: a change keeping both takes none of them. */\nconst ROUTE_FLAGS = [\"platform\", \"account\", \"form\", ...ALL_DESTINATION_FLAGS] as const;\n\nfunction amendArgs(flags: SetFlags, fieldValues: readonly string[], addFieldValues: readonly string[]): LeadRouteAmend {\n const named = ROUTE_FLAGS.filter((flag) => flags[flag as keyof SetFlags]);\n if (named.length > 0) {\n throw new LeadRouteArgsError(\n `set --id without --to keeps the route's form and destination, so it takes no ${named.map((flag) => `--${flag}`).join(\", \")}. Change the mapping with --add-field or --field; to move the route, pass --to with its destination flags too.`,\n );\n }\n const fields = parseFields(fieldValues);\n const addFields = parseFields(addFieldValues);\n const parsed = leadRouteAmendSchema.safeParse({\n id: flags.id,\n ...(flags.name ? { name: flags.name } : {}),\n ...(fields.length > 0 ? { fields } : {}),\n ...(addFields.length > 0 ? { addFields } : {}),\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\n/**\n * What one `baker lead-routes set` stages: a whole route when `--to` names\n * where it sends, else — with `--id` — a change to that route's mapping,\n * start or name that keeps its form and destination.\n */\nexport function parseStageArgs(\n flags: SetFlags,\n values: { fields: readonly string[]; addFields: readonly string[] },\n): { set: LeadRouteSet } | { amend: LeadRouteAmend } {\n if (flags.id && !flags.to) return { amend: amendArgs(flags, values.fields, values.addFields) };\n if (values.addFields.length > 0) {\n throw new LeadRouteArgsError(\n \"--add-field changes an existing route: use it with --id <route> and without --to. A new route names its fields with --field.\",\n );\n }\n return { set: parseSetArgs(flags, values.fields) };\n}\n\n/**\n * Why a `preview` naming this destination cannot show what it would send, if\n * it cannot: an existing sheet's and a HubSpot form's default mapping is read\n * from the destination when the route is staged. Every other destination flag\n * leaves the mapping as it is, so a preview takes it and goes on.\n */\nexport function previewDestinationRefusal(flags: SetFlags, hasFields: boolean): string | undefined {\n if (hasFields || !(flags.sheet || flags[\"hubspot-form\"])) return undefined;\n return \"An existing sheet's or HubSpot form's columns are read from it when the route is staged. Stage it with `baker lead-routes set`, then `baker lead-routes preview --id <route>` shows exactly what it sends — or pass --field to preview a mapping of your own.\";\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,115 @@
1
+ import {
2
+ csvOrJson,
3
+ handleLinkedinError,
4
+ resolveAccountIdArg
5
+ } from "./chunk-JMQ3F5VX.js";
6
+ import {
7
+ writeAdsJson,
8
+ writeAdsOutput
9
+ } from "./chunk-X7DMNLDD.js";
10
+ import {
11
+ NO_CACHE_ARG
12
+ } from "./chunk-7PMGAOHZ.js";
13
+ import "./chunk-DYOUJERF.js";
14
+ import "./chunk-QV6AST5T.js";
15
+ import "./chunk-WCU362Z6.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-4U7HXXSA.js";
24
+ import "./chunk-V6AAOAMM.js";
25
+ import "./chunk-GGUQP6KI.js";
26
+ import "./chunk-L55PHMSR.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-MA2PDGLB.js.map
@@ -0,0 +1,207 @@
1
+ import {
2
+ parseDays,
3
+ withDefinitions
4
+ } from "./chunk-PCIMC7VX.js";
5
+ import {
6
+ setDefinitionFields
7
+ } from "./chunk-XXCMIS2V.js";
8
+ import {
9
+ IDEAS_DIR,
10
+ readIdeas
11
+ } from "./chunk-ISDOF6KZ.js";
12
+ import "./chunk-D4U72EIE.js";
13
+ import "./chunk-JRQI6EVP.js";
14
+ import "./chunk-K6HH2KF3.js";
15
+ import {
16
+ findWorkspaceRoot
17
+ } from "./chunk-M7MLFR2S.js";
18
+ import "./chunk-ZRAZBHTG.js";
19
+ import "./chunk-F3CZFUXZ.js";
20
+ import "./chunk-H4DBWD3O.js";
21
+ import "./chunk-WTLNH34U.js";
22
+ import "./chunk-AQ2XSUIG.js";
23
+ import "./chunk-WCJ3JTLF.js";
24
+ import {
25
+ failApi
26
+ } from "./chunk-XKRCO3JC.js";
27
+ import "./chunk-DYOUJERF.js";
28
+ import "./chunk-QV6AST5T.js";
29
+ import "./chunk-WCU362Z6.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-4U7HXXSA.js";
38
+ import "./chunk-V6AAOAMM.js";
39
+ import "./chunk-GGUQP6KI.js";
40
+ import {
41
+ registerSchema,
42
+ writeJson
43
+ } from "./chunk-L55PHMSR.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-77RDRZHO.js.map