@koda-sl/baker-cli 0.512.0 → 0.514.0-dev.555f7007e

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 (1156) hide show
  1. package/README.md +20 -3
  2. package/dist/account-QX4G4BJ7.js +82 -0
  3. package/dist/account-QX4G4BJ7.js.map +1 -0
  4. package/dist/account-UFYZS3K6.js +82 -0
  5. package/dist/account-UFYZS3K6.js.map +1 -0
  6. package/dist/account-assets-J5Z4URLQ.js +290 -0
  7. package/dist/account-level-4SBYYHRS.js +611 -0
  8. package/dist/account-level-4SBYYHRS.js.map +1 -0
  9. package/dist/account-reads-FOEVPWDP.js +219 -0
  10. package/dist/account-users-UTIF7MIT.js +64 -0
  11. package/dist/account-users-UTIF7MIT.js.map +1 -0
  12. package/dist/account-writes-QAQXRIEY.js +68 -0
  13. package/dist/account-writes-QAQXRIEY.js.map +1 -0
  14. package/dist/accounts-JK3OAS5U.js +701 -0
  15. package/dist/accounts-JK3OAS5U.js.map +1 -0
  16. package/dist/accounts-OE33CKWD.js +80 -0
  17. package/dist/accounts-OE33CKWD.js.map +1 -0
  18. package/dist/actions-QZDSLFFK.js +55 -0
  19. package/dist/activecampaign-U6TKRR45.js +938 -0
  20. package/dist/activecampaign-U6TKRR45.js.map +1 -0
  21. package/dist/ad-group-writes-XY5JYTKT.js +172 -0
  22. package/dist/ad-group-writes-XY5JYTKT.js.map +1 -0
  23. package/dist/ad-groups-YEO5ZS5U.js +70 -0
  24. package/dist/ad-groups-YEO5ZS5U.js.map +1 -0
  25. package/dist/ad-writes-XRCPK4SP.js +176 -0
  26. package/dist/ad-writes-XRCPK4SP.js.map +1 -0
  27. package/dist/add-2EF7S4NK.js +305 -0
  28. package/dist/add-2EF7S4NK.js.map +1 -0
  29. package/dist/add-YCJ6RXPG.js +107 -0
  30. package/dist/add-YCJ6RXPG.js.map +1 -0
  31. package/dist/ads-AYJAYLFR.js +48 -0
  32. package/dist/ads-H7H7H2CM.js +79 -0
  33. package/dist/ads-H7H7H2CM.js.map +1 -0
  34. package/dist/ads-MAOI7S6V.js +115 -0
  35. package/dist/adsets-QRKICEFD.js +182 -0
  36. package/dist/advertisers-JLSU3G35.js +123 -0
  37. package/dist/advertisers-JLSU3G35.js.map +1 -0
  38. package/dist/analytics-ADIWEM6G.js +2437 -0
  39. package/dist/analytics-ADIWEM6G.js.map +1 -0
  40. package/dist/analytics-XB6FRNVJ.js +447 -0
  41. package/dist/analytics-XB6FRNVJ.js.map +1 -0
  42. package/dist/animate-HRWFVE2N.js +480 -0
  43. package/dist/asset-writes-JLVUAVUZ.js +50 -0
  44. package/dist/assign-IWZ2OPFL.js +80 -0
  45. package/dist/assign-IWZ2OPFL.js.map +1 -0
  46. package/dist/audience-size-P5L6MZ4C.js +76 -0
  47. package/dist/audience-size-P5L6MZ4C.js.map +1 -0
  48. package/dist/audience-writes-CDKQB3SM.js +327 -0
  49. package/dist/audience-writes-CDKQB3SM.js.map +1 -0
  50. package/dist/audiences-CDDI5HR5.js +86 -0
  51. package/dist/audiences-XKERWKKE.js +280 -0
  52. package/dist/audiences-XKERWKKE.js.map +1 -0
  53. package/dist/audit-SEADLC6F.js +154 -0
  54. package/dist/audit-SEADLC6F.js.map +1 -0
  55. package/dist/autocomplete-AJQBJS5R.js +114 -0
  56. package/dist/autocomplete-AJQBJS5R.js.map +1 -0
  57. package/dist/avatars-4HCGWBOL.js +38 -0
  58. package/dist/bid-pricing-NWSUO3VM.js +103 -0
  59. package/dist/bid-pricing-NWSUO3VM.js.map +1 -0
  60. package/dist/brand-C6OB6Q4U.js +22 -0
  61. package/dist/brief-LCWWQ4OC.js +543 -0
  62. package/dist/brief-LCWWQ4OC.js.map +1 -0
  63. package/dist/campaign-groups-PH64UXZJ.js +99 -0
  64. package/dist/campaign-groups-PH64UXZJ.js.map +1 -0
  65. package/dist/campaign-writes-BN3EGDK5.js +168 -0
  66. package/dist/campaign-writes-BN3EGDK5.js.map +1 -0
  67. package/dist/campaign-writes-CLV5ZSUK.js +176 -0
  68. package/dist/campaign-writes-CLV5ZSUK.js.map +1 -0
  69. package/dist/campaigns-5XRY27JZ.js +78 -0
  70. package/dist/campaigns-5XRY27JZ.js.map +1 -0
  71. package/dist/campaigns-HES5MDUG.js +130 -0
  72. package/dist/campaigns-JF4TYYUP.js +113 -0
  73. package/dist/campaigns-JF4TYYUP.js.map +1 -0
  74. package/dist/campaigns-ZYU4BXDP.js +111 -0
  75. package/dist/canvas-AI34UBGU.js +46 -0
  76. package/dist/capabilities-TRHAPTUU.js +147 -0
  77. package/dist/capabilities-TRHAPTUU.js.map +1 -0
  78. package/dist/catalog-ZY3MFT55.js +65 -0
  79. package/dist/catalogs-6XLBWAUS.js +130 -0
  80. package/dist/catalogs-6XLBWAUS.js.map +1 -0
  81. package/dist/catalogs-TGLSJEK5.js +781 -0
  82. package/dist/catalogs-TGLSJEK5.js.map +1 -0
  83. package/dist/changes-OOUVQDBY.js +135 -0
  84. package/dist/chatgpt-NAXIFWXV.js +47 -0
  85. package/dist/chats-I5RHBRS5.js +279 -0
  86. package/dist/chats-I5RHBRS5.js.map +1 -0
  87. package/dist/check-3E64VBUE.js +107 -0
  88. package/dist/check-3E64VBUE.js.map +1 -0
  89. package/dist/chunk-3CHYJYSS.js +319 -0
  90. package/dist/chunk-3G3GC5N4.js +429 -0
  91. package/dist/chunk-3M45PYU7.js +274 -0
  92. package/dist/chunk-3QHXF3QI.js +23 -0
  93. package/dist/chunk-3XPHUMLJ.js +3868 -0
  94. package/dist/chunk-45EERHDB.js +783 -0
  95. package/dist/chunk-4FGTANFK.js +387 -0
  96. package/dist/chunk-4IHWT7PH.js +167 -0
  97. package/dist/chunk-4LF4AYPT.js +846 -0
  98. package/dist/chunk-4UQRXKYJ.js +219 -0
  99. package/dist/chunk-5JJD33Y2.js +455 -0
  100. package/dist/chunk-5K4QYYOJ.js +831 -0
  101. package/dist/chunk-5LJ6E4YU.js +163 -0
  102. package/dist/chunk-5T73MMBL.js +275 -0
  103. package/dist/chunk-64MAHLTK.js +363 -0
  104. package/dist/chunk-6OIKNJ7G.js +26 -0
  105. package/dist/chunk-6ZFSDYWV.js +131 -0
  106. package/dist/chunk-7BUIOP36.js +287 -0
  107. package/dist/chunk-7I6ZVBLM.js +358 -0
  108. package/dist/chunk-7I6ZVBLM.js.map +1 -0
  109. package/dist/chunk-AN4OEQXE.js +122 -0
  110. package/dist/chunk-AULSX5ZA.js +5368 -0
  111. package/dist/chunk-AVYUFJQQ.js +46 -0
  112. package/dist/chunk-B4YF7VQF.js +97 -0
  113. package/dist/chunk-BDOYNGUL.js +98 -0
  114. package/dist/chunk-BJOK7QD4.js +207 -0
  115. package/dist/chunk-CMCGFSUS.js +197 -0
  116. package/dist/chunk-DMJUIUAL.js +676 -0
  117. package/dist/chunk-DUCUOZLS.js +225 -0
  118. package/dist/chunk-EW7JSTRZ.js +24026 -0
  119. package/dist/chunk-EW7JSTRZ.js.map +1 -0
  120. package/dist/chunk-F3CZFUXZ.js +3187 -0
  121. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  122. package/dist/chunk-FJZYOVSW.js +843 -0
  123. package/dist/chunk-FKP4ECJY.js +19 -0
  124. package/dist/chunk-G4FG5EQO.js +110 -0
  125. package/dist/chunk-G4FG5EQO.js.map +1 -0
  126. package/dist/chunk-GAYRBIEF.js +712 -0
  127. package/dist/chunk-GAYRBIEF.js.map +1 -0
  128. package/dist/chunk-GNMEOU46.js +8954 -0
  129. package/dist/chunk-GYKYXWUQ.js +156 -0
  130. package/dist/chunk-GYPLRU4Y.js +297 -0
  131. package/dist/chunk-I43ZEWJQ.js +285 -0
  132. package/dist/chunk-IZABTTW5.js +228 -0
  133. package/dist/chunk-JOE42ZW6.js +2984 -0
  134. package/dist/chunk-JOE42ZW6.js.map +1 -0
  135. package/dist/chunk-K7IE6UYV.js +1646 -0
  136. package/dist/chunk-KH5YHHJV.js +604 -0
  137. package/dist/chunk-KMY7AD3N.js +51 -0
  138. package/dist/chunk-KPCHWDJM.js +8914 -0
  139. package/dist/chunk-KTZCLJ2D.js +148 -0
  140. package/dist/chunk-MKUA54QE.js +638 -0
  141. package/dist/chunk-MTV2RSGY.js +63 -0
  142. package/dist/chunk-MUS2UTWU.js +4254 -0
  143. package/dist/chunk-MUS2UTWU.js.map +1 -0
  144. package/dist/chunk-N2QX57K3.js +392 -0
  145. package/dist/chunk-NB2FU6EZ.js +179 -0
  146. package/dist/chunk-NEYWS2DQ.js +479 -0
  147. package/dist/chunk-NKQWDEB7.js +115 -0
  148. package/dist/chunk-NKQWDEB7.js.map +1 -0
  149. package/dist/chunk-NWF2LRKO.js +188 -0
  150. package/dist/chunk-NZ34KM46.js +7211 -0
  151. package/dist/chunk-NZ34KM46.js.map +1 -0
  152. package/dist/chunk-OTC6UMJ2.js +191 -0
  153. package/dist/chunk-OUY2IAWL.js +224 -0
  154. package/dist/chunk-PJXNCRMR.js +344 -0
  155. package/dist/chunk-PYQ3GF7R.js +91 -0
  156. package/dist/chunk-Q3EIVZAR.js +170 -0
  157. package/dist/chunk-Q3GSVLE5.js +4274 -0
  158. package/dist/chunk-Q3GSVLE5.js.map +1 -0
  159. package/dist/chunk-QDQZ62FL.js +207 -0
  160. package/dist/chunk-QHZE62GP.js +1919 -0
  161. package/dist/chunk-RGR6TSTJ.js +103 -0
  162. package/dist/chunk-SAAXU7QR.js +203 -0
  163. package/dist/chunk-SHTKLRI6.js +66 -0
  164. package/dist/chunk-SIKCVWM3.js +76 -0
  165. package/dist/chunk-SOPVIIUW.js +68 -0
  166. package/dist/chunk-SOPVIIUW.js.map +1 -0
  167. package/dist/chunk-SSXG53CZ.js +89 -0
  168. package/dist/chunk-TBWAM577.js +547 -0
  169. package/dist/chunk-TGPGQTZA.js +169 -0
  170. package/dist/chunk-UMIX2BMM.js +1518 -0
  171. package/dist/chunk-URMAEVZO.js +150 -0
  172. package/dist/chunk-VBO3ZVUU.js +61 -0
  173. package/dist/chunk-VFLYMHTO.js +592 -0
  174. package/dist/chunk-VGYIVXIZ.js +249 -0
  175. package/dist/chunk-VIB7R533.js +57 -0
  176. package/dist/chunk-WLESMH4J.js +45 -0
  177. package/dist/chunk-WVWLPXBO.js +910 -0
  178. package/dist/chunk-XEH5XAP6.js +494 -0
  179. package/dist/chunk-XEOKVL4E.js +142 -0
  180. package/dist/chunk-XOGQJYXH.js +64 -0
  181. package/dist/chunk-XOQNM7I4.js +396 -0
  182. package/dist/chunk-XOQNM7I4.js.map +1 -0
  183. package/dist/chunk-XUXRA7IB.js +942 -0
  184. package/dist/claim-FIK2YTLM.js +200 -0
  185. package/dist/claim-FIK2YTLM.js.map +1 -0
  186. package/dist/cli.js +34 -33
  187. package/dist/cli.js.map +1 -1
  188. package/dist/companies-KMMV6EJW.js +198 -0
  189. package/dist/companies-KMMV6EJW.js.map +1 -0
  190. package/dist/company-B54URPJG.js +308 -0
  191. package/dist/company-B54URPJG.js.map +1 -0
  192. package/dist/complete-PPCWEXS3.js +84 -0
  193. package/dist/complete-PPCWEXS3.js.map +1 -0
  194. package/dist/connect-IAXSZPGA.js +45 -0
  195. package/dist/conversation-KHTZBGX2.js +96 -0
  196. package/dist/conversation-KHTZBGX2.js.map +1 -0
  197. package/dist/conversion-report-U66HW6JM.js +127 -0
  198. package/dist/conversion-report-U66HW6JM.js.map +1 -0
  199. package/dist/conversion-upload-command-IHFKVX2M.js +439 -0
  200. package/dist/conversion-writes-RSGDOAET.js +122 -0
  201. package/dist/conversion-writes-RSGDOAET.js.map +1 -0
  202. package/dist/conversions-BVOL43W4.js +78 -0
  203. package/dist/conversions-BVOL43W4.js.map +1 -0
  204. package/dist/conversions-SUMZAV2T.js +140 -0
  205. package/dist/conversions-SUMZAV2T.js.map +1 -0
  206. package/dist/copy-writes-CIHIFLY6.js +170 -0
  207. package/dist/copy-writes-CIHIFLY6.js.map +1 -0
  208. package/dist/create-732HQL3C.js +210 -0
  209. package/dist/create-732HQL3C.js.map +1 -0
  210. package/dist/create-TFR6R2KF.js +239 -0
  211. package/dist/create-TFR6R2KF.js.map +1 -0
  212. package/dist/create-UC57ULRL.js +62 -0
  213. package/dist/create-UC57ULRL.js.map +1 -0
  214. package/dist/create-UL2OYXOA.js +135 -0
  215. package/dist/create-UL2OYXOA.js.map +1 -0
  216. package/dist/creatives-BB6S2OF6.js +89 -0
  217. package/dist/creatives-BZEVJ6ER.js +58 -0
  218. package/dist/creatives-FU3YELGU.js +223 -0
  219. package/dist/creatives-FU3YELGU.js.map +1 -0
  220. package/dist/credentials-AYV5YQE4.js +290 -0
  221. package/dist/credentials-AYV5YQE4.js.map +1 -0
  222. package/dist/critique-FKIJB72I.js +1451 -0
  223. package/dist/critique-FKIJB72I.js.map +1 -0
  224. package/dist/critique-IQYNDXCN.js +232 -0
  225. package/dist/critique-IQYNDXCN.js.map +1 -0
  226. package/dist/crm-ILQMNJPX.js +323 -0
  227. package/dist/crm-ILQMNJPX.js.map +1 -0
  228. package/dist/crm-MQQRBITZ.js +227 -0
  229. package/dist/crm-MQQRBITZ.js.map +1 -0
  230. package/dist/currency-CGKO5GKH.js +88 -0
  231. package/dist/custom-conversions-HAGG72LF.js +128 -0
  232. package/dist/customers-NKKU6S7G.js +59 -0
  233. package/dist/delete-2TCCNRMH.js +57 -0
  234. package/dist/delete-2TCCNRMH.js.map +1 -0
  235. package/dist/delete-HCZTISBT.js +69 -0
  236. package/dist/delete-HCZTISBT.js.map +1 -0
  237. package/dist/delete-UIKB5ZXS.js +67 -0
  238. package/dist/delete-UIKB5ZXS.js.map +1 -0
  239. package/dist/demographics-ABZODD45.js +141 -0
  240. package/dist/demographics-ABZODD45.js.map +1 -0
  241. package/dist/discard-V3K5PZ4W.js +69 -0
  242. package/dist/discard-V3K5PZ4W.js.map +1 -0
  243. package/dist/discover-VM3O7CQM.js +172 -0
  244. package/dist/domain-A66DHOTQ.js +101 -0
  245. package/dist/domain-A66DHOTQ.js.map +1 -0
  246. package/dist/download-LSAZD5JO.js +172 -0
  247. package/dist/download-LSAZD5JO.js.map +1 -0
  248. package/dist/draft-5UUJC675.js +335 -0
  249. package/dist/draft-5UUJC675.js.map +1 -0
  250. package/dist/draft-BATA5CVI.js +283 -0
  251. package/dist/draft-BATA5CVI.js.map +1 -0
  252. package/dist/draft-CRDBU6LF.js +308 -0
  253. package/dist/draft-P7IDMXWR.js +310 -0
  254. package/dist/draft-P7IDMXWR.js.map +1 -0
  255. package/dist/draft-YBNL4ZZA.js +220 -0
  256. package/dist/draft-YBNL4ZZA.js.map +1 -0
  257. package/dist/engine/index.js +7 -7
  258. package/dist/experiments-MLLTHMMS.js +236 -0
  259. package/dist/experiments-MLLTHMMS.js.map +1 -0
  260. package/dist/facets-KSHR3MBE.js +117 -0
  261. package/dist/facets-KSHR3MBE.js.map +1 -0
  262. package/dist/feedback-4GCPXZSI.js +111 -0
  263. package/dist/feedback-4GCPXZSI.js.map +1 -0
  264. package/dist/feedback-record-VEFHUIUJ.js +265 -0
  265. package/dist/feedback-record-VEFHUIUJ.js.map +1 -0
  266. package/dist/fetch-42QL56JC.js +179 -0
  267. package/dist/fetch-42QL56JC.js.map +1 -0
  268. package/dist/fit-Q5GRVF2O.js +65 -0
  269. package/dist/flows-M3WBZQET.js +250 -0
  270. package/dist/flows-M3WBZQET.js.map +1 -0
  271. package/dist/fonts-GD4YRXQU.js +39 -0
  272. package/dist/forecast-HT46MFL4.js +121 -0
  273. package/dist/forecast-HT46MFL4.js.map +1 -0
  274. package/dist/forecast-ONVS2QAI.js +169 -0
  275. package/dist/funnel-76BAD64Q.js +397 -0
  276. package/dist/funnel-76BAD64Q.js.map +1 -0
  277. package/dist/generate-VBEY3N3L.js +263 -0
  278. package/dist/get-4KFAO475.js +82 -0
  279. package/dist/get-4KFAO475.js.map +1 -0
  280. package/dist/get-QV5NIADE.js +59 -0
  281. package/dist/get-QV5NIADE.js.map +1 -0
  282. package/dist/google-7EZP7I6J.js +3267 -0
  283. package/dist/google-ads-J7WHTJO4.js +198 -0
  284. package/dist/google-ads-J7WHTJO4.js.map +1 -0
  285. package/dist/history-EULKWQUS.js +136 -0
  286. package/dist/history-EULKWQUS.js.map +1 -0
  287. package/dist/history-FEBJHFHJ.js +69 -0
  288. package/dist/history-FEBJHFHJ.js.map +1 -0
  289. package/dist/history-RDVV7KBN.js +102 -0
  290. package/dist/history-RDVV7KBN.js.map +1 -0
  291. package/dist/hubspot-A3RQNMYN.js +782 -0
  292. package/dist/hubspot-A3RQNMYN.js.map +1 -0
  293. package/dist/ideas-WX7EBPSF.js +45 -0
  294. package/dist/images-4AXF4LAC.js +92 -0
  295. package/dist/ingest-AM5YDTRH.js +110 -0
  296. package/dist/ingest-AM5YDTRH.js.map +1 -0
  297. package/dist/ingest-C3M4GUO6.js +26 -0
  298. package/dist/insights-UTCMSWSC.js +132 -0
  299. package/dist/insights-UTCMSWSC.js.map +1 -0
  300. package/dist/insights-XZL2EM53.js +439 -0
  301. package/dist/insights-XZL2EM53.js.map +1 -0
  302. package/dist/inspect-DWCLRZGR.js +192 -0
  303. package/dist/inspect-DWCLRZGR.js.map +1 -0
  304. package/dist/instant-experiences-RM4MLJTL.js +260 -0
  305. package/dist/instant-experiences-RM4MLJTL.js.map +1 -0
  306. package/dist/intent-ZMYMFGB4.js +95 -0
  307. package/dist/keyword-gap-XSJO2R77.js +130 -0
  308. package/dist/keyword-metrics-M46FCTAS.js +200 -0
  309. package/dist/keyword-metrics-M46FCTAS.js.map +1 -0
  310. package/dist/keywords-for-site-XNSLX7EA.js +131 -0
  311. package/dist/keywords-for-site-XNSLX7EA.js.map +1 -0
  312. package/dist/landing-MUNYZQNA.js +28 -0
  313. package/dist/languages-DIQ3OG3E.js +40 -0
  314. package/dist/lead-routes-XBO2GOBL.js +608 -0
  315. package/dist/lead-routes-XBO2GOBL.js.map +1 -0
  316. package/dist/leads-LAATTW5G.js +115 -0
  317. package/dist/leads-LAATTW5G.js.map +1 -0
  318. package/dist/leads-ULYHTG22.js +540 -0
  319. package/dist/leads-ULYHTG22.js.map +1 -0
  320. package/dist/learn-3GLY4G3H.js +207 -0
  321. package/dist/learn-3GLY4G3H.js.map +1 -0
  322. package/dist/line-item-writes-XJTTA3X5.js +211 -0
  323. package/dist/line-item-writes-XJTTA3X5.js.map +1 -0
  324. package/dist/line-items-JR25T2C5.js +107 -0
  325. package/dist/link-7DSLIF3I.js +67 -0
  326. package/dist/link-7DSLIF3I.js.map +1 -0
  327. package/dist/linkedin-W5BJ6HEH.js +1316 -0
  328. package/dist/linkedin-W5BJ6HEH.js.map +1 -0
  329. package/dist/linkedin-person-2ZYSOHYR.js +139 -0
  330. package/dist/linkedin-person-2ZYSOHYR.js.map +1 -0
  331. package/dist/list-3653DIYB.js +67 -0
  332. package/dist/list-3653DIYB.js.map +1 -0
  333. package/dist/list-G66HVYCR.js +306 -0
  334. package/dist/list-G66HVYCR.js.map +1 -0
  335. package/dist/list-Z4M53MS5.js +154 -0
  336. package/dist/list-Z4M53MS5.js.map +1 -0
  337. package/dist/locations-HTVYJSDJ.js +40 -0
  338. package/dist/locations-M2B5XDU4.js +69 -0
  339. package/dist/locations-M2B5XDU4.js.map +1 -0
  340. package/dist/log-2RJU5BOW.js +95 -0
  341. package/dist/log-2RJU5BOW.js.map +1 -0
  342. package/dist/lookup-S5VG7AWH.js +23 -0
  343. package/dist/make-MJ6JMU5T.js +1370 -0
  344. package/dist/make-MJ6JMU5T.js.map +1 -0
  345. package/dist/map-27IPOBY6.js +436 -0
  346. package/dist/map-27IPOBY6.js.map +1 -0
  347. package/dist/mcp-TFQTME4P.js +717 -0
  348. package/dist/mcp-TFQTME4P.js.map +1 -0
  349. package/dist/media-P4T4ZBNS.js +18 -0
  350. package/dist/media-sources-P246GM7W.js +35 -0
  351. package/dist/members-KOKBTUC2.js +47 -0
  352. package/dist/members-KOKBTUC2.js.map +1 -0
  353. package/dist/meta-IPLWNYC7.js +122 -0
  354. package/dist/metrics-WYWUX6Y5.js +152 -0
  355. package/dist/models-HJ7Y55AH.js +155 -0
  356. package/dist/normalize-GXBUNTYJ.js +144 -0
  357. package/dist/normalize-GXBUNTYJ.js.map +1 -0
  358. package/dist/options-MA25RNXF.js +125 -0
  359. package/dist/options-MA25RNXF.js.map +1 -0
  360. package/dist/organization-NLEVNGKQ.js +949 -0
  361. package/dist/organization-NLEVNGKQ.js.map +1 -0
  362. package/dist/page-photos-OQ5QATQH.js +118 -0
  363. package/dist/page-photos-OQ5QATQH.js.map +1 -0
  364. package/dist/performance-34EUP5KL.js +5541 -0
  365. package/dist/performance-34EUP5KL.js.map +1 -0
  366. package/dist/performance-J3DLNI2W.js +27 -0
  367. package/dist/pixels-THEGYRXT.js +62 -0
  368. package/dist/pixels-THEGYRXT.js.map +1 -0
  369. package/dist/plan-7UF76Q6U.js +208 -0
  370. package/dist/plan-7UF76Q6U.js.map +1 -0
  371. package/dist/preview-LRJOQ7LM.js +218 -0
  372. package/dist/preview-LRJOQ7LM.js.map +1 -0
  373. package/dist/promoted-tweet-writes-SBXWKO23.js +183 -0
  374. package/dist/promoted-tweet-writes-SBXWKO23.js.map +1 -0
  375. package/dist/promoted-tweets-W42FNWS7.js +119 -0
  376. package/dist/publish-YG76GOA7.js +344 -0
  377. package/dist/publish-YG76GOA7.js.map +1 -0
  378. package/dist/query-IQICLABN.js +62 -0
  379. package/dist/questionnaire-DWEH5II4.js +94 -0
  380. package/dist/questionnaire-DWEH5II4.js.map +1 -0
  381. package/dist/reddit-X4CERXYF.js +29 -0
  382. package/dist/refresh-A36GA7JN.js +97 -0
  383. package/dist/refresh-A36GA7JN.js.map +1 -0
  384. package/dist/release-3NCMZIDI.js +63 -0
  385. package/dist/release-3NCMZIDI.js.map +1 -0
  386. package/dist/relevant-pages-UDDQOYLD.js +99 -0
  387. package/dist/remove-6LE3XNRG.js +53 -0
  388. package/dist/remove-6LE3XNRG.js.map +1 -0
  389. package/dist/reopen-XLADJ2UU.js +66 -0
  390. package/dist/reopen-XLADJ2UU.js.map +1 -0
  391. package/dist/rerun-QVMFJZA2.js +95 -0
  392. package/dist/rerun-QVMFJZA2.js.map +1 -0
  393. package/dist/research-D5UUJF74.js +72 -0
  394. package/dist/research-QCI5ISUE.js +265 -0
  395. package/dist/research-QCI5ISUE.js.map +1 -0
  396. package/dist/reset-DD37KDXQ.js +57 -0
  397. package/dist/reset-DD37KDXQ.js.map +1 -0
  398. package/dist/reset-FLZPKY2N.js +57 -0
  399. package/dist/reset-FLZPKY2N.js.map +1 -0
  400. package/dist/resolve-KRKIJKT7.js +124 -0
  401. package/dist/resolve-KRKIJKT7.js.map +1 -0
  402. package/dist/retry-ALXYEKFV.js +65 -0
  403. package/dist/retry-ALXYEKFV.js.map +1 -0
  404. package/dist/retry-MIXKW4EW.js +63 -0
  405. package/dist/retry-MIXKW4EW.js.map +1 -0
  406. package/dist/revenue-UBZUTSXN.js +91 -0
  407. package/dist/revenue-UBZUTSXN.js.map +1 -0
  408. package/dist/rule-writes-UAVWT4XS.js +525 -0
  409. package/dist/rule-writes-UAVWT4XS.js.map +1 -0
  410. package/dist/rules-SO6P44B6.js +99 -0
  411. package/dist/rules-SO6P44B6.js.map +1 -0
  412. package/dist/rules-ZVS2MWED.js +217 -0
  413. package/dist/rules-add-XN3BZKFO.js +465 -0
  414. package/dist/rules-add-XN3BZKFO.js.map +1 -0
  415. package/dist/run-K2DOMOAN.js +69 -0
  416. package/dist/run-K2DOMOAN.js.map +1 -0
  417. package/dist/run-T7XAH2W5.js +70 -0
  418. package/dist/scaffold-ad-TWIT7R4U.js +1516 -0
  419. package/dist/scaffold-ad-TWIT7R4U.js.map +1 -0
  420. package/dist/scaffold-static-ad-GPJKOGOI.js +1015 -0
  421. package/dist/scaffold-static-ad-GPJKOGOI.js.map +1 -0
  422. package/dist/scaffold-video-7BQNOJ4S.js +888 -0
  423. package/dist/scaffold-video-7BQNOJ4S.js.map +1 -0
  424. package/dist/schedule-UTRVEWPE.js +64 -0
  425. package/dist/schedule-UTRVEWPE.js.map +1 -0
  426. package/dist/scheduled-agents-ZGCUZ6SB.js +55 -0
  427. package/dist/schema-D6BMZAPB.js +69 -0
  428. package/dist/schema-DSMF6ELE.js +135 -0
  429. package/dist/schema-DSMF6ELE.js.map +1 -0
  430. package/dist/search-2P72GSKY.js +177 -0
  431. package/dist/search-2P72GSKY.js.map +1 -0
  432. package/dist/select-N7VWQ2ZQ.js +106 -0
  433. package/dist/select-N7VWQ2ZQ.js.map +1 -0
  434. package/dist/sends-LAY5C74B.js +349 -0
  435. package/dist/sends-LAY5C74B.js.map +1 -0
  436. package/dist/set-prompt-3N3HMHT6.js +198 -0
  437. package/dist/set-prompt-3N3HMHT6.js.map +1 -0
  438. package/dist/setup-links-I5RFZTS4.js +144 -0
  439. package/dist/setup-links-I5RFZTS4.js.map +1 -0
  440. package/dist/shopify-LXSR37XI.js +3958 -0
  441. package/dist/shopify-LXSR37XI.js.map +1 -0
  442. package/dist/site-AI3BFWRK.js +180 -0
  443. package/dist/site-AI3BFWRK.js.map +1 -0
  444. package/dist/sources-AOF2YDYX.js +457 -0
  445. package/dist/sources-AOF2YDYX.js.map +1 -0
  446. package/dist/sources-DVMJEXEX.js +30 -0
  447. package/dist/stale-P4GGOLIB.js +76 -0
  448. package/dist/stale-P4GGOLIB.js.map +1 -0
  449. package/dist/status-O25MXHU4.js +65 -0
  450. package/dist/status-O25MXHU4.js.map +1 -0
  451. package/dist/studies-EPO2AM4M.js +250 -0
  452. package/dist/studio-5Z4NMA4K.js +49 -0
  453. package/dist/study-writes-7FP443QQ.js +470 -0
  454. package/dist/study-writes-7FP443QQ.js.map +1 -0
  455. package/dist/sync-2AI7LKKN.js +57 -0
  456. package/dist/sync-2AI7LKKN.js.map +1 -0
  457. package/dist/sync-definition-F3CXG6KG.js +69 -0
  458. package/dist/tags-SEZ2CQJM.js +26 -0
  459. package/dist/tags-TJDZXOXS.js +227 -0
  460. package/dist/tags-TJDZXOXS.js.map +1 -0
  461. package/dist/tags-YSC7ZILI.js +23 -0
  462. package/dist/tags-YSC7ZILI.js.map +1 -0
  463. package/dist/tags-Z6EALYOS.js +23 -0
  464. package/dist/tags-Z6EALYOS.js.map +1 -0
  465. package/dist/tags-ZXSVW6XO.js +23 -0
  466. package/dist/tags-ZXSVW6XO.js.map +1 -0
  467. package/dist/targeting-NKZFEZD7.js +762 -0
  468. package/dist/targeting-NKZFEZD7.js.map +1 -0
  469. package/dist/targeting-criteria-AU5CSMAU.js +113 -0
  470. package/dist/targets-IOIH5JYS.js +106 -0
  471. package/dist/targets-IOIH5JYS.js.map +1 -0
  472. package/dist/testimonials-Y6PUV6AL.js +32 -0
  473. package/dist/themes-PGPIAKAO.js +95 -0
  474. package/dist/top-companies-FSITN3ZR.js +111 -0
  475. package/dist/top-companies-FSITN3ZR.js.map +1 -0
  476. package/dist/transcript-CGPX7Y37.js +165 -0
  477. package/dist/transcript-CGPX7Y37.js.map +1 -0
  478. package/dist/translate-QCBMGOKR.js +609 -0
  479. package/dist/translate-QCBMGOKR.js.map +1 -0
  480. package/dist/triggers-MONMZSKT.js +144 -0
  481. package/dist/triggers-MONMZSKT.js.map +1 -0
  482. package/dist/unlink-I7QFQQKO.js +70 -0
  483. package/dist/unlink-I7QFQQKO.js.map +1 -0
  484. package/dist/unstage-JXG5AU5Q.js +88 -0
  485. package/dist/unstage-JXG5AU5Q.js.map +1 -0
  486. package/dist/unstage-ZA3WQBEA.js +96 -0
  487. package/dist/unstage-ZA3WQBEA.js.map +1 -0
  488. package/dist/update-BVZGM54I.js +66 -0
  489. package/dist/update-BVZGM54I.js.map +1 -0
  490. package/dist/update-EI2BHUM2.js +101 -0
  491. package/dist/update-EI2BHUM2.js.map +1 -0
  492. package/dist/update-RZSV4NYP.js +155 -0
  493. package/dist/update-RZSV4NYP.js.map +1 -0
  494. package/dist/update-WLDNOZ5U.js +192 -0
  495. package/dist/update-WLDNOZ5U.js.map +1 -0
  496. package/dist/upload-BP3YEQSF.js +129 -0
  497. package/dist/upload-BP3YEQSF.js.map +1 -0
  498. package/dist/url-options-63DED6CR.js +131 -0
  499. package/dist/url-options-63DED6CR.js.map +1 -0
  500. package/dist/url-params-TRFI2PMD.js +101 -0
  501. package/dist/url-params-TRFI2PMD.js.map +1 -0
  502. package/dist/validate-SNCR25A7.js +122 -0
  503. package/dist/validate-SNCR25A7.js.map +1 -0
  504. package/dist/videos-SVZV5YYC.js +41 -0
  505. package/dist/viewer-check-LUAEGV6H.js +83 -0
  506. package/dist/web-MJQEK7BB.js +143 -0
  507. package/dist/web-MJQEK7BB.js.map +1 -0
  508. package/dist/winning-ads-KNLJHHCO.js +86 -0
  509. package/dist/write-commands-NVCX7IAU.js +1502 -0
  510. package/dist/write-commands-NVCX7IAU.js.map +1 -0
  511. package/dist/write-commands-OGVDWWBV.js +1172 -0
  512. package/dist/write-commands-OGVDWWBV.js.map +1 -0
  513. package/dist/x-ZQNHYIDU.js +47 -0
  514. package/package.json +1 -1
  515. package/dist/account-C635ATVM.js +0 -80
  516. package/dist/account-C635ATVM.js.map +0 -1
  517. package/dist/account-WLQBAQMD.js +0 -80
  518. package/dist/account-WLQBAQMD.js.map +0 -1
  519. package/dist/account-assets-O7IA37RE.js +0 -290
  520. package/dist/account-level-EU7BWCO7.js +0 -609
  521. package/dist/account-level-EU7BWCO7.js.map +0 -1
  522. package/dist/account-reads-SNOWDHHF.js +0 -219
  523. package/dist/account-users-XYYENK6X.js +0 -62
  524. package/dist/account-users-XYYENK6X.js.map +0 -1
  525. package/dist/account-writes-TU3WJRSI.js +0 -66
  526. package/dist/account-writes-TU3WJRSI.js.map +0 -1
  527. package/dist/accounts-A2FBLZ5H.js +0 -78
  528. package/dist/accounts-A2FBLZ5H.js.map +0 -1
  529. package/dist/accounts-V2IZZ5KU.js +0 -699
  530. package/dist/accounts-V2IZZ5KU.js.map +0 -1
  531. package/dist/actions-Y4SULW2E.js +0 -55
  532. package/dist/activecampaign-63XG6CLL.js +0 -936
  533. package/dist/activecampaign-63XG6CLL.js.map +0 -1
  534. package/dist/ad-group-writes-HLBWN4E4.js +0 -170
  535. package/dist/ad-group-writes-HLBWN4E4.js.map +0 -1
  536. package/dist/ad-groups-33NZD6J3.js +0 -68
  537. package/dist/ad-groups-33NZD6J3.js.map +0 -1
  538. package/dist/ad-writes-7ZDNDZ2E.js +0 -174
  539. package/dist/ad-writes-7ZDNDZ2E.js.map +0 -1
  540. package/dist/add-FOLFVGQO.js +0 -303
  541. package/dist/add-FOLFVGQO.js.map +0 -1
  542. package/dist/add-RYB4JSYC.js +0 -105
  543. package/dist/add-RYB4JSYC.js.map +0 -1
  544. package/dist/ads-2TVWICGM.js +0 -48
  545. package/dist/ads-KBE5JXCH.js +0 -115
  546. package/dist/ads-X3AM6M7L.js +0 -77
  547. package/dist/ads-X3AM6M7L.js.map +0 -1
  548. package/dist/adsets-YWBJFPAZ.js +0 -182
  549. package/dist/advertisers-IGUMSK5Q.js +0 -121
  550. package/dist/advertisers-IGUMSK5Q.js.map +0 -1
  551. package/dist/analytics-3DKM7J43.js +0 -445
  552. package/dist/analytics-3DKM7J43.js.map +0 -1
  553. package/dist/analytics-R3QDSX2K.js +0 -2435
  554. package/dist/analytics-R3QDSX2K.js.map +0 -1
  555. package/dist/animate-2BMHZ4FM.js +0 -480
  556. package/dist/asset-writes-72DEVXGO.js +0 -48
  557. package/dist/assign-EKCGLNZB.js +0 -78
  558. package/dist/assign-EKCGLNZB.js.map +0 -1
  559. package/dist/audience-size-IKXK32HU.js +0 -74
  560. package/dist/audience-size-IKXK32HU.js.map +0 -1
  561. package/dist/audience-writes-KCHLNFSI.js +0 -325
  562. package/dist/audience-writes-KCHLNFSI.js.map +0 -1
  563. package/dist/audiences-QAH42HIM.js +0 -86
  564. package/dist/audiences-WCDWN64L.js +0 -268
  565. package/dist/audiences-WCDWN64L.js.map +0 -1
  566. package/dist/audit-CY76S4V7.js +0 -152
  567. package/dist/audit-CY76S4V7.js.map +0 -1
  568. package/dist/autocomplete-G2S5HNUS.js +0 -112
  569. package/dist/autocomplete-G2S5HNUS.js.map +0 -1
  570. package/dist/avatars-P4UPNZM4.js +0 -38
  571. package/dist/bid-pricing-AJT4QU2C.js +0 -101
  572. package/dist/bid-pricing-AJT4QU2C.js.map +0 -1
  573. package/dist/brand-HALQWZWB.js +0 -22
  574. package/dist/brief-NW7TGG2Q.js +0 -541
  575. package/dist/brief-NW7TGG2Q.js.map +0 -1
  576. package/dist/campaign-groups-I43KMAJP.js +0 -97
  577. package/dist/campaign-groups-I43KMAJP.js.map +0 -1
  578. package/dist/campaign-writes-DLLPFAGG.js +0 -166
  579. package/dist/campaign-writes-DLLPFAGG.js.map +0 -1
  580. package/dist/campaign-writes-XO74BALZ.js +0 -174
  581. package/dist/campaign-writes-XO74BALZ.js.map +0 -1
  582. package/dist/campaigns-LS65QM6W.js +0 -76
  583. package/dist/campaigns-LS65QM6W.js.map +0 -1
  584. package/dist/campaigns-UIYSYCF3.js +0 -111
  585. package/dist/campaigns-UIYSYCF3.js.map +0 -1
  586. package/dist/campaigns-XZOQ2VTK.js +0 -130
  587. package/dist/campaigns-YMM5TQVO.js +0 -111
  588. package/dist/canvas-IJS7H3VE.js +0 -46
  589. package/dist/capabilities-XMQPM3UL.js +0 -145
  590. package/dist/capabilities-XMQPM3UL.js.map +0 -1
  591. package/dist/catalog-TZLU5NWI.js +0 -65
  592. package/dist/catalogs-JLCSFZYC.js +0 -779
  593. package/dist/catalogs-JLCSFZYC.js.map +0 -1
  594. package/dist/catalogs-T23RKYFC.js +0 -128
  595. package/dist/catalogs-T23RKYFC.js.map +0 -1
  596. package/dist/changes-36C754R4.js +0 -135
  597. package/dist/chatgpt-3WFOPURY.js +0 -47
  598. package/dist/chats-ZI6EYDAF.js +0 -277
  599. package/dist/chats-ZI6EYDAF.js.map +0 -1
  600. package/dist/check-CHJ2OLAU.js +0 -105
  601. package/dist/check-CHJ2OLAU.js.map +0 -1
  602. package/dist/chunk-2TOIY2WN.js +0 -4254
  603. package/dist/chunk-2TOIY2WN.js.map +0 -1
  604. package/dist/chunk-3YJNSUNF.js +0 -131
  605. package/dist/chunk-4GAEB6NK.js +0 -228
  606. package/dist/chunk-5RVQK3SP.js +0 -494
  607. package/dist/chunk-5SRUAGTG.js +0 -547
  608. package/dist/chunk-5XTGG4PV.js +0 -274
  609. package/dist/chunk-6KWEF6HF.js +0 -8914
  610. package/dist/chunk-6Z7Y4KQB.js +0 -275
  611. package/dist/chunk-7HZSORAB.js +0 -843
  612. package/dist/chunk-7J3NZBPV.js +0 -2982
  613. package/dist/chunk-7J3NZBPV.js.map +0 -1
  614. package/dist/chunk-A3IQAONL.js +0 -638
  615. package/dist/chunk-AIRD6T4W.js +0 -169
  616. package/dist/chunk-AQOFQNKQ.js +0 -57
  617. package/dist/chunk-ARUXGKZO.js +0 -91
  618. package/dist/chunk-ASRS37QE.js +0 -710
  619. package/dist/chunk-ASRS37QE.js.map +0 -1
  620. package/dist/chunk-AYPBARKP.js +0 -156
  621. package/dist/chunk-BRLZX3VP.js +0 -207
  622. package/dist/chunk-BTJSGJNQ.js +0 -604
  623. package/dist/chunk-C7QQQVBS.js +0 -51
  624. package/dist/chunk-CCEDZTP7.js +0 -391
  625. package/dist/chunk-CCEDZTP7.js.map +0 -1
  626. package/dist/chunk-D3KLDIPQ.js +0 -45
  627. package/dist/chunk-DUR7PEJI.js +0 -170
  628. package/dist/chunk-EDLZGTGN.js +0 -216
  629. package/dist/chunk-EDLZGTGN.js.map +0 -1
  630. package/dist/chunk-F4YQ5PVR.js +0 -1518
  631. package/dist/chunk-FFFJBNHA.js +0 -63
  632. package/dist/chunk-FFG2OYVV.js +0 -64
  633. package/dist/chunk-FPWQA7TK.js +0 -344
  634. package/dist/chunk-G5Y7OIPL.js +0 -392
  635. package/dist/chunk-GACSA5A6.js +0 -1646
  636. package/dist/chunk-GMHCHHAA.js +0 -19
  637. package/dist/chunk-H4NNQGG6.js +0 -66
  638. package/dist/chunk-HML3VQIW.js +0 -225
  639. package/dist/chunk-HSQRITKG.js +0 -203
  640. package/dist/chunk-I47BEKYK.js +0 -831
  641. package/dist/chunk-JAC6JVCI.js +0 -26
  642. package/dist/chunk-JND6XSGZ.js +0 -7192
  643. package/dist/chunk-JND6XSGZ.js.map +0 -1
  644. package/dist/chunk-KBRJSPIM.js +0 -676
  645. package/dist/chunk-KQTNUDKD.js +0 -97
  646. package/dist/chunk-LRV6M2WB.js +0 -1919
  647. package/dist/chunk-M7HD42M6.js +0 -24017
  648. package/dist/chunk-M7HD42M6.js.map +0 -1
  649. package/dist/chunk-MBSFEVOG.js +0 -163
  650. package/dist/chunk-MCJ5I5LR.js +0 -3187
  651. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  652. package/dist/chunk-MGYC2IRC.js +0 -783
  653. package/dist/chunk-MUXKYSTI.js +0 -297
  654. package/dist/chunk-MVD7QIXI.js +0 -46
  655. package/dist/chunk-MZCTX37B.js +0 -3868
  656. package/dist/chunk-MZPS46OR.js +0 -76
  657. package/dist/chunk-N7M2TWR5.js +0 -592
  658. package/dist/chunk-NDFS3APP.js +0 -319
  659. package/dist/chunk-OBJCNGZL.js +0 -207
  660. package/dist/chunk-OJGYYH6K.js +0 -179
  661. package/dist/chunk-P6BKKUSX.js +0 -142
  662. package/dist/chunk-PLAOK4AK.js +0 -103
  663. package/dist/chunk-PLBITHV6.js +0 -846
  664. package/dist/chunk-PNKIOTCK.js +0 -349
  665. package/dist/chunk-PNKIOTCK.js.map +0 -1
  666. package/dist/chunk-PX3PUDK7.js +0 -167
  667. package/dist/chunk-QBRPM3DQ.js +0 -61
  668. package/dist/chunk-QMDMTZAW.js +0 -224
  669. package/dist/chunk-QW6HL7D6.js +0 -429
  670. package/dist/chunk-R53XMPDO.js +0 -363
  671. package/dist/chunk-RFIUOQLN.js +0 -89
  672. package/dist/chunk-RVEY7BTT.js +0 -8954
  673. package/dist/chunk-SCL7PM6P.js +0 -479
  674. package/dist/chunk-SM7G7RUA.js +0 -910
  675. package/dist/chunk-SVBJ56T7.js +0 -455
  676. package/dist/chunk-SWN6OHXG.js +0 -148
  677. package/dist/chunk-TVAIOC77.js +0 -287
  678. package/dist/chunk-TVTSA4EN.js +0 -188
  679. package/dist/chunk-TX7CQTD4.js +0 -5368
  680. package/dist/chunk-UKSSNYLU.js +0 -98
  681. package/dist/chunk-VIPKDXGU.js +0 -4229
  682. package/dist/chunk-VIPKDXGU.js.map +0 -1
  683. package/dist/chunk-W574NV67.js +0 -191
  684. package/dist/chunk-XGPU2VDU.js +0 -219
  685. package/dist/chunk-XQXZJ5IR.js +0 -249
  686. package/dist/chunk-YMF2RG4Z.js +0 -942
  687. package/dist/chunk-YNYAT2TZ.js +0 -285
  688. package/dist/chunk-Z2DRGXBB.js +0 -197
  689. package/dist/chunk-Z7YMSHRZ.js +0 -23
  690. package/dist/chunk-ZEC46NWW.js +0 -122
  691. package/dist/chunk-ZFC562TP.js +0 -387
  692. package/dist/chunk-ZNRGH4NS.js +0 -150
  693. package/dist/claim-OUYHVGB4.js +0 -198
  694. package/dist/claim-OUYHVGB4.js.map +0 -1
  695. package/dist/companies-XDNSG7ME.js +0 -196
  696. package/dist/companies-XDNSG7ME.js.map +0 -1
  697. package/dist/company-4FAYYPEJ.js +0 -306
  698. package/dist/company-4FAYYPEJ.js.map +0 -1
  699. package/dist/complete-M2PAUMDP.js +0 -82
  700. package/dist/complete-M2PAUMDP.js.map +0 -1
  701. package/dist/connect-PP6Z3F7Y.js +0 -43
  702. package/dist/conversation-B5NPTLFQ.js +0 -94
  703. package/dist/conversation-B5NPTLFQ.js.map +0 -1
  704. package/dist/conversion-report-DKXFHLLX.js +0 -125
  705. package/dist/conversion-report-DKXFHLLX.js.map +0 -1
  706. package/dist/conversion-upload-command-KTYAY7IG.js +0 -439
  707. package/dist/conversion-writes-7ODJDAUP.js +0 -120
  708. package/dist/conversion-writes-7ODJDAUP.js.map +0 -1
  709. package/dist/conversions-BKVGNNC6.js +0 -76
  710. package/dist/conversions-BKVGNNC6.js.map +0 -1
  711. package/dist/conversions-QRJL6JIO.js +0 -138
  712. package/dist/conversions-QRJL6JIO.js.map +0 -1
  713. package/dist/copy-writes-P4WK6OPM.js +0 -168
  714. package/dist/copy-writes-P4WK6OPM.js.map +0 -1
  715. package/dist/create-4DWCJ2UA.js +0 -208
  716. package/dist/create-4DWCJ2UA.js.map +0 -1
  717. package/dist/create-OYV33CQ6.js +0 -60
  718. package/dist/create-OYV33CQ6.js.map +0 -1
  719. package/dist/create-U6JVIYFY.js +0 -237
  720. package/dist/create-U6JVIYFY.js.map +0 -1
  721. package/dist/create-V4FNRO63.js +0 -133
  722. package/dist/create-V4FNRO63.js.map +0 -1
  723. package/dist/creatives-64FKWEGL.js +0 -221
  724. package/dist/creatives-64FKWEGL.js.map +0 -1
  725. package/dist/creatives-JPKA2RHU.js +0 -89
  726. package/dist/creatives-UJDPD4CI.js +0 -58
  727. package/dist/credentials-EIPEZ2C2.js +0 -288
  728. package/dist/credentials-EIPEZ2C2.js.map +0 -1
  729. package/dist/critique-BADMZAZP.js +0 -230
  730. package/dist/critique-BADMZAZP.js.map +0 -1
  731. package/dist/critique-M3DEVEDA.js +0 -1449
  732. package/dist/critique-M3DEVEDA.js.map +0 -1
  733. package/dist/crm-GIYSLLY7.js +0 -321
  734. package/dist/crm-GIYSLLY7.js.map +0 -1
  735. package/dist/crm-HXKSJRY3.js +0 -225
  736. package/dist/crm-HXKSJRY3.js.map +0 -1
  737. package/dist/currency-R4ORE2U3.js +0 -88
  738. package/dist/custom-conversions-5HJBB5XL.js +0 -128
  739. package/dist/customers-7J3QGSOJ.js +0 -57
  740. package/dist/delete-EDWJQMMV.js +0 -65
  741. package/dist/delete-EDWJQMMV.js.map +0 -1
  742. package/dist/delete-O24CVQMJ.js +0 -67
  743. package/dist/delete-O24CVQMJ.js.map +0 -1
  744. package/dist/delete-QN2OYUCS.js +0 -55
  745. package/dist/delete-QN2OYUCS.js.map +0 -1
  746. package/dist/demographics-MPYYF2OI.js +0 -139
  747. package/dist/demographics-MPYYF2OI.js.map +0 -1
  748. package/dist/discard-FJCFB6SA.js +0 -67
  749. package/dist/discard-FJCFB6SA.js.map +0 -1
  750. package/dist/discover-GSJRZUOC.js +0 -172
  751. package/dist/domain-UILPSEA5.js +0 -99
  752. package/dist/domain-UILPSEA5.js.map +0 -1
  753. package/dist/download-ZMAI7QSG.js +0 -170
  754. package/dist/download-ZMAI7QSG.js.map +0 -1
  755. package/dist/draft-5OQT3APG.js +0 -308
  756. package/dist/draft-5OQT3APG.js.map +0 -1
  757. package/dist/draft-LPVK6YHI.js +0 -281
  758. package/dist/draft-LPVK6YHI.js.map +0 -1
  759. package/dist/draft-MSESA5UE.js +0 -333
  760. package/dist/draft-MSESA5UE.js.map +0 -1
  761. package/dist/draft-WYDMLNYA.js +0 -308
  762. package/dist/draft-XOOSEVY5.js +0 -218
  763. package/dist/draft-XOOSEVY5.js.map +0 -1
  764. package/dist/experiments-PVOQUL47.js +0 -234
  765. package/dist/experiments-PVOQUL47.js.map +0 -1
  766. package/dist/facets-5RW4Z3D3.js +0 -115
  767. package/dist/facets-5RW4Z3D3.js.map +0 -1
  768. package/dist/feedback-GC56R2EJ.js +0 -109
  769. package/dist/feedback-GC56R2EJ.js.map +0 -1
  770. package/dist/feedback-record-JX7ZU6J7.js +0 -263
  771. package/dist/feedback-record-JX7ZU6J7.js.map +0 -1
  772. package/dist/fetch-WUTXAPBL.js +0 -177
  773. package/dist/fetch-WUTXAPBL.js.map +0 -1
  774. package/dist/fit-N7WDGWYZ.js +0 -63
  775. package/dist/flows-ULZACISF.js +0 -248
  776. package/dist/flows-ULZACISF.js.map +0 -1
  777. package/dist/fonts-TTUAP7HS.js +0 -37
  778. package/dist/forecast-4AG5F7YC.js +0 -169
  779. package/dist/forecast-RQJJRN5D.js +0 -119
  780. package/dist/forecast-RQJJRN5D.js.map +0 -1
  781. package/dist/funnel-QPWJIXWK.js +0 -395
  782. package/dist/funnel-QPWJIXWK.js.map +0 -1
  783. package/dist/generate-NWHPM2GQ.js +0 -263
  784. package/dist/get-35D7YHWJ.js +0 -57
  785. package/dist/get-35D7YHWJ.js.map +0 -1
  786. package/dist/get-GIETDPF4.js +0 -80
  787. package/dist/get-GIETDPF4.js.map +0 -1
  788. package/dist/google-NAA4BASO.js +0 -3267
  789. package/dist/google-ads-2IZFZO4C.js +0 -196
  790. package/dist/google-ads-2IZFZO4C.js.map +0 -1
  791. package/dist/history-5MRLNTCI.js +0 -67
  792. package/dist/history-5MRLNTCI.js.map +0 -1
  793. package/dist/history-RPLWWPLQ.js +0 -134
  794. package/dist/history-RPLWWPLQ.js.map +0 -1
  795. package/dist/history-TQYLUYVU.js +0 -100
  796. package/dist/history-TQYLUYVU.js.map +0 -1
  797. package/dist/hubspot-EPK43X4C.js +0 -780
  798. package/dist/hubspot-EPK43X4C.js.map +0 -1
  799. package/dist/ideas-SUXKKZC7.js +0 -43
  800. package/dist/images-VKVZ3DWG.js +0 -92
  801. package/dist/ingest-BBBFT6FZ.js +0 -24
  802. package/dist/ingest-EM2UY42Z.js +0 -108
  803. package/dist/ingest-EM2UY42Z.js.map +0 -1
  804. package/dist/insights-M3CYB22P.js +0 -437
  805. package/dist/insights-M3CYB22P.js.map +0 -1
  806. package/dist/insights-XCT3ONC7.js +0 -130
  807. package/dist/insights-XCT3ONC7.js.map +0 -1
  808. package/dist/inspect-ZPOVOENK.js +0 -190
  809. package/dist/inspect-ZPOVOENK.js.map +0 -1
  810. package/dist/instant-experiences-HT3HB4QZ.js +0 -258
  811. package/dist/instant-experiences-HT3HB4QZ.js.map +0 -1
  812. package/dist/intent-NSHW7EJT.js +0 -95
  813. package/dist/keyword-gap-ITTWKBWZ.js +0 -130
  814. package/dist/keyword-metrics-7DPR264W.js +0 -198
  815. package/dist/keyword-metrics-7DPR264W.js.map +0 -1
  816. package/dist/keywords-for-site-IXL22UKQ.js +0 -129
  817. package/dist/keywords-for-site-IXL22UKQ.js.map +0 -1
  818. package/dist/landing-KZ4OSHHR.js +0 -28
  819. package/dist/languages-MEFQQBJ2.js +0 -40
  820. package/dist/leads-DNQTRYIR.js +0 -113
  821. package/dist/leads-DNQTRYIR.js.map +0 -1
  822. package/dist/leads-SZOGCQFK.js +0 -538
  823. package/dist/leads-SZOGCQFK.js.map +0 -1
  824. package/dist/learn-Q7WZG7FA.js +0 -205
  825. package/dist/learn-Q7WZG7FA.js.map +0 -1
  826. package/dist/line-item-writes-3K7FT5GO.js +0 -209
  827. package/dist/line-item-writes-3K7FT5GO.js.map +0 -1
  828. package/dist/line-items-G5YJG25N.js +0 -107
  829. package/dist/link-2QVSIZJT.js +0 -65
  830. package/dist/link-2QVSIZJT.js.map +0 -1
  831. package/dist/linkedin-VAFPZNWZ.js +0 -1314
  832. package/dist/linkedin-VAFPZNWZ.js.map +0 -1
  833. package/dist/linkedin-person-EHTYVNZY.js +0 -137
  834. package/dist/linkedin-person-EHTYVNZY.js.map +0 -1
  835. package/dist/list-5TS2VPQZ.js +0 -152
  836. package/dist/list-5TS2VPQZ.js.map +0 -1
  837. package/dist/list-PSSQXQRJ.js +0 -65
  838. package/dist/list-PSSQXQRJ.js.map +0 -1
  839. package/dist/list-UMVIFQ3X.js +0 -304
  840. package/dist/list-UMVIFQ3X.js.map +0 -1
  841. package/dist/locations-RLWAS6AC.js +0 -40
  842. package/dist/locations-UKBOT6SB.js +0 -67
  843. package/dist/locations-UKBOT6SB.js.map +0 -1
  844. package/dist/log-ZZK3QMZB.js +0 -93
  845. package/dist/log-ZZK3QMZB.js.map +0 -1
  846. package/dist/lookup-ZJIP2M4X.js +0 -22
  847. package/dist/make-DB2BDVB3.js +0 -1368
  848. package/dist/make-DB2BDVB3.js.map +0 -1
  849. package/dist/map-UJ23GKRH.js +0 -434
  850. package/dist/map-UJ23GKRH.js.map +0 -1
  851. package/dist/mcp-SS2ALFRJ.js +0 -715
  852. package/dist/mcp-SS2ALFRJ.js.map +0 -1
  853. package/dist/media-ZWN7E777.js +0 -18
  854. package/dist/media-sources-GKSEDSE3.js +0 -35
  855. package/dist/members-KD2XRYPZ.js +0 -45
  856. package/dist/members-KD2XRYPZ.js.map +0 -1
  857. package/dist/meta-EHKXH257.js +0 -122
  858. package/dist/metrics-K6FDCMK7.js +0 -152
  859. package/dist/models-JQEPSPNQ.js +0 -155
  860. package/dist/normalize-ZNTXNX6D.js +0 -142
  861. package/dist/normalize-ZNTXNX6D.js.map +0 -1
  862. package/dist/options-TBIFJF3E.js +0 -123
  863. package/dist/options-TBIFJF3E.js.map +0 -1
  864. package/dist/organization-26J2ZIKM.js +0 -947
  865. package/dist/organization-26J2ZIKM.js.map +0 -1
  866. package/dist/page-photos-HWKQOSCU.js +0 -116
  867. package/dist/page-photos-HWKQOSCU.js.map +0 -1
  868. package/dist/performance-6TPJGM6A.js +0 -25
  869. package/dist/performance-O5BXZGS6.js +0 -5539
  870. package/dist/performance-O5BXZGS6.js.map +0 -1
  871. package/dist/pixels-Z7ZGXAGB.js +0 -60
  872. package/dist/pixels-Z7ZGXAGB.js.map +0 -1
  873. package/dist/plan-TVQSEKYL.js +0 -207
  874. package/dist/plan-TVQSEKYL.js.map +0 -1
  875. package/dist/preview-CWRGDFCP.js +0 -216
  876. package/dist/preview-CWRGDFCP.js.map +0 -1
  877. package/dist/promoted-tweet-writes-SZN74JHY.js +0 -181
  878. package/dist/promoted-tweet-writes-SZN74JHY.js.map +0 -1
  879. package/dist/promoted-tweets-7P4TSQU7.js +0 -119
  880. package/dist/publish-3DUERLGT.js +0 -342
  881. package/dist/publish-3DUERLGT.js.map +0 -1
  882. package/dist/query-QM7MBQD7.js +0 -62
  883. package/dist/questionnaire-LEZJLMAV.js +0 -93
  884. package/dist/questionnaire-LEZJLMAV.js.map +0 -1
  885. package/dist/reddit-SN5CESF4.js +0 -27
  886. package/dist/refresh-2ICQBTK4.js +0 -95
  887. package/dist/refresh-2ICQBTK4.js.map +0 -1
  888. package/dist/release-JSZ4JXYJ.js +0 -61
  889. package/dist/release-JSZ4JXYJ.js.map +0 -1
  890. package/dist/relevant-pages-VOICMQ7U.js +0 -99
  891. package/dist/remove-TFUAVRFM.js +0 -51
  892. package/dist/remove-TFUAVRFM.js.map +0 -1
  893. package/dist/reopen-5T2PE7MU.js +0 -64
  894. package/dist/reopen-5T2PE7MU.js.map +0 -1
  895. package/dist/rerun-EZJ4MLYG.js +0 -93
  896. package/dist/rerun-EZJ4MLYG.js.map +0 -1
  897. package/dist/research-BKYSU2C6.js +0 -263
  898. package/dist/research-BKYSU2C6.js.map +0 -1
  899. package/dist/research-QU63CJB5.js +0 -72
  900. package/dist/reset-DKTKZF7G.js +0 -55
  901. package/dist/reset-DKTKZF7G.js.map +0 -1
  902. package/dist/reset-SXABIVP6.js +0 -55
  903. package/dist/reset-SXABIVP6.js.map +0 -1
  904. package/dist/resolve-L47U2T77.js +0 -122
  905. package/dist/resolve-L47U2T77.js.map +0 -1
  906. package/dist/retry-JEWPK2B5.js +0 -63
  907. package/dist/retry-JEWPK2B5.js.map +0 -1
  908. package/dist/retry-SXFVLT3W.js +0 -61
  909. package/dist/retry-SXFVLT3W.js.map +0 -1
  910. package/dist/revenue-2MAYTXRM.js +0 -89
  911. package/dist/revenue-2MAYTXRM.js.map +0 -1
  912. package/dist/rule-writes-S3RN47OG.js +0 -523
  913. package/dist/rule-writes-S3RN47OG.js.map +0 -1
  914. package/dist/rules-CHWTFASP.js +0 -97
  915. package/dist/rules-CHWTFASP.js.map +0 -1
  916. package/dist/rules-KTJ2ZZ62.js +0 -217
  917. package/dist/rules-add-3M5TALWN.js +0 -463
  918. package/dist/rules-add-3M5TALWN.js.map +0 -1
  919. package/dist/run-2DLA6YO4.js +0 -68
  920. package/dist/run-JCGH2NHD.js +0 -67
  921. package/dist/run-JCGH2NHD.js.map +0 -1
  922. package/dist/scaffold-ad-VEW7JDY7.js +0 -1514
  923. package/dist/scaffold-ad-VEW7JDY7.js.map +0 -1
  924. package/dist/scaffold-static-ad-DYRL7DOS.js +0 -1013
  925. package/dist/scaffold-static-ad-DYRL7DOS.js.map +0 -1
  926. package/dist/scaffold-video-YRAVVKUH.js +0 -886
  927. package/dist/scaffold-video-YRAVVKUH.js.map +0 -1
  928. package/dist/schedule-WYIC6VNW.js +0 -62
  929. package/dist/schedule-WYIC6VNW.js.map +0 -1
  930. package/dist/scheduled-agents-FRBF4EOK.js +0 -55
  931. package/dist/schema-6Y3IXFDC.js +0 -69
  932. package/dist/schema-TC2O3FYY.js +0 -133
  933. package/dist/schema-TC2O3FYY.js.map +0 -1
  934. package/dist/search-VDW242BN.js +0 -175
  935. package/dist/search-VDW242BN.js.map +0 -1
  936. package/dist/select-O5HSSC36.js +0 -104
  937. package/dist/select-O5HSSC36.js.map +0 -1
  938. package/dist/sends-6FI7WELX.js +0 -348
  939. package/dist/sends-6FI7WELX.js.map +0 -1
  940. package/dist/set-prompt-TI7N64PJ.js +0 -196
  941. package/dist/set-prompt-TI7N64PJ.js.map +0 -1
  942. package/dist/setup-links-BM2FTXUZ.js +0 -142
  943. package/dist/setup-links-BM2FTXUZ.js.map +0 -1
  944. package/dist/shopify-FIHG5PYP.js +0 -3956
  945. package/dist/shopify-FIHG5PYP.js.map +0 -1
  946. package/dist/site-S3IGBMVC.js +0 -178
  947. package/dist/site-S3IGBMVC.js.map +0 -1
  948. package/dist/sources-77WLFY4Y.js +0 -30
  949. package/dist/sources-A4B3R5JC.js +0 -455
  950. package/dist/sources-A4B3R5JC.js.map +0 -1
  951. package/dist/stale-YIRCXDOK.js +0 -74
  952. package/dist/stale-YIRCXDOK.js.map +0 -1
  953. package/dist/status-6YNR647D.js +0 -63
  954. package/dist/status-6YNR647D.js.map +0 -1
  955. package/dist/studies-ZOEUY6YP.js +0 -250
  956. package/dist/studio-T5L7UEX6.js +0 -49
  957. package/dist/study-writes-DTGMCNFP.js +0 -468
  958. package/dist/study-writes-DTGMCNFP.js.map +0 -1
  959. package/dist/sync-FFVWHGLE.js +0 -55
  960. package/dist/sync-FFVWHGLE.js.map +0 -1
  961. package/dist/sync-definition-K4XOAG2B.js +0 -67
  962. package/dist/tags-5KIOGEKN.js +0 -21
  963. package/dist/tags-5KIOGEKN.js.map +0 -1
  964. package/dist/tags-BKAN5EAJ.js +0 -21
  965. package/dist/tags-BKAN5EAJ.js.map +0 -1
  966. package/dist/tags-ETOOYQ57.js +0 -26
  967. package/dist/tags-RPNK7TMO.js +0 -225
  968. package/dist/tags-RPNK7TMO.js.map +0 -1
  969. package/dist/tags-UM4QO46J.js +0 -21
  970. package/dist/tags-UM4QO46J.js.map +0 -1
  971. package/dist/targeting-VBQY3HUN.js +0 -760
  972. package/dist/targeting-VBQY3HUN.js.map +0 -1
  973. package/dist/targeting-criteria-L4DYIJZI.js +0 -113
  974. package/dist/targets-S6N7327Q.js +0 -104
  975. package/dist/targets-S6N7327Q.js.map +0 -1
  976. package/dist/testimonials-65N7IYN7.js +0 -32
  977. package/dist/themes-B4LCQUXB.js +0 -95
  978. package/dist/top-companies-SJKND75M.js +0 -109
  979. package/dist/top-companies-SJKND75M.js.map +0 -1
  980. package/dist/transcript-5I7I6DWL.js +0 -163
  981. package/dist/transcript-5I7I6DWL.js.map +0 -1
  982. package/dist/translate-SH6IG5Y7.js +0 -607
  983. package/dist/translate-SH6IG5Y7.js.map +0 -1
  984. package/dist/triggers-YRY3HTYU.js +0 -142
  985. package/dist/triggers-YRY3HTYU.js.map +0 -1
  986. package/dist/unlink-4B4YTQE4.js +0 -68
  987. package/dist/unlink-4B4YTQE4.js.map +0 -1
  988. package/dist/unstage-H5NTDJ6A.js +0 -86
  989. package/dist/unstage-H5NTDJ6A.js.map +0 -1
  990. package/dist/unstage-MDSSPUKV.js +0 -95
  991. package/dist/unstage-MDSSPUKV.js.map +0 -1
  992. package/dist/update-DI52JJGB.js +0 -99
  993. package/dist/update-DI52JJGB.js.map +0 -1
  994. package/dist/update-DMPDLMMV.js +0 -64
  995. package/dist/update-DMPDLMMV.js.map +0 -1
  996. package/dist/update-TUS4PJIG.js +0 -190
  997. package/dist/update-TUS4PJIG.js.map +0 -1
  998. package/dist/update-Z66LMXNS.js +0 -153
  999. package/dist/update-Z66LMXNS.js.map +0 -1
  1000. package/dist/upload-7KQYZ7T7.js +0 -127
  1001. package/dist/upload-7KQYZ7T7.js.map +0 -1
  1002. package/dist/url-options-IHL4OU4C.js +0 -130
  1003. package/dist/url-options-IHL4OU4C.js.map +0 -1
  1004. package/dist/url-params-SDA2MWB5.js +0 -99
  1005. package/dist/url-params-SDA2MWB5.js.map +0 -1
  1006. package/dist/validate-ZABZNCSB.js +0 -120
  1007. package/dist/validate-ZABZNCSB.js.map +0 -1
  1008. package/dist/videos-BKVCCKIH.js +0 -41
  1009. package/dist/viewer-check-B5O7ZY3Q.js +0 -81
  1010. package/dist/web-KN3BTVG4.js +0 -141
  1011. package/dist/web-KN3BTVG4.js.map +0 -1
  1012. package/dist/winning-ads-JIDPISKM.js +0 -86
  1013. package/dist/write-commands-K6M3RTVK.js +0 -1170
  1014. package/dist/write-commands-K6M3RTVK.js.map +0 -1
  1015. package/dist/write-commands-RVHLLLDR.js +0 -1498
  1016. package/dist/write-commands-RVHLLLDR.js.map +0 -1
  1017. package/dist/x-NLGWZCGX.js +0 -47
  1018. /package/dist/{account-assets-O7IA37RE.js.map → account-assets-J5Z4URLQ.js.map} +0 -0
  1019. /package/dist/{account-reads-SNOWDHHF.js.map → account-reads-FOEVPWDP.js.map} +0 -0
  1020. /package/dist/{actions-Y4SULW2E.js.map → actions-QZDSLFFK.js.map} +0 -0
  1021. /package/dist/{ads-2TVWICGM.js.map → ads-AYJAYLFR.js.map} +0 -0
  1022. /package/dist/{ads-KBE5JXCH.js.map → ads-MAOI7S6V.js.map} +0 -0
  1023. /package/dist/{adsets-YWBJFPAZ.js.map → adsets-QRKICEFD.js.map} +0 -0
  1024. /package/dist/{animate-2BMHZ4FM.js.map → animate-HRWFVE2N.js.map} +0 -0
  1025. /package/dist/{asset-writes-72DEVXGO.js.map → asset-writes-JLVUAVUZ.js.map} +0 -0
  1026. /package/dist/{audiences-QAH42HIM.js.map → audiences-CDDI5HR5.js.map} +0 -0
  1027. /package/dist/{avatars-P4UPNZM4.js.map → avatars-4HCGWBOL.js.map} +0 -0
  1028. /package/dist/{brand-HALQWZWB.js.map → brand-C6OB6Q4U.js.map} +0 -0
  1029. /package/dist/{campaigns-XZOQ2VTK.js.map → campaigns-HES5MDUG.js.map} +0 -0
  1030. /package/dist/{campaigns-YMM5TQVO.js.map → campaigns-ZYU4BXDP.js.map} +0 -0
  1031. /package/dist/{canvas-IJS7H3VE.js.map → canvas-AI34UBGU.js.map} +0 -0
  1032. /package/dist/{catalog-TZLU5NWI.js.map → catalog-ZY3MFT55.js.map} +0 -0
  1033. /package/dist/{changes-36C754R4.js.map → changes-OOUVQDBY.js.map} +0 -0
  1034. /package/dist/{chatgpt-3WFOPURY.js.map → chatgpt-NAXIFWXV.js.map} +0 -0
  1035. /package/dist/{chunk-NDFS3APP.js.map → chunk-3CHYJYSS.js.map} +0 -0
  1036. /package/dist/{chunk-QW6HL7D6.js.map → chunk-3G3GC5N4.js.map} +0 -0
  1037. /package/dist/{chunk-5XTGG4PV.js.map → chunk-3M45PYU7.js.map} +0 -0
  1038. /package/dist/{chunk-Z7YMSHRZ.js.map → chunk-3QHXF3QI.js.map} +0 -0
  1039. /package/dist/{chunk-MZCTX37B.js.map → chunk-3XPHUMLJ.js.map} +0 -0
  1040. /package/dist/{chunk-MGYC2IRC.js.map → chunk-45EERHDB.js.map} +0 -0
  1041. /package/dist/{chunk-ZFC562TP.js.map → chunk-4FGTANFK.js.map} +0 -0
  1042. /package/dist/{chunk-PX3PUDK7.js.map → chunk-4IHWT7PH.js.map} +0 -0
  1043. /package/dist/{chunk-PLBITHV6.js.map → chunk-4LF4AYPT.js.map} +0 -0
  1044. /package/dist/{chunk-XGPU2VDU.js.map → chunk-4UQRXKYJ.js.map} +0 -0
  1045. /package/dist/{chunk-SVBJ56T7.js.map → chunk-5JJD33Y2.js.map} +0 -0
  1046. /package/dist/{chunk-I47BEKYK.js.map → chunk-5K4QYYOJ.js.map} +0 -0
  1047. /package/dist/{chunk-MBSFEVOG.js.map → chunk-5LJ6E4YU.js.map} +0 -0
  1048. /package/dist/{chunk-6Z7Y4KQB.js.map → chunk-5T73MMBL.js.map} +0 -0
  1049. /package/dist/{chunk-R53XMPDO.js.map → chunk-64MAHLTK.js.map} +0 -0
  1050. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  1051. /package/dist/{chunk-3YJNSUNF.js.map → chunk-6ZFSDYWV.js.map} +0 -0
  1052. /package/dist/{chunk-TVAIOC77.js.map → chunk-7BUIOP36.js.map} +0 -0
  1053. /package/dist/{chunk-ZEC46NWW.js.map → chunk-AN4OEQXE.js.map} +0 -0
  1054. /package/dist/{chunk-TX7CQTD4.js.map → chunk-AULSX5ZA.js.map} +0 -0
  1055. /package/dist/{chunk-MVD7QIXI.js.map → chunk-AVYUFJQQ.js.map} +0 -0
  1056. /package/dist/{chunk-KQTNUDKD.js.map → chunk-B4YF7VQF.js.map} +0 -0
  1057. /package/dist/{chunk-UKSSNYLU.js.map → chunk-BDOYNGUL.js.map} +0 -0
  1058. /package/dist/{chunk-BRLZX3VP.js.map → chunk-BJOK7QD4.js.map} +0 -0
  1059. /package/dist/{chunk-Z2DRGXBB.js.map → chunk-CMCGFSUS.js.map} +0 -0
  1060. /package/dist/{chunk-KBRJSPIM.js.map → chunk-DMJUIUAL.js.map} +0 -0
  1061. /package/dist/{chunk-HML3VQIW.js.map → chunk-DUCUOZLS.js.map} +0 -0
  1062. /package/dist/{chunk-7HZSORAB.js.map → chunk-FJZYOVSW.js.map} +0 -0
  1063. /package/dist/{chunk-GMHCHHAA.js.map → chunk-FKP4ECJY.js.map} +0 -0
  1064. /package/dist/{chunk-RVEY7BTT.js.map → chunk-GNMEOU46.js.map} +0 -0
  1065. /package/dist/{chunk-AYPBARKP.js.map → chunk-GYKYXWUQ.js.map} +0 -0
  1066. /package/dist/{chunk-MUXKYSTI.js.map → chunk-GYPLRU4Y.js.map} +0 -0
  1067. /package/dist/{chunk-YNYAT2TZ.js.map → chunk-I43ZEWJQ.js.map} +0 -0
  1068. /package/dist/{chunk-4GAEB6NK.js.map → chunk-IZABTTW5.js.map} +0 -0
  1069. /package/dist/{chunk-GACSA5A6.js.map → chunk-K7IE6UYV.js.map} +0 -0
  1070. /package/dist/{chunk-BTJSGJNQ.js.map → chunk-KH5YHHJV.js.map} +0 -0
  1071. /package/dist/{chunk-C7QQQVBS.js.map → chunk-KMY7AD3N.js.map} +0 -0
  1072. /package/dist/{chunk-6KWEF6HF.js.map → chunk-KPCHWDJM.js.map} +0 -0
  1073. /package/dist/{chunk-SWN6OHXG.js.map → chunk-KTZCLJ2D.js.map} +0 -0
  1074. /package/dist/{chunk-A3IQAONL.js.map → chunk-MKUA54QE.js.map} +0 -0
  1075. /package/dist/{chunk-FFFJBNHA.js.map → chunk-MTV2RSGY.js.map} +0 -0
  1076. /package/dist/{chunk-G5Y7OIPL.js.map → chunk-N2QX57K3.js.map} +0 -0
  1077. /package/dist/{chunk-OJGYYH6K.js.map → chunk-NB2FU6EZ.js.map} +0 -0
  1078. /package/dist/{chunk-SCL7PM6P.js.map → chunk-NEYWS2DQ.js.map} +0 -0
  1079. /package/dist/{chunk-TVTSA4EN.js.map → chunk-NWF2LRKO.js.map} +0 -0
  1080. /package/dist/{chunk-W574NV67.js.map → chunk-OTC6UMJ2.js.map} +0 -0
  1081. /package/dist/{chunk-QMDMTZAW.js.map → chunk-OUY2IAWL.js.map} +0 -0
  1082. /package/dist/{chunk-FPWQA7TK.js.map → chunk-PJXNCRMR.js.map} +0 -0
  1083. /package/dist/{chunk-ARUXGKZO.js.map → chunk-PYQ3GF7R.js.map} +0 -0
  1084. /package/dist/{chunk-DUR7PEJI.js.map → chunk-Q3EIVZAR.js.map} +0 -0
  1085. /package/dist/{chunk-OBJCNGZL.js.map → chunk-QDQZ62FL.js.map} +0 -0
  1086. /package/dist/{chunk-LRV6M2WB.js.map → chunk-QHZE62GP.js.map} +0 -0
  1087. /package/dist/{chunk-PLAOK4AK.js.map → chunk-RGR6TSTJ.js.map} +0 -0
  1088. /package/dist/{chunk-HSQRITKG.js.map → chunk-SAAXU7QR.js.map} +0 -0
  1089. /package/dist/{chunk-H4NNQGG6.js.map → chunk-SHTKLRI6.js.map} +0 -0
  1090. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  1091. /package/dist/{chunk-RFIUOQLN.js.map → chunk-SSXG53CZ.js.map} +0 -0
  1092. /package/dist/{chunk-5SRUAGTG.js.map → chunk-TBWAM577.js.map} +0 -0
  1093. /package/dist/{chunk-AIRD6T4W.js.map → chunk-TGPGQTZA.js.map} +0 -0
  1094. /package/dist/{chunk-F4YQ5PVR.js.map → chunk-UMIX2BMM.js.map} +0 -0
  1095. /package/dist/{chunk-ZNRGH4NS.js.map → chunk-URMAEVZO.js.map} +0 -0
  1096. /package/dist/{chunk-QBRPM3DQ.js.map → chunk-VBO3ZVUU.js.map} +0 -0
  1097. /package/dist/{chunk-N7M2TWR5.js.map → chunk-VFLYMHTO.js.map} +0 -0
  1098. /package/dist/{chunk-XQXZJ5IR.js.map → chunk-VGYIVXIZ.js.map} +0 -0
  1099. /package/dist/{chunk-AQOFQNKQ.js.map → chunk-VIB7R533.js.map} +0 -0
  1100. /package/dist/{chunk-D3KLDIPQ.js.map → chunk-WLESMH4J.js.map} +0 -0
  1101. /package/dist/{chunk-SM7G7RUA.js.map → chunk-WVWLPXBO.js.map} +0 -0
  1102. /package/dist/{chunk-5RVQK3SP.js.map → chunk-XEH5XAP6.js.map} +0 -0
  1103. /package/dist/{chunk-P6BKKUSX.js.map → chunk-XEOKVL4E.js.map} +0 -0
  1104. /package/dist/{chunk-FFG2OYVV.js.map → chunk-XOGQJYXH.js.map} +0 -0
  1105. /package/dist/{chunk-YMF2RG4Z.js.map → chunk-XUXRA7IB.js.map} +0 -0
  1106. /package/dist/{connect-PP6Z3F7Y.js.map → connect-IAXSZPGA.js.map} +0 -0
  1107. /package/dist/{conversion-upload-command-KTYAY7IG.js.map → conversion-upload-command-IHFKVX2M.js.map} +0 -0
  1108. /package/dist/{creatives-JPKA2RHU.js.map → creatives-BB6S2OF6.js.map} +0 -0
  1109. /package/dist/{creatives-UJDPD4CI.js.map → creatives-BZEVJ6ER.js.map} +0 -0
  1110. /package/dist/{currency-R4ORE2U3.js.map → currency-CGKO5GKH.js.map} +0 -0
  1111. /package/dist/{custom-conversions-5HJBB5XL.js.map → custom-conversions-HAGG72LF.js.map} +0 -0
  1112. /package/dist/{customers-7J3QGSOJ.js.map → customers-NKKU6S7G.js.map} +0 -0
  1113. /package/dist/{discover-GSJRZUOC.js.map → discover-VM3O7CQM.js.map} +0 -0
  1114. /package/dist/{draft-WYDMLNYA.js.map → draft-CRDBU6LF.js.map} +0 -0
  1115. /package/dist/{fit-N7WDGWYZ.js.map → fit-Q5GRVF2O.js.map} +0 -0
  1116. /package/dist/{fonts-TTUAP7HS.js.map → fonts-GD4YRXQU.js.map} +0 -0
  1117. /package/dist/{forecast-4AG5F7YC.js.map → forecast-ONVS2QAI.js.map} +0 -0
  1118. /package/dist/{generate-NWHPM2GQ.js.map → generate-VBEY3N3L.js.map} +0 -0
  1119. /package/dist/{google-NAA4BASO.js.map → google-7EZP7I6J.js.map} +0 -0
  1120. /package/dist/{ideas-SUXKKZC7.js.map → ideas-WX7EBPSF.js.map} +0 -0
  1121. /package/dist/{images-VKVZ3DWG.js.map → images-4AXF4LAC.js.map} +0 -0
  1122. /package/dist/{ingest-BBBFT6FZ.js.map → ingest-C3M4GUO6.js.map} +0 -0
  1123. /package/dist/{intent-NSHW7EJT.js.map → intent-ZMYMFGB4.js.map} +0 -0
  1124. /package/dist/{keyword-gap-ITTWKBWZ.js.map → keyword-gap-XSJO2R77.js.map} +0 -0
  1125. /package/dist/{landing-KZ4OSHHR.js.map → landing-MUNYZQNA.js.map} +0 -0
  1126. /package/dist/{languages-MEFQQBJ2.js.map → languages-DIQ3OG3E.js.map} +0 -0
  1127. /package/dist/{line-items-G5YJG25N.js.map → line-items-JR25T2C5.js.map} +0 -0
  1128. /package/dist/{locations-RLWAS6AC.js.map → locations-HTVYJSDJ.js.map} +0 -0
  1129. /package/dist/{lookup-ZJIP2M4X.js.map → lookup-S5VG7AWH.js.map} +0 -0
  1130. /package/dist/{media-ZWN7E777.js.map → media-P4T4ZBNS.js.map} +0 -0
  1131. /package/dist/{media-sources-GKSEDSE3.js.map → media-sources-P246GM7W.js.map} +0 -0
  1132. /package/dist/{meta-EHKXH257.js.map → meta-IPLWNYC7.js.map} +0 -0
  1133. /package/dist/{metrics-K6FDCMK7.js.map → metrics-WYWUX6Y5.js.map} +0 -0
  1134. /package/dist/{models-JQEPSPNQ.js.map → models-HJ7Y55AH.js.map} +0 -0
  1135. /package/dist/{performance-6TPJGM6A.js.map → performance-J3DLNI2W.js.map} +0 -0
  1136. /package/dist/{promoted-tweets-7P4TSQU7.js.map → promoted-tweets-W42FNWS7.js.map} +0 -0
  1137. /package/dist/{query-QM7MBQD7.js.map → query-IQICLABN.js.map} +0 -0
  1138. /package/dist/{reddit-SN5CESF4.js.map → reddit-X4CERXYF.js.map} +0 -0
  1139. /package/dist/{relevant-pages-VOICMQ7U.js.map → relevant-pages-UDDQOYLD.js.map} +0 -0
  1140. /package/dist/{research-QU63CJB5.js.map → research-D5UUJF74.js.map} +0 -0
  1141. /package/dist/{rules-KTJ2ZZ62.js.map → rules-ZVS2MWED.js.map} +0 -0
  1142. /package/dist/{run-2DLA6YO4.js.map → run-T7XAH2W5.js.map} +0 -0
  1143. /package/dist/{scheduled-agents-FRBF4EOK.js.map → scheduled-agents-ZGCUZ6SB.js.map} +0 -0
  1144. /package/dist/{schema-6Y3IXFDC.js.map → schema-D6BMZAPB.js.map} +0 -0
  1145. /package/dist/{sources-77WLFY4Y.js.map → sources-DVMJEXEX.js.map} +0 -0
  1146. /package/dist/{studies-ZOEUY6YP.js.map → studies-EPO2AM4M.js.map} +0 -0
  1147. /package/dist/{studio-T5L7UEX6.js.map → studio-5Z4NMA4K.js.map} +0 -0
  1148. /package/dist/{sync-definition-K4XOAG2B.js.map → sync-definition-F3CXG6KG.js.map} +0 -0
  1149. /package/dist/{tags-ETOOYQ57.js.map → tags-SEZ2CQJM.js.map} +0 -0
  1150. /package/dist/{targeting-criteria-L4DYIJZI.js.map → targeting-criteria-AU5CSMAU.js.map} +0 -0
  1151. /package/dist/{testimonials-65N7IYN7.js.map → testimonials-Y6PUV6AL.js.map} +0 -0
  1152. /package/dist/{themes-B4LCQUXB.js.map → themes-PGPIAKAO.js.map} +0 -0
  1153. /package/dist/{videos-BKVCCKIH.js.map → videos-SVZV5YYC.js.map} +0 -0
  1154. /package/dist/{viewer-check-B5O7ZY3Q.js.map → viewer-check-LUAEGV6H.js.map} +0 -0
  1155. /package/dist/{winning-ads-JIDPISKM.js.map → winning-ads-KNLJHHCO.js.map} +0 -0
  1156. /package/dist/{x-NLGWZCGX.js.map → x-ZQNHYIDU.js.map} +0 -0
@@ -0,0 +1,349 @@
1
+ import {
2
+ ConversionArgsError,
3
+ onlyOnce
4
+ } from "./chunk-NB2FU6EZ.js";
5
+ import {
6
+ SEND_PLATFORMS,
7
+ isSendPlatform,
8
+ sendEventProblem,
9
+ sendsRequestSchema
10
+ } from "./chunk-JOE42ZW6.js";
11
+ import "./chunk-NKQWDEB7.js";
12
+ import {
13
+ writeJsonEnvelope
14
+ } from "./chunk-ZRP7Y2DM.js";
15
+ import "./chunk-G4FG5EQO.js";
16
+ import {
17
+ ApiError,
18
+ apiPost
19
+ } from "./chunk-X7VQFLHI.js";
20
+ import "./chunk-LU4HI4KI.js";
21
+ import "./chunk-LGK7UWBN.js";
22
+ import {
23
+ registerSchema
24
+ } from "./chunk-Q7US4OOA.js";
25
+ import "./chunk-YQSBHWOI.js";
26
+
27
+ // src/commands/analytics/sends.ts
28
+ import { defineCommand } from "citty";
29
+ var SET_FLAGS = ["--source-event", "--platform", "--tag", "--event"];
30
+ function parseSendsArgs(raw, argv, now = Date.now()) {
31
+ const set = parseSetFlags(raw, argv, now);
32
+ const remove = onlyOnce(raw.remove, "--remove", argv);
33
+ const days = raw.days === void 0 ? void 0 : Number(raw.days);
34
+ if (days !== void 0 && (!Number.isInteger(days) || days <= 0 || days > 400)) {
35
+ throw new ConversionArgsError("--days must be a whole number of days, from 1 to 400.");
36
+ }
37
+ const uploads = parseUploadsFlags(raw, argv);
38
+ return {
39
+ ...set === void 0 ? {} : { set },
40
+ ...remove === void 0 ? {} : { remove },
41
+ ...days === void 0 ? {} : { days },
42
+ ...uploads,
43
+ ...raw.history === true ? { history: true } : {},
44
+ full: raw.full === true
45
+ };
46
+ }
47
+ function parseUploadsFlags(raw, argv) {
48
+ const uploads = onlyOnce(raw.uploads, "--uploads", argv);
49
+ if (raw.uploads !== void 0 && uploads === void 0) {
50
+ throw new ConversionArgsError(
51
+ "--uploads takes the id of a live send (`sends[].id`); read them first with `baker analytics sends`."
52
+ );
53
+ }
54
+ if (raw.failed === true && uploads === void 0) {
55
+ throw new ConversionArgsError("--failed narrows --uploads <sendId> to the refused ones; name the send.");
56
+ }
57
+ if (raw.skipped === true && uploads === void 0) {
58
+ throw new ConversionArgsError(
59
+ "--skipped narrows --uploads <sendId> to the events it never uploaded; name the send."
60
+ );
61
+ }
62
+ return {
63
+ ...uploads === void 0 ? {} : { uploads },
64
+ ...raw.failed === true ? { failedOnly: true } : {},
65
+ ...raw.skipped === true ? { skippedOnly: true } : {}
66
+ };
67
+ }
68
+ function flagValueAt(argv, flag, index) {
69
+ const arg = argv[index] ?? "";
70
+ if (arg === flag) return argv[index + 1];
71
+ return arg.startsWith(`${flag}=`) ? arg.slice(flag.length + 1) : void 0;
72
+ }
73
+ function parseParameterArgs(argv) {
74
+ const parameters = {};
75
+ for (let index = 0; index < argv.length; index += 1) {
76
+ const pair = flagValueAt(argv, "--parameter", index);
77
+ if (pair === void 0) continue;
78
+ const eq = pair.indexOf("=");
79
+ const name = (eq === -1 ? pair : pair.slice(0, eq)).trim();
80
+ const template = eq === -1 ? "" : pair.slice(eq + 1).trim();
81
+ if (name === "" || template === "") {
82
+ throw new ConversionArgsError(
83
+ `--parameter needs <name>=<template>, like --parameter content_name={{properties.plan}}; got "${pair}".`
84
+ );
85
+ }
86
+ parameters[name] = template;
87
+ }
88
+ return Object.keys(parameters).length === 0 ? void 0 : parameters;
89
+ }
90
+ function parseSetFlags(raw, argv, now) {
91
+ if (raw.conversion !== void 0) {
92
+ throw new ConversionArgsError(
93
+ "--conversion is gone: a send is on a system's EVENT, not a conversion. Pass --source-event <key> \u2014 one of events[].eventKey from a plain `baker analytics sends` (page:<name>)."
94
+ );
95
+ }
96
+ const values = {
97
+ "--source-event": onlyOnce(raw["source-event"] ?? raw.sourceEvent, "--source-event", argv),
98
+ "--platform": onlyOnce(raw.platform, "--platform", argv),
99
+ "--tag": onlyOnce(raw.tag, "--tag", argv),
100
+ "--event": onlyOnce(raw.event, "--event", argv)
101
+ };
102
+ const given = SET_FLAGS.filter((flag) => values[flag] !== void 0);
103
+ const set = raw.set === true;
104
+ if (!set) {
105
+ if (given.length > 0) {
106
+ throw new ConversionArgsError(
107
+ `${given.join(", ")} describe a send, so add --set to stage it. Without --set the command only reads.`
108
+ );
109
+ }
110
+ return void 0;
111
+ }
112
+ const missing = SET_FLAGS.filter((flag) => values[flag] === void 0);
113
+ if (missing.length > 0) {
114
+ throw new ConversionArgsError(
115
+ `--set needs ${SET_FLAGS.join(", ")}; missing ${missing.join(", ")}. Copy --tag from platforms[].tags of a plain \`baker analytics sends\`, never from memory.`
116
+ );
117
+ }
118
+ const platform = values["--platform"] ?? "";
119
+ if (!isSendPlatform(platform)) {
120
+ throw new ConversionArgsError(
121
+ `"${platform}" is not somewhere a conversion can be sent \u2014 --platform is one of ${SEND_PLATFORMS.join(", ")}.`
122
+ );
123
+ }
124
+ const event = values["--event"] ?? "";
125
+ const templated = sendEventProblem(platform, event);
126
+ if (templated !== null) {
127
+ throw new ConversionArgsError(`--event ${event} cannot be sent to ${platform}. ${templated}`);
128
+ }
129
+ const account = onlyOnce(raw.account, "--account", argv);
130
+ const parameters = parseParameterArgs(argv);
131
+ return {
132
+ id: onlyOnce(raw.id, "--id", argv) ?? sendIdFor(now),
133
+ eventKey: values["--source-event"] ?? "",
134
+ ...originFlag(raw, argv),
135
+ platform,
136
+ tagId: values["--tag"] ?? "",
137
+ event,
138
+ ...account === void 0 ? {} : { account },
139
+ ...parameters === void 0 ? {} : { parameters }
140
+ };
141
+ }
142
+ function originFlag(raw, argv) {
143
+ const from = onlyOnce(raw.from, "--from", argv) ?? "any";
144
+ if (from === "any") return { origin: "any" };
145
+ if (from === "api") return {};
146
+ if (from === "pixel") return { origin: "website" };
147
+ throw new ConversionArgsError(
148
+ `--from is any, pixel or api; got "${from}". any \u2014 the default \u2014 uploads the event whichever door it arrives by, once when the pixel and the API both report it with the same event id; pixel only what Baker's pixel sent from the client's website; api only what the API or an integration sent.`
149
+ );
150
+ }
151
+ function sendIdFor(now) {
152
+ return `s${now.toString(36).slice(-5)}`;
153
+ }
154
+ function sendsWrite(args2) {
155
+ const body = {
156
+ ...args2.set === void 0 ? {} : { set: [args2.set] },
157
+ ...args2.remove === void 0 ? {} : { remove: [args2.remove] },
158
+ ...args2.days === void 0 ? {} : { days: args2.days },
159
+ ...args2.uploads === void 0 ? {} : { uploads: args2.uploads },
160
+ ...args2.failedOnly === void 0 ? {} : { failedOnly: args2.failedOnly },
161
+ ...args2.skippedOnly === void 0 ? {} : { skippedOnly: args2.skippedOnly },
162
+ ...args2.history === void 0 ? {} : { history: args2.history }
163
+ };
164
+ const parsed = sendsRequestSchema.safeParse(body);
165
+ if (!parsed.success) {
166
+ const issue = parsed.error.issues[0];
167
+ throw new ConversionArgsError(
168
+ `That send cannot be staged \u2014 ${issue?.path.join(".") || "set"}: ${issue?.message ?? "invalid"}. Run \`baker schema analytics.sends\` for the exact shape.`
169
+ );
170
+ }
171
+ return parsed.data;
172
+ }
173
+ function sendsView(response, full) {
174
+ const { carries, templateFields, history, ...rest } = response.data;
175
+ return {
176
+ ok: true,
177
+ data: {
178
+ ...rest,
179
+ ...history === void 0 ? {} : { history: history.map((row) => historyView(row, full)) },
180
+ ...full ? { carries, templateFields } : {}
181
+ },
182
+ ...response.hints && response.hints.length > 0 ? { hints: response.hints } : {}
183
+ };
184
+ }
185
+ function historyView(row, full) {
186
+ const at = (ms) => new Date(ms).toISOString();
187
+ const removed = row.integrationRemovedAt;
188
+ if (full) {
189
+ return {
190
+ sendId: row.sendId,
191
+ createdAt: at(row.createdAt),
192
+ ...removed === void 0 ? {} : { integrationRemovedAt: at(removed) }
193
+ };
194
+ }
195
+ return {
196
+ sendId: row.sendId,
197
+ setUpOn: at(row.createdAt).slice(0, 10),
198
+ ...removed === void 0 ? {} : { integrationRemovedOn: at(removed).slice(0, 10) }
199
+ };
200
+ }
201
+ var args = {
202
+ set: {
203
+ type: "boolean",
204
+ description: "Stage a send, described by --source-event, --platform, --tag and --event. It applies when this chat is published, and from then on every event arriving under that key is uploaded to the platform and spends ad budget \u2014 say so to the client, never that it is a preview",
205
+ required: false
206
+ },
207
+ "source-event": {
208
+ type: "string",
209
+ description: "The event to send, by key \u2014 one of `events[].eventKey` from a plain `baker analytics sends`: a Source's own event (page:<source name>), or a named event the client's server posts. A Form's or a page's event is refused: the page's own pixels and the Form's side effects already send those",
210
+ required: false
211
+ },
212
+ from: {
213
+ type: "string",
214
+ description: "Which door's events the send uploads: `any` (default) \u2014 the event whichever door it arrives by, uploaded once when the pixel and the API both report it with the same event id; `pixel` \u2014 only what Baker's pixel sent from the client's own website (an `events[]` row with origin `website`); `api` \u2014 only what the client's server posted or an integration like HubSpot sent",
215
+ required: false
216
+ },
217
+ platform: {
218
+ type: "string",
219
+ description: `Where it goes: one of ${SEND_PLATFORMS.join(", ")}`,
220
+ required: false
221
+ },
222
+ tag: {
223
+ type: "string",
224
+ description: "The tag on Tracking that sends it. COPY the id from `platforms[].tags[].tagId` in the response \u2014 it is only listed there when the tag holds its server credential, and one typed from memory is refused",
225
+ required: false
226
+ },
227
+ event: {
228
+ type: "string",
229
+ description: 'What the platform calls it \u2014 `platforms[].eventMeans` says what each one takes: a Meta or Google Analytics event name (Purchase, Lead, generate_lead), a Google Ads conversion action id copied from `platforms[].conversionActions`, or the conversion label the person gives you (staged as its id; never type an id: one the account does not hold is refused), a LinkedIn conversion rule id, an X event tag id. On Meta and Google Analytics it may be WRITTEN FROM THE EVENT with the same {{path}} mentions --parameter takes: --event {{properties.plan}} sends each event under the plan it carries, --event "Purchase {{properties.tier}}" mixes text and a field. An event carrying nothing there is not uploaded. Google Ads, LinkedIn and X take an id THEY issued, so a template is refused there \u2014 pass what varies as a --parameter instead. For a GOOGLE ADS id, list the account\'s conversion actions first and pick by name \u2014 `baker ads google query "SELECT conversion_action.id, conversion_action.name, conversion_action.primary_for_goal FROM conversion_action WHERE conversion_action.status = \'ENABLED\'"` \u2014 never guess: Google accepts an upload against an id the account does not hold and files it against nothing',
230
+ required: false
231
+ },
232
+ account: {
233
+ type: "string",
234
+ description: "LinkedIn only: the ad account the conversion rule belongs to",
235
+ required: false
236
+ },
237
+ parameter: {
238
+ type: "string",
239
+ description: "<name>=<template>, repeatable, with --set: an EXTRA parameter the platform receives with every upload, beyond who, the click and the amount \u2014 Meta's custom_data (content_name, content_category, or your own), a GA4 event parameter, a Google Ads custom variable (must exist in the account), X's contents (content_name, num_items\u2026); LinkedIn takes none. The template is text with {{path}} mentions over the event: its own properties as {{properties.<key>}} (a HubSpot event's --field properties.<key> rows, a server event's `properties`), and the fields `templateFields` lists (--full): value, value_currency, event_name, page_path, city, country, gclid\u2026 Example: --parameter content_name={{properties.plan}} --parameter content_category=hubspot. `parameters[]` in the response says what each platform takes",
240
+ required: false
241
+ },
242
+ uploads: {
243
+ type: "string",
244
+ description: "The id of a send (`sends[].id`) whose uploads to list, newest first over --days: which event went, when, `outcome` (success | failed | pending | skipped) and in `error` the platform's refusal in its own words or what a skipped event was missing \u2014 the rows behind `sends[].outcome`. With --failed, only the refused ones; with --skipped, only the skipped ones",
245
+ required: false
246
+ },
247
+ failed: {
248
+ type: "boolean",
249
+ description: "With --uploads: only the uploads the platform refused",
250
+ required: false
251
+ },
252
+ skipped: {
253
+ type: "boolean",
254
+ description: "With --uploads: only the events the send never uploaded because they carried nothing the platform matches a person by \u2014 each `error` names what was missing (a Meta click id or cookie, an email, a gclid\u2026)",
255
+ required: false
256
+ },
257
+ history: {
258
+ type: "boolean",
259
+ description: "Also return `history[]`: the day each live send was set up (`setUpOn`) and, when an integration named after its event was removed since, the day it was (`integrationRemovedOn`) \u2014 read it before removing or explaining a send whose event no longer arrives. --full gives the instants",
260
+ required: false
261
+ },
262
+ id: {
263
+ type: "string",
264
+ description: "The send's id, when changing one that exists (`sends[].id` for a live one, `staged.set[].id` for one staged in this chat, like s1). Left out, a new id is minted and a NEW send is staged \u2014 so re-running a --set you already ran is refused, naming the send it would duplicate",
265
+ required: false
266
+ },
267
+ remove: {
268
+ type: "string",
269
+ description: "The id of a send to stop, from `sends[].id`. Staged like a set: it stops when the chat is published",
270
+ required: false
271
+ },
272
+ days: {
273
+ type: "string",
274
+ description: "How many days the outcome beside each send covers (default 30, up to 400)",
275
+ required: false
276
+ },
277
+ full: {
278
+ type: "boolean",
279
+ description: "Also return `carries` and `templateFields`: every field a send forwards and a template may read, the same for every send; with --history, the exact instants",
280
+ required: false
281
+ }
282
+ };
283
+ registerSchema({
284
+ command: "analytics.sends",
285
+ description: "Read where this company's system events are sent, or stage a change",
286
+ args
287
+ });
288
+ var sendsCommand = defineCommand({
289
+ meta: {
290
+ name: "sends",
291
+ description: `Where this company's SYSTEM EVENTS are sent \u2014 Meta, Google Ads, LinkedIn, X, Google Analytics \u2014 and what happened to each upload. A send belongs to an event one of the client's own systems raises, by key: page:deal_won from HubSpot \u2192 Meta Purchase means every "deal_won" HubSpot reports is uploaded to Meta with who the person is, the click that brought them and the amount forwarded automatically. There is nothing to map. What happens on a page or in a Form is never sent from here \u2014 the page's pixels and the Form's own side effects do that \u2014 and a send is never set on a funnel step: the step reads the sends of the events behind its ways in.
292
+
293
+ Start here:
294
+ baker analytics sends \u2014 the sends in effect, each with its outcome; the platforms and the tags that can send; the system events (events[]) that can be sent
295
+ baker analytics sends --set --source-event page:deal_won --platform meta --tag <tagId> --event Purchase
296
+ baker analytics sends --set --source-event page:deal_won --platform googleAds --tag <tagId> --event 987654321
297
+ baker analytics sends --set --source-event page:deal_won --platform meta --tag <tagId> --event Purchase --parameter content_name={{properties.plan}}
298
+ baker analytics sends --set --source-event page:lead_completed_step_2 --platform meta --tag <tagId> --event Lead \u2014 an event the pixel and/or the API send; uploaded once per event id
299
+ baker analytics sends --set --source-event page:deal_won --platform meta --tag <tagId> --event {{properties.plan}} \u2014 a Meta event named after what each one carries
300
+ baker analytics sends --remove s1 \u2014 stop one
301
+ baker analytics sends --days 7 \u2014 outcomes over the last week
302
+ baker analytics sends --uploads s1 --failed \u2014 the uploads Meta refused, each with the event and Meta's own words
303
+ baker analytics sends --uploads s1 --skipped \u2014 the events never uploaded, each with what the platform needed and they lacked
304
+ baker analytics sends --history \u2014 when each send was set up, and whether the integration its event came from was removed
305
+
306
+ Three things to hold on to:
307
+ it is STAGED \u2014 a set or a remove lands when this chat is published, and from then on it SPENDS AD BUDGET on every "<event>" that arrives. Tell the client that plainly; never call a published send a preview.
308
+ the tagId is COPIED \u2014 from \`platforms[].tags\` in the response, which lists only the tags on Tracking that hold their server credential. One typed from memory is refused; a platform with no tag listed says what to add on Tracking (\`platforms[].setupHint\`).
309
+ the outcome is what happened \u2014 \`sends[].outcome\` counts what was sent, what failed and why (\`lastError\`, in the platform's words), and what was SKIPPED: an event carrying nothing the platform matches a person by is never uploaded (Meta: a Meta click id or cookie, an email or your own customer id; Google Ads: gclid, wbraid, gbraid, an email or a phone; LinkedIn: li_fat_id or an email; X: twclid or an email; Google Analytics: nothing), counted in \`skipped\` with \`lastSkipReason\`.
310
+ check the MATCH before staging \u2014 \`events[].match\` says, for the last 30 days of each event, how many arrived and how many each platform could match. A send to a platform matching 0 of 14 skips all 14: say so to the client, and ask for the click id or the email to be sent with the event instead. "Nothing sent yet" means no event under that name has fired since the send was set. \`--uploads <id>\` lists the rows behind the count, \`--failed\` only the refused ones \u2014 read it before telling a client a send "failed".
311
+ a Meta or GA4 event name can be WRITTEN FROM THE EVENT \u2014 \`--event {{properties.plan}}\` sends each event under its own plan, so one Source covers every value instead of one Source, one send and one conversion action per value. Only where the platform takes a name of your own: Google Ads, LinkedIn and X take an id they issued and refuse a template.
312
+ extra parameters are optional \u2014 \`--parameter <name>=<template>\` adds what the platform receives beyond who, the click and the amount: \`{{properties.<key>}}\` reads a property the event carries (a HubSpot event's \`--field properties.<key>\` rows), \`{{value}}\`, \`{{page_path}}\`, \`{{city}}\`\u2026 read the event's fields. \`parameters[]\` in the response says what each platform takes and the names it knows; LinkedIn takes none.
313
+
314
+ An empty \`events[]\` means none of the client's systems sends an event yet and there is nothing to send: make a Source with \`baker analytics sources\` (a HubSpot event, or the server's address), then send its event.`
315
+ },
316
+ args,
317
+ run: async ({ args: raw }) => {
318
+ try {
319
+ const parsed = parseSendsArgs(raw, process.argv);
320
+ const response = await apiPost("/api/analytics/sends", sendsWrite(parsed));
321
+ writeJsonEnvelope(sendsView(response, parsed.full));
322
+ } catch (err) {
323
+ handleError(err);
324
+ }
325
+ }
326
+ });
327
+ function handleError(err) {
328
+ if (err instanceof ConversionArgsError) {
329
+ writeJsonEnvelope({ ok: false, error: { code: "VALIDATION_ERROR", message: err.message } });
330
+ process.exit(1);
331
+ }
332
+ if (err instanceof ApiError) {
333
+ writeJsonEnvelope({ ok: false, error: { code: err.code, message: err.message } });
334
+ process.exit(1);
335
+ }
336
+ writeJsonEnvelope({
337
+ ok: false,
338
+ error: { code: "NETWORK_ERROR", message: err instanceof Error ? err.message : "Unexpected error" }
339
+ });
340
+ process.exit(1);
341
+ }
342
+ export {
343
+ parseParameterArgs,
344
+ parseSendsArgs,
345
+ sendsCommand,
346
+ sendsView,
347
+ sendsWrite
348
+ };
349
+ //# sourceMappingURL=sends-LAY5C74B.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/analytics/sends.ts"],"sourcesContent":["/**\n * `baker analytics sends` — where this company's system events are sent, and\n * changing it.\n *\n * A send hangs off an event one of the client's own systems raises, by its\n * key: `page:deal_won` from HubSpot → Meta Purchase. Every such event is\n * uploaded to the platform with who the person is, the click that brought\n * them and the amount forwarded automatically. Nothing is mapped. What happens\n * on a page or in a Form is not sendable here: the page's own pixels and the\n * Form's own side effects already send those.\n *\n * A write STAGES: it lands when the chat is published, and from then on it\n * spends ad budget on every event under the key. The dashboard's Sources page\n * applies at once because the person clicking is the review; an agent's\n * proposal gets its review at Publish.\n */\n\nimport {\n isSendPlatform,\n SEND_PLATFORMS,\n type SendsRequest,\n type SendsResponse,\n sendEventProblem,\n sendsRequestSchema,\n} from \"@baker/api/analytics\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiPost } from \"../../client.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { writeJsonEnvelope } from \"../ads/output.ts\";\nimport { ConversionArgsError, onlyOnce } from \"./conversionArgs.ts\";\n\nexport interface SendsArgs {\n set?: {\n id: string;\n eventKey: string;\n platform: string;\n tagId: string;\n event: string;\n account?: string;\n parameters?: Record<string, string>;\n };\n remove?: string;\n days?: number;\n /** One send's uploads, by id, and whether only the refused ones. */\n uploads?: string;\n failedOnly?: boolean;\n /** With `uploads`: only the events it skipped, for want of anything to match. */\n skippedOnly?: boolean;\n /** When each live send was set up, and whether its integration was removed. */\n history?: boolean;\n full: boolean;\n}\n\nconst SET_FLAGS = [\"--source-event\", \"--platform\", \"--tag\", \"--event\"] as const;\n\n/**\n * The flags, checked for the shapes that would otherwise stage the wrong\n * send in silence. Pure, so the refusals are tier-1 tested.\n */\nexport function parseSendsArgs(raw: Record<string, unknown>, argv: readonly string[], now = Date.now()): SendsArgs {\n const set = parseSetFlags(raw, argv, now);\n const remove = onlyOnce(raw.remove, \"--remove\", argv);\n\n const days = raw.days === undefined ? undefined : Number(raw.days);\n if (days !== undefined && (!Number.isInteger(days) || days <= 0 || days > 400)) {\n throw new ConversionArgsError(\"--days must be a whole number of days, from 1 to 400.\");\n }\n\n const uploads = parseUploadsFlags(raw, argv);\n\n return {\n ...(set === undefined ? {} : { set }),\n ...(remove === undefined ? {} : { remove }),\n ...(days === undefined ? {} : { days }),\n ...uploads,\n ...(raw.history === true ? { history: true } : {}),\n full: raw.full === true,\n };\n}\n\n/** `--uploads <sendId>` and its narrowings: a named live send, never an empty one. */\nfunction parseUploadsFlags(\n raw: Record<string, unknown>,\n argv: readonly string[],\n): Pick<SendsArgs, \"uploads\" | \"failedOnly\" | \"skippedOnly\"> {\n const uploads = onlyOnce(raw.uploads, \"--uploads\", argv);\n if (raw.uploads !== undefined && uploads === undefined) {\n throw new ConversionArgsError(\n \"--uploads takes the id of a live send (`sends[].id`); read them first with `baker analytics sends`.\",\n );\n }\n if (raw.failed === true && uploads === undefined) {\n throw new ConversionArgsError(\"--failed narrows --uploads <sendId> to the refused ones; name the send.\");\n }\n if (raw.skipped === true && uploads === undefined) {\n throw new ConversionArgsError(\n \"--skipped narrows --uploads <sendId> to the events it never uploaded; name the send.\",\n );\n }\n return {\n ...(uploads === undefined ? {} : { uploads }),\n ...(raw.failed === true ? { failedOnly: true } : {}),\n ...(raw.skipped === true ? { skippedOnly: true } : {}),\n };\n}\n\n/** The value a repeated flag carries at this position, in either spelling, or nothing. */\nfunction flagValueAt(argv: readonly string[], flag: string, index: number): string | undefined {\n const arg = argv[index] ?? \"\";\n if (arg === flag) return argv[index + 1];\n return arg.startsWith(`${flag}=`) ? arg.slice(flag.length + 1) : undefined;\n}\n\n/**\n * Every `--parameter name=template` on the command line, in order. Read off\n * argv rather than the parsed args because citty keeps only the last value\n * of a repeated flag — the defect that once staged one of three UTMs.\n */\nexport function parseParameterArgs(argv: readonly string[]): Record<string, string> | undefined {\n const parameters: Record<string, string> = {};\n for (let index = 0; index < argv.length; index += 1) {\n const pair = flagValueAt(argv, \"--parameter\", index);\n if (pair === undefined) continue;\n const eq = pair.indexOf(\"=\");\n const name = (eq === -1 ? pair : pair.slice(0, eq)).trim();\n const template = eq === -1 ? \"\" : pair.slice(eq + 1).trim();\n if (name === \"\" || template === \"\") {\n throw new ConversionArgsError(\n `--parameter needs <name>=<template>, like --parameter content_name={{properties.plan}}; got \"${pair}\".`,\n );\n }\n parameters[name] = template;\n }\n return Object.keys(parameters).length === 0 ? undefined : parameters;\n}\n\n/**\n * The send `--set` describes, or nothing on a read.\n *\n * The four flags are only meaningful together and only under `--set`: a send\n * described without it would answer ok and stage nothing, and a `--set` with\n * a piece missing would be refused by the server with the field named but not\n * the flag.\n */\nfunction parseSetFlags(raw: Record<string, unknown>, argv: readonly string[], now: number): SendsArgs[\"set\"] {\n if (raw.conversion !== undefined) {\n throw new ConversionArgsError(\n \"--conversion is gone: a send is on a system's EVENT, not a conversion. Pass --source-event <key> — one of events[].eventKey from a plain `baker analytics sends` (page:<name>).\",\n );\n }\n const values = {\n \"--source-event\": onlyOnce(raw[\"source-event\"] ?? raw.sourceEvent, \"--source-event\", argv),\n \"--platform\": onlyOnce(raw.platform, \"--platform\", argv),\n \"--tag\": onlyOnce(raw.tag, \"--tag\", argv),\n \"--event\": onlyOnce(raw.event, \"--event\", argv),\n };\n const given = SET_FLAGS.filter((flag) => values[flag] !== undefined);\n const set = raw.set === true;\n\n if (!set) {\n if (given.length > 0) {\n throw new ConversionArgsError(\n `${given.join(\", \")} describe a send, so add --set to stage it. Without --set the command only reads.`,\n );\n }\n return undefined;\n }\n\n const missing = SET_FLAGS.filter((flag) => values[flag] === undefined);\n if (missing.length > 0) {\n throw new ConversionArgsError(\n `--set needs ${SET_FLAGS.join(\", \")}; missing ${missing.join(\", \")}. Copy --tag from platforms[].tags of a plain \\`baker analytics sends\\`, never from memory.`,\n );\n }\n const platform = values[\"--platform\"] ?? \"\";\n if (!isSendPlatform(platform)) {\n throw new ConversionArgsError(\n `\"${platform}\" is not somewhere a conversion can be sent — --platform is one of ${SEND_PLATFORMS.join(\", \")}.`,\n );\n }\n\n const event = values[\"--event\"] ?? \"\";\n const templated = sendEventProblem(platform, event);\n if (templated !== null) {\n throw new ConversionArgsError(`--event ${event} cannot be sent to ${platform}. ${templated}`);\n }\n\n const account = onlyOnce(raw.account, \"--account\", argv);\n const parameters = parseParameterArgs(argv);\n return {\n id: onlyOnce(raw.id, \"--id\", argv) ?? sendIdFor(now),\n eventKey: values[\"--source-event\"] ?? \"\",\n ...originFlag(raw, argv),\n platform,\n tagId: values[\"--tag\"] ?? \"\",\n event,\n ...(account === undefined ? {} : { account }),\n ...(parameters === undefined ? {} : { parameters }),\n };\n}\n\n/**\n * Which door's events `--set` uploads, as the send spells it: every door the\n * event arrives by (`origin: \"any\"`, the default — one event, one set of\n * destinations, uploaded once when the pixel and the API both report it under\n * one event id), or only the pixel's (`website`) or only the API's and the\n * integrations' (no field at all).\n */\nfunction originFlag(raw: Record<string, unknown>, argv: readonly string[]): { origin?: \"website\" | \"any\" } {\n const from = onlyOnce(raw.from, \"--from\", argv) ?? \"any\";\n if (from === \"any\") return { origin: \"any\" };\n if (from === \"api\") return {};\n if (from === \"pixel\") return { origin: \"website\" };\n throw new ConversionArgsError(\n `--from is any, pixel or api; got \"${from}\". any — the default — uploads the event whichever door it arrives by, once when the pixel and the API both report it with the same event id; pixel only what Baker's pixel sent from the client's website; api only what the API or an integration sent.`,\n );\n}\n\n/** A short id a person can type, when the caller did not choose one. */\nfunction sendIdFor(now: number): string {\n return `s${now.toString(36).slice(-5)}`;\n}\n\n/**\n * The request body, validated against the shared schema here rather than only\n * on the server, so a malformed send is named before a round trip.\n */\nexport function sendsWrite(args: SendsArgs): SendsRequest {\n const body = {\n ...(args.set === undefined ? {} : { set: [args.set] }),\n ...(args.remove === undefined ? {} : { remove: [args.remove] }),\n ...(args.days === undefined ? {} : { days: args.days }),\n ...(args.uploads === undefined ? {} : { uploads: args.uploads }),\n ...(args.failedOnly === undefined ? {} : { failedOnly: args.failedOnly }),\n ...(args.skippedOnly === undefined ? {} : { skippedOnly: args.skippedOnly }),\n ...(args.history === undefined ? {} : { history: args.history }),\n };\n const parsed = sendsRequestSchema.safeParse(body);\n if (!parsed.success) {\n const issue = parsed.error.issues[0];\n throw new ConversionArgsError(\n `That send cannot be staged — ${issue?.path.join(\".\") || \"set\"}: ${issue?.message ?? \"invalid\"}. Run \\`baker schema analytics.sends\\` for the exact shape.`,\n );\n }\n return parsed.data;\n}\n\n/**\n * What to print. Compact by default: the sends with their outcomes, the\n * platforms with the tags that can send (where a `tagId` is copied from), and\n * the system events that can be sent. `carries` — every field a send forwards\n * — is the same list every time, so it is behind `--full`. A send's history is\n * the day it was set up and the day its integration was removed; the instants\n * are behind `--full`.\n */\nexport function sendsView(response: SendsResponse, full: boolean): Record<string, unknown> {\n const { carries, templateFields, history, ...rest } = response.data;\n return {\n ok: true,\n data: {\n ...rest,\n ...(history === undefined ? {} : { history: history.map((row) => historyView(row, full)) }),\n ...(full ? { carries, templateFields } : {}),\n },\n ...(response.hints && response.hints.length > 0 ? { hints: response.hints } : {}),\n };\n}\n\ntype SendHistoryRow = NonNullable<SendsResponse[\"data\"][\"history\"]>[number];\n\nfunction historyView(row: SendHistoryRow, full: boolean): Record<string, string> {\n const at = (ms: number) => new Date(ms).toISOString();\n const removed = row.integrationRemovedAt;\n if (full) {\n return {\n sendId: row.sendId,\n createdAt: at(row.createdAt),\n ...(removed === undefined ? {} : { integrationRemovedAt: at(removed) }),\n };\n }\n return {\n sendId: row.sendId,\n setUpOn: at(row.createdAt).slice(0, 10),\n ...(removed === undefined ? {} : { integrationRemovedOn: at(removed).slice(0, 10) }),\n };\n}\n\nconst args = {\n set: {\n type: \"boolean\",\n description:\n \"Stage a send, described by --source-event, --platform, --tag and --event. It applies when this chat is published, and from then on every event arriving under that key is uploaded to the platform and spends ad budget — say so to the client, never that it is a preview\",\n required: false,\n },\n \"source-event\": {\n type: \"string\",\n description:\n \"The event to send, by key — one of `events[].eventKey` from a plain `baker analytics sends`: a Source's own event (page:<source name>), or a named event the client's server posts. A Form's or a page's event is refused: the page's own pixels and the Form's side effects already send those\",\n required: false,\n },\n from: {\n type: \"string\",\n description:\n \"Which door's events the send uploads: `any` (default) — the event whichever door it arrives by, uploaded once when the pixel and the API both report it with the same event id; `pixel` — only what Baker's pixel sent from the client's own website (an `events[]` row with origin `website`); `api` — only what the client's server posted or an integration like HubSpot sent\",\n required: false,\n },\n platform: {\n type: \"string\",\n description: `Where it goes: one of ${SEND_PLATFORMS.join(\", \")}`,\n required: false,\n },\n tag: {\n type: \"string\",\n description:\n \"The tag on Tracking that sends it. COPY the id from `platforms[].tags[].tagId` in the response — it is only listed there when the tag holds its server credential, and one typed from memory is refused\",\n required: false,\n },\n event: {\n type: \"string\",\n description:\n 'What the platform calls it — `platforms[].eventMeans` says what each one takes: a Meta or Google Analytics event name (Purchase, Lead, generate_lead), a Google Ads conversion action id copied from `platforms[].conversionActions`, or the conversion label the person gives you (staged as its id; never type an id: one the account does not hold is refused), a LinkedIn conversion rule id, an X event tag id. On Meta and Google Analytics it may be WRITTEN FROM THE EVENT with the same {{path}} mentions --parameter takes: --event {{properties.plan}} sends each event under the plan it carries, --event \"Purchase {{properties.tier}}\" mixes text and a field. An event carrying nothing there is not uploaded. Google Ads, LinkedIn and X take an id THEY issued, so a template is refused there — pass what varies as a --parameter instead. For a GOOGLE ADS id, list the account\\'s conversion actions first and pick by name — `baker ads google query \"SELECT conversion_action.id, conversion_action.name, conversion_action.primary_for_goal FROM conversion_action WHERE conversion_action.status = \\'ENABLED\\'\"` — never guess: Google accepts an upload against an id the account does not hold and files it against nothing',\n required: false,\n },\n account: {\n type: \"string\",\n description: \"LinkedIn only: the ad account the conversion rule belongs to\",\n required: false,\n },\n parameter: {\n type: \"string\",\n description:\n \"<name>=<template>, repeatable, with --set: an EXTRA parameter the platform receives with every upload, beyond who, the click and the amount — Meta's custom_data (content_name, content_category, or your own), a GA4 event parameter, a Google Ads custom variable (must exist in the account), X's contents (content_name, num_items…); LinkedIn takes none. The template is text with {{path}} mentions over the event: its own properties as {{properties.<key>}} (a HubSpot event's --field properties.<key> rows, a server event's `properties`), and the fields `templateFields` lists (--full): value, value_currency, event_name, page_path, city, country, gclid… Example: --parameter content_name={{properties.plan}} --parameter content_category=hubspot. `parameters[]` in the response says what each platform takes\",\n required: false,\n },\n uploads: {\n type: \"string\",\n description:\n \"The id of a send (`sends[].id`) whose uploads to list, newest first over --days: which event went, when, `outcome` (success | failed | pending | skipped) and in `error` the platform's refusal in its own words or what a skipped event was missing — the rows behind `sends[].outcome`. With --failed, only the refused ones; with --skipped, only the skipped ones\",\n required: false,\n },\n failed: {\n type: \"boolean\",\n description: \"With --uploads: only the uploads the platform refused\",\n required: false,\n },\n skipped: {\n type: \"boolean\",\n description:\n \"With --uploads: only the events the send never uploaded because they carried nothing the platform matches a person by — each `error` names what was missing (a Meta click id or cookie, an email, a gclid…)\",\n required: false,\n },\n history: {\n type: \"boolean\",\n description:\n \"Also return `history[]`: the day each live send was set up (`setUpOn`) and, when an integration named after its event was removed since, the day it was (`integrationRemovedOn`) — read it before removing or explaining a send whose event no longer arrives. --full gives the instants\",\n required: false,\n },\n id: {\n type: \"string\",\n description:\n \"The send's id, when changing one that exists (`sends[].id` for a live one, `staged.set[].id` for one staged in this chat, like s1). Left out, a new id is minted and a NEW send is staged — so re-running a --set you already ran is refused, naming the send it would duplicate\",\n required: false,\n },\n remove: {\n type: \"string\",\n description: \"The id of a send to stop, from `sends[].id`. Staged like a set: it stops when the chat is published\",\n required: false,\n },\n days: {\n type: \"string\",\n description: \"How many days the outcome beside each send covers (default 30, up to 400)\",\n required: false,\n },\n full: {\n type: \"boolean\",\n description:\n \"Also return `carries` and `templateFields`: every field a send forwards and a template may read, the same for every send; with --history, the exact instants\",\n required: false,\n },\n} as const;\n\nregisterSchema({\n command: \"analytics.sends\",\n description: \"Read where this company's system events are sent, or stage a change\",\n args,\n});\n\nexport const sendsCommand = defineCommand({\n meta: {\n name: \"sends\",\n description: `Where this company's SYSTEM EVENTS are sent — Meta, Google Ads, LinkedIn, X, Google Analytics — and what happened to each upload. A send belongs to an event one of the client's own systems raises, by key: page:deal_won from HubSpot → Meta Purchase means every \"deal_won\" HubSpot reports is uploaded to Meta with who the person is, the click that brought them and the amount forwarded automatically. There is nothing to map. What happens on a page or in a Form is never sent from here — the page's pixels and the Form's own side effects do that — and a send is never set on a funnel step: the step reads the sends of the events behind its ways in.\n\nStart here:\n baker analytics sends — the sends in effect, each with its outcome; the platforms and the tags that can send; the system events (events[]) that can be sent\n baker analytics sends --set --source-event page:deal_won --platform meta --tag <tagId> --event Purchase\n baker analytics sends --set --source-event page:deal_won --platform googleAds --tag <tagId> --event 987654321\n baker analytics sends --set --source-event page:deal_won --platform meta --tag <tagId> --event Purchase --parameter content_name={{properties.plan}}\n baker analytics sends --set --source-event page:lead_completed_step_2 --platform meta --tag <tagId> --event Lead — an event the pixel and/or the API send; uploaded once per event id\n baker analytics sends --set --source-event page:deal_won --platform meta --tag <tagId> --event {{properties.plan}} — a Meta event named after what each one carries\n baker analytics sends --remove s1 — stop one\n baker analytics sends --days 7 — outcomes over the last week\n baker analytics sends --uploads s1 --failed — the uploads Meta refused, each with the event and Meta's own words\n baker analytics sends --uploads s1 --skipped — the events never uploaded, each with what the platform needed and they lacked\n baker analytics sends --history — when each send was set up, and whether the integration its event came from was removed\n\nThree things to hold on to:\n it is STAGED — a set or a remove lands when this chat is published, and from then on it SPENDS AD BUDGET on every \"<event>\" that arrives. Tell the client that plainly; never call a published send a preview.\n the tagId is COPIED — from \\`platforms[].tags\\` in the response, which lists only the tags on Tracking that hold their server credential. One typed from memory is refused; a platform with no tag listed says what to add on Tracking (\\`platforms[].setupHint\\`).\n the outcome is what happened — \\`sends[].outcome\\` counts what was sent, what failed and why (\\`lastError\\`, in the platform's words), and what was SKIPPED: an event carrying nothing the platform matches a person by is never uploaded (Meta: a Meta click id or cookie, an email or your own customer id; Google Ads: gclid, wbraid, gbraid, an email or a phone; LinkedIn: li_fat_id or an email; X: twclid or an email; Google Analytics: nothing), counted in \\`skipped\\` with \\`lastSkipReason\\`.\n check the MATCH before staging — \\`events[].match\\` says, for the last 30 days of each event, how many arrived and how many each platform could match. A send to a platform matching 0 of 14 skips all 14: say so to the client, and ask for the click id or the email to be sent with the event instead. \"Nothing sent yet\" means no event under that name has fired since the send was set. \\`--uploads <id>\\` lists the rows behind the count, \\`--failed\\` only the refused ones — read it before telling a client a send \"failed\".\n a Meta or GA4 event name can be WRITTEN FROM THE EVENT — \\`--event {{properties.plan}}\\` sends each event under its own plan, so one Source covers every value instead of one Source, one send and one conversion action per value. Only where the platform takes a name of your own: Google Ads, LinkedIn and X take an id they issued and refuse a template.\n extra parameters are optional — \\`--parameter <name>=<template>\\` adds what the platform receives beyond who, the click and the amount: \\`{{properties.<key>}}\\` reads a property the event carries (a HubSpot event's \\`--field properties.<key>\\` rows), \\`{{value}}\\`, \\`{{page_path}}\\`, \\`{{city}}\\`… read the event's fields. \\`parameters[]\\` in the response says what each platform takes and the names it knows; LinkedIn takes none.\n\nAn empty \\`events[]\\` means none of the client's systems sends an event yet and there is nothing to send: make a Source with \\`baker analytics sources\\` (a HubSpot event, or the server's address), then send its event.`,\n },\n args,\n run: async ({ args: raw }) => {\n try {\n const parsed = parseSendsArgs(raw as Record<string, unknown>, process.argv);\n const response = await apiPost<SendsResponse>(\"/api/analytics/sends\", sendsWrite(parsed));\n writeJsonEnvelope(sendsView(response, parsed.full));\n } catch (err) {\n handleError(err);\n }\n },\n});\n\nfunction handleError(err: unknown): never {\n if (err instanceof ConversionArgsError) {\n writeJsonEnvelope({ ok: false, error: { code: \"VALIDATION_ERROR\", message: err.message } });\n process.exit(1);\n }\n if (err instanceof ApiError) {\n writeJsonEnvelope({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJsonEnvelope({\n ok: false,\n error: { code: \"NETWORK_ERROR\", message: err instanceof Error ? err.message : \"Unexpected error\" },\n });\n process.exit(1);\n}\n"],"mappings":"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","names":["args"]}
@@ -0,0 +1,198 @@
1
+ import {
2
+ CanvasPrepareError,
3
+ adaptNodes,
4
+ compiledPromptNodeIds,
5
+ prepareCanvas,
6
+ sceneOwnedPrompts
7
+ } from "./chunk-GNMEOU46.js";
8
+ import "./chunk-XEOKVL4E.js";
9
+ import "./chunk-SSXG53CZ.js";
10
+ import "./chunk-WHBFXR6F.js";
11
+ import "./chunk-DQVI7GCX.js";
12
+ import "./chunk-EKX37C3T.js";
13
+ import "./chunk-KTZCLJ2D.js";
14
+ import "./chunk-PJXNCRMR.js";
15
+ import "./chunk-MKUA54QE.js";
16
+ import "./chunk-5JJD33Y2.js";
17
+ import "./chunk-VGYIVXIZ.js";
18
+ import "./chunk-6ZFSDYWV.js";
19
+ import "./chunk-QPESDKZC.js";
20
+ import "./chunk-E44NXCTL.js";
21
+ import "./chunk-EJGAJHLB.js";
22
+ import {
23
+ defaultRegistry,
24
+ validateCanvasDeep
25
+ } from "./chunk-KPCHWDJM.js";
26
+ import "./chunk-AULSX5ZA.js";
27
+ import "./chunk-UMIX2BMM.js";
28
+ import "./chunk-DGCUPJZD.js";
29
+ import "./chunk-AVYUFJQQ.js";
30
+ import {
31
+ COPY_DIRECTIVE_HEADER
32
+ } from "./chunk-QHZE62GP.js";
33
+ import "./chunk-FJZYOVSW.js";
34
+ import "./chunk-F3CZFUXZ.js";
35
+ import "./chunk-2WZI36D3.js";
36
+ import "./chunk-65Y3RCWP.js";
37
+ import "./chunk-LNNTHEL7.js";
38
+ import "./chunk-FOMFU2RX.js";
39
+ import "./chunk-PSGIHSNC.js";
40
+ import "./chunk-PONLPYD7.js";
41
+ import "./chunk-NZ34KM46.js";
42
+ import "./chunk-CAZGM2NX.js";
43
+ import "./chunk-NZS3KEQ2.js";
44
+ import "./chunk-GIWHHCD6.js";
45
+ import "./chunk-SOPVIIUW.js";
46
+ import "./chunk-G4FG5EQO.js";
47
+ import "./chunk-NSBNIPIW.js";
48
+ import "./chunk-MUS2UTWU.js";
49
+ import "./chunk-X7VQFLHI.js";
50
+ import "./chunk-LU4HI4KI.js";
51
+ import "./chunk-LGK7UWBN.js";
52
+ import "./chunk-Q7US4OOA.js";
53
+ import "./chunk-YQSBHWOI.js";
54
+
55
+ // src/commands/canvas/set-prompt.ts
56
+ import { readFile, writeFile } from "fs/promises";
57
+ import path from "path";
58
+ import { defineCommand } from "citty";
59
+ function setNodePrompt(canvas, nodeId, text) {
60
+ const nodes = canvas?.nodes;
61
+ if (!Array.isArray(nodes)) throw new Error("canvas has no nodes array");
62
+ const idx = nodes.findIndex((n) => n?.id === nodeId);
63
+ if (idx < 0) {
64
+ const ids = nodes.map((n) => n?.id).filter((id) => typeof id === "string");
65
+ throw new Error(`node "${nodeId}" not found. Known nodes: ${ids.join(", ")}`);
66
+ }
67
+ const node = nodes[idx];
68
+ const newNode = { ...node, params: { ...node.params ?? {}, prompt: text } };
69
+ const newNodes = [...nodes];
70
+ newNodes[idx] = newNode;
71
+ return { ...canvas, nodes: newNodes };
72
+ }
73
+ var SetPromptError = class extends Error {
74
+ code;
75
+ fix;
76
+ details;
77
+ constructor(code, message, opts = {}) {
78
+ super(message);
79
+ this.name = "SetPromptError";
80
+ this.code = code;
81
+ this.fix = opts.fix;
82
+ this.details = opts.details;
83
+ }
84
+ };
85
+ async function setPromptInCanvasFile(canvasPath, nodeId, text) {
86
+ const filePath = path.resolve(canvasPath);
87
+ const original = await readFile(filePath, "utf8");
88
+ let canvas;
89
+ try {
90
+ canvas = JSON.parse(original);
91
+ } catch (e) {
92
+ throw new SetPromptError("parse", `${filePath}: JSON parse error: ${e instanceof Error ? e.message : String(e)}`);
93
+ }
94
+ const sceneFile = (await sceneOwnedPrompts(filePath)).get(nodeId);
95
+ if (sceneFile) {
96
+ throw new SetPromptError(
97
+ "projected_prompt",
98
+ `The prompt of "${nodeId}" is rebuilt from ${sceneFile} on every validate and run, so setting it in the canvas would be overwritten.`,
99
+ {
100
+ fix: `Edit the scene's description in ${sceneFile} (its frame and motion fields, e.g. start_frame_prompt, end_frame_prompt, frame_prompt, motion_prompt), then run \`baker canvas validate\` to see the rebuilt prompt.`
101
+ }
102
+ );
103
+ }
104
+ if (compiledPromptNodeIds(canvas).has(nodeId) || adaptNodes(canvas).some((a) => a.node.id === nodeId)) {
105
+ throw new SetPromptError(
106
+ "projected_prompt",
107
+ `The prompt of "${nodeId}" is compiled from prompt.json on every validate and run, so setting it in the canvas would be overwritten.`,
108
+ {
109
+ fix: `Edit the ad in ${path.join(path.dirname(filePath), "prompt.json")} (its scene, copy, references or direction), then run \`baker canvas validate\` to see the compiled prompt on the node.`
110
+ }
111
+ );
112
+ }
113
+ let updated;
114
+ try {
115
+ updated = setNodePrompt(canvas, nodeId, withCopyBlock(canvas, nodeId, text));
116
+ } catch (e) {
117
+ throw new SetPromptError("node_not_found", e instanceof Error ? e.message : String(e));
118
+ }
119
+ await writeFile(filePath, `${JSON.stringify(updated, null, 2)}
120
+ `, "utf8");
121
+ const restore = () => writeFile(filePath, original, "utf8");
122
+ try {
123
+ const prepared = await prepareCanvas(filePath);
124
+ const validation = await validateCanvasDeep(prepared.canvas, defaultRegistry());
125
+ if (!validation.ok) {
126
+ await restore();
127
+ throw new SetPromptError("validation", "The edited canvas does not validate; nothing was changed.", {
128
+ details: { issues: validation.issues }
129
+ });
130
+ }
131
+ } catch (e) {
132
+ if (e instanceof SetPromptError) throw e;
133
+ await restore();
134
+ if (e instanceof CanvasPrepareError) {
135
+ throw new SetPromptError(e.code, e.message, { ...e.fix ? { fix: e.fix } : {}, ...e.details ? { details: e.details } : {} });
136
+ }
137
+ throw e;
138
+ }
139
+ }
140
+ function withCopyBlock(canvas, nodeId, text) {
141
+ const nodes = canvas?.nodes;
142
+ const current = Array.isArray(nodes) ? nodes.find((n) => n?.id === nodeId)?.params?.prompt : void 0;
143
+ if (typeof current !== "string" || !current.includes(COPY_DIRECTIVE_HEADER) || text.includes(COPY_DIRECTIVE_HEADER)) {
144
+ return text;
145
+ }
146
+ return `${text.trimEnd()}
147
+
148
+ ${COPY_DIRECTIVE_HEADER}`;
149
+ }
150
+ var setPromptCommand = defineCommand({
151
+ meta: {
152
+ name: "set-prompt",
153
+ description: "Safely set a node's params.prompt (a frame description, motion prompt, etc.) without hand-editing the JSON. Prefer --text-file for multi-line/accented copy \u2014 it preserves UTF-8 exactly, unlike shell-quoted jq. A prompt rebuilt from a scene file (scenes/sNN.json), or compiled from a static ad's prompt.json, is refused with the file to edit instead."
154
+ },
155
+ args: {
156
+ file: { type: "positional", required: true, description: "Path to canvas JSON" },
157
+ node: { type: "positional", required: true, description: "Node id to edit (e.g. s0_start)" },
158
+ text: { type: "string", description: "New prompt text (inline)" },
159
+ "text-file": { type: "string", description: "Read the new prompt from a UTF-8 file (preserves accents/newlines)" }
160
+ },
161
+ async run({ args }) {
162
+ let text;
163
+ if (args["text-file"]) text = await readFile(path.resolve(String(args["text-file"])), "utf8");
164
+ else if (args.text !== void 0) text = String(args.text);
165
+ else {
166
+ process.stderr.write(
167
+ `${JSON.stringify({ ok: false, error: { code: "no_text", message: "pass --text or --text-file" } }, null, 2)}
168
+ `
169
+ );
170
+ process.exit(2);
171
+ return;
172
+ }
173
+ try {
174
+ await setPromptInCanvasFile(String(args.file), String(args.node), text);
175
+ } catch (e) {
176
+ if (!(e instanceof SetPromptError)) throw e;
177
+ process.stderr.write(
178
+ `${JSON.stringify(
179
+ { ok: false, error: { code: e.code, message: e.message, ...e.fix ? { fix: e.fix } : {}, ...e.details ?? {} } },
180
+ null,
181
+ 2
182
+ )}
183
+ `
184
+ );
185
+ process.exit(2);
186
+ return;
187
+ }
188
+ process.stdout.write(`${JSON.stringify({ ok: true, node: String(args.node), bytes: text.length }, null, 2)}
189
+ `);
190
+ }
191
+ });
192
+ export {
193
+ SetPromptError,
194
+ setNodePrompt,
195
+ setPromptCommand,
196
+ setPromptInCanvasFile
197
+ };
198
+ //# sourceMappingURL=set-prompt-3N3HMHT6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/canvas/set-prompt.ts"],"sourcesContent":["import { readFile, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { defineCommand } from \"citty\";\nimport { defaultRegistry, validateCanvasDeep } from \"../../engine/index.ts\";\nimport { COPY_DIRECTIVE_HEADER } from \"../../engine/scaffold/static-copy.ts\";\nimport { adaptNodes } from \"../../engine/scaffold/static-adapt-briefs.ts\";\nimport { compiledPromptNodeIds } from \"../../engine/scaffold/static-render-briefs.ts\";\nimport { CanvasPrepareError, prepareCanvas } from \"./prepare-canvas.ts\";\nimport { sceneOwnedPrompts } from \"./scene-projection.ts\";\n\n/**\n * Set one node's `params.prompt` in a parsed canvas, returning a NEW canvas. The\n * structured alternative to hand-editing a 133 KB machine JSON with jq/sed — which\n * is where `\"prompt\": null` pollution (a global `gsub` writing prompt onto every\n * node) and the French-accent corruption (shell `''` eating apostrophes) came from.\n * Throws when the node id is unknown. Pure — unit-tested without the filesystem.\n */\nexport function setNodePrompt(canvas: unknown, nodeId: string, text: string): unknown {\n const nodes = (canvas as { nodes?: unknown })?.nodes;\n if (!Array.isArray(nodes)) throw new Error(\"canvas has no nodes array\");\n const idx = nodes.findIndex((n) => (n as { id?: unknown })?.id === nodeId);\n if (idx < 0) {\n const ids = nodes.map((n) => (n as { id?: unknown })?.id).filter((id): id is string => typeof id === \"string\");\n throw new Error(`node \"${nodeId}\" not found. Known nodes: ${ids.join(\", \")}`);\n }\n const node = nodes[idx] as { params?: Record<string, unknown> };\n const newNode = { ...node, params: { ...(node.params ?? {}), prompt: text } };\n const newNodes = [...nodes];\n newNodes[idx] = newNode;\n return { ...(canvas as object), nodes: newNodes };\n}\n\n/** Why `set-prompt` did not write: the node's prompt is owned elsewhere, or the edit does not validate. */\nexport class SetPromptError extends Error {\n readonly code: string;\n readonly fix: string | undefined;\n readonly details: Record<string, unknown> | undefined;\n constructor(code: string, message: string, opts: { fix?: string; details?: Record<string, unknown> } = {}) {\n super(message);\n this.name = \"SetPromptError\";\n this.code = code;\n this.fix = opts.fix;\n this.details = opts.details;\n }\n}\n\n/**\n * Set a node's prompt in the canvas FILE, where it will survive.\n *\n * The canvas is a projection of its blueprint, and `prepareCanvas` rewrites the projected\n * parts on every validate and run. So:\n * - a frame or clip prompt a scene file rebuilds is refused, naming the scene file to edit\n * (writing it here would be silently overwritten by the next preflight);\n * - a static ad's scaffolded render prompt (a take, a re-lay, the judge) is refused, naming\n * prompt.json: it is compiled from the ad spec there on every run;\n * - a hand-written static render prompt keeps its copy block: the text replaces the scene\n * description, and the \"render these exact strings\" block after it is re-read from\n * prompt.json, as always;\n * - anything else is the canvas's own, and is written.\n * The result is validated; an edit that does not validate is undone.\n */\nexport async function setPromptInCanvasFile(canvasPath: string, nodeId: string, text: string): Promise<void> {\n const filePath = path.resolve(canvasPath);\n const original = await readFile(filePath, \"utf8\");\n let canvas: unknown;\n try {\n canvas = JSON.parse(original);\n } catch (e) {\n throw new SetPromptError(\"parse\", `${filePath}: JSON parse error: ${e instanceof Error ? e.message : String(e)}`);\n }\n\n const sceneFile = (await sceneOwnedPrompts(filePath)).get(nodeId);\n if (sceneFile) {\n throw new SetPromptError(\n \"projected_prompt\",\n `The prompt of \"${nodeId}\" is rebuilt from ${sceneFile} on every validate and run, so setting it in the canvas would be overwritten.`,\n {\n fix: `Edit the scene's description in ${sceneFile} (its frame and motion fields, e.g. start_frame_prompt, end_frame_prompt, frame_prompt, motion_prompt), then run \\`baker canvas validate\\` to see the rebuilt prompt.`,\n },\n );\n }\n\n if (compiledPromptNodeIds(canvas).has(nodeId) || adaptNodes(canvas).some((a) => a.node.id === nodeId)) {\n throw new SetPromptError(\n \"projected_prompt\",\n `The prompt of \"${nodeId}\" is compiled from prompt.json on every validate and run, so setting it in the canvas would be overwritten.`,\n {\n fix: `Edit the ad in ${path.join(path.dirname(filePath), \"prompt.json\")} (its scene, copy, references or direction), then run \\`baker canvas validate\\` to see the compiled prompt on the node.`,\n },\n );\n }\n\n let updated: unknown;\n try {\n updated = setNodePrompt(canvas, nodeId, withCopyBlock(canvas, nodeId, text));\n } catch (e) {\n throw new SetPromptError(\"node_not_found\", e instanceof Error ? e.message : String(e));\n }\n\n await writeFile(filePath, `${JSON.stringify(updated, null, 2)}\\n`, \"utf8\");\n const restore = () => writeFile(filePath, original, \"utf8\");\n try {\n const prepared = await prepareCanvas(filePath);\n const validation = await validateCanvasDeep(prepared.canvas, defaultRegistry());\n if (!validation.ok) {\n await restore();\n throw new SetPromptError(\"validation\", \"The edited canvas does not validate; nothing was changed.\", {\n details: { issues: validation.issues },\n });\n }\n } catch (e) {\n if (e instanceof SetPromptError) throw e;\n await restore();\n if (e instanceof CanvasPrepareError) {\n throw new SetPromptError(e.code, e.message, { ...(e.fix ? { fix: e.fix } : {}), ...(e.details ? { details: e.details } : {}) });\n }\n throw e;\n }\n}\n\n/**\n * A static ad's render prompt ends with the copy block the preflight fills from prompt.json.\n * New text that leaves it out keeps it, so replacing the scene description never drops the\n * words the ad must show.\n */\nfunction withCopyBlock(canvas: unknown, nodeId: string, text: string): string {\n const nodes = (canvas as { nodes?: unknown })?.nodes;\n const current = Array.isArray(nodes)\n ? (nodes as Array<{ id?: unknown; params?: { prompt?: unknown } }>).find((n) => n?.id === nodeId)?.params?.prompt\n : undefined;\n if (typeof current !== \"string\" || !current.includes(COPY_DIRECTIVE_HEADER) || text.includes(COPY_DIRECTIVE_HEADER)) {\n return text;\n }\n return `${text.trimEnd()}\\n\\n${COPY_DIRECTIVE_HEADER}`;\n}\n\nexport const setPromptCommand = defineCommand({\n meta: {\n name: \"set-prompt\",\n description:\n \"Safely set a node's params.prompt (a frame description, motion prompt, etc.) without hand-editing the JSON. Prefer --text-file for multi-line/accented copy — it preserves UTF-8 exactly, unlike shell-quoted jq. A prompt rebuilt from a scene file (scenes/sNN.json), or compiled from a static ad's prompt.json, is refused with the file to edit instead.\",\n },\n args: {\n file: { type: \"positional\", required: true, description: \"Path to canvas JSON\" },\n node: { type: \"positional\", required: true, description: \"Node id to edit (e.g. s0_start)\" },\n text: { type: \"string\", description: \"New prompt text (inline)\" },\n \"text-file\": { type: \"string\", description: \"Read the new prompt from a UTF-8 file (preserves accents/newlines)\" },\n },\n async run({ args }) {\n let text: string;\n if (args[\"text-file\"]) text = await readFile(path.resolve(String(args[\"text-file\"])), \"utf8\");\n else if (args.text !== undefined) text = String(args.text);\n else {\n process.stderr.write(\n `${JSON.stringify({ ok: false, error: { code: \"no_text\", message: \"pass --text or --text-file\" } }, null, 2)}\\n`,\n );\n process.exit(2);\n return;\n }\n\n try {\n await setPromptInCanvasFile(String(args.file), String(args.node), text);\n } catch (e) {\n if (!(e instanceof SetPromptError)) throw e;\n process.stderr.write(\n `${JSON.stringify(\n { ok: false, error: { code: e.code, message: e.message, ...(e.fix ? { fix: e.fix } : {}), ...(e.details ?? {}) } },\n null,\n 2,\n )}\\n`,\n );\n process.exit(2);\n return;\n }\n process.stdout.write(`${JSON.stringify({ ok: true, node: String(args.node), bytes: text.length }, null, 2)}\\n`);\n },\n});\n"],"mappings":"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","names":[]}