@koda-sl/baker-cli 0.496.0 → 0.497.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (841) hide show
  1. package/README.md +25 -4
  2. package/dist/account-ZKJFX2GK.js +80 -0
  3. package/dist/account-ZKJFX2GK.js.map +1 -0
  4. package/dist/account-users-SZCYHVBM.js +62 -0
  5. package/dist/account-users-SZCYHVBM.js.map +1 -0
  6. package/dist/accounts-5DFYKYSM.js +78 -0
  7. package/dist/accounts-5DFYKYSM.js.map +1 -0
  8. package/dist/accounts-OGAIQNE6.js +612 -0
  9. package/dist/accounts-OGAIQNE6.js.map +1 -0
  10. package/dist/actions-FMNJSOBA.js +55 -0
  11. package/dist/activecampaign-LYYYH6XD.js +936 -0
  12. package/dist/activecampaign-LYYYH6XD.js.map +1 -0
  13. package/dist/add-AOQLZRPC.js +80 -0
  14. package/dist/add-AOQLZRPC.js.map +1 -0
  15. package/dist/add-HWXEPSZF.js +105 -0
  16. package/dist/add-HWXEPSZF.js.map +1 -0
  17. package/dist/add-VDZPGZF5.js +148 -0
  18. package/dist/add-VDZPGZF5.js.map +1 -0
  19. package/dist/add-YYP3O536.js +303 -0
  20. package/dist/add-YYP3O536.js.map +1 -0
  21. package/dist/ads-OLXSDPD6.js +40 -0
  22. package/dist/advertisers-STYAIX72.js +121 -0
  23. package/dist/advertisers-STYAIX72.js.map +1 -0
  24. package/dist/analytics-6WBK4VFO.js +1977 -0
  25. package/dist/analytics-6WBK4VFO.js.map +1 -0
  26. package/dist/analytics-DHB325DM.js +434 -0
  27. package/dist/analytics-DHB325DM.js.map +1 -0
  28. package/dist/assign-BFXHYTMF.js +78 -0
  29. package/dist/assign-BFXHYTMF.js.map +1 -0
  30. package/dist/audience-size-XWHZV2GH.js +74 -0
  31. package/dist/audience-size-XWHZV2GH.js.map +1 -0
  32. package/dist/audit-IYGRU7LD.js +152 -0
  33. package/dist/audit-IYGRU7LD.js.map +1 -0
  34. package/dist/autocomplete-SDDSJTAF.js +112 -0
  35. package/dist/autocomplete-SDDSJTAF.js.map +1 -0
  36. package/dist/avatars-I4H3NMEJ.js +38 -0
  37. package/dist/bid-pricing-OVYBDRMV.js +101 -0
  38. package/dist/bid-pricing-OVYBDRMV.js.map +1 -0
  39. package/dist/brand-3V7ECY7D.js +22 -0
  40. package/dist/brief-U2W7KMFC.js +539 -0
  41. package/dist/brief-U2W7KMFC.js.map +1 -0
  42. package/dist/campaign-groups-FJHBVUA3.js +97 -0
  43. package/dist/campaign-groups-FJHBVUA3.js.map +1 -0
  44. package/dist/campaign-writes-XKYYMZML.js +166 -0
  45. package/dist/campaign-writes-XKYYMZML.js.map +1 -0
  46. package/dist/campaigns-E5UW4I3X.js +111 -0
  47. package/dist/campaigns-E5UW4I3X.js.map +1 -0
  48. package/dist/campaigns-MCB76NPQ.js +107 -0
  49. package/dist/canvas-JCNKMGCG.js +46 -0
  50. package/dist/capabilities-CLTZCXCZ.js +145 -0
  51. package/dist/capabilities-CLTZCXCZ.js.map +1 -0
  52. package/dist/chatgpt-XFZ42NXC.js +47 -0
  53. package/dist/chats-DTJSBDWO.js +277 -0
  54. package/dist/chats-DTJSBDWO.js.map +1 -0
  55. package/dist/check-CZTS64AW.js +105 -0
  56. package/dist/check-CZTS64AW.js.map +1 -0
  57. package/dist/chunk-2YTBPRRG.js +207 -0
  58. package/dist/chunk-3SNCMEJB.js +97 -0
  59. package/dist/chunk-7QGFO35A.js +23 -0
  60. package/dist/chunk-AV7ALENU.js +191 -0
  61. package/dist/chunk-BRLFQ4VX.js +604 -0
  62. package/dist/chunk-CAZGM2NX.js +92 -0
  63. package/dist/chunk-CAZGM2NX.js.map +1 -0
  64. package/dist/chunk-DJE7UXYT.js +831 -0
  65. package/dist/chunk-EFWXYUSK.js +139 -0
  66. package/dist/chunk-EONSZAZB.js +3868 -0
  67. package/dist/chunk-FALJQCWL.js +661 -0
  68. package/dist/chunk-FALJQCWL.js.map +1 -0
  69. package/dist/chunk-FG3MV2XM.js +89 -0
  70. package/dist/chunk-FKG476GH.js +392 -0
  71. package/dist/chunk-FUGQSIYG.js +297 -0
  72. package/dist/chunk-GZ4A2VYW.js +39 -0
  73. package/dist/chunk-GZ4A2VYW.js.map +1 -0
  74. package/dist/chunk-HPLHAHG5.js +275 -0
  75. package/dist/chunk-I24YT2KG.js +122 -0
  76. package/dist/chunk-IFDZZOUC.js +903 -0
  77. package/dist/chunk-JVVUI55M.js +455 -0
  78. package/dist/chunk-KKSHEPBY.js +363 -0
  79. package/dist/chunk-KQ7RCLGC.js +547 -0
  80. package/dist/chunk-L7WMS5PW.js +172 -0
  81. package/dist/chunk-LBRO4MTL.js +19 -0
  82. package/dist/chunk-LNRPOULW.js +224 -0
  83. package/dist/chunk-LX6WC2XZ.js +942 -0
  84. package/dist/chunk-MMGTJBM6.js +142 -0
  85. package/dist/chunk-NZS3KEQ2.js +97 -0
  86. package/dist/chunk-NZS3KEQ2.js.map +1 -0
  87. package/dist/chunk-O37VU7FG.js +6799 -0
  88. package/dist/chunk-O37VU7FG.js.map +1 -0
  89. package/dist/chunk-OEZYSL3U.js +51 -0
  90. package/dist/chunk-OOVHBMQB.js +103 -0
  91. package/dist/chunk-PTH7VWKK.js +159 -0
  92. package/dist/chunk-PYD6IGW6.js +401 -0
  93. package/dist/chunk-PYD6IGW6.js.map +1 -0
  94. package/dist/chunk-QE2E4EYJ.js +349 -0
  95. package/dist/chunk-QE2E4EYJ.js.map +1 -0
  96. package/dist/chunk-QZF4BVKL.js +66 -0
  97. package/dist/chunk-RITUSBYO.js +61 -0
  98. package/dist/chunk-SSTL3A7Z.js +206 -0
  99. package/dist/chunk-SZNGQ2GF.js +64 -0
  100. package/dist/chunk-SZNGQ2GF.js.map +1 -0
  101. package/dist/chunk-TD4SO6TR.js +169 -0
  102. package/dist/chunk-UZ4RTOFG.js +91 -0
  103. package/dist/chunk-VAX7PFQV.js +592 -0
  104. package/dist/chunk-VDRSZK4P.js +494 -0
  105. package/dist/chunk-VNU2EYD4.js +344 -0
  106. package/dist/chunk-WT4WDIXA.js +156 -0
  107. package/dist/chunk-XEX23CIB.js +160 -0
  108. package/dist/chunk-XXDF25BW.js +8939 -0
  109. package/dist/chunk-YJ3LSFMX.js +249 -0
  110. package/dist/chunk-YVK5RT3B.js +197 -0
  111. package/dist/chunk-YWWRLZUR.js +433 -0
  112. package/dist/chunk-Z4S5BCVZ.js +57 -0
  113. package/dist/chunk-ZYGK7GAK.js +1079 -0
  114. package/dist/claim-TSFPWTQY.js +198 -0
  115. package/dist/claim-TSFPWTQY.js.map +1 -0
  116. package/dist/cli.js +38 -37
  117. package/dist/cli.js.map +1 -1
  118. package/dist/companies-P7FZNJQV.js +196 -0
  119. package/dist/companies-P7FZNJQV.js.map +1 -0
  120. package/dist/complete-SYDIHMD5.js +82 -0
  121. package/dist/complete-SYDIHMD5.js.map +1 -0
  122. package/dist/connect-COS6G45S.js +43 -0
  123. package/dist/conversation-UJOWMJRH.js +94 -0
  124. package/dist/conversation-UJOWMJRH.js.map +1 -0
  125. package/dist/conversions-ONOIEILU.js +138 -0
  126. package/dist/conversions-ONOIEILU.js.map +1 -0
  127. package/dist/create-DPQRYQXK.js +208 -0
  128. package/dist/create-DPQRYQXK.js.map +1 -0
  129. package/dist/create-JD76Z4A4.js +60 -0
  130. package/dist/create-JD76Z4A4.js.map +1 -0
  131. package/dist/create-NOT3HGP2.js +133 -0
  132. package/dist/create-NOT3HGP2.js.map +1 -0
  133. package/dist/create-ZYEB7SHF.js +236 -0
  134. package/dist/create-ZYEB7SHF.js.map +1 -0
  135. package/dist/creatives-LRSELC7Y.js +221 -0
  136. package/dist/creatives-LRSELC7Y.js.map +1 -0
  137. package/dist/creatives-SEQHJD2M.js +58 -0
  138. package/dist/credentials-LHPTUVVA.js +288 -0
  139. package/dist/credentials-LHPTUVVA.js.map +1 -0
  140. package/dist/critique-Q7GSZ5RP.js +1459 -0
  141. package/dist/critique-Q7GSZ5RP.js.map +1 -0
  142. package/dist/critique-RR2XOQCE.js +228 -0
  143. package/dist/critique-RR2XOQCE.js.map +1 -0
  144. package/dist/crm-J7EU32PL.js +319 -0
  145. package/dist/crm-J7EU32PL.js.map +1 -0
  146. package/dist/crm-MC444ZVU.js +225 -0
  147. package/dist/crm-MC444ZVU.js.map +1 -0
  148. package/dist/customers-LMSX33FO.js +57 -0
  149. package/dist/delete-BQBVATMF.js +55 -0
  150. package/dist/delete-BQBVATMF.js.map +1 -0
  151. package/dist/delete-K7A3AUPH.js +65 -0
  152. package/dist/delete-K7A3AUPH.js.map +1 -0
  153. package/dist/delete-VV2ICIHF.js +67 -0
  154. package/dist/delete-VV2ICIHF.js.map +1 -0
  155. package/dist/demographics-7GWUXXS6.js +139 -0
  156. package/dist/demographics-7GWUXXS6.js.map +1 -0
  157. package/dist/discard-3CLZ4DPD.js +67 -0
  158. package/dist/discard-3CLZ4DPD.js.map +1 -0
  159. package/dist/domain-ZS74BSE6.js +99 -0
  160. package/dist/domain-ZS74BSE6.js.map +1 -0
  161. package/dist/draft-J3B33RAZ.js +308 -0
  162. package/dist/draft-J3B33RAZ.js.map +1 -0
  163. package/dist/draft-MZLWVX3D.js +218 -0
  164. package/dist/draft-MZLWVX3D.js.map +1 -0
  165. package/dist/draft-R56PIXCV.js +333 -0
  166. package/dist/draft-R56PIXCV.js.map +1 -0
  167. package/dist/experiment-7RJ5X2LL.js +1397 -0
  168. package/dist/experiments-NOSJJMYI.js +234 -0
  169. package/dist/experiments-NOSJJMYI.js.map +1 -0
  170. package/dist/facets-E6SHYUAI.js +115 -0
  171. package/dist/facets-E6SHYUAI.js.map +1 -0
  172. package/dist/feedback-HXCQBV7S.js +107 -0
  173. package/dist/feedback-HXCQBV7S.js.map +1 -0
  174. package/dist/feedback-record-GXPYXNT6.js +261 -0
  175. package/dist/feedback-record-GXPYXNT6.js.map +1 -0
  176. package/dist/fetch-HMUGSRE4.js +177 -0
  177. package/dist/fetch-HMUGSRE4.js.map +1 -0
  178. package/dist/find-2EPXK5RF.js +134 -0
  179. package/dist/fit-W7UNFZT5.js +63 -0
  180. package/dist/flows-SO5J3M3X.js +248 -0
  181. package/dist/flows-SO5J3M3X.js.map +1 -0
  182. package/dist/fonts-N42UYWTX.js +37 -0
  183. package/dist/forecast-24LGJVLC.js +119 -0
  184. package/dist/forecast-24LGJVLC.js.map +1 -0
  185. package/dist/funnel-NYT36B3C.js +395 -0
  186. package/dist/funnel-NYT36B3C.js.map +1 -0
  187. package/dist/ga4-6EIQC2TG.js +55 -0
  188. package/dist/get-KAGO4EC5.js +80 -0
  189. package/dist/get-KAGO4EC5.js.map +1 -0
  190. package/dist/get-PZX27LQY.js +38 -0
  191. package/dist/get-PZX27LQY.js.map +1 -0
  192. package/dist/get-R5JAFHTH.js +57 -0
  193. package/dist/get-R5JAFHTH.js.map +1 -0
  194. package/dist/google-O5OI6QFU.js +136 -0
  195. package/dist/google-ads-6X4BHGUR.js +196 -0
  196. package/dist/google-ads-6X4BHGUR.js.map +1 -0
  197. package/dist/gsc-BM3T2GDL.js +30 -0
  198. package/dist/history-LGOWYLBE.js +134 -0
  199. package/dist/history-LGOWYLBE.js.map +1 -0
  200. package/dist/hubspot-LJB3ETUT.js +780 -0
  201. package/dist/hubspot-LJB3ETUT.js.map +1 -0
  202. package/dist/icon-B7DG53S5.js +137 -0
  203. package/dist/ideas-DYN2DMFN.js +41 -0
  204. package/dist/images-EQCUXEHF.js +92 -0
  205. package/dist/ingest-B46AY3QU.js +24 -0
  206. package/dist/ingest-T7ZS2R4U.js +108 -0
  207. package/dist/ingest-T7ZS2R4U.js.map +1 -0
  208. package/dist/inspect-BSNGAT2S.js +190 -0
  209. package/dist/inspect-BSNGAT2S.js.map +1 -0
  210. package/dist/inspiration-TCCKM4R7.js +53 -0
  211. package/dist/keyword-metrics-KNTIN4ZK.js +198 -0
  212. package/dist/keyword-metrics-KNTIN4ZK.js.map +1 -0
  213. package/dist/keywords-for-site-S4MXGXWR.js +129 -0
  214. package/dist/keywords-for-site-S4MXGXWR.js.map +1 -0
  215. package/dist/landing-WVPA7NBR.js +28 -0
  216. package/dist/leads-EINV5FK3.js +113 -0
  217. package/dist/leads-EINV5FK3.js.map +1 -0
  218. package/dist/learn-7Z2VR6MS.js +205 -0
  219. package/dist/learn-7Z2VR6MS.js.map +1 -0
  220. package/dist/line-item-writes-Z3TIB5KZ.js +209 -0
  221. package/dist/line-item-writes-Z3TIB5KZ.js.map +1 -0
  222. package/dist/line-items-OEWYOPFP.js +103 -0
  223. package/dist/link-KYHUIPJE.js +65 -0
  224. package/dist/link-KYHUIPJE.js.map +1 -0
  225. package/dist/linkedin-JVB4HXJC.js +1314 -0
  226. package/dist/linkedin-JVB4HXJC.js.map +1 -0
  227. package/dist/list-EORTO73V.js +93 -0
  228. package/dist/list-EORTO73V.js.map +1 -0
  229. package/dist/list-QQVLURKH.js +152 -0
  230. package/dist/list-QQVLURKH.js.map +1 -0
  231. package/dist/list-QWGKRUSM.js +65 -0
  232. package/dist/list-QWGKRUSM.js.map +1 -0
  233. package/dist/list-WRBWQASJ.js +50 -0
  234. package/dist/list-Z6NMNK3T.js +304 -0
  235. package/dist/list-Z6NMNK3T.js.map +1 -0
  236. package/dist/log-RUMKYPYK.js +93 -0
  237. package/dist/log-RUMKYPYK.js.map +1 -0
  238. package/dist/logo-QTSBKP2J.js +18 -0
  239. package/dist/make-IJGCQA7C.js +1354 -0
  240. package/dist/make-IJGCQA7C.js.map +1 -0
  241. package/dist/map-QZHIJFQT.js +434 -0
  242. package/dist/map-QZHIJFQT.js.map +1 -0
  243. package/dist/mcp-ZH2XDV5P.js +715 -0
  244. package/dist/mcp-ZH2XDV5P.js.map +1 -0
  245. package/dist/media-sources-SQ2RPDBO.js +35 -0
  246. package/dist/media-sources-SQ2RPDBO.js.map +1 -0
  247. package/dist/members-4YX7JEZM.js +45 -0
  248. package/dist/members-4YX7JEZM.js.map +1 -0
  249. package/dist/normalize-ABIWLRIT.js +142 -0
  250. package/dist/normalize-ABIWLRIT.js.map +1 -0
  251. package/dist/options-SVCQVTNE.js +123 -0
  252. package/dist/options-SVCQVTNE.js.map +1 -0
  253. package/dist/organization-FNKDC742.js +947 -0
  254. package/dist/organization-FNKDC742.js.map +1 -0
  255. package/dist/performance-HTU5FR2K.js +25 -0
  256. package/dist/posts-3DAPTBH2.js +34 -0
  257. package/dist/posts-3DAPTBH2.js.map +1 -0
  258. package/dist/promoted-tweet-writes-DD3CJNWW.js +181 -0
  259. package/dist/promoted-tweet-writes-DD3CJNWW.js.map +1 -0
  260. package/dist/promoted-tweets-TTWN5OMW.js +119 -0
  261. package/dist/publish-Z62KGDJ2.js +342 -0
  262. package/dist/publish-Z62KGDJ2.js.map +1 -0
  263. package/dist/reddit-6C3PT5CT.js +27 -0
  264. package/dist/refresh-HCQXVFVR.js +95 -0
  265. package/dist/refresh-HCQXVFVR.js.map +1 -0
  266. package/dist/refresh-ZCGH64OZ.js +42 -0
  267. package/dist/refresh-ZCGH64OZ.js.map +1 -0
  268. package/dist/release-FIHW2HCH.js +61 -0
  269. package/dist/release-FIHW2HCH.js.map +1 -0
  270. package/dist/remove-CBR7NVMI.js +51 -0
  271. package/dist/remove-CBR7NVMI.js.map +1 -0
  272. package/dist/remove-PUZP5GWN.js +49 -0
  273. package/dist/remove-PUZP5GWN.js.map +1 -0
  274. package/dist/reopen-EJGLRQWR.js +64 -0
  275. package/dist/reopen-EJGLRQWR.js.map +1 -0
  276. package/dist/rerun-TVBZXASH.js +91 -0
  277. package/dist/rerun-TVBZXASH.js.map +1 -0
  278. package/dist/research-L25D4WHQ.js +263 -0
  279. package/dist/research-L25D4WHQ.js.map +1 -0
  280. package/dist/research-YCMMQVK6.js +62 -0
  281. package/dist/reset-HKKCWKZ7.js +55 -0
  282. package/dist/reset-HKKCWKZ7.js.map +1 -0
  283. package/dist/reset-SRL6I6GP.js +55 -0
  284. package/dist/reset-SRL6I6GP.js.map +1 -0
  285. package/dist/resolve-POMTTAFR.js +122 -0
  286. package/dist/resolve-POMTTAFR.js.map +1 -0
  287. package/dist/retry-MEPTOAV2.js +61 -0
  288. package/dist/retry-MEPTOAV2.js.map +1 -0
  289. package/dist/retry-RNGM3KKA.js +63 -0
  290. package/dist/retry-RNGM3KKA.js.map +1 -0
  291. package/dist/revenue-X4KPTSAM.js +89 -0
  292. package/dist/revenue-X4KPTSAM.js.map +1 -0
  293. package/dist/rules-VK7YA23Q.js +97 -0
  294. package/dist/rules-VK7YA23Q.js.map +1 -0
  295. package/dist/rules-add-VG7AT6EG.js +463 -0
  296. package/dist/rules-add-VG7AT6EG.js.map +1 -0
  297. package/dist/run-DIDQSZU7.js +67 -0
  298. package/dist/run-DIDQSZU7.js.map +1 -0
  299. package/dist/run-SR7DJ7M5.js +66 -0
  300. package/dist/scaffold-ad-46GTFUMP.js +1512 -0
  301. package/dist/scaffold-ad-46GTFUMP.js.map +1 -0
  302. package/dist/scaffold-static-ad-U63V4UHR.js +1006 -0
  303. package/dist/scaffold-static-ad-U63V4UHR.js.map +1 -0
  304. package/dist/scaffold-video-4DNTURH6.js +884 -0
  305. package/dist/scaffold-video-4DNTURH6.js.map +1 -0
  306. package/dist/schedule-JO66N7XO.js +62 -0
  307. package/dist/schedule-JO66N7XO.js.map +1 -0
  308. package/dist/schedule-JZBIX6LH.js +67 -0
  309. package/dist/schedule-JZBIX6LH.js.map +1 -0
  310. package/dist/scheduled-agents-N63EZNY6.js +50 -0
  311. package/dist/schema-B2XANMEY.js +133 -0
  312. package/dist/schema-B2XANMEY.js.map +1 -0
  313. package/dist/schema-C6SGBNA6.js +69 -0
  314. package/dist/search-7GHS3OUZ.js +51 -0
  315. package/dist/search-7GHS3OUZ.js.map +1 -0
  316. package/dist/search-W5HZUJA2.js +175 -0
  317. package/dist/search-W5HZUJA2.js.map +1 -0
  318. package/dist/select-LMGLNFWB.js +102 -0
  319. package/dist/select-LMGLNFWB.js.map +1 -0
  320. package/dist/set-prompt-M5E3UZDM.js +194 -0
  321. package/dist/set-prompt-M5E3UZDM.js.map +1 -0
  322. package/dist/setup-links-ERBQSKAB.js +142 -0
  323. package/dist/setup-links-ERBQSKAB.js.map +1 -0
  324. package/dist/site-PNVFJRYK.js +178 -0
  325. package/dist/site-PNVFJRYK.js.map +1 -0
  326. package/dist/sources-DMZJPLKC.js +455 -0
  327. package/dist/sources-DMZJPLKC.js.map +1 -0
  328. package/dist/sources-HN3GCEDX.js +30 -0
  329. package/dist/stale-VWN25WTL.js +72 -0
  330. package/dist/stale-VWN25WTL.js.map +1 -0
  331. package/dist/stats-CVF6AC7R.js +34 -0
  332. package/dist/status-SF7DTPCJ.js +63 -0
  333. package/dist/status-SF7DTPCJ.js.map +1 -0
  334. package/dist/stock-4LPQ6SM7.js +179 -0
  335. package/dist/studio-NZ6WQ7OE.js +49 -0
  336. package/dist/suggest-WMMEQCUH.js +66 -0
  337. package/dist/suggest-WMMEQCUH.js.map +1 -0
  338. package/dist/sync-F7VNZLWY.js +55 -0
  339. package/dist/sync-F7VNZLWY.js.map +1 -0
  340. package/dist/sync-HVNDPBOD.js +55 -0
  341. package/dist/sync-HVNDPBOD.js.map +1 -0
  342. package/dist/sync-definition-CKEUYKWN.js +65 -0
  343. package/dist/tag-KTQ2FV5C.js +57 -0
  344. package/dist/tag-KTQ2FV5C.js.map +1 -0
  345. package/dist/tag-manager-FLXXLNKP.js +43 -0
  346. package/dist/tags-EUOOSAKN.js +26 -0
  347. package/dist/tags-KOMAP2G5.js +21 -0
  348. package/dist/tags-KOMAP2G5.js.map +1 -0
  349. package/dist/tags-TKXJGTR3.js +21 -0
  350. package/dist/tags-TKXJGTR3.js.map +1 -0
  351. package/dist/tags-VWIPDCUA.js +225 -0
  352. package/dist/tags-VWIPDCUA.js.map +1 -0
  353. package/dist/tags-XAB4HWGW.js +21 -0
  354. package/dist/tags-XAB4HWGW.js.map +1 -0
  355. package/dist/targeting-criteria-HE7K52WN.js +113 -0
  356. package/dist/targets-NA4XPDBF.js +104 -0
  357. package/dist/targets-NA4XPDBF.js.map +1 -0
  358. package/dist/testimonials-3Q5XM7JD.js +32 -0
  359. package/dist/top-companies-TKO4QGPJ.js +109 -0
  360. package/dist/top-companies-TKO4QGPJ.js.map +1 -0
  361. package/dist/translate-YVIZ5T44.js +605 -0
  362. package/dist/translate-YVIZ5T44.js.map +1 -0
  363. package/dist/triggers-QX7VW7UO.js +143 -0
  364. package/dist/triggers-QX7VW7UO.js.map +1 -0
  365. package/dist/unlink-64SRPUNG.js +68 -0
  366. package/dist/unlink-64SRPUNG.js.map +1 -0
  367. package/dist/unstage-5X2MOUMF.js +86 -0
  368. package/dist/unstage-5X2MOUMF.js.map +1 -0
  369. package/dist/update-22ZBHURE.js +81 -0
  370. package/dist/update-22ZBHURE.js.map +1 -0
  371. package/dist/update-2LTPSGWT.js +99 -0
  372. package/dist/update-2LTPSGWT.js.map +1 -0
  373. package/dist/update-DOKS7ATM.js +189 -0
  374. package/dist/update-DOKS7ATM.js.map +1 -0
  375. package/dist/update-FB6X463M.js +64 -0
  376. package/dist/update-FB6X463M.js.map +1 -0
  377. package/dist/update-QIZ7XFAM.js +153 -0
  378. package/dist/update-QIZ7XFAM.js.map +1 -0
  379. package/dist/upload-XJ7TUVIK.js +127 -0
  380. package/dist/upload-XJ7TUVIK.js.map +1 -0
  381. package/dist/url-params-KLQOLNPS.js +99 -0
  382. package/dist/url-params-KLQOLNPS.js.map +1 -0
  383. package/dist/validate-YTBJBG44.js +118 -0
  384. package/dist/validate-YTBJBG44.js.map +1 -0
  385. package/dist/videos-WAPUPJVT.js +39 -0
  386. package/dist/viewer-check-GHQA3UY2.js +81 -0
  387. package/dist/web-6JMWERTT.js +141 -0
  388. package/dist/web-6JMWERTT.js.map +1 -0
  389. package/dist/winning-ads-XCVUAIOU.js +86 -0
  390. package/dist/write-commands-N74CDMQM.js +1493 -0
  391. package/dist/write-commands-N74CDMQM.js.map +1 -0
  392. package/dist/x-SI4KYDEY.js +47 -0
  393. package/package.json +1 -1
  394. package/dist/account-UHNR5KTE.js +0 -79
  395. package/dist/account-UHNR5KTE.js.map +0 -1
  396. package/dist/accounts-KMLXHADA.js +0 -77
  397. package/dist/accounts-KMLXHADA.js.map +0 -1
  398. package/dist/accounts-QDGNTSTV.js +0 -611
  399. package/dist/accounts-QDGNTSTV.js.map +0 -1
  400. package/dist/actions-QL5UD2W4.js +0 -55
  401. package/dist/activecampaign-5OD45ROS.js +0 -935
  402. package/dist/activecampaign-5OD45ROS.js.map +0 -1
  403. package/dist/add-2F7BEVYD.js +0 -105
  404. package/dist/add-2F7BEVYD.js.map +0 -1
  405. package/dist/add-6K6LO7CM.js +0 -104
  406. package/dist/add-6K6LO7CM.js.map +0 -1
  407. package/dist/add-LYDJZDGO.js +0 -302
  408. package/dist/add-LYDJZDGO.js.map +0 -1
  409. package/dist/ads-DHPJFU52.js +0 -40
  410. package/dist/advertisers-23LU7GTV.js +0 -120
  411. package/dist/advertisers-23LU7GTV.js.map +0 -1
  412. package/dist/analytics-HO2SLL4W.js +0 -433
  413. package/dist/analytics-HO2SLL4W.js.map +0 -1
  414. package/dist/analytics-LD3D7ISK.js +0 -1976
  415. package/dist/analytics-LD3D7ISK.js.map +0 -1
  416. package/dist/assign-CLKJKH2B.js +0 -77
  417. package/dist/assign-CLKJKH2B.js.map +0 -1
  418. package/dist/audience-size-NNYYXODL.js +0 -73
  419. package/dist/audience-size-NNYYXODL.js.map +0 -1
  420. package/dist/audit-KB4P2XGS.js +0 -151
  421. package/dist/audit-KB4P2XGS.js.map +0 -1
  422. package/dist/autocomplete-VZD2SMTE.js +0 -111
  423. package/dist/autocomplete-VZD2SMTE.js.map +0 -1
  424. package/dist/avatars-FKOO6VZ2.js +0 -38
  425. package/dist/bid-pricing-6LLXOLLI.js +0 -100
  426. package/dist/bid-pricing-6LLXOLLI.js.map +0 -1
  427. package/dist/brand-NNWHBIAX.js +0 -22
  428. package/dist/brief-CPJQWT6W.js +0 -538
  429. package/dist/brief-CPJQWT6W.js.map +0 -1
  430. package/dist/campaign-groups-YPYNXOWU.js +0 -95
  431. package/dist/campaign-groups-YPYNXOWU.js.map +0 -1
  432. package/dist/campaign-writes-UJ4L2O6G.js +0 -165
  433. package/dist/campaign-writes-UJ4L2O6G.js.map +0 -1
  434. package/dist/campaigns-HLBZRH5A.js +0 -107
  435. package/dist/campaigns-N44ZDGB5.js +0 -109
  436. package/dist/campaigns-N44ZDGB5.js.map +0 -1
  437. package/dist/canvas-D64GLWUO.js +0 -46
  438. package/dist/capabilities-LWXCWMIY.js +0 -144
  439. package/dist/capabilities-LWXCWMIY.js.map +0 -1
  440. package/dist/chatgpt-YI6YNACI.js +0 -47
  441. package/dist/chats-7WGC2CVW.js +0 -276
  442. package/dist/chats-7WGC2CVW.js.map +0 -1
  443. package/dist/check-EH6BXWWL.js +0 -104
  444. package/dist/check-EH6BXWWL.js.map +0 -1
  445. package/dist/chunk-2B772ZEA.js +0 -169
  446. package/dist/chunk-2KRK667G.js +0 -51
  447. package/dist/chunk-2TVXJPGR.js +0 -103
  448. package/dist/chunk-3AMLOCXY.js +0 -392
  449. package/dist/chunk-3B5LPK6D.js +0 -658
  450. package/dist/chunk-3B5LPK6D.js.map +0 -1
  451. package/dist/chunk-3N5A44NQ.js +0 -122
  452. package/dist/chunk-3WAYZQNV.js +0 -61
  453. package/dist/chunk-5A257KJA.js +0 -160
  454. package/dist/chunk-6QGS3RQP.js +0 -363
  455. package/dist/chunk-AFD32O4A.js +0 -494
  456. package/dist/chunk-AW2GKIGS.js +0 -433
  457. package/dist/chunk-CYSBNCPX.js +0 -55
  458. package/dist/chunk-CYSBNCPX.js.map +0 -1
  459. package/dist/chunk-DAO63OOP.js +0 -6352
  460. package/dist/chunk-DAO63OOP.js.map +0 -1
  461. package/dist/chunk-EMQUW6JB.js +0 -942
  462. package/dist/chunk-EW3JEKIV.js +0 -139
  463. package/dist/chunk-FBFWMTOP.js +0 -19
  464. package/dist/chunk-GXDLWBOY.js +0 -73
  465. package/dist/chunk-GXDLWBOY.js.map +0 -1
  466. package/dist/chunk-GXGYTFZA.js +0 -8939
  467. package/dist/chunk-I7J7YQXZ.js +0 -142
  468. package/dist/chunk-IBY44U2M.js +0 -1079
  469. package/dist/chunk-IFXGCI33.js +0 -297
  470. package/dist/chunk-IKLHXGMF.js +0 -91
  471. package/dist/chunk-IYTPWAN3.js +0 -604
  472. package/dist/chunk-J3CWAERS.js +0 -3868
  473. package/dist/chunk-JH2L5CQD.js +0 -206
  474. package/dist/chunk-JUVVCA7B.js +0 -97
  475. package/dist/chunk-MK6XJUCQ.js +0 -197
  476. package/dist/chunk-N3I6ZXR7.js +0 -66
  477. package/dist/chunk-NBO2NSAW.js +0 -592
  478. package/dist/chunk-NEU5QD2C.js +0 -249
  479. package/dist/chunk-NKIBXOHT.js +0 -344
  480. package/dist/chunk-OE3MIV4F.js +0 -547
  481. package/dist/chunk-P2MFWJR3.js +0 -903
  482. package/dist/chunk-PHCIFBP3.js +0 -89
  483. package/dist/chunk-PTUXBO5O.js +0 -224
  484. package/dist/chunk-Q3LXLWZY.js +0 -275
  485. package/dist/chunk-Q5WBTVA7.js +0 -455
  486. package/dist/chunk-RDEAVCMF.js +0 -399
  487. package/dist/chunk-RDEAVCMF.js.map +0 -1
  488. package/dist/chunk-RGMKXNQP.js +0 -23
  489. package/dist/chunk-RZTKCCUL.js +0 -831
  490. package/dist/chunk-TTKBNBQF.js +0 -156
  491. package/dist/chunk-VB3XUR6A.js +0 -207
  492. package/dist/chunk-XCKINS7K.js +0 -57
  493. package/dist/chunk-Y6GKV7CU.js +0 -346
  494. package/dist/chunk-Y6GKV7CU.js.map +0 -1
  495. package/dist/chunk-Z2GQREJY.js +0 -159
  496. package/dist/chunk-ZDAVSTEE.js +0 -172
  497. package/dist/chunk-ZXCSOVS5.js +0 -191
  498. package/dist/claim-SVDCQ2AI.js +0 -197
  499. package/dist/claim-SVDCQ2AI.js.map +0 -1
  500. package/dist/companies-BYMYQK6A.js +0 -195
  501. package/dist/companies-BYMYQK6A.js.map +0 -1
  502. package/dist/complete-NEH3MWRI.js +0 -81
  503. package/dist/complete-NEH3MWRI.js.map +0 -1
  504. package/dist/connect-5PGL7ZOM.js +0 -42
  505. package/dist/conversation-CSOKJXDW.js +0 -93
  506. package/dist/conversation-CSOKJXDW.js.map +0 -1
  507. package/dist/conversions-4JOTTFEH.js +0 -135
  508. package/dist/conversions-4JOTTFEH.js.map +0 -1
  509. package/dist/create-2XYMBULY.js +0 -207
  510. package/dist/create-2XYMBULY.js.map +0 -1
  511. package/dist/create-56PTZABQ.js +0 -235
  512. package/dist/create-56PTZABQ.js.map +0 -1
  513. package/dist/create-D6S6TGWY.js +0 -59
  514. package/dist/create-D6S6TGWY.js.map +0 -1
  515. package/dist/create-SMW4O5PC.js +0 -132
  516. package/dist/create-SMW4O5PC.js.map +0 -1
  517. package/dist/creatives-OO76DAFS.js +0 -58
  518. package/dist/creatives-VJUYWJL6.js +0 -182
  519. package/dist/creatives-VJUYWJL6.js.map +0 -1
  520. package/dist/credentials-2ONYUJW6.js +0 -287
  521. package/dist/credentials-2ONYUJW6.js.map +0 -1
  522. package/dist/critique-NDDFSGPE.js +0 -1458
  523. package/dist/critique-NDDFSGPE.js.map +0 -1
  524. package/dist/critique-YXZVMLZ4.js +0 -227
  525. package/dist/critique-YXZVMLZ4.js.map +0 -1
  526. package/dist/crm-Q6CEP5XV.js +0 -224
  527. package/dist/crm-Q6CEP5XV.js.map +0 -1
  528. package/dist/crm-WRONZYDH.js +0 -318
  529. package/dist/crm-WRONZYDH.js.map +0 -1
  530. package/dist/customers-2EFYSCU2.js +0 -56
  531. package/dist/delete-7WEVC3FS.js +0 -66
  532. package/dist/delete-7WEVC3FS.js.map +0 -1
  533. package/dist/delete-RBWK255M.js +0 -54
  534. package/dist/delete-RBWK255M.js.map +0 -1
  535. package/dist/delete-VN4WWMQF.js +0 -64
  536. package/dist/delete-VN4WWMQF.js.map +0 -1
  537. package/dist/demographics-I5XZ435C.js +0 -138
  538. package/dist/demographics-I5XZ435C.js.map +0 -1
  539. package/dist/discard-XJLIXTNM.js +0 -66
  540. package/dist/discard-XJLIXTNM.js.map +0 -1
  541. package/dist/domain-M7AEGAYI.js +0 -98
  542. package/dist/domain-M7AEGAYI.js.map +0 -1
  543. package/dist/draft-5DQI4W5F.js +0 -306
  544. package/dist/draft-5DQI4W5F.js.map +0 -1
  545. package/dist/draft-7IIYHSY2.js +0 -332
  546. package/dist/draft-7IIYHSY2.js.map +0 -1
  547. package/dist/draft-CN6GKVBF.js +0 -217
  548. package/dist/draft-CN6GKVBF.js.map +0 -1
  549. package/dist/experiment-IDDWRCJ7.js +0 -1397
  550. package/dist/facets-ZLZ6LIHN.js +0 -114
  551. package/dist/facets-ZLZ6LIHN.js.map +0 -1
  552. package/dist/feedback-7LEX2P5Q.js +0 -106
  553. package/dist/feedback-7LEX2P5Q.js.map +0 -1
  554. package/dist/feedback-record-P4JJ63KA.js +0 -260
  555. package/dist/feedback-record-P4JJ63KA.js.map +0 -1
  556. package/dist/fetch-MIVCEHXZ.js +0 -176
  557. package/dist/fetch-MIVCEHXZ.js.map +0 -1
  558. package/dist/find-VHN34MWL.js +0 -134
  559. package/dist/fit-SS6HSZPU.js +0 -62
  560. package/dist/flows-UTIIHDNE.js +0 -247
  561. package/dist/flows-UTIIHDNE.js.map +0 -1
  562. package/dist/fonts-YPNN7ZJP.js +0 -36
  563. package/dist/forecast-OBSHG2GJ.js +0 -118
  564. package/dist/forecast-OBSHG2GJ.js.map +0 -1
  565. package/dist/funnel-A4MXQYBA.js +0 -394
  566. package/dist/funnel-A4MXQYBA.js.map +0 -1
  567. package/dist/ga4-ZPAEF2G2.js +0 -55
  568. package/dist/get-MDAO6I7T.js +0 -56
  569. package/dist/get-MDAO6I7T.js.map +0 -1
  570. package/dist/get-ZB553BSH.js +0 -79
  571. package/dist/get-ZB553BSH.js.map +0 -1
  572. package/dist/google-C3X7O2UO.js +0 -136
  573. package/dist/google-ads-FTWL772L.js +0 -195
  574. package/dist/google-ads-FTWL772L.js.map +0 -1
  575. package/dist/gsc-SDDHGTZK.js +0 -30
  576. package/dist/history-WKJYKDMG.js +0 -133
  577. package/dist/history-WKJYKDMG.js.map +0 -1
  578. package/dist/hubspot-EPHVEPOO.js +0 -779
  579. package/dist/hubspot-EPHVEPOO.js.map +0 -1
  580. package/dist/icon-MYPDC6FM.js +0 -137
  581. package/dist/ideas-3PBH7VEX.js +0 -40
  582. package/dist/images-J35C3WG4.js +0 -92
  583. package/dist/ingest-5QOPUKFE.js +0 -107
  584. package/dist/ingest-5QOPUKFE.js.map +0 -1
  585. package/dist/ingest-OKUYP632.js +0 -23
  586. package/dist/inspect-PMNCP6MV.js +0 -189
  587. package/dist/inspect-PMNCP6MV.js.map +0 -1
  588. package/dist/inspiration-QAL7NS7G.js +0 -53
  589. package/dist/keyword-metrics-R752SJIT.js +0 -197
  590. package/dist/keyword-metrics-R752SJIT.js.map +0 -1
  591. package/dist/keywords-for-site-7UWPJYQF.js +0 -128
  592. package/dist/keywords-for-site-7UWPJYQF.js.map +0 -1
  593. package/dist/landing-CBVIOGJ5.js +0 -28
  594. package/dist/leads-LIJS6Y5W.js +0 -90
  595. package/dist/leads-LIJS6Y5W.js.map +0 -1
  596. package/dist/learn-N6QV7GXA.js +0 -204
  597. package/dist/learn-N6QV7GXA.js.map +0 -1
  598. package/dist/line-item-writes-3WPJXKIL.js +0 -208
  599. package/dist/line-item-writes-3WPJXKIL.js.map +0 -1
  600. package/dist/line-items-ZOFKOGAA.js +0 -103
  601. package/dist/link-DDRQKOUL.js +0 -64
  602. package/dist/link-DDRQKOUL.js.map +0 -1
  603. package/dist/linkedin-UWZCF66X.js +0 -1057
  604. package/dist/linkedin-UWZCF66X.js.map +0 -1
  605. package/dist/list-5PLXVPLB.js +0 -151
  606. package/dist/list-5PLXVPLB.js.map +0 -1
  607. package/dist/list-RC2NX6AX.js +0 -50
  608. package/dist/list-VSJISE7U.js +0 -303
  609. package/dist/list-VSJISE7U.js.map +0 -1
  610. package/dist/list-WTVOBQYX.js +0 -64
  611. package/dist/list-WTVOBQYX.js.map +0 -1
  612. package/dist/log-YKKPROLZ.js +0 -92
  613. package/dist/log-YKKPROLZ.js.map +0 -1
  614. package/dist/logo-WE2UELX6.js +0 -18
  615. package/dist/make-RNOWBLZQ.js +0 -1353
  616. package/dist/make-RNOWBLZQ.js.map +0 -1
  617. package/dist/map-WTDPQLVO.js +0 -433
  618. package/dist/map-WTDPQLVO.js.map +0 -1
  619. package/dist/mcp-XJNSCPP3.js +0 -714
  620. package/dist/mcp-XJNSCPP3.js.map +0 -1
  621. package/dist/media-sources-JGBDDXZ5.js +0 -32
  622. package/dist/media-sources-JGBDDXZ5.js.map +0 -1
  623. package/dist/members-O3BTMRXX.js +0 -44
  624. package/dist/members-O3BTMRXX.js.map +0 -1
  625. package/dist/normalize-R5AYLA2J.js +0 -141
  626. package/dist/normalize-R5AYLA2J.js.map +0 -1
  627. package/dist/options-AILRY7JY.js +0 -122
  628. package/dist/options-AILRY7JY.js.map +0 -1
  629. package/dist/organization-KJJXZLVK.js +0 -946
  630. package/dist/organization-KJJXZLVK.js.map +0 -1
  631. package/dist/performance-7YU4HOGH.js +0 -24
  632. package/dist/promoted-tweet-writes-TNELWPVG.js +0 -180
  633. package/dist/promoted-tweet-writes-TNELWPVG.js.map +0 -1
  634. package/dist/promoted-tweets-76WKUFJQ.js +0 -119
  635. package/dist/publish-BKLHCKHB.js +0 -341
  636. package/dist/publish-BKLHCKHB.js.map +0 -1
  637. package/dist/reddit-YK3YUZEI.js +0 -26
  638. package/dist/refresh-WIII7KXB.js +0 -94
  639. package/dist/refresh-WIII7KXB.js.map +0 -1
  640. package/dist/release-ZHXYQI7G.js +0 -60
  641. package/dist/release-ZHXYQI7G.js.map +0 -1
  642. package/dist/remove-NOX4BXWK.js +0 -50
  643. package/dist/remove-NOX4BXWK.js.map +0 -1
  644. package/dist/remove-VLWRCOEZ.js +0 -48
  645. package/dist/remove-VLWRCOEZ.js.map +0 -1
  646. package/dist/reopen-NLWKK5HB.js +0 -63
  647. package/dist/reopen-NLWKK5HB.js.map +0 -1
  648. package/dist/rerun-DZWQNMZQ.js +0 -90
  649. package/dist/rerun-DZWQNMZQ.js.map +0 -1
  650. package/dist/research-Q3P76RHN.js +0 -62
  651. package/dist/research-UDZBCDNX.js +0 -262
  652. package/dist/research-UDZBCDNX.js.map +0 -1
  653. package/dist/reset-5UHFX7QY.js +0 -54
  654. package/dist/reset-5UHFX7QY.js.map +0 -1
  655. package/dist/reset-MTRJQUP7.js +0 -54
  656. package/dist/reset-MTRJQUP7.js.map +0 -1
  657. package/dist/resolve-DA72VT7Q.js +0 -121
  658. package/dist/resolve-DA72VT7Q.js.map +0 -1
  659. package/dist/retry-LQUBX5TK.js +0 -62
  660. package/dist/retry-LQUBX5TK.js.map +0 -1
  661. package/dist/retry-U6F4CS6O.js +0 -60
  662. package/dist/retry-U6F4CS6O.js.map +0 -1
  663. package/dist/rules-VS5PZ7VO.js +0 -96
  664. package/dist/rules-VS5PZ7VO.js.map +0 -1
  665. package/dist/rules-add-LMVZYDXE.js +0 -462
  666. package/dist/rules-add-LMVZYDXE.js.map +0 -1
  667. package/dist/run-6PRA2YSD.js +0 -65
  668. package/dist/run-R6COFNOR.js +0 -66
  669. package/dist/run-R6COFNOR.js.map +0 -1
  670. package/dist/scaffold-ad-3OVJ7VZQ.js +0 -1511
  671. package/dist/scaffold-ad-3OVJ7VZQ.js.map +0 -1
  672. package/dist/scaffold-static-ad-DDRA3Q5I.js +0 -1005
  673. package/dist/scaffold-static-ad-DDRA3Q5I.js.map +0 -1
  674. package/dist/scaffold-video-3JZYFYFU.js +0 -883
  675. package/dist/scaffold-video-3JZYFYFU.js.map +0 -1
  676. package/dist/schedule-BRSYHMKR.js +0 -66
  677. package/dist/schedule-BRSYHMKR.js.map +0 -1
  678. package/dist/schedule-ED2YDUPY.js +0 -61
  679. package/dist/schedule-ED2YDUPY.js.map +0 -1
  680. package/dist/scheduled-agents-5P67MVGX.js +0 -50
  681. package/dist/schema-4XVKERSA.js +0 -132
  682. package/dist/schema-4XVKERSA.js.map +0 -1
  683. package/dist/schema-RRAQW3OS.js +0 -69
  684. package/dist/search-Y2UMIQ57.js +0 -174
  685. package/dist/search-Y2UMIQ57.js.map +0 -1
  686. package/dist/select-OZ4E6VLF.js +0 -101
  687. package/dist/select-OZ4E6VLF.js.map +0 -1
  688. package/dist/set-prompt-O4YAE4CE.js +0 -193
  689. package/dist/set-prompt-O4YAE4CE.js.map +0 -1
  690. package/dist/setup-links-2GJYCV2A.js +0 -141
  691. package/dist/setup-links-2GJYCV2A.js.map +0 -1
  692. package/dist/site-47B6V2UX.js +0 -177
  693. package/dist/site-47B6V2UX.js.map +0 -1
  694. package/dist/sources-DXPZAPQ7.js +0 -454
  695. package/dist/sources-DXPZAPQ7.js.map +0 -1
  696. package/dist/sources-NDXYTASG.js +0 -30
  697. package/dist/stale-VLVBO2L6.js +0 -71
  698. package/dist/stale-VLVBO2L6.js.map +0 -1
  699. package/dist/stats-37OFAMPW.js +0 -34
  700. package/dist/status-4ODD46XY.js +0 -62
  701. package/dist/status-4ODD46XY.js.map +0 -1
  702. package/dist/stock-6R5E7MJX.js +0 -179
  703. package/dist/studio-LEIGL3Q7.js +0 -49
  704. package/dist/sync-EKGEWE53.js +0 -54
  705. package/dist/sync-EKGEWE53.js.map +0 -1
  706. package/dist/sync-TKNVBUDM.js +0 -54
  707. package/dist/sync-TKNVBUDM.js.map +0 -1
  708. package/dist/sync-definition-M5R3H3TP.js +0 -64
  709. package/dist/tag-manager-3Q55PBEW.js +0 -43
  710. package/dist/tags-4N5UUUN6.js +0 -26
  711. package/dist/tags-5NHIAD5A.js +0 -20
  712. package/dist/tags-5NHIAD5A.js.map +0 -1
  713. package/dist/tags-UUKWSWCN.js +0 -20
  714. package/dist/tags-UUKWSWCN.js.map +0 -1
  715. package/dist/tags-VK7B5DJF.js +0 -20
  716. package/dist/tags-VK7B5DJF.js.map +0 -1
  717. package/dist/tags-XAHIB3WA.js +0 -224
  718. package/dist/tags-XAHIB3WA.js.map +0 -1
  719. package/dist/targeting-criteria-AVARWV2G.js +0 -113
  720. package/dist/targets-6RYLQRID.js +0 -103
  721. package/dist/targets-6RYLQRID.js.map +0 -1
  722. package/dist/testimonials-6TF6BOFN.js +0 -32
  723. package/dist/top-companies-45EHRCJD.js +0 -108
  724. package/dist/top-companies-45EHRCJD.js.map +0 -1
  725. package/dist/translate-VHLBACCE.js +0 -604
  726. package/dist/translate-VHLBACCE.js.map +0 -1
  727. package/dist/triggers-ERQONJNO.js +0 -142
  728. package/dist/triggers-ERQONJNO.js.map +0 -1
  729. package/dist/unlink-TPDO6JNF.js +0 -67
  730. package/dist/unlink-TPDO6JNF.js.map +0 -1
  731. package/dist/unstage-YKKQQ7LW.js +0 -85
  732. package/dist/unstage-YKKQQ7LW.js.map +0 -1
  733. package/dist/update-43WU6X7R.js +0 -63
  734. package/dist/update-43WU6X7R.js.map +0 -1
  735. package/dist/update-CAHLAXWO.js +0 -98
  736. package/dist/update-CAHLAXWO.js.map +0 -1
  737. package/dist/update-NGH6YADN.js +0 -152
  738. package/dist/update-NGH6YADN.js.map +0 -1
  739. package/dist/update-SPJIHHLE.js +0 -188
  740. package/dist/update-SPJIHHLE.js.map +0 -1
  741. package/dist/upload-ACESIZIZ.js +0 -126
  742. package/dist/upload-ACESIZIZ.js.map +0 -1
  743. package/dist/url-params-MIXEDBF7.js +0 -98
  744. package/dist/url-params-MIXEDBF7.js.map +0 -1
  745. package/dist/validate-XJJA7ULE.js +0 -117
  746. package/dist/validate-XJJA7ULE.js.map +0 -1
  747. package/dist/videos-LBXPG7WC.js +0 -39
  748. package/dist/viewer-check-7VJ3GUZX.js +0 -80
  749. package/dist/web-EWQJC2SD.js +0 -140
  750. package/dist/web-EWQJC2SD.js.map +0 -1
  751. package/dist/winning-ads-SAOJAKEQ.js +0 -86
  752. package/dist/write-commands-QPDE4GWW.js +0 -1024
  753. package/dist/write-commands-QPDE4GWW.js.map +0 -1
  754. package/dist/x-LXOJPCRF.js +0 -47
  755. /package/dist/{actions-QL5UD2W4.js.map → actions-FMNJSOBA.js.map} +0 -0
  756. /package/dist/{ads-DHPJFU52.js.map → ads-OLXSDPD6.js.map} +0 -0
  757. /package/dist/{avatars-FKOO6VZ2.js.map → avatars-I4H3NMEJ.js.map} +0 -0
  758. /package/dist/{brand-NNWHBIAX.js.map → brand-3V7ECY7D.js.map} +0 -0
  759. /package/dist/{campaigns-HLBZRH5A.js.map → campaigns-MCB76NPQ.js.map} +0 -0
  760. /package/dist/{canvas-D64GLWUO.js.map → canvas-JCNKMGCG.js.map} +0 -0
  761. /package/dist/{chatgpt-YI6YNACI.js.map → chatgpt-XFZ42NXC.js.map} +0 -0
  762. /package/dist/{chunk-VB3XUR6A.js.map → chunk-2YTBPRRG.js.map} +0 -0
  763. /package/dist/{chunk-JUVVCA7B.js.map → chunk-3SNCMEJB.js.map} +0 -0
  764. /package/dist/{chunk-RGMKXNQP.js.map → chunk-7QGFO35A.js.map} +0 -0
  765. /package/dist/{chunk-ZXCSOVS5.js.map → chunk-AV7ALENU.js.map} +0 -0
  766. /package/dist/{chunk-IYTPWAN3.js.map → chunk-BRLFQ4VX.js.map} +0 -0
  767. /package/dist/{chunk-RZTKCCUL.js.map → chunk-DJE7UXYT.js.map} +0 -0
  768. /package/dist/{chunk-EW3JEKIV.js.map → chunk-EFWXYUSK.js.map} +0 -0
  769. /package/dist/{chunk-J3CWAERS.js.map → chunk-EONSZAZB.js.map} +0 -0
  770. /package/dist/{chunk-PHCIFBP3.js.map → chunk-FG3MV2XM.js.map} +0 -0
  771. /package/dist/{chunk-3AMLOCXY.js.map → chunk-FKG476GH.js.map} +0 -0
  772. /package/dist/{chunk-IFXGCI33.js.map → chunk-FUGQSIYG.js.map} +0 -0
  773. /package/dist/{chunk-Q3LXLWZY.js.map → chunk-HPLHAHG5.js.map} +0 -0
  774. /package/dist/{chunk-3N5A44NQ.js.map → chunk-I24YT2KG.js.map} +0 -0
  775. /package/dist/{chunk-P2MFWJR3.js.map → chunk-IFDZZOUC.js.map} +0 -0
  776. /package/dist/{chunk-Q5WBTVA7.js.map → chunk-JVVUI55M.js.map} +0 -0
  777. /package/dist/{chunk-6QGS3RQP.js.map → chunk-KKSHEPBY.js.map} +0 -0
  778. /package/dist/{chunk-OE3MIV4F.js.map → chunk-KQ7RCLGC.js.map} +0 -0
  779. /package/dist/{chunk-ZDAVSTEE.js.map → chunk-L7WMS5PW.js.map} +0 -0
  780. /package/dist/{chunk-FBFWMTOP.js.map → chunk-LBRO4MTL.js.map} +0 -0
  781. /package/dist/{chunk-PTUXBO5O.js.map → chunk-LNRPOULW.js.map} +0 -0
  782. /package/dist/{chunk-EMQUW6JB.js.map → chunk-LX6WC2XZ.js.map} +0 -0
  783. /package/dist/{chunk-I7J7YQXZ.js.map → chunk-MMGTJBM6.js.map} +0 -0
  784. /package/dist/{chunk-2KRK667G.js.map → chunk-OEZYSL3U.js.map} +0 -0
  785. /package/dist/{chunk-2TVXJPGR.js.map → chunk-OOVHBMQB.js.map} +0 -0
  786. /package/dist/{chunk-Z2GQREJY.js.map → chunk-PTH7VWKK.js.map} +0 -0
  787. /package/dist/{chunk-N3I6ZXR7.js.map → chunk-QZF4BVKL.js.map} +0 -0
  788. /package/dist/{chunk-3WAYZQNV.js.map → chunk-RITUSBYO.js.map} +0 -0
  789. /package/dist/{chunk-JH2L5CQD.js.map → chunk-SSTL3A7Z.js.map} +0 -0
  790. /package/dist/{chunk-2B772ZEA.js.map → chunk-TD4SO6TR.js.map} +0 -0
  791. /package/dist/{chunk-IKLHXGMF.js.map → chunk-UZ4RTOFG.js.map} +0 -0
  792. /package/dist/{chunk-NBO2NSAW.js.map → chunk-VAX7PFQV.js.map} +0 -0
  793. /package/dist/{chunk-AFD32O4A.js.map → chunk-VDRSZK4P.js.map} +0 -0
  794. /package/dist/{chunk-NKIBXOHT.js.map → chunk-VNU2EYD4.js.map} +0 -0
  795. /package/dist/{chunk-TTKBNBQF.js.map → chunk-WT4WDIXA.js.map} +0 -0
  796. /package/dist/{chunk-5A257KJA.js.map → chunk-XEX23CIB.js.map} +0 -0
  797. /package/dist/{chunk-GXGYTFZA.js.map → chunk-XXDF25BW.js.map} +0 -0
  798. /package/dist/{chunk-NEU5QD2C.js.map → chunk-YJ3LSFMX.js.map} +0 -0
  799. /package/dist/{chunk-MK6XJUCQ.js.map → chunk-YVK5RT3B.js.map} +0 -0
  800. /package/dist/{chunk-AW2GKIGS.js.map → chunk-YWWRLZUR.js.map} +0 -0
  801. /package/dist/{chunk-XCKINS7K.js.map → chunk-Z4S5BCVZ.js.map} +0 -0
  802. /package/dist/{chunk-IBY44U2M.js.map → chunk-ZYGK7GAK.js.map} +0 -0
  803. /package/dist/{connect-5PGL7ZOM.js.map → connect-COS6G45S.js.map} +0 -0
  804. /package/dist/{creatives-OO76DAFS.js.map → creatives-SEQHJD2M.js.map} +0 -0
  805. /package/dist/{customers-2EFYSCU2.js.map → customers-LMSX33FO.js.map} +0 -0
  806. /package/dist/{experiment-IDDWRCJ7.js.map → experiment-7RJ5X2LL.js.map} +0 -0
  807. /package/dist/{find-VHN34MWL.js.map → find-2EPXK5RF.js.map} +0 -0
  808. /package/dist/{fit-SS6HSZPU.js.map → fit-W7UNFZT5.js.map} +0 -0
  809. /package/dist/{fonts-YPNN7ZJP.js.map → fonts-N42UYWTX.js.map} +0 -0
  810. /package/dist/{ga4-ZPAEF2G2.js.map → ga4-6EIQC2TG.js.map} +0 -0
  811. /package/dist/{google-C3X7O2UO.js.map → google-O5OI6QFU.js.map} +0 -0
  812. /package/dist/{gsc-SDDHGTZK.js.map → gsc-BM3T2GDL.js.map} +0 -0
  813. /package/dist/{icon-MYPDC6FM.js.map → icon-B7DG53S5.js.map} +0 -0
  814. /package/dist/{ideas-3PBH7VEX.js.map → ideas-DYN2DMFN.js.map} +0 -0
  815. /package/dist/{images-J35C3WG4.js.map → images-EQCUXEHF.js.map} +0 -0
  816. /package/dist/{ingest-OKUYP632.js.map → ingest-B46AY3QU.js.map} +0 -0
  817. /package/dist/{inspiration-QAL7NS7G.js.map → inspiration-TCCKM4R7.js.map} +0 -0
  818. /package/dist/{landing-CBVIOGJ5.js.map → landing-WVPA7NBR.js.map} +0 -0
  819. /package/dist/{line-items-ZOFKOGAA.js.map → line-items-OEWYOPFP.js.map} +0 -0
  820. /package/dist/{list-RC2NX6AX.js.map → list-WRBWQASJ.js.map} +0 -0
  821. /package/dist/{logo-WE2UELX6.js.map → logo-QTSBKP2J.js.map} +0 -0
  822. /package/dist/{performance-7YU4HOGH.js.map → performance-HTU5FR2K.js.map} +0 -0
  823. /package/dist/{promoted-tweets-76WKUFJQ.js.map → promoted-tweets-TTWN5OMW.js.map} +0 -0
  824. /package/dist/{reddit-YK3YUZEI.js.map → reddit-6C3PT5CT.js.map} +0 -0
  825. /package/dist/{research-Q3P76RHN.js.map → research-YCMMQVK6.js.map} +0 -0
  826. /package/dist/{run-6PRA2YSD.js.map → run-SR7DJ7M5.js.map} +0 -0
  827. /package/dist/{scheduled-agents-5P67MVGX.js.map → scheduled-agents-N63EZNY6.js.map} +0 -0
  828. /package/dist/{schema-RRAQW3OS.js.map → schema-C6SGBNA6.js.map} +0 -0
  829. /package/dist/{sources-NDXYTASG.js.map → sources-HN3GCEDX.js.map} +0 -0
  830. /package/dist/{stats-37OFAMPW.js.map → stats-CVF6AC7R.js.map} +0 -0
  831. /package/dist/{stock-6R5E7MJX.js.map → stock-4LPQ6SM7.js.map} +0 -0
  832. /package/dist/{studio-LEIGL3Q7.js.map → studio-NZ6WQ7OE.js.map} +0 -0
  833. /package/dist/{sync-definition-M5R3H3TP.js.map → sync-definition-CKEUYKWN.js.map} +0 -0
  834. /package/dist/{tag-manager-3Q55PBEW.js.map → tag-manager-FLXXLNKP.js.map} +0 -0
  835. /package/dist/{tags-4N5UUUN6.js.map → tags-EUOOSAKN.js.map} +0 -0
  836. /package/dist/{targeting-criteria-AVARWV2G.js.map → targeting-criteria-HE7K52WN.js.map} +0 -0
  837. /package/dist/{testimonials-6TF6BOFN.js.map → testimonials-3Q5XM7JD.js.map} +0 -0
  838. /package/dist/{videos-LBXPG7WC.js.map → videos-WAPUPJVT.js.map} +0 -0
  839. /package/dist/{viewer-check-7VJ3GUZX.js.map → viewer-check-GHQA3UY2.js.map} +0 -0
  840. /package/dist/{winning-ads-SAOJAKEQ.js.map → winning-ads-XCVUAIOU.js.map} +0 -0
  841. /package/dist/{x-LXOJPCRF.js.map → x-SI4KYDEY.js.map} +0 -0
@@ -0,0 +1,903 @@
1
+ import {
2
+ flowsDir,
3
+ walkNodes
4
+ } from "./chunk-HPLHAHG5.js";
5
+
6
+ // ../api/src/activecampaign.ts
7
+ import { z } from "zod";
8
+ var ACTIVECAMPAIGN_FIELD_TYPES = [
9
+ "standard",
10
+ "custom",
11
+ "tags",
12
+ "lists",
13
+ "automations",
14
+ "deal",
15
+ "account",
16
+ "note",
17
+ "event"
18
+ ];
19
+ var ACTIVECAMPAIGN_TAGS_KEY = "tags";
20
+ var ACTIVECAMPAIGN_DEAL_FIELDS = [
21
+ { key: "title", label: "Deal title" },
22
+ { key: "value", label: "Deal value" },
23
+ { key: "currency", label: "Deal currency" },
24
+ { key: "pipeline", label: "Pipeline" },
25
+ { key: "stage", label: "Stage" },
26
+ { key: "owner", label: "Deal owner" },
27
+ { key: "description", label: "Deal description" }
28
+ ];
29
+ var ACTIVECAMPAIGN_ACCOUNT_FIELDS = [
30
+ { key: "name", label: "Account name" },
31
+ { key: "url", label: "Account website" }
32
+ ];
33
+ var ACTIVECAMPAIGN_EVENT_FIELDS = [
34
+ { key: "name", label: "Event name" },
35
+ { key: "data", label: "Event details" }
36
+ ];
37
+ function splitActiveCampaignNames(value) {
38
+ const seen = /* @__PURE__ */ new Set();
39
+ for (const raw of value.split(",")) {
40
+ const name = raw.trim().slice(0, 255);
41
+ if (name) seen.add(name);
42
+ }
43
+ return [...seen];
44
+ }
45
+ function findActiveCampaignOption(options, named) {
46
+ const wanted = named.trim();
47
+ if (!wanted) return void 0;
48
+ return options.find((option) => option.id === wanted) ?? options.find((option) => option.name.trim().toLowerCase() === wanted.toLowerCase());
49
+ }
50
+ var activeCampaignFieldSchema = z.object({
51
+ fieldType: z.enum(ACTIVECAMPAIGN_FIELD_TYPES),
52
+ /** What the mapping stores: the standard field's name, a custom field's id, `tags`, a deal part, …. */
53
+ fieldKey: z.string(),
54
+ label: z.string(),
55
+ /** ActiveCampaign's own type for a custom field (`text`, `date`, `dropdown`, …); null otherwise. */
56
+ dataType: z.string().nullable(),
57
+ /** A custom field's personalization tag (`%SECTOR%`), which people recognise it by. */
58
+ perstag: z.string().nullable()
59
+ });
60
+ function fixedField(fieldType, fieldKey, label, dataType = null) {
61
+ return { fieldType, fieldKey, label, dataType, perstag: null };
62
+ }
63
+ var ACTIVECAMPAIGN_FIXED_FIELDS = [
64
+ fixedField("tags", ACTIVECAMPAIGN_TAGS_KEY, "Tags"),
65
+ fixedField("lists", "lists", "Lists"),
66
+ fixedField("automations", "automations", "Automations"),
67
+ ...ACTIVECAMPAIGN_DEAL_FIELDS.map(
68
+ (field) => fixedField("deal", field.key, field.label, field.key === "value" ? "currency" : null)
69
+ ),
70
+ ...ACTIVECAMPAIGN_ACCOUNT_FIELDS.map((field) => fixedField("account", field.key, field.label)),
71
+ fixedField("note", "note", "Note"),
72
+ ...ACTIVECAMPAIGN_EVENT_FIELDS.map((field) => fixedField("event", field.key, field.label))
73
+ ];
74
+ var activeCampaignOptionSchema = z.object({ id: z.string(), name: z.string() });
75
+ var activeCampaignPipelineSchema = activeCampaignOptionSchema.extend({
76
+ stages: z.array(activeCampaignOptionSchema)
77
+ });
78
+ var activeCampaignAutomationSchema = activeCampaignOptionSchema.extend({
79
+ startTags: z.array(z.string()).default([])
80
+ });
81
+ var activeCampaignCatalogSchema = z.object({
82
+ fields: z.array(activeCampaignFieldSchema),
83
+ lists: z.array(activeCampaignOptionSchema).default([]),
84
+ automations: z.array(activeCampaignAutomationSchema).default([]),
85
+ pipelines: z.array(activeCampaignPipelineSchema).default([]),
86
+ users: z.array(activeCampaignOptionSchema).default([]),
87
+ /** Whether events can be sent: an event key is pasted on the connection, or ActiveCampaign reports one (event tracking is on). */
88
+ eventKeySaved: z.boolean().default(false)
89
+ });
90
+ var activeCampaignFieldsRequestSchema = z.object({
91
+ /** Connection id; optional when the company has exactly one ActiveCampaign account. */
92
+ account: z.string().optional()
93
+ });
94
+ var activeCampaignFieldsResponseSchema = z.object({
95
+ ok: z.literal(true),
96
+ data: activeCampaignCatalogSchema.extend({ account: z.string() })
97
+ });
98
+
99
+ // src/commands/flows/value-expression.ts
100
+ import { existsSync, readFileSync } from "fs";
101
+ import { join } from "path";
102
+ var PREFIXES = ["field", "tracking", "global", "code"];
103
+ function splitParts(raw) {
104
+ const parts = [];
105
+ let current = "";
106
+ let inQuotes = false;
107
+ for (let i = 0; i < raw.length; i++) {
108
+ const char = raw[i];
109
+ if (char === '"') {
110
+ inQuotes = !inQuotes;
111
+ current += char;
112
+ } else if (char === "+" && !inQuotes) {
113
+ parts.push(current);
114
+ current = "";
115
+ } else {
116
+ current += char;
117
+ }
118
+ }
119
+ parts.push(current);
120
+ if (inQuotes) {
121
+ throw new MappingError(`Unclosed quote in value \`${raw}\`.`, 'A literal is written "like this".');
122
+ }
123
+ return parts.map((part) => part.trim()).filter((part) => part.length > 0);
124
+ }
125
+ var TRANSFORM_REFUSAL = "A value cannot run code. Map the field as it is (firstname=full_name), or split it in the step with a codeExecution that exposes first_name and last_name and map code:first_name.";
126
+ var METHOD_CALL = /\.\s*[A-Za-z_$][\w$]*\s*\(/;
127
+ var TRAILING_INDEX = /\[[^\]]*\]$/;
128
+ function mentionPart(inner) {
129
+ if (inner.startsWith("tracking.")) return { kind: "tracking", name: inner.slice("tracking.".length) };
130
+ if (inner.startsWith("global.")) return { kind: "global", name: inner.slice("global.".length) };
131
+ return referencePart(inner);
132
+ }
133
+ function referencePart(ref) {
134
+ return /\.codeExecution\.[^.]+$/.test(ref) ? { kind: "code", ref } : { kind: "field", ref };
135
+ }
136
+ function parsePart(part) {
137
+ if (part.startsWith('"') && part.endsWith('"') && part.length >= 2) {
138
+ return { kind: "text", text: part.slice(1, -1) };
139
+ }
140
+ if (METHOD_CALL.test(part) || TRAILING_INDEX.test(part)) {
141
+ throw new MappingError(TRANSFORM_REFUSAL);
142
+ }
143
+ if (part.startsWith("{{")) {
144
+ const close = part.indexOf("}}");
145
+ if (close < 0) {
146
+ throw new MappingError(
147
+ `Unclosed \`{{\` in value \`${part}\`.`,
148
+ "A mention is written {{<stepId>.customForm.<field>}}."
149
+ );
150
+ }
151
+ if (part.slice(close + 2).trim()) throw new MappingError(TRANSFORM_REFUSAL);
152
+ return mentionPart(part.slice(2, close).trim());
153
+ }
154
+ const colon = part.indexOf(":");
155
+ if (colon <= 0) return referencePart(part);
156
+ const prefix = part.slice(0, colon);
157
+ const rest = part.slice(colon + 1).trim();
158
+ if (!PREFIXES.includes(prefix)) {
159
+ throw new MappingError(
160
+ `\`${prefix}:\` is not a value kind.`,
161
+ `Use one of ${PREFIXES.map((candidate) => `${candidate}:`).join(" ")}, a bare form field name, or a "quoted literal".`
162
+ );
163
+ }
164
+ if (!rest) throw new MappingError(`\`${part}\` names no ${prefix}.`);
165
+ switch (prefix) {
166
+ case "tracking":
167
+ return { kind: "tracking", name: rest.replace(/^tracking\./, "") };
168
+ case "global":
169
+ return { kind: "global", name: rest };
170
+ case "code":
171
+ return { kind: "code", ref: rest };
172
+ default:
173
+ return { kind: "field", ref: rest };
174
+ }
175
+ }
176
+ function parseValueExpression(raw) {
177
+ const parts = splitParts(raw);
178
+ if (parts.length === 0) {
179
+ throw new MappingError("A --map needs a value on the right of the `=`.");
180
+ }
181
+ return parts.map(parsePart);
182
+ }
183
+ function trackingFieldIds() {
184
+ const path = join(flowsDir(), "..", "tracking.ts");
185
+ if (!existsSync(path)) return null;
186
+ try {
187
+ const source = readFileSync(path, "utf-8");
188
+ const block = source.match(/TRACKING_FIELD_IDS\s*=\s*\[([\s\S]*?)\]\s*as const/)?.[1];
189
+ if (!block) return null;
190
+ const ids = [...block.matchAll(/"(tracking\.[a-z0-9_]+)"/g)].map((match) => match[1]);
191
+ return ids.length > 0 ? new Set(ids) : null;
192
+ } catch {
193
+ return null;
194
+ }
195
+ }
196
+ function externalOf(node) {
197
+ const nodeData = node.nodeData ?? {};
198
+ return nodeData.form?.external ?? {};
199
+ }
200
+ function fieldOwners(tree) {
201
+ return walkNodes(tree).flatMap((node) => {
202
+ const external = externalOf(node);
203
+ if (!Array.isArray(external.fields)) return [];
204
+ return [
205
+ {
206
+ id: String(node.id ?? ""),
207
+ name: typeof node.name === "string" && node.name ? node.name : "Form",
208
+ fields: external.fields.map((field) => field?.fieldName).filter((name) => typeof name === "string")
209
+ }
210
+ ];
211
+ });
212
+ }
213
+ function splitRef(ref, segment) {
214
+ const marker = `.${segment}.`;
215
+ const at = ref.lastIndexOf(marker);
216
+ if (at > 0 && !ref.slice(at + marker.length).includes(".")) {
217
+ return { step: ref.slice(0, at), name: ref.slice(at + marker.length) };
218
+ }
219
+ const dot = ref.lastIndexOf(".");
220
+ if (dot <= 0) return { name: ref };
221
+ return { step: ref.slice(0, dot), name: ref.slice(dot + 1) };
222
+ }
223
+ function mention(id, label) {
224
+ return { type: "VariablesMention", attrs: { id, label, mentionSuggestionChar: "{{" } };
225
+ }
226
+ function titleize(value) {
227
+ return value.split(/[_-]+/).filter(Boolean).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
228
+ }
229
+ function resolveField(tree, ref) {
230
+ const { step, name } = splitRef(ref, "customForm");
231
+ const owners = fieldOwners(tree);
232
+ const inventory = owners.map((owner2) => ` ${owner2.name} (${owner2.id}): ${owner2.fields.join(", ") || "(no fields)"}`).join("\n");
233
+ const candidates = owners.filter(
234
+ (owner2) => owner2.fields.includes(name) && (!step || owner2.name === step || owner2.id === step)
235
+ );
236
+ if (candidates.length === 0) {
237
+ throw new MappingError(`Form field "${ref}" does not exist in this form.`, inventory);
238
+ }
239
+ if (candidates.length > 1) {
240
+ throw new MappingError(
241
+ `Form field "${name}" exists on ${candidates.length} steps \u2014 say which: field:<step>.${name}`,
242
+ candidates.map((owner2) => ` field:${owner2.name}.${name}`).join("\n")
243
+ );
244
+ }
245
+ const owner = candidates[0];
246
+ return mention(`${owner.id}.customForm.${name}`, `${owner.name} => ${titleize(name)}`);
247
+ }
248
+ function resolveTracking(name) {
249
+ const id = `tracking.${name}`;
250
+ const known = trackingFieldIds();
251
+ if (known && !known.has(id)) {
252
+ const near = [...known].filter((candidate) => candidate.includes(name.split("_")[0] ?? name)).slice(0, 8);
253
+ throw new MappingError(
254
+ `\`${id}\` is not a tracking variable.`,
255
+ near.length > 0 ? `Close matches: ${near.join(", ")}` : "See references/autofill-and-variables.md \xA7 Built-in Tracking Variables."
256
+ );
257
+ }
258
+ return mention(id, id);
259
+ }
260
+ function resolveGlobal(tree, name) {
261
+ const globals = tree.globalVariables ?? [];
262
+ const match = globals.find((variable) => variable?.name === name || variable?.id === name);
263
+ if (!match) {
264
+ throw new MappingError(
265
+ `No global variable named "${name}" on this form.`,
266
+ globals.length > 0 ? `Defined: ${globals.map((variable) => String(variable.name)).join(", ")}` : "This form defines none. Globals live on the first node only \u2014 see references/autofill-and-variables.md \xA7 Global Variables."
267
+ );
268
+ }
269
+ const id = `global.${String(match.id)}`;
270
+ return mention(id, id);
271
+ }
272
+ function resolveCode(tree, ref) {
273
+ const { step, name } = splitRef(ref, "codeExecution");
274
+ const owners = walkNodes(tree).flatMap((node) => {
275
+ const exposed = externalOf(node).codeExecution?.exposedValues ?? [];
276
+ const names = exposed.map((value) => value?.name).filter((value) => typeof value === "string");
277
+ return names.length > 0 ? [{ id: String(node.id ?? ""), name: String(node.name ?? "step"), names }] : [];
278
+ });
279
+ const candidates = owners.filter(
280
+ (owner2) => owner2.names.includes(name) && (!step || owner2.name === step || owner2.id === step)
281
+ );
282
+ if (candidates.length !== 1) {
283
+ throw new MappingError(
284
+ candidates.length === 0 ? `No codeExecution exposes "${ref}" on this form.` : `"${name}" is exposed by ${candidates.length} steps \u2014 say which: code:<step>.${name}`,
285
+ owners.length > 0 ? owners.map((owner2) => ` ${owner2.name} (${owner2.id}): ${owner2.names.join(", ")}`).join("\n") : "No step on this form exposes any codeExecution value."
286
+ );
287
+ }
288
+ const owner = candidates[0];
289
+ return mention(`${owner.id}.codeExecution.${name}`, `${owner.name} => ${titleize(name)}`);
290
+ }
291
+ function buildValueDoc(tree, expression) {
292
+ const parts = parseValueExpression(expression);
293
+ const content = parts.map((part) => {
294
+ switch (part.kind) {
295
+ case "text":
296
+ return { type: "text", text: part.text };
297
+ case "tracking":
298
+ return resolveTracking(part.name);
299
+ case "global":
300
+ return resolveGlobal(tree, part.name);
301
+ case "code":
302
+ return resolveCode(tree, part.ref);
303
+ default:
304
+ return resolveField(tree, part.ref);
305
+ }
306
+ });
307
+ const single = content.length === 1 && parts[0]?.kind !== "text";
308
+ return {
309
+ type: "doc",
310
+ content: [{ type: "paragraph", content: single ? [...content, { type: "text", text: " " }] : content }]
311
+ };
312
+ }
313
+
314
+ // src/commands/flows/mapping.ts
315
+ var MappingError = class extends Error {
316
+ fix;
317
+ constructor(message, fix) {
318
+ super(message);
319
+ this.name = "MappingError";
320
+ this.fix = fix;
321
+ }
322
+ };
323
+ var PAYLOAD = (key) => ({ kind: "list", key, addressedBy: "key" });
324
+ var META_MATCHING = ["em", "fn", "ln", "ph", "external_id", "ge", "db", "ct", "st", "zp", "country"];
325
+ var ADS_MATCHING = [
326
+ "email",
327
+ "phone_number",
328
+ "first_name",
329
+ "last_name",
330
+ "street",
331
+ "city",
332
+ "region",
333
+ "postal_code",
334
+ "country"
335
+ ];
336
+ var MAPPING_SLOTS = {
337
+ googleSpreadsheet: [{ kind: "list", key: "columnMapping", addressedBy: "column" }],
338
+ hubspotForm: [
339
+ {
340
+ kind: "list",
341
+ key: "fieldMapping",
342
+ addressedBy: "fieldName",
343
+ needsFieldType: true,
344
+ fieldTypeSource: "Pass --hubspot-form <formGuid> and this command reads every property's type off the form itself \u2014 the guid is the `formGuid` in the `destination` request_flow_input returned. `baker hubspot forms view <formGuid>` prints the same list if you want to see it."
345
+ }
346
+ ],
347
+ pipedrive: [
348
+ {
349
+ kind: "list",
350
+ key: "fieldMapping",
351
+ addressedBy: "fieldKey",
352
+ entities: ["person", "organization", "lead"],
353
+ needsFieldType: true,
354
+ needsIsCustom: true
355
+ }
356
+ ],
357
+ goHighlevelContact: [
358
+ {
359
+ kind: "list",
360
+ key: "fieldMapping",
361
+ addressedBy: "fieldKey",
362
+ entities: ["business", "contact", "opportunity"],
363
+ needsFieldType: true,
364
+ needsIsCustom: true
365
+ }
366
+ ],
367
+ crmble: [
368
+ { kind: "list", key: "fieldMapping", addressedBy: "fieldId", entities: ["contact", "lead"], needsFieldType: true }
369
+ ],
370
+ activeCampaignContact: [
371
+ {
372
+ kind: "list",
373
+ key: "fieldMapping",
374
+ addressedBy: "fieldKey",
375
+ needsFieldType: true,
376
+ fieldTypes: ACTIVECAMPAIGN_FIELD_TYPES,
377
+ qualifiedByFieldType: true,
378
+ fieldTypeSource: 'None to write: this command reads the connected ActiveCampaign account\'s field list itself. Write `email=email`, `firstName=nombre`, a custom field by its id, personalization tag or label (`SECTOR=sector`; `custom.UTM_SOURCE=\u2026` for one only staged so far), `tags="withbaker-"+tracking:page_path`, `lists="Newsletter"`, `automations="Welcome"`, `deal.title=\u2026` / `deal.pipeline="Sales"` / `deal.value=budget`, `account.name=company`, `note=\u2026`, `event.name="demo_requested"`.'
379
+ }
380
+ ],
381
+ email: [{ ...PAYLOAD("fields"), under: "body" }],
382
+ zapier: [PAYLOAD("payloadKeys")],
383
+ httpWebhook: [PAYLOAD("payloadKeys")],
384
+ googleTagManager: [PAYLOAD("dataLayerParams")],
385
+ googleAnalytics: [PAYLOAD("eventParams")],
386
+ posthog: [PAYLOAD("eventParams")],
387
+ amplitude: [PAYLOAD("eventProperties")],
388
+ hubspot: [PAYLOAD("eventProperties")],
389
+ vwo: [PAYLOAD("eventProperties")],
390
+ code: [PAYLOAD("eventProperties")],
391
+ datafast: [PAYLOAD("goalParams")],
392
+ meta: [PAYLOAD("eventParams"), { kind: "record", key: "advancedMatching", allowed: META_MATCHING }],
393
+ chatgptAds: [
394
+ PAYLOAD("eventParams"),
395
+ {
396
+ kind: "record",
397
+ key: "advancedMatching",
398
+ allowed: ["em", "ph", "fn", "ln", "external_id", "ct", "st", "zp", "country"]
399
+ }
400
+ ],
401
+ tiktok: [
402
+ PAYLOAD("eventParams"),
403
+ { kind: "record", key: "identify", allowed: ["email", "phone_number", "external_id"] }
404
+ ],
405
+ pinterest: [PAYLOAD("eventParams"), { kind: "record", key: "enhancedMatching", allowed: ["em", "hashed_maids"] }],
406
+ googleAds: [
407
+ { kind: "record", key: "enhancedConversions", allowed: ADS_MATCHING },
408
+ { kind: "scalar", keys: ["value", "currency", "transactionId"] }
409
+ ],
410
+ linkedinInsightTag: [
411
+ { kind: "record", key: "userMatching", allowed: ["em", "fn", "ln", "title", "companyName", "country"] },
412
+ { kind: "scalar", keys: ["value", "currency"] }
413
+ ],
414
+ twitterAds: [
415
+ { kind: "record", key: "userMatching", allowed: ["em", "ph"] },
416
+ { kind: "scalar", keys: ["value", "currency"] }
417
+ ]
418
+ };
419
+ var UNMAPPABLE = {
420
+ hotjar: "A Hotjar event carries only its name.",
421
+ clarity: "A Clarity custom tag carries only its name."
422
+ };
423
+ function slotName(shape) {
424
+ if (shape.kind === "scalar") return shape.keys.join("/");
425
+ if (shape.kind === "list" && shape.under) return `${shape.under}.${shape.key}`;
426
+ return shape.key;
427
+ }
428
+ function shapeFor(type, into) {
429
+ const slots = MAPPING_SLOTS[type];
430
+ if (!slots) {
431
+ const why = UNMAPPABLE[type];
432
+ throw new MappingError(
433
+ `Side effect "${type}" has no mappable field.`,
434
+ why ?? `"${type}" is not a side-effect type this workspace's flow engine defines.`
435
+ );
436
+ }
437
+ if (!into) return slots[0];
438
+ const chosen = slots.find(
439
+ (slot) => slot.kind === "scalar" ? slot.keys.includes(into) || into === "scalar" : slot.key === into || slotName(slot) === into
440
+ );
441
+ if (!chosen) {
442
+ throw new MappingError(
443
+ `"${into}" is not a mappable slot on a ${type} side effect.`,
444
+ `Slots on ${type}: ${slots.map(slotName).join(", ")}`
445
+ );
446
+ }
447
+ return chosen;
448
+ }
449
+ function namesComeFromAccount(shape) {
450
+ return shape.kind === "list" && shape.addressedBy !== "key";
451
+ }
452
+ function describeSlots(type) {
453
+ return (MAPPING_SLOTS[type] ?? []).map((shape) => {
454
+ if (shape.kind === "record") {
455
+ return {
456
+ slot: shape.key,
457
+ addressedBy: "one of a closed set",
458
+ keysFrom: "closed",
459
+ keys: shape.allowed,
460
+ note: `${type} defines these names; any other is refused.`
461
+ };
462
+ }
463
+ if (shape.kind === "scalar") {
464
+ return {
465
+ slot: shape.keys.join("/"),
466
+ addressedBy: "the field's own name",
467
+ keysFrom: "closed",
468
+ keys: shape.keys,
469
+ note: "Each is a single value on the side effect, mapped like any other."
470
+ };
471
+ }
472
+ if (shape.addressedBy === "key") {
473
+ return {
474
+ slot: slotName(shape),
475
+ addressedBy: "key",
476
+ keysFrom: "yours",
477
+ note: "You name these \u2014 they are what the receiving system expects. Ask the user if you do not know them."
478
+ };
479
+ }
480
+ return {
481
+ slot: slotName(shape),
482
+ addressedBy: shape.addressedBy,
483
+ keysFrom: "account",
484
+ note: "These live in the connected account. Read them off the request_flow_input result; they cannot be guessed.",
485
+ ...shape.needsFieldType ? { fieldTypes: shape.fieldTypeSource ?? FIELD_TYPE_FROM_INPUT } : {}
486
+ };
487
+ });
488
+ }
489
+ var FIELD_TYPE_FROM_INPUT = "Each mapping stores a field type. They come back from request_flow_input with the field list \u2014 write one on the LEFT: <field>:<fieldType>=<value>.";
490
+ function otherSlots(type, used) {
491
+ return (MAPPING_SLOTS[type] ?? []).filter((slot) => slot !== used).map(slotName);
492
+ }
493
+ var ACTIVECAMPAIGN_BARE_KINDS = /* @__PURE__ */ new Set(["standard", "custom", "tags", "lists", "automations", "note"]);
494
+ function addCustomAliases(catalog, field) {
495
+ const entry = catalog.get(`custom.${field.fieldKey}`);
496
+ if (!entry) return;
497
+ const tag = field.perstag?.replaceAll("%", "");
498
+ if (tag) catalog.set(`custom.${tag.toUpperCase()}`, entry);
499
+ const aliases = [field.perstag, tag, field.label].filter((alias) => !!alias);
500
+ for (const alias of aliases) {
501
+ const key = alias.trim().toLowerCase();
502
+ if (key && !catalog.has(key)) catalog.set(key, entry);
503
+ }
504
+ }
505
+ function activeCampaignDestinationFields(fields) {
506
+ const catalog = /* @__PURE__ */ new Map();
507
+ for (const field of fields) {
508
+ const qualified = `${field.fieldType}.${field.fieldKey}`;
509
+ const bare = ACTIVECAMPAIGN_BARE_KINDS.has(field.fieldType);
510
+ const entry = {
511
+ fieldType: field.fieldType,
512
+ fieldKey: field.fieldKey,
513
+ label: field.label,
514
+ ...bare ? {} : { listedAs: qualified }
515
+ };
516
+ catalog.set(qualified, entry);
517
+ if (bare && !catalog.has(field.fieldKey)) {
518
+ catalog.set(field.fieldKey, entry);
519
+ }
520
+ }
521
+ for (const field of fields) {
522
+ if (field.fieldType === "custom") addCustomAliases(catalog, field);
523
+ }
524
+ return catalog;
525
+ }
526
+ function activeCampaignUnlistedField(destField) {
527
+ const match = /^custom\.%?([A-Za-z][A-Za-z0-9_]*)%?$/.exec(destField.trim());
528
+ if (!match?.[1]) return void 0;
529
+ const tag = match[1].toUpperCase();
530
+ return { fieldType: "custom", fieldKey: tag, label: `%${tag}%` };
531
+ }
532
+ function literalText(value) {
533
+ const paragraphs = (value ?? {}).content;
534
+ if (!Array.isArray(paragraphs)) return null;
535
+ const inline = paragraphs.flatMap((paragraph) => paragraph.content ?? []);
536
+ if (inline.length === 0 || inline.some((node) => node.type !== "text")) return null;
537
+ return inline.map((node) => node.text ?? "").join("");
538
+ }
539
+ function optionListing(options) {
540
+ return options.length > 0 ? options.map((option) => `${option.name} (${option.id})`).join(", ") : "none";
541
+ }
542
+ function unknownNames(value, options) {
543
+ const text = literalText(value);
544
+ if (text === null) return [];
545
+ return splitActiveCampaignNames(text).filter((name) => !findActiveCampaignOption(options, name));
546
+ }
547
+ function namedOptionHints(mapped, catalog) {
548
+ const hints = [];
549
+ const unknown = (type, key, options, noun) => {
550
+ for (const name of unknownNames(mapped(type, key)?.value, options)) {
551
+ hints.push(
552
+ `ActiveCampaign has no ${noun} called "${name}", so that part will be skipped. It has: ${optionListing(options)}.`
553
+ );
554
+ }
555
+ };
556
+ unknown("lists", "lists", catalog.lists, "list");
557
+ unknown("automations", "automations", catalog.automations, "automation");
558
+ if (mapped("automations", "automations") && catalog.automations.length === 0) {
559
+ hints.push(
560
+ "This ActiveCampaign account has no automations. They can only be built in ActiveCampaign \u2014 ask the user to create one."
561
+ );
562
+ }
563
+ unknown("deal", "pipeline", catalog.pipelines, "pipeline");
564
+ unknown("deal", "owner", catalog.users, "user");
565
+ return hints;
566
+ }
567
+ function literalTags(value) {
568
+ const paragraphs = (value ?? {}).content;
569
+ if (!Array.isArray(paragraphs)) return [];
570
+ const inline = paragraphs.flatMap((paragraph) => paragraph.content ?? []);
571
+ return inline.flatMap((node, index) => {
572
+ if (node.type !== "text") return [];
573
+ const pieces = (node.text ?? "").split(",");
574
+ const touchesBefore = index > 0 && inline[index - 1]?.type !== "text";
575
+ const touchesAfter = index < inline.length - 1 && inline[index + 1]?.type !== "text";
576
+ return pieces.filter((_, piece) => !(piece === 0 && touchesBefore) && !(piece === pieces.length - 1 && touchesAfter)).map((piece) => piece.trim()).filter((piece) => piece !== "");
577
+ });
578
+ }
579
+ function doubleEnrollmentHints(mapped, catalog) {
580
+ const enrolled = literalText(mapped("automations", "automations")?.value);
581
+ if (enrolled === null) return [];
582
+ const tags = new Set(literalTags(mapped("tags", "tags")?.value).map((tag) => tag.toLowerCase()));
583
+ return splitActiveCampaignNames(enrolled).flatMap((name) => {
584
+ const automation = catalog.automations.find((option) => findActiveCampaignOption([option], name));
585
+ const tag = automation?.startTags.find((start) => tags.has(start.toLowerCase()));
586
+ return automation && tag ? [
587
+ `"${automation.name}" starts when the tag "${tag}" is added, and this Form adds that tag AND enrolls the lead in it \u2014 every lead would run it twice (ActiveCampaign's "runs once" does not stop a direct enrollment). Keep one: drop "${automation.name}" from automations, or drop the tag.`
588
+ ] : [];
589
+ });
590
+ }
591
+ function dealHints(fieldMapping, mapped, catalog) {
592
+ if (!fieldMapping.some((entry) => entry.fieldType === "deal")) return [];
593
+ const hints = [];
594
+ if (!mapped("deal", "title") && !mapped("deal", "pipeline")) {
595
+ hints.push("No deal is created without deal.title or deal.pipeline \u2014 map one of them too.");
596
+ }
597
+ if (catalog.pipelines.length === 0) {
598
+ hints.push("This ActiveCampaign account has no deal pipeline, so no deal can be created until one exists.");
599
+ }
600
+ const pipelineText = literalText(mapped("deal", "pipeline")?.value);
601
+ const pipeline = pipelineText ? findActiveCampaignOption(catalog.pipelines, pipelineText) : catalog.pipelines[0];
602
+ if (!pipeline) return hints;
603
+ for (const name of unknownNames(mapped("deal", "stage")?.value, pipeline.stages)) {
604
+ hints.push(
605
+ `The pipeline "${pipeline.name}" has no stage called "${name}", so deals land in its first stage. Its stages: ${optionListing(pipeline.stages)}.`
606
+ );
607
+ }
608
+ return hints;
609
+ }
610
+ function attachmentHints(mapped, catalog) {
611
+ const hints = [];
612
+ if (mapped("account", "url") && !mapped("account", "name")) {
613
+ hints.push("account.url is only sent with account.name \u2014 map the company name too.");
614
+ }
615
+ if (mapped("event", "data") && !mapped("event", "name")) hints.push("event.data is only sent with event.name.");
616
+ if (mapped("event", "name") && !catalog.eventKeySaved) {
617
+ hints.push(
618
+ "Event tracking is off on this ActiveCampaign account, so the event will be skipped: ask the user to switch event tracking on in ActiveCampaign (Settings \u2192 Tracking \u2192 Event Tracking). There is nothing to paste \u2014 Baker reads the account's event key itself once it is on. Until then only the event is skipped; the contact and the rest still arrive."
619
+ );
620
+ }
621
+ return hints;
622
+ }
623
+ function unlistedCustomHints(fieldMapping, catalog) {
624
+ const listedIds = new Set(catalog.fields.flatMap((field) => field.fieldType === "custom" ? [field.fieldKey] : []));
625
+ return fieldMapping.flatMap((entry) => {
626
+ const key = typeof entry.fieldKey === "string" ? entry.fieldKey : "";
627
+ if (entry.fieldType !== "custom" || /^\d+$/.test(key) || listedIds.has(key)) return [];
628
+ return [
629
+ `custom.${key} is not on the ActiveCampaign account yet. Stage the field (\`baker activecampaign stage field\`) so it exists at Publish; until it does, that value is left empty on each contact.`
630
+ ];
631
+ });
632
+ }
633
+ function activeCampaignMappingHints(fieldMapping, catalog) {
634
+ const mapped = (type, key) => fieldMapping.find((entry) => entry.fieldType === type && entry.fieldKey === key);
635
+ return [
636
+ ...namedOptionHints(mapped, catalog),
637
+ ...doubleEnrollmentHints(mapped, catalog),
638
+ ...dealHints(fieldMapping, mapped, catalog),
639
+ ...attachmentHints(mapped, catalog),
640
+ ...unlistedCustomHints(fieldMapping, catalog)
641
+ ];
642
+ }
643
+ function parseMapSpec(raw) {
644
+ const eq = raw.indexOf("=");
645
+ if (eq <= 0 || eq === raw.length - 1) {
646
+ throw new MappingError(
647
+ `--map "${raw}" must be <destField>[:<fieldType>]=<value>`,
648
+ 'Value: a form field (`nombre`), `tracking:utm_source`, `global:Name`, `code:name`, a "literal", or those joined with `+`.'
649
+ );
650
+ }
651
+ const left = raw.slice(0, eq).trim();
652
+ const expression = raw.slice(eq + 1).trim();
653
+ const colon = left.indexOf(":");
654
+ const destField = (colon > 0 ? left.slice(0, colon) : left).trim();
655
+ const fieldType = colon > 0 ? left.slice(colon + 1).trim() : "";
656
+ if (!destField) throw new MappingError(`--map "${raw}" names no destination field.`);
657
+ return { raw, destField, fieldType: fieldType || void 0, expression };
658
+ }
659
+ function sheetEntry(spec, value) {
660
+ if (!/^[A-Z]{1,3}$/.test(spec.destField)) {
661
+ throw new MappingError(
662
+ `--map "${spec.raw}": a Google Sheet is addressed by COLUMN, so the left side must be a column letter (A, B, \u2026 AA), got "${spec.destField}".`,
663
+ "Read the real destination back from the configured side effect first \u2014 a column letter is a guess until a spreadsheet is picked."
664
+ );
665
+ }
666
+ return { column: spec.destField, value };
667
+ }
668
+ function destinationField(spec, options) {
669
+ const catalog = options.destinationFields;
670
+ if (!catalog) return void 0;
671
+ const match = catalog.get(spec.destField);
672
+ if (match) return match;
673
+ const alias = catalog.get(spec.destField.trim().toLowerCase());
674
+ if (alias?.fieldKey) return alias;
675
+ const unlisted = options.unlistedField?.(spec.destField);
676
+ if (unlisted) return unlisted;
677
+ throw new MappingError(
678
+ `--map "${spec.raw}": the destination has no field called "${spec.destField}".`,
679
+ `Fields on it: ${catalogListing(catalog) || "(none)"}`
680
+ );
681
+ }
682
+ function catalogListing(catalog) {
683
+ const seen = /* @__PURE__ */ new Set();
684
+ const names = [];
685
+ for (const [name, field] of catalog) {
686
+ if (seen.has(field)) continue;
687
+ seen.add(field);
688
+ const key = field.listedAs ?? field.fieldKey ?? name;
689
+ names.push(field.label && field.label.toLowerCase() !== key.toLowerCase() ? `${key} (${field.label})` : key);
690
+ }
691
+ return names.join(", ");
692
+ }
693
+ function fieldTypeFor(type, shape, spec, known) {
694
+ const resolved = spec.fieldType ?? known?.fieldType;
695
+ if (resolved && shape.fieldTypes && !shape.fieldTypes.includes(resolved)) {
696
+ throw new MappingError(
697
+ `--map "${spec.raw}": "${resolved}" is not a ${type} field type \u2014 expected one of: ${shape.fieldTypes.join(", ")}.`,
698
+ shape.fieldTypeSource
699
+ );
700
+ }
701
+ if (resolved) return resolved;
702
+ throw new MappingError(
703
+ `--map "${spec.raw}": ${type} stores a field type per mapping, and "${spec.destField}" has none \u2014 write it on the left: <field>:<fieldType>=<value>.`,
704
+ shape.fieldTypeSource ?? FIELD_TYPE_FROM_INPUT
705
+ );
706
+ }
707
+ function assertCrmOptions(type, shape, options) {
708
+ const entities = shape.entities;
709
+ if (entities) {
710
+ if (!options.entity) {
711
+ throw new MappingError(
712
+ `${type} addresses a specific object, so --entity is required (one of: ${entities.join(", ")}).`,
713
+ "Which object a value lands on is a destination-side fact \u2014 read it back from the configured side effect, do not assume."
714
+ );
715
+ }
716
+ if (!entities.includes(options.entity)) {
717
+ throw new MappingError(
718
+ `--entity "${options.entity}" is not valid for ${type} \u2014 expected one of: ${entities.join(", ")}.`
719
+ );
720
+ }
721
+ }
722
+ if (shape.needsIsCustom && options.isCustomField === void 0) {
723
+ throw new MappingError(
724
+ `${type} looks a key up differently for custom and standard fields, so pass --custom or --standard.`,
725
+ "Mapping a custom field as standard (or the reverse) is accepted and then dropped. The field list from request_flow_input says which each one is."
726
+ );
727
+ }
728
+ }
729
+ function buildEntry(type, shape, spec, value, options) {
730
+ if (shape.key === "columnMapping") {
731
+ return sheetEntry(spec, value);
732
+ }
733
+ if (shape.addressedBy === "key") {
734
+ if (spec.fieldType) {
735
+ throw new MappingError(
736
+ `--map "${spec.raw}": a ${type} ${shape.key} entry is just a name and a value \u2014 it takes no field type.`,
737
+ `Write it as ${spec.destField}=${spec.expression}`
738
+ );
739
+ }
740
+ return { key: spec.destField, value };
741
+ }
742
+ const known = destinationField(spec, options);
743
+ if (type === "hubspotForm") {
744
+ return {
745
+ objectTypeId: options.objectType ?? known?.objectTypeId ?? "0-1",
746
+ fieldType: fieldTypeFor(type, shape, spec, known),
747
+ fieldName: spec.destField,
748
+ value
749
+ };
750
+ }
751
+ assertCrmOptions(type, shape, options);
752
+ return {
753
+ ...shape.entities ? { entityType: options.entity } : {},
754
+ fieldType: fieldTypeFor(type, shape, spec, known),
755
+ ...shape.needsIsCustom ? { isCustomField: options.isCustomField } : {},
756
+ [shape.addressedBy]: known?.fieldKey ?? spec.destField,
757
+ value
758
+ };
759
+ }
760
+ function listPatch(shape, sideEffect, entries) {
761
+ if (!shape.under) return { [shape.key]: entries };
762
+ const owner = sideEffect[shape.under] ?? {};
763
+ return { [shape.under]: { ...owner, [shape.key]: entries } };
764
+ }
765
+ function existingEntries(shape, sideEffect) {
766
+ const owner = shape.under ? sideEffect[shape.under] : sideEffect;
767
+ if (!owner || typeof owner !== "object") return [];
768
+ const list = owner[shape.key];
769
+ if (!Array.isArray(list)) return [];
770
+ return list.filter((entry) => Boolean(entry) && typeof entry === "object");
771
+ }
772
+ function entryAddress(shape, entry) {
773
+ const value = entry[shape.addressedBy];
774
+ if (typeof value !== "string") return null;
775
+ return shape.qualifiedByFieldType && typeof entry.fieldType === "string" ? `${entry.fieldType}.${value}` : value;
776
+ }
777
+ function mergeEntries(shape, existing, incoming) {
778
+ const address = (entry) => entryAddress(shape, entry);
779
+ const entries = [...existing];
780
+ const overwritten = /* @__PURE__ */ new Set();
781
+ for (const entry of incoming) {
782
+ const name = address(entry);
783
+ const at = name === null ? -1 : entries.findIndex((candidate) => address(candidate) === name);
784
+ if (at === -1) {
785
+ entries.push(entry);
786
+ continue;
787
+ }
788
+ entries[at] = entry;
789
+ if (at < existing.length) overwritten.add(at);
790
+ }
791
+ const kept = existing.length - overwritten.size;
792
+ return { entries, written: entries.length - kept, kept };
793
+ }
794
+ function assertMappableOwner(type, shape, sideEffect) {
795
+ if (shape.under !== "body") return;
796
+ const format = (sideEffect.body ?? {}).format;
797
+ if (format !== void 0 && format !== "json") {
798
+ throw new MappingError(
799
+ `This ${type} side effect sends \`body.format: "${String(format)}"\`, which is one written message rather than named keys.`,
800
+ 'Set `body` to `{ "format": "json", "fields": [] }` first if you want mapped keys, or write the message in `body.content` and map nothing.'
801
+ );
802
+ }
803
+ }
804
+ function buildList(tree, type, shape, sideEffect, specs, options) {
805
+ assertMappableOwner(type, shape, sideEffect);
806
+ const incoming = specs.map((raw) => {
807
+ const spec = parseMapSpec(raw);
808
+ return buildEntry(type, shape, spec, buildValueDoc(tree, spec.expression), options);
809
+ });
810
+ const present = options.replace === true ? [] : existingEntries(shape, sideEffect);
811
+ const { kept: existing, dropped } = pruneAbsent(shape, present, options);
812
+ const { entries, written, kept } = mergeEntries(shape, existing, incoming);
813
+ return { key: slotName(shape), count: written, kept, dropped, patch: listPatch(shape, sideEffect, entries) };
814
+ }
815
+ function pruneAbsent(shape, existing, options) {
816
+ if (options.pruneMissing !== true) return { kept: existing, dropped: [] };
817
+ const catalog = options.destinationFields;
818
+ if (!catalog) {
819
+ throw new MappingError(
820
+ "--prune-missing needs the destination's own field list, and it could not be read.",
821
+ "Name the destination so its fields can be read \u2014 --hubspot-form <formGuid> for HubSpot (an ActiveCampaign side effect is read automatically). `baker flows show <slug>` names the side effect and returns the request_flow_input call that carries the guid."
822
+ );
823
+ }
824
+ const kept = [];
825
+ const dropped = [];
826
+ for (const entry of existing) {
827
+ const name = entryAddress(shape, entry);
828
+ if (name === null || catalog.has(name)) {
829
+ kept.push(entry);
830
+ continue;
831
+ }
832
+ dropped.push(name);
833
+ }
834
+ return { kept, dropped };
835
+ }
836
+ function buildRecord(tree, type, shape, sideEffect, specs, options) {
837
+ const existing = options.replace === true ? {} : sideEffect[shape.key] ?? {};
838
+ const record = Object.fromEntries(shape.allowed.map((slot) => [slot, existing[slot] ?? null]));
839
+ const filledBefore = shape.allowed.filter((slot) => record[slot] != null);
840
+ const written = /* @__PURE__ */ new Set();
841
+ for (const raw of specs) {
842
+ const spec = parseMapSpec(raw);
843
+ if (!shape.allowed.includes(spec.destField)) {
844
+ throw new MappingError(
845
+ `"${spec.destField}" is not a slot in ${shape.key} on a ${type} side effect.`,
846
+ `${shape.key} slots: ${shape.allowed.join(", ")}`
847
+ );
848
+ }
849
+ if (spec.fieldType) {
850
+ throw new MappingError(`--map "${spec.raw}": a ${shape.key} slot takes no field type.`);
851
+ }
852
+ record[spec.destField] = buildValueDoc(tree, spec.expression);
853
+ written.add(spec.destField);
854
+ }
855
+ return {
856
+ key: shape.key,
857
+ count: written.size,
858
+ kept: filledBefore.filter((slot) => !written.has(slot)).length,
859
+ dropped: [],
860
+ patch: { [shape.key]: record }
861
+ };
862
+ }
863
+ function buildScalar(tree, type, shape, sideEffect, specs, options) {
864
+ const patch = options.replace === true ? Object.fromEntries(shape.keys.map((key) => [key, null])) : {};
865
+ const written = /* @__PURE__ */ new Set();
866
+ for (const raw of specs) {
867
+ const spec = parseMapSpec(raw);
868
+ if (!shape.keys.includes(spec.destField)) {
869
+ throw new MappingError(
870
+ `"${spec.destField}" is not a mappable field on a ${type} side effect.`,
871
+ `Mappable directly: ${shape.keys.join(", ")}`
872
+ );
873
+ }
874
+ if (spec.fieldType) {
875
+ throw new MappingError(`--map "${spec.raw}": ${spec.destField} takes no field type.`);
876
+ }
877
+ patch[spec.destField] = buildValueDoc(tree, spec.expression);
878
+ written.add(spec.destField);
879
+ }
880
+ const kept = options.replace === true ? 0 : shape.keys.filter((key) => !written.has(key) && sideEffect[key] != null).length;
881
+ return { key: shape.keys.join("/"), count: written.size, kept, dropped: [], patch };
882
+ }
883
+ function buildFieldMapping(tree, sideEffect, specs, options = {}) {
884
+ const type = String(sideEffect.type ?? "");
885
+ const shape = shapeFor(type, options.into);
886
+ if (shape.kind === "record") return buildRecord(tree, type, shape, sideEffect, specs, options);
887
+ if (shape.kind === "scalar") return buildScalar(tree, type, shape, sideEffect, specs, options);
888
+ return buildList(tree, type, shape, sideEffect, specs, options);
889
+ }
890
+
891
+ export {
892
+ activeCampaignFieldsResponseSchema,
893
+ MappingError,
894
+ shapeFor,
895
+ namesComeFromAccount,
896
+ describeSlots,
897
+ otherSlots,
898
+ activeCampaignDestinationFields,
899
+ activeCampaignUnlistedField,
900
+ activeCampaignMappingHints,
901
+ buildFieldMapping
902
+ };
903
+ //# sourceMappingURL=chunk-IFDZZOUC.js.map