@koda-sl/baker-cli 0.489.0 → 0.491.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 (859) hide show
  1. package/README.md +169 -7
  2. package/dist/account-3H6BZO5H.js +80 -0
  3. package/dist/account-IKFDY52P.js +138 -0
  4. package/dist/account-IKFDY52P.js.map +1 -0
  5. package/dist/account-VGSYM7LY.js +79 -0
  6. package/dist/account-assets-LKZVWZAR.js +289 -0
  7. package/dist/account-assets-LKZVWZAR.js.map +1 -0
  8. package/dist/account-level-UJOZDVXY.js +608 -0
  9. package/dist/account-level-UJOZDVXY.js.map +1 -0
  10. package/dist/account-writes-AE5IJGGW.js +66 -0
  11. package/dist/accounts-2ARS6XP2.js +77 -0
  12. package/dist/accounts-AQFW4ZUM.js +611 -0
  13. package/dist/accounts-K4INATCW.js +75 -0
  14. package/dist/actions-QMUHOAXG.js +55 -0
  15. package/dist/activecampaign-J3QN5FMG.js +935 -0
  16. package/dist/activities-T253KK4Q.js +74 -0
  17. package/dist/ad-group-writes-VRSBI2Z2.js +170 -0
  18. package/dist/ad-groups-IEBVEAMS.js +68 -0
  19. package/dist/ad-writes-ALV4KFPZ.js +174 -0
  20. package/dist/add-VDUA6OWM.js +104 -0
  21. package/dist/add-XHOKCSW5.js +302 -0
  22. package/dist/ads-CQZHD7FC.js +77 -0
  23. package/dist/ads-HGDPNIT6.js +40 -0
  24. package/dist/ads-ZEY72UBN.js +114 -0
  25. package/dist/ads-ZEY72UBN.js.map +1 -0
  26. package/dist/adsets-5H3MOT3D.js +177 -0
  27. package/dist/adsets-5H3MOT3D.js.map +1 -0
  28. package/dist/advertisers-UDSEFMP7.js +120 -0
  29. package/dist/analytics-TBETZOPJ.js +433 -0
  30. package/dist/analytics-VH74LMMC.js +1976 -0
  31. package/dist/asset-writes-L5TMKIZC.js +47 -0
  32. package/dist/assign-6IE2ASFC.js +77 -0
  33. package/dist/audience-size-CSBWDFEP.js +73 -0
  34. package/dist/audience-writes-X52VG35Y.js +324 -0
  35. package/dist/audience-writes-X52VG35Y.js.map +1 -0
  36. package/dist/audiences-AAZH56WD.js +268 -0
  37. package/dist/audiences-X3RLGOVM.js +84 -0
  38. package/dist/audiences-X3RLGOVM.js.map +1 -0
  39. package/dist/audit-AEENRVGD.js +151 -0
  40. package/dist/autocomplete-AAGTJHVL.js +111 -0
  41. package/dist/avatars-VEATUUKU.js +38 -0
  42. package/dist/bid-pricing-SZTGCZTV.js +100 -0
  43. package/dist/brand-MXGETE4R.js +22 -0
  44. package/dist/brief-3GHSHOGM.js +538 -0
  45. package/dist/businesses-H3HIDQX6.js +53 -0
  46. package/dist/campaign-groups-WRI56M5X.js +95 -0
  47. package/dist/campaign-writes-PYGKSCPS.js +165 -0
  48. package/dist/campaign-writes-PYGKSCPS.js.map +1 -0
  49. package/dist/campaign-writes-U5PUVSMT.js +170 -0
  50. package/dist/campaigns-4QWC2JE7.js +109 -0
  51. package/dist/campaigns-AV6G3AUU.js +127 -0
  52. package/dist/campaigns-AV6G3AUU.js.map +1 -0
  53. package/dist/campaigns-JEIKY2M4.js +76 -0
  54. package/dist/campaigns-Q4HN7HBY.js +107 -0
  55. package/dist/canvas-VJ3XKCAC.js +46 -0
  56. package/dist/capabilities-SNGGAOV3.js +144 -0
  57. package/dist/catalog-S32MX453.js +65 -0
  58. package/dist/catalogs-OCVXZLIF.js +128 -0
  59. package/dist/catalogs-RXJTZTVX.js +778 -0
  60. package/dist/catalogs-RXJTZTVX.js.map +1 -0
  61. package/dist/chatgpt-QVF2FD3E.js +47 -0
  62. package/dist/chats-2DRTB7GK.js +276 -0
  63. package/dist/chats-2DRTB7GK.js.map +1 -0
  64. package/dist/check-Z6UMIQKD.js +104 -0
  65. package/dist/chunk-2C7AHPM4.js +191 -0
  66. package/dist/chunk-2C7AHPM4.js.map +1 -0
  67. package/dist/chunk-2WZI36D3.js +317 -0
  68. package/dist/chunk-3AMLOCXY.js +392 -0
  69. package/dist/chunk-3CVAEQMZ.js +156 -0
  70. package/dist/chunk-3WAYZQNV.js +61 -0
  71. package/dist/chunk-46GWHUKN.js +225 -0
  72. package/dist/chunk-4O6T76A3.js +191 -0
  73. package/dist/chunk-5C35OW7L.js +205 -0
  74. package/dist/chunk-5C35OW7L.js.map +1 -0
  75. package/dist/chunk-5GQCN2QZ.js +391 -0
  76. package/dist/chunk-5GQCN2QZ.js.map +1 -0
  77. package/dist/chunk-5MCVK4A3.js +903 -0
  78. package/dist/chunk-5ZLN23V5.js +97 -0
  79. package/dist/chunk-65Y3RCWP.js +68 -0
  80. package/dist/chunk-65Y3RCWP.js.map +1 -0
  81. package/dist/chunk-77ULVP62.js +547 -0
  82. package/dist/chunk-A4MVVPJ2.js +4204 -0
  83. package/dist/chunk-A4MVVPJ2.js.map +1 -0
  84. package/dist/chunk-AQM4JH62.js +274 -0
  85. package/dist/chunk-AQM4JH62.js.map +1 -0
  86. package/dist/chunk-AW2GKIGS.js +433 -0
  87. package/dist/chunk-BRLY6XD6.js +249 -0
  88. package/dist/chunk-C7NWUCLQ.js +64 -0
  89. package/dist/chunk-CP4P6YKM.js +287 -0
  90. package/dist/chunk-CP4P6YKM.js.map +1 -0
  91. package/dist/chunk-D4HKJBEW.js +23 -0
  92. package/dist/chunk-DAO63OOP.js +6352 -0
  93. package/dist/chunk-DAO63OOP.js.map +1 -0
  94. package/dist/chunk-DCBZ5CHZ.js +139 -0
  95. package/dist/chunk-G6XKD7QE.js +77 -0
  96. package/dist/chunk-GBFL4TD2.js +172 -0
  97. package/dist/chunk-H5SCKWFT.js +224 -0
  98. package/dist/chunk-HLVRHBKL.js +1078 -0
  99. package/dist/chunk-HLVRHBKL.js.map +1 -0
  100. package/dist/chunk-HXPK6KAL.js +363 -0
  101. package/dist/chunk-I7GOSMWT.js +197 -0
  102. package/dist/chunk-IBY44U2M.js +1079 -0
  103. package/dist/chunk-ITNHIZKK.js +275 -0
  104. package/dist/chunk-J33P2JNS.js +455 -0
  105. package/dist/chunk-JH2L5CQD.js +206 -0
  106. package/dist/chunk-JQH5VG6F.js +5368 -0
  107. package/dist/chunk-JVH5A3XC.js +8914 -0
  108. package/dist/chunk-KTOYQP6D.js +169 -0
  109. package/dist/chunk-LO3IF5PS.js +399 -0
  110. package/dist/chunk-LRRFGOW3.js +604 -0
  111. package/dist/chunk-LTPTJWZC.js +942 -0
  112. package/dist/chunk-MRQHJW5U.js +159 -0
  113. package/dist/chunk-NHYI7ORL.js +346 -0
  114. package/dist/chunk-NLI7C3K2.js +51 -0
  115. package/dist/chunk-NSEMXBUB.js +91 -0
  116. package/dist/chunk-OM2BRYXJ.js +3868 -0
  117. package/dist/chunk-OY4SKCIU.js +103 -0
  118. package/dist/chunk-OYAJNTRO.js +494 -0
  119. package/dist/chunk-PL7J3DPQ.js +831 -0
  120. package/dist/chunk-PUSBUMYM.js +89 -0
  121. package/dist/chunk-QTOZ32SU.js +163 -0
  122. package/dist/chunk-QTOZ32SU.js.map +1 -0
  123. package/dist/chunk-RRADFRPI.js +297 -0
  124. package/dist/chunk-SGEPZB3D.js +344 -0
  125. package/dist/chunk-SVAB6KV5.js +219 -0
  126. package/dist/chunk-SVAB6KV5.js.map +1 -0
  127. package/dist/chunk-TFTZDWCX.js +66 -0
  128. package/dist/chunk-TG4NCHFS.js +142 -0
  129. package/dist/chunk-TTHM66TA.js +207 -0
  130. package/dist/chunk-VL2GNXZY.js +19 -0
  131. package/dist/chunk-VQPZDM6N.js +160 -0
  132. package/dist/chunk-XCKINS7K.js +57 -0
  133. package/dist/chunk-YLYXSJ6O.js +8939 -0
  134. package/dist/chunk-ZAPO6UWS.js +592 -0
  135. package/dist/chunk-ZEPUDYPL.js +122 -0
  136. package/dist/chunk-ZJSGGJ5R.js +167 -0
  137. package/dist/claim-J2LYNHZK.js +197 -0
  138. package/dist/cli.js +34 -34
  139. package/dist/companies-VYY22B6T.js +195 -0
  140. package/dist/complete-5I32XM7P.js +81 -0
  141. package/dist/connect-EUFFQQ7O.js +42 -0
  142. package/dist/conversation-D6KZHGPP.js +93 -0
  143. package/dist/conversion-writes-ECZBVY7D.js +120 -0
  144. package/dist/conversions-5QCSCRLI.js +76 -0
  145. package/dist/conversions-Y3X6ZTTF.js +135 -0
  146. package/dist/copy-writes-D2RTHAL6.js +167 -0
  147. package/dist/copy-writes-D2RTHAL6.js.map +1 -0
  148. package/dist/create-2JCRTQJL.js +59 -0
  149. package/dist/create-LMSQPHPB.js +235 -0
  150. package/dist/create-MBLNB5RY.js +132 -0
  151. package/dist/create-VR7RXKL7.js +207 -0
  152. package/dist/creatives-5C42BDMW.js +182 -0
  153. package/dist/creatives-HYPSTANO.js +58 -0
  154. package/dist/creatives-MZ6ICNSY.js +88 -0
  155. package/dist/creatives-MZ6ICNSY.js.map +1 -0
  156. package/dist/credentials-4H4AUYJN.js +287 -0
  157. package/dist/critique-UOJZWDG2.js +1458 -0
  158. package/dist/critique-WCWMQQVV.js +227 -0
  159. package/dist/crm-B7OTHMBP.js +318 -0
  160. package/dist/crm-DZRWKJ6V.js +224 -0
  161. package/dist/custom-conversions-FIP6ZS34.js +127 -0
  162. package/dist/custom-conversions-FIP6ZS34.js.map +1 -0
  163. package/dist/customers-AOFJJCGD.js +56 -0
  164. package/dist/delete-DEG5KOBY.js +64 -0
  165. package/dist/delete-EFIODCXG.js +54 -0
  166. package/dist/delete-PQIMW2LK.js +66 -0
  167. package/dist/demographics-F26DIOCM.js +138 -0
  168. package/dist/discard-2EJY6UGP.js +66 -0
  169. package/dist/domain-XLJABLWB.js +98 -0
  170. package/dist/draft-2YND6T4U.js +217 -0
  171. package/dist/draft-34CGWUVA.js +281 -0
  172. package/dist/draft-L45PGCYZ.js +237 -0
  173. package/dist/draft-L45PGCYZ.js.map +1 -0
  174. package/dist/draft-TCPK6XYW.js +332 -0
  175. package/dist/draft-TCPK6XYW.js.map +1 -0
  176. package/dist/draft-WRVEANL5.js +306 -0
  177. package/dist/engine/index.js +4 -4
  178. package/dist/experiment-7N4QFRWV.js +1397 -0
  179. package/dist/facets-OPTNDPW2.js +114 -0
  180. package/dist/feedback-43BPXNBI.js +106 -0
  181. package/dist/feedback-record-35ZSDL6Z.js +260 -0
  182. package/dist/fetch-O46XBA7S.js +176 -0
  183. package/dist/find-FSQAEGGF.js +134 -0
  184. package/dist/fit-CWJ5QQ4R.js +62 -0
  185. package/dist/flows-CVORIQ4B.js +247 -0
  186. package/dist/fonts-6TPYR6IW.js +36 -0
  187. package/dist/forecast-2VLA6NJA.js +118 -0
  188. package/dist/funnel-XLKDLXMG.js +394 -0
  189. package/dist/ga4-LPDIBNYP.js +55 -0
  190. package/dist/get-O56GGN3V.js +56 -0
  191. package/dist/get-WFQ4XEAW.js +79 -0
  192. package/dist/google-5ESVO76E.js +136 -0
  193. package/dist/google-ads-DZMOTUY5.js +195 -0
  194. package/dist/gsc-FIZTQX3N.js +30 -0
  195. package/dist/history-43BBQZOB.js +133 -0
  196. package/dist/history-QKDYBSYM.js +67 -0
  197. package/dist/hubspot-S44MPK3G.js +779 -0
  198. package/dist/icon-CSVAZ7NE.js +137 -0
  199. package/dist/ideas-SLP5WXFF.js +40 -0
  200. package/dist/images-TWZOROCT.js +92 -0
  201. package/dist/ingest-5GCZ5ZBV.js +23 -0
  202. package/dist/ingest-P54J4W3V.js +107 -0
  203. package/dist/insights-YWVJMATY.js +424 -0
  204. package/dist/insights-YWVJMATY.js.map +1 -0
  205. package/dist/inspect-S4COGUBC.js +189 -0
  206. package/dist/inspiration-IX5N724J.js +53 -0
  207. package/dist/instant-experiences-NQ2GWIWL.js +257 -0
  208. package/dist/instant-experiences-NQ2GWIWL.js.map +1 -0
  209. package/dist/keyword-metrics-26CCKFZK.js +197 -0
  210. package/dist/keywords-for-site-JWWECF63.js +128 -0
  211. package/dist/landing-VFDRADZY.js +28 -0
  212. package/dist/leads-DTKKYSKH.js +90 -0
  213. package/dist/leads-THI37ZMD.js +537 -0
  214. package/dist/leads-THI37ZMD.js.map +1 -0
  215. package/dist/learn-GQ75IPRK.js +204 -0
  216. package/dist/line-item-writes-DVVHVR3Y.js +208 -0
  217. package/dist/line-items-EOZMK7A5.js +103 -0
  218. package/dist/link-R5NGCQ5H.js +64 -0
  219. package/dist/linkedin-DHZO3IJX.js +1057 -0
  220. package/dist/list-57QBEGLM.js +303 -0
  221. package/dist/list-Q44BBHDI.js +64 -0
  222. package/dist/list-W6G2NTG5.js +151 -0
  223. package/dist/locations-HM56X2MK.js +67 -0
  224. package/dist/locations-HM56X2MK.js.map +1 -0
  225. package/dist/log-B6X5EPKA.js +92 -0
  226. package/dist/logo-VHXH4J6A.js +18 -0
  227. package/dist/make-OIFLF3QS.js +1353 -0
  228. package/dist/map-PIOZT2MQ.js +433 -0
  229. package/dist/mcp-GFKHLWDB.js +714 -0
  230. package/dist/media-H6B7VDON.js +18 -0
  231. package/dist/media-H6B7VDON.js.map +1 -0
  232. package/dist/media-sources-VMMMW5UM.js +32 -0
  233. package/dist/members-W2QBMNIW.js +44 -0
  234. package/dist/meta-YHDTGJQ6.js +122 -0
  235. package/dist/meta-YHDTGJQ6.js.map +1 -0
  236. package/dist/normalize-N6XC3SLC.js +141 -0
  237. package/dist/options-XYJY2OEQ.js +122 -0
  238. package/dist/organization-BVTXCZIV.js +942 -0
  239. package/dist/organization-BVTXCZIV.js.map +1 -0
  240. package/dist/page-photos-CXRG4AXV.js +115 -0
  241. package/dist/page-photos-CXRG4AXV.js.map +1 -0
  242. package/dist/pages-PTWRXAZT.js +66 -0
  243. package/dist/performance-7NEZTOJ5.js +24 -0
  244. package/dist/pixels-MYT3TCHZ.js +60 -0
  245. package/dist/pixels-ZZCQUS3J.js +108 -0
  246. package/dist/preview-XOXAAPMQ.js +215 -0
  247. package/dist/preview-XOXAAPMQ.js.map +1 -0
  248. package/dist/promoted-tweet-writes-X2F7R2AE.js +180 -0
  249. package/dist/promoted-tweets-XCSD6VKP.js +119 -0
  250. package/dist/publish-OBY6E43R.js +341 -0
  251. package/dist/reddit-WJ6KHYBC.js +26 -0
  252. package/dist/refresh-G5BQ2LWU.js +94 -0
  253. package/dist/release-PBZO35KY.js +60 -0
  254. package/dist/remove-VJ2MEUPM.js +50 -0
  255. package/dist/reopen-W3LYOHSR.js +63 -0
  256. package/dist/rerun-4GDNBFNM.js +90 -0
  257. package/dist/research-4YTFPGH7.js +262 -0
  258. package/dist/research-LOQRIBO6.js +62 -0
  259. package/dist/reset-55CCQGXB.js +54 -0
  260. package/dist/reset-AVTQEJPZ.js +54 -0
  261. package/dist/resolve-E6FNMFE3.js +121 -0
  262. package/dist/retry-HBJ7MKVI.js +60 -0
  263. package/dist/retry-QBRYM6MG.js +62 -0
  264. package/dist/rule-writes-6ZCAJDYZ.js +522 -0
  265. package/dist/rule-writes-6ZCAJDYZ.js.map +1 -0
  266. package/dist/rules-BMYOY2BM.js +216 -0
  267. package/dist/rules-BMYOY2BM.js.map +1 -0
  268. package/dist/rules-XNDBGOIS.js +96 -0
  269. package/dist/rules-add-UM3ZKSVD.js +462 -0
  270. package/dist/run-D4YHZ4Z4.js +66 -0
  271. package/dist/run-ZCJ7NP63.js +65 -0
  272. package/dist/scaffold-ad-VQZAP32M.js +1511 -0
  273. package/dist/scaffold-static-ad-LEU4M44N.js +1005 -0
  274. package/dist/scaffold-video-PSWSYRSC.js +883 -0
  275. package/dist/schedule-AAH7HYFK.js +61 -0
  276. package/dist/scheduled-agents-HDABMHZI.js +50 -0
  277. package/dist/schema-OH5OWMVQ.js +132 -0
  278. package/dist/search-BSDPVSGA.js +174 -0
  279. package/dist/select-EI4QF4YZ.js +101 -0
  280. package/dist/set-prompt-RKDAGUWG.js +193 -0
  281. package/dist/setup-links-CNNJA7AB.js +141 -0
  282. package/dist/shared-3IBNDEFL.js +31 -0
  283. package/dist/site-NV4U7PIF.js +177 -0
  284. package/dist/sources-ATONL7W5.js +454 -0
  285. package/dist/sources-C3TGHKLQ.js +30 -0
  286. package/dist/stale-6QPXL6BZ.js +71 -0
  287. package/dist/stats-ZAGJH4AD.js +34 -0
  288. package/dist/status-BML3F4MZ.js +62 -0
  289. package/dist/stock-6SHHLSKG.js +179 -0
  290. package/dist/studies-4NIV4D5Y.js +249 -0
  291. package/dist/studies-4NIV4D5Y.js.map +1 -0
  292. package/dist/studio-ZLCGXFAN.js +49 -0
  293. package/dist/study-writes-L2AA2PGL.js +467 -0
  294. package/dist/study-writes-L2AA2PGL.js.map +1 -0
  295. package/dist/sync-DZAOUQPE.js +54 -0
  296. package/dist/sync-definition-RFEL65JE.js +64 -0
  297. package/dist/tag-manager-3CJ66GKJ.js +43 -0
  298. package/dist/tags-2KSXCJRZ.js +20 -0
  299. package/dist/tags-662KZJLV.js +26 -0
  300. package/dist/tags-6QBVW25V.js +20 -0
  301. package/dist/tags-LQCEJGIL.js +20 -0
  302. package/dist/tags-RIVD54ZG.js +224 -0
  303. package/dist/targeting-LNDQV4EK.js +759 -0
  304. package/dist/targeting-LNDQV4EK.js.map +1 -0
  305. package/dist/targeting-criteria-XNLYPIL2.js +113 -0
  306. package/dist/targets-OYIVS5KJ.js +103 -0
  307. package/dist/testimonials-WT43CF7V.js +32 -0
  308. package/dist/top-companies-6QQMOS2Y.js +108 -0
  309. package/dist/translate-7QN7JFGU.js +604 -0
  310. package/dist/triggers-LVQY3QJ2.js +142 -0
  311. package/dist/unlink-5ASZTCS2.js +67 -0
  312. package/dist/unstage-LNZTEATR.js +85 -0
  313. package/dist/update-7BIR4GYO.js +152 -0
  314. package/dist/update-BRLM5DB3.js +98 -0
  315. package/dist/update-DRZAAJQ2.js +63 -0
  316. package/dist/update-NOWC3ICD.js +188 -0
  317. package/dist/upload-457Q4ANZ.js +126 -0
  318. package/dist/url-params-KM4NJGYC.js +98 -0
  319. package/dist/validate-COLEPJBA.js +117 -0
  320. package/dist/videos-5IDZTEWC.js +39 -0
  321. package/dist/viewer-check-433AZPBC.js +80 -0
  322. package/dist/viewer-check-433AZPBC.js.map +1 -0
  323. package/dist/web-FZYOCCYN.js +140 -0
  324. package/dist/winning-ads-I4DMP7RU.js +84 -0
  325. package/dist/write-commands-FYB6QG7K.js +1024 -0
  326. package/dist/write-commands-PEJBTME6.js +1165 -0
  327. package/dist/write-commands-PEJBTME6.js.map +1 -0
  328. package/dist/x-OMN5DDLM.js +47 -0
  329. package/package.json +1 -1
  330. package/dist/account-7LUQWY6Q.js +0 -49
  331. package/dist/account-7LUQWY6Q.js.map +0 -1
  332. package/dist/account-KNRDOUJP.js +0 -79
  333. package/dist/account-Z65CPOWE.js +0 -80
  334. package/dist/account-writes-4N2MA2ZR.js +0 -66
  335. package/dist/accounts-RTN5ZGTU.js +0 -611
  336. package/dist/accounts-RW6KXBOQ.js +0 -77
  337. package/dist/accounts-UA2ZWRN4.js +0 -75
  338. package/dist/actions-HNLISA7T.js +0 -55
  339. package/dist/activecampaign-I5CILZPU.js +0 -935
  340. package/dist/activities-IQPJPP4B.js +0 -74
  341. package/dist/ad-group-writes-EUTMPBMK.js +0 -170
  342. package/dist/ad-groups-OVPAI5RM.js +0 -68
  343. package/dist/ad-writes-DACTYFEO.js +0 -174
  344. package/dist/add-6WKPFMLG.js +0 -302
  345. package/dist/add-XF5COUAS.js +0 -104
  346. package/dist/ads-G6AS5L7G.js +0 -40
  347. package/dist/ads-HXX2IAFF.js +0 -113
  348. package/dist/ads-HXX2IAFF.js.map +0 -1
  349. package/dist/ads-L65JIKCD.js +0 -77
  350. package/dist/adsets-LPN6WFGF.js +0 -176
  351. package/dist/adsets-LPN6WFGF.js.map +0 -1
  352. package/dist/advertisers-6NUM2Q3A.js +0 -120
  353. package/dist/analytics-QKP3A5F3.js +0 -1976
  354. package/dist/analytics-VLHE5A2M.js +0 -433
  355. package/dist/assign-6HI6TNLP.js +0 -77
  356. package/dist/audience-size-25LP2OBF.js +0 -73
  357. package/dist/audiences-RPLVMO4H.js +0 -268
  358. package/dist/audiences-XEZHACKH.js +0 -78
  359. package/dist/audiences-XEZHACKH.js.map +0 -1
  360. package/dist/audit-YY6X2MPA.js +0 -151
  361. package/dist/autocomplete-SAWJK4NF.js +0 -111
  362. package/dist/avatars-MXTI74VC.js +0 -38
  363. package/dist/bid-pricing-HZ74SLEB.js +0 -100
  364. package/dist/brand-T3OACVQX.js +0 -22
  365. package/dist/brief-BN4UGUXF.js +0 -538
  366. package/dist/businesses-PRRYPR7H.js +0 -53
  367. package/dist/campaign-groups-YJK767AP.js +0 -95
  368. package/dist/campaign-writes-BAFB5E7A.js +0 -165
  369. package/dist/campaign-writes-BAFB5E7A.js.map +0 -1
  370. package/dist/campaign-writes-U5LTDTYK.js +0 -170
  371. package/dist/campaigns-4SOLY7OR.js +0 -110
  372. package/dist/campaigns-4SOLY7OR.js.map +0 -1
  373. package/dist/campaigns-GALDR5KK.js +0 -109
  374. package/dist/campaigns-NR6TNQFN.js +0 -107
  375. package/dist/campaigns-TFEQTSO3.js +0 -76
  376. package/dist/canvas-GJAQAVS6.js +0 -46
  377. package/dist/capabilities-2KT6TCGZ.js +0 -144
  378. package/dist/catalog-USZL4SGX.js +0 -65
  379. package/dist/catalogs-A7XMEEEP.js +0 -128
  380. package/dist/chatgpt-4PEWDJKP.js +0 -47
  381. package/dist/chats-INN2OHSH.js +0 -262
  382. package/dist/chats-INN2OHSH.js.map +0 -1
  383. package/dist/check-MMJGFFZS.js +0 -104
  384. package/dist/chunk-2LI6746F.js +0 -103
  385. package/dist/chunk-2PWNIEW4.js +0 -197
  386. package/dist/chunk-2XRMPSEV.js +0 -142
  387. package/dist/chunk-3TZVZXM6.js +0 -224
  388. package/dist/chunk-3UXMQ3K2.js +0 -274
  389. package/dist/chunk-3UXMQ3K2.js.map +0 -1
  390. package/dist/chunk-5HJRZFMW.js +0 -207
  391. package/dist/chunk-62JQQUAU.js +0 -5368
  392. package/dist/chunk-66QHX566.js +0 -6306
  393. package/dist/chunk-66QHX566.js.map +0 -1
  394. package/dist/chunk-6JWEGFM5.js +0 -174
  395. package/dist/chunk-6JWEGFM5.js.map +0 -1
  396. package/dist/chunk-6WCAV27H.js +0 -494
  397. package/dist/chunk-6WXV5GTA.js +0 -8914
  398. package/dist/chunk-7RBJ2Z7Z.js +0 -172
  399. package/dist/chunk-7RBJ2Z7Z.js.map +0 -1
  400. package/dist/chunk-AVNSH2JE.js +0 -8939
  401. package/dist/chunk-BITS62MF.js +0 -77
  402. package/dist/chunk-BL2MX6CR.js +0 -249
  403. package/dist/chunk-BOPC3D6I.js +0 -604
  404. package/dist/chunk-C6EYCD5J.js +0 -942
  405. package/dist/chunk-CSZFZKVX.js +0 -97
  406. package/dist/chunk-D5CUAOQX.js +0 -297
  407. package/dist/chunk-D5UXWKLQ.js +0 -903
  408. package/dist/chunk-FA4YZFRV.js +0 -392
  409. package/dist/chunk-FUKDI2UK.js +0 -122
  410. package/dist/chunk-G4STCTY3.js +0 -399
  411. package/dist/chunk-GOJXKIFQ.js +0 -1605
  412. package/dist/chunk-GOJXKIFQ.js.map +0 -1
  413. package/dist/chunk-H5HDZ7IC.js +0 -139
  414. package/dist/chunk-HSPMBLKE.js +0 -363
  415. package/dist/chunk-IJ22WP3G.js +0 -275
  416. package/dist/chunk-ILSKYRDR.js +0 -169
  417. package/dist/chunk-JQU2LUZG.js +0 -57
  418. package/dist/chunk-JWSEPW7F.js +0 -225
  419. package/dist/chunk-KIGGMKAE.js +0 -66
  420. package/dist/chunk-KIGGMKAE.js.map +0 -1
  421. package/dist/chunk-KPYDTIAI.js +0 -317
  422. package/dist/chunk-LBO2YAZY.js +0 -3868
  423. package/dist/chunk-LOMH4TTC.js +0 -1079
  424. package/dist/chunk-LPXSM2DI.js +0 -66
  425. package/dist/chunk-MVB32GPI.js +0 -592
  426. package/dist/chunk-MXH35PJ5.js +0 -51
  427. package/dist/chunk-NEIUVSDK.js +0 -206
  428. package/dist/chunk-NPMAATZG.js +0 -64
  429. package/dist/chunk-NXZCCGES.js +0 -159
  430. package/dist/chunk-OP7DNHD2.js +0 -137
  431. package/dist/chunk-OP7DNHD2.js.map +0 -1
  432. package/dist/chunk-OWA7ZLC4.js +0 -547
  433. package/dist/chunk-P3W6SRSQ.js +0 -455
  434. package/dist/chunk-PA4W7BCQ.js +0 -23
  435. package/dist/chunk-PTGYM4J6.js +0 -89
  436. package/dist/chunk-QE3JEJXF.js +0 -831
  437. package/dist/chunk-QNLJ3GNZ.js +0 -433
  438. package/dist/chunk-R3EKM2P2.js +0 -191
  439. package/dist/chunk-SISA4HQR.js +0 -61
  440. package/dist/chunk-TP7HKSBX.js +0 -172
  441. package/dist/chunk-TPANP5A2.js +0 -91
  442. package/dist/chunk-TRPJJMCS.js +0 -346
  443. package/dist/chunk-TZEVD4Q6.js +0 -160
  444. package/dist/chunk-UWXDNVS5.js +0 -167
  445. package/dist/chunk-VD73V44J.js +0 -344
  446. package/dist/chunk-X7F4Z6UM.js +0 -156
  447. package/dist/chunk-ZL23HA4N.js +0 -19
  448. package/dist/claim-SLGYOOWD.js +0 -197
  449. package/dist/companies-IVMH6YII.js +0 -195
  450. package/dist/complete-45L2FI2X.js +0 -81
  451. package/dist/connect-WBGCBBFJ.js +0 -42
  452. package/dist/conversation-RIOL3OJ7.js +0 -93
  453. package/dist/conversion-writes-JU7Q2MUO.js +0 -120
  454. package/dist/conversions-3ISBR3TS.js +0 -76
  455. package/dist/conversions-TKIXNSYR.js +0 -135
  456. package/dist/create-7JY2PTIZ.js +0 -132
  457. package/dist/create-ACLCRXQP.js +0 -59
  458. package/dist/create-KYBMFD32.js +0 -207
  459. package/dist/create-VAPJ52GJ.js +0 -235
  460. package/dist/creatives-S5QUWUL6.js +0 -58
  461. package/dist/creatives-VQO2TKE3.js +0 -182
  462. package/dist/creatives-YJ3CXZQC.js +0 -87
  463. package/dist/creatives-YJ3CXZQC.js.map +0 -1
  464. package/dist/credentials-YTQ6BHWV.js +0 -287
  465. package/dist/critique-5LCG5TYF.js +0 -227
  466. package/dist/critique-BHYJYZDV.js +0 -1458
  467. package/dist/crm-IKTWHWEB.js +0 -318
  468. package/dist/crm-N7K57LZJ.js +0 -224
  469. package/dist/custom-conversions-YRYE65PU.js +0 -125
  470. package/dist/custom-conversions-YRYE65PU.js.map +0 -1
  471. package/dist/customers-NLU7NYDC.js +0 -56
  472. package/dist/delete-26J3X3ZH.js +0 -64
  473. package/dist/delete-A4F5Z54J.js +0 -66
  474. package/dist/delete-EVXOFT2H.js +0 -54
  475. package/dist/demographics-VZKFMM4X.js +0 -138
  476. package/dist/discard-ULRVUJDV.js +0 -66
  477. package/dist/domain-L4WCCX7R.js +0 -98
  478. package/dist/draft-57OQKHZI.js +0 -306
  479. package/dist/draft-EWDOIXSH.js +0 -233
  480. package/dist/draft-EWDOIXSH.js.map +0 -1
  481. package/dist/draft-GPN3HOAG.js +0 -328
  482. package/dist/draft-GPN3HOAG.js.map +0 -1
  483. package/dist/draft-O4S5RKWK.js +0 -217
  484. package/dist/draft-Y2QJE2NM.js +0 -281
  485. package/dist/experiment-G3FQVAJU.js +0 -1397
  486. package/dist/facets-EHQKGGJ2.js +0 -114
  487. package/dist/feedback-CAOZPGTT.js +0 -106
  488. package/dist/feedback-record-EXV5H6OS.js +0 -260
  489. package/dist/fetch-ETKT2RBC.js +0 -176
  490. package/dist/find-EVY4XEIQ.js +0 -134
  491. package/dist/fit-UJQ47C4A.js +0 -62
  492. package/dist/flows-Z7355RMD.js +0 -247
  493. package/dist/fonts-7VWBQPJF.js +0 -36
  494. package/dist/forecast-OI7YWZ6F.js +0 -118
  495. package/dist/funnel-2B3JXJPX.js +0 -394
  496. package/dist/ga4-2BL5YAYN.js +0 -55
  497. package/dist/get-2RSN4N3J.js +0 -56
  498. package/dist/get-6N7QJMIP.js +0 -79
  499. package/dist/google-7STODZQR.js +0 -136
  500. package/dist/google-ads-G7REKD4A.js +0 -195
  501. package/dist/gsc-UU3T2C6B.js +0 -30
  502. package/dist/history-IQ33J5PB.js +0 -67
  503. package/dist/history-YMK2JNZU.js +0 -133
  504. package/dist/hubspot-BUFS7S33.js +0 -779
  505. package/dist/icon-GB7UH5RF.js +0 -137
  506. package/dist/ideas-F6CIGTVU.js +0 -40
  507. package/dist/images-WCKTD6Z2.js +0 -92
  508. package/dist/ingest-RQUJGS7K.js +0 -107
  509. package/dist/ingest-XLTRLCDV.js +0 -23
  510. package/dist/insights-4HT2NAYP.js +0 -423
  511. package/dist/insights-4HT2NAYP.js.map +0 -1
  512. package/dist/inspect-KFVAMD4N.js +0 -189
  513. package/dist/inspiration-XQYHBJY2.js +0 -53
  514. package/dist/keyword-metrics-WYF3QMCW.js +0 -197
  515. package/dist/keywords-for-site-G5L5EP3T.js +0 -128
  516. package/dist/landing-WUILAWDS.js +0 -28
  517. package/dist/leads-2XOSAYP4.js +0 -293
  518. package/dist/leads-2XOSAYP4.js.map +0 -1
  519. package/dist/leads-4SJ4NJOI.js +0 -90
  520. package/dist/learn-CC6Q5IK2.js +0 -204
  521. package/dist/line-item-writes-YXKYR25W.js +0 -208
  522. package/dist/line-items-CKUD2UU4.js +0 -103
  523. package/dist/link-VBYFI7AM.js +0 -64
  524. package/dist/linkedin-XKVPSCLV.js +0 -1057
  525. package/dist/list-6ZNZGRRK.js +0 -151
  526. package/dist/list-ENYDGT3F.js +0 -64
  527. package/dist/list-VSUF2IWT.js +0 -303
  528. package/dist/locations-YA7NZY44.js +0 -67
  529. package/dist/locations-YA7NZY44.js.map +0 -1
  530. package/dist/log-AACKGBDW.js +0 -92
  531. package/dist/logo-YSNUUT33.js +0 -18
  532. package/dist/make-ED7HBLH3.js +0 -1353
  533. package/dist/map-63CQHWPI.js +0 -433
  534. package/dist/mcp-RKAXC6IP.js +0 -714
  535. package/dist/media-ES2UBGYW.js +0 -15
  536. package/dist/media-ES2UBGYW.js.map +0 -1
  537. package/dist/media-sources-PEHUMH7C.js +0 -32
  538. package/dist/members-SELIA674.js +0 -44
  539. package/dist/meta-AOIPEDV5.js +0 -69
  540. package/dist/meta-AOIPEDV5.js.map +0 -1
  541. package/dist/normalize-VAZPTBDX.js +0 -141
  542. package/dist/options-6FCNFWUF.js +0 -122
  543. package/dist/organization-SHREKDST.js +0 -881
  544. package/dist/organization-SHREKDST.js.map +0 -1
  545. package/dist/pages-FTI44OSH.js +0 -66
  546. package/dist/performance-K7E5KAZW.js +0 -24
  547. package/dist/pixels-6IUB3Y3H.js +0 -60
  548. package/dist/pixels-MBKR4XPX.js +0 -108
  549. package/dist/preview-V4YBD45S.js +0 -169
  550. package/dist/preview-V4YBD45S.js.map +0 -1
  551. package/dist/promoted-tweet-writes-PKEO6WUK.js +0 -180
  552. package/dist/promoted-tweets-7MXVZRBI.js +0 -119
  553. package/dist/publish-MPMGRV72.js +0 -341
  554. package/dist/reddit-XIHRI3CN.js +0 -26
  555. package/dist/refresh-A27N75NH.js +0 -94
  556. package/dist/release-UKRB5IUN.js +0 -60
  557. package/dist/remove-AFNFVPZY.js +0 -50
  558. package/dist/reopen-M5HE6J3G.js +0 -63
  559. package/dist/rerun-A2XHGFZS.js +0 -90
  560. package/dist/research-BLDY5UWH.js +0 -62
  561. package/dist/research-U7RQXMYH.js +0 -262
  562. package/dist/reset-4CCWB2RT.js +0 -54
  563. package/dist/reset-J3KCWFMZ.js +0 -54
  564. package/dist/resolve-HEK27ANI.js +0 -121
  565. package/dist/retry-HPZIUG2S.js +0 -62
  566. package/dist/retry-VVI6N6UR.js +0 -60
  567. package/dist/rules-SK5DFFPY.js +0 -96
  568. package/dist/rules-add-YQNYSME7.js +0 -462
  569. package/dist/run-KBN5K7LE.js +0 -65
  570. package/dist/run-M7ZDE6IA.js +0 -66
  571. package/dist/scaffold-ad-6BN5LWQH.js +0 -1511
  572. package/dist/scaffold-static-ad-VVZRAWBR.js +0 -1005
  573. package/dist/scaffold-video-LFIYI4GP.js +0 -883
  574. package/dist/schedule-QMOKWTJ3.js +0 -61
  575. package/dist/scheduled-agents-FCQHQ6KR.js +0 -50
  576. package/dist/schema-THFLCMBN.js +0 -132
  577. package/dist/search-XIUYSWO6.js +0 -174
  578. package/dist/select-QBU6ED4K.js +0 -101
  579. package/dist/set-prompt-TL64CRBQ.js +0 -193
  580. package/dist/setup-links-QVI6NAOK.js +0 -141
  581. package/dist/shared-NDRFKAH7.js +0 -31
  582. package/dist/site-PZPJY33N.js +0 -177
  583. package/dist/sources-ER7ANNG3.js +0 -454
  584. package/dist/sources-RMNFV4CA.js +0 -30
  585. package/dist/stale-ITFCPOER.js +0 -71
  586. package/dist/stats-RCLQE4HJ.js +0 -34
  587. package/dist/status-ABMJBCPJ.js +0 -62
  588. package/dist/stock-ECRBD7RP.js +0 -179
  589. package/dist/studio-MARZ22J2.js +0 -49
  590. package/dist/sync-QDD3MRJ6.js +0 -54
  591. package/dist/sync-definition-C6ROLKJ4.js +0 -64
  592. package/dist/tag-manager-G3LBQZUL.js +0 -43
  593. package/dist/tags-5JYOEYIT.js +0 -20
  594. package/dist/tags-B473RWAA.js +0 -224
  595. package/dist/tags-EWHPUM2V.js +0 -20
  596. package/dist/tags-KBCX6BDU.js +0 -26
  597. package/dist/tags-PEWN6GNZ.js +0 -20
  598. package/dist/targeting-criteria-EU65WUUF.js +0 -113
  599. package/dist/targets-KVXS5QKM.js +0 -103
  600. package/dist/testimonials-YMMA5YWL.js +0 -32
  601. package/dist/top-companies-OOX3DITI.js +0 -108
  602. package/dist/translate-OXVIMYHE.js +0 -604
  603. package/dist/triggers-OX2GKG4Y.js +0 -142
  604. package/dist/unlink-3USEPJSA.js +0 -67
  605. package/dist/unstage-VSCNPTAC.js +0 -85
  606. package/dist/update-6JKTH65B.js +0 -152
  607. package/dist/update-FG4ELXYJ.js +0 -98
  608. package/dist/update-GZFKHA3A.js +0 -188
  609. package/dist/update-HZHG67N6.js +0 -63
  610. package/dist/upload-BKCQ6FRW.js +0 -126
  611. package/dist/url-params-UN4DRN2H.js +0 -98
  612. package/dist/validate-ZS2M5Q3V.js +0 -117
  613. package/dist/videos-I6YXFBFT.js +0 -39
  614. package/dist/viewer-check-7ZG7KHEN.js +0 -80
  615. package/dist/web-UGU7YMII.js +0 -140
  616. package/dist/winning-ads-ABN5OULS.js +0 -84
  617. package/dist/write-commands-6VR2UD3T.js +0 -1024
  618. package/dist/write-commands-HCQI4Y27.js +0 -737
  619. package/dist/write-commands-HCQI4Y27.js.map +0 -1
  620. package/dist/x-WK2VQDPF.js +0 -47
  621. /package/dist/{account-Z65CPOWE.js.map → account-3H6BZO5H.js.map} +0 -0
  622. /package/dist/{account-KNRDOUJP.js.map → account-VGSYM7LY.js.map} +0 -0
  623. /package/dist/{account-writes-4N2MA2ZR.js.map → account-writes-AE5IJGGW.js.map} +0 -0
  624. /package/dist/{accounts-RW6KXBOQ.js.map → accounts-2ARS6XP2.js.map} +0 -0
  625. /package/dist/{accounts-RTN5ZGTU.js.map → accounts-AQFW4ZUM.js.map} +0 -0
  626. /package/dist/{accounts-UA2ZWRN4.js.map → accounts-K4INATCW.js.map} +0 -0
  627. /package/dist/{actions-HNLISA7T.js.map → actions-QMUHOAXG.js.map} +0 -0
  628. /package/dist/{activecampaign-I5CILZPU.js.map → activecampaign-J3QN5FMG.js.map} +0 -0
  629. /package/dist/{activities-IQPJPP4B.js.map → activities-T253KK4Q.js.map} +0 -0
  630. /package/dist/{ad-group-writes-EUTMPBMK.js.map → ad-group-writes-VRSBI2Z2.js.map} +0 -0
  631. /package/dist/{ad-groups-OVPAI5RM.js.map → ad-groups-IEBVEAMS.js.map} +0 -0
  632. /package/dist/{ad-writes-DACTYFEO.js.map → ad-writes-ALV4KFPZ.js.map} +0 -0
  633. /package/dist/{add-XF5COUAS.js.map → add-VDUA6OWM.js.map} +0 -0
  634. /package/dist/{add-6WKPFMLG.js.map → add-XHOKCSW5.js.map} +0 -0
  635. /package/dist/{ads-L65JIKCD.js.map → ads-CQZHD7FC.js.map} +0 -0
  636. /package/dist/{ads-G6AS5L7G.js.map → ads-HGDPNIT6.js.map} +0 -0
  637. /package/dist/{advertisers-6NUM2Q3A.js.map → advertisers-UDSEFMP7.js.map} +0 -0
  638. /package/dist/{analytics-VLHE5A2M.js.map → analytics-TBETZOPJ.js.map} +0 -0
  639. /package/dist/{analytics-QKP3A5F3.js.map → analytics-VH74LMMC.js.map} +0 -0
  640. /package/dist/{connect-WBGCBBFJ.js.map → asset-writes-L5TMKIZC.js.map} +0 -0
  641. /package/dist/{assign-6HI6TNLP.js.map → assign-6IE2ASFC.js.map} +0 -0
  642. /package/dist/{audience-size-25LP2OBF.js.map → audience-size-CSBWDFEP.js.map} +0 -0
  643. /package/dist/{audiences-RPLVMO4H.js.map → audiences-AAZH56WD.js.map} +0 -0
  644. /package/dist/{audit-YY6X2MPA.js.map → audit-AEENRVGD.js.map} +0 -0
  645. /package/dist/{autocomplete-SAWJK4NF.js.map → autocomplete-AAGTJHVL.js.map} +0 -0
  646. /package/dist/{avatars-MXTI74VC.js.map → avatars-VEATUUKU.js.map} +0 -0
  647. /package/dist/{bid-pricing-HZ74SLEB.js.map → bid-pricing-SZTGCZTV.js.map} +0 -0
  648. /package/dist/{brand-T3OACVQX.js.map → brand-MXGETE4R.js.map} +0 -0
  649. /package/dist/{brief-BN4UGUXF.js.map → brief-3GHSHOGM.js.map} +0 -0
  650. /package/dist/{businesses-PRRYPR7H.js.map → businesses-H3HIDQX6.js.map} +0 -0
  651. /package/dist/{campaign-groups-YJK767AP.js.map → campaign-groups-WRI56M5X.js.map} +0 -0
  652. /package/dist/{campaign-writes-U5LTDTYK.js.map → campaign-writes-U5PUVSMT.js.map} +0 -0
  653. /package/dist/{campaigns-GALDR5KK.js.map → campaigns-4QWC2JE7.js.map} +0 -0
  654. /package/dist/{campaigns-TFEQTSO3.js.map → campaigns-JEIKY2M4.js.map} +0 -0
  655. /package/dist/{campaigns-NR6TNQFN.js.map → campaigns-Q4HN7HBY.js.map} +0 -0
  656. /package/dist/{canvas-GJAQAVS6.js.map → canvas-VJ3XKCAC.js.map} +0 -0
  657. /package/dist/{capabilities-2KT6TCGZ.js.map → capabilities-SNGGAOV3.js.map} +0 -0
  658. /package/dist/{catalog-USZL4SGX.js.map → catalog-S32MX453.js.map} +0 -0
  659. /package/dist/{catalogs-A7XMEEEP.js.map → catalogs-OCVXZLIF.js.map} +0 -0
  660. /package/dist/{chatgpt-4PEWDJKP.js.map → chatgpt-QVF2FD3E.js.map} +0 -0
  661. /package/dist/{check-MMJGFFZS.js.map → check-Z6UMIQKD.js.map} +0 -0
  662. /package/dist/{chunk-KPYDTIAI.js.map → chunk-2WZI36D3.js.map} +0 -0
  663. /package/dist/{chunk-FA4YZFRV.js.map → chunk-3AMLOCXY.js.map} +0 -0
  664. /package/dist/{chunk-X7F4Z6UM.js.map → chunk-3CVAEQMZ.js.map} +0 -0
  665. /package/dist/{chunk-SISA4HQR.js.map → chunk-3WAYZQNV.js.map} +0 -0
  666. /package/dist/{chunk-JWSEPW7F.js.map → chunk-46GWHUKN.js.map} +0 -0
  667. /package/dist/{chunk-R3EKM2P2.js.map → chunk-4O6T76A3.js.map} +0 -0
  668. /package/dist/{chunk-D5UXWKLQ.js.map → chunk-5MCVK4A3.js.map} +0 -0
  669. /package/dist/{chunk-CSZFZKVX.js.map → chunk-5ZLN23V5.js.map} +0 -0
  670. /package/dist/{chunk-OWA7ZLC4.js.map → chunk-77ULVP62.js.map} +0 -0
  671. /package/dist/{chunk-QNLJ3GNZ.js.map → chunk-AW2GKIGS.js.map} +0 -0
  672. /package/dist/{chunk-BL2MX6CR.js.map → chunk-BRLY6XD6.js.map} +0 -0
  673. /package/dist/{chunk-NPMAATZG.js.map → chunk-C7NWUCLQ.js.map} +0 -0
  674. /package/dist/{chunk-PA4W7BCQ.js.map → chunk-D4HKJBEW.js.map} +0 -0
  675. /package/dist/{chunk-H5HDZ7IC.js.map → chunk-DCBZ5CHZ.js.map} +0 -0
  676. /package/dist/{chunk-BITS62MF.js.map → chunk-G6XKD7QE.js.map} +0 -0
  677. /package/dist/{chunk-TP7HKSBX.js.map → chunk-GBFL4TD2.js.map} +0 -0
  678. /package/dist/{chunk-3TZVZXM6.js.map → chunk-H5SCKWFT.js.map} +0 -0
  679. /package/dist/{chunk-HSPMBLKE.js.map → chunk-HXPK6KAL.js.map} +0 -0
  680. /package/dist/{chunk-2PWNIEW4.js.map → chunk-I7GOSMWT.js.map} +0 -0
  681. /package/dist/{chunk-LOMH4TTC.js.map → chunk-IBY44U2M.js.map} +0 -0
  682. /package/dist/{chunk-IJ22WP3G.js.map → chunk-ITNHIZKK.js.map} +0 -0
  683. /package/dist/{chunk-P3W6SRSQ.js.map → chunk-J33P2JNS.js.map} +0 -0
  684. /package/dist/{chunk-NEIUVSDK.js.map → chunk-JH2L5CQD.js.map} +0 -0
  685. /package/dist/{chunk-62JQQUAU.js.map → chunk-JQH5VG6F.js.map} +0 -0
  686. /package/dist/{chunk-6WXV5GTA.js.map → chunk-JVH5A3XC.js.map} +0 -0
  687. /package/dist/{chunk-ILSKYRDR.js.map → chunk-KTOYQP6D.js.map} +0 -0
  688. /package/dist/{chunk-G4STCTY3.js.map → chunk-LO3IF5PS.js.map} +0 -0
  689. /package/dist/{chunk-BOPC3D6I.js.map → chunk-LRRFGOW3.js.map} +0 -0
  690. /package/dist/{chunk-C6EYCD5J.js.map → chunk-LTPTJWZC.js.map} +0 -0
  691. /package/dist/{chunk-NXZCCGES.js.map → chunk-MRQHJW5U.js.map} +0 -0
  692. /package/dist/{chunk-TRPJJMCS.js.map → chunk-NHYI7ORL.js.map} +0 -0
  693. /package/dist/{chunk-MXH35PJ5.js.map → chunk-NLI7C3K2.js.map} +0 -0
  694. /package/dist/{chunk-TPANP5A2.js.map → chunk-NSEMXBUB.js.map} +0 -0
  695. /package/dist/{chunk-LBO2YAZY.js.map → chunk-OM2BRYXJ.js.map} +0 -0
  696. /package/dist/{chunk-2LI6746F.js.map → chunk-OY4SKCIU.js.map} +0 -0
  697. /package/dist/{chunk-6WCAV27H.js.map → chunk-OYAJNTRO.js.map} +0 -0
  698. /package/dist/{chunk-QE3JEJXF.js.map → chunk-PL7J3DPQ.js.map} +0 -0
  699. /package/dist/{chunk-PTGYM4J6.js.map → chunk-PUSBUMYM.js.map} +0 -0
  700. /package/dist/{chunk-D5CUAOQX.js.map → chunk-RRADFRPI.js.map} +0 -0
  701. /package/dist/{chunk-VD73V44J.js.map → chunk-SGEPZB3D.js.map} +0 -0
  702. /package/dist/{chunk-LPXSM2DI.js.map → chunk-TFTZDWCX.js.map} +0 -0
  703. /package/dist/{chunk-2XRMPSEV.js.map → chunk-TG4NCHFS.js.map} +0 -0
  704. /package/dist/{chunk-5HJRZFMW.js.map → chunk-TTHM66TA.js.map} +0 -0
  705. /package/dist/{chunk-ZL23HA4N.js.map → chunk-VL2GNXZY.js.map} +0 -0
  706. /package/dist/{chunk-TZEVD4Q6.js.map → chunk-VQPZDM6N.js.map} +0 -0
  707. /package/dist/{chunk-JQU2LUZG.js.map → chunk-XCKINS7K.js.map} +0 -0
  708. /package/dist/{chunk-AVNSH2JE.js.map → chunk-YLYXSJ6O.js.map} +0 -0
  709. /package/dist/{chunk-MVB32GPI.js.map → chunk-ZAPO6UWS.js.map} +0 -0
  710. /package/dist/{chunk-FUKDI2UK.js.map → chunk-ZEPUDYPL.js.map} +0 -0
  711. /package/dist/{chunk-UWXDNVS5.js.map → chunk-ZJSGGJ5R.js.map} +0 -0
  712. /package/dist/{claim-SLGYOOWD.js.map → claim-J2LYNHZK.js.map} +0 -0
  713. /package/dist/{companies-IVMH6YII.js.map → companies-VYY22B6T.js.map} +0 -0
  714. /package/dist/{complete-45L2FI2X.js.map → complete-5I32XM7P.js.map} +0 -0
  715. /package/dist/{customers-NLU7NYDC.js.map → connect-EUFFQQ7O.js.map} +0 -0
  716. /package/dist/{conversation-RIOL3OJ7.js.map → conversation-D6KZHGPP.js.map} +0 -0
  717. /package/dist/{conversion-writes-JU7Q2MUO.js.map → conversion-writes-ECZBVY7D.js.map} +0 -0
  718. /package/dist/{conversions-3ISBR3TS.js.map → conversions-5QCSCRLI.js.map} +0 -0
  719. /package/dist/{conversions-TKIXNSYR.js.map → conversions-Y3X6ZTTF.js.map} +0 -0
  720. /package/dist/{create-ACLCRXQP.js.map → create-2JCRTQJL.js.map} +0 -0
  721. /package/dist/{create-VAPJ52GJ.js.map → create-LMSQPHPB.js.map} +0 -0
  722. /package/dist/{create-7JY2PTIZ.js.map → create-MBLNB5RY.js.map} +0 -0
  723. /package/dist/{create-KYBMFD32.js.map → create-VR7RXKL7.js.map} +0 -0
  724. /package/dist/{creatives-VQO2TKE3.js.map → creatives-5C42BDMW.js.map} +0 -0
  725. /package/dist/{creatives-S5QUWUL6.js.map → creatives-HYPSTANO.js.map} +0 -0
  726. /package/dist/{credentials-YTQ6BHWV.js.map → credentials-4H4AUYJN.js.map} +0 -0
  727. /package/dist/{critique-BHYJYZDV.js.map → critique-UOJZWDG2.js.map} +0 -0
  728. /package/dist/{critique-5LCG5TYF.js.map → critique-WCWMQQVV.js.map} +0 -0
  729. /package/dist/{crm-IKTWHWEB.js.map → crm-B7OTHMBP.js.map} +0 -0
  730. /package/dist/{crm-N7K57LZJ.js.map → crm-DZRWKJ6V.js.map} +0 -0
  731. /package/dist/{fit-UJQ47C4A.js.map → customers-AOFJJCGD.js.map} +0 -0
  732. /package/dist/{delete-26J3X3ZH.js.map → delete-DEG5KOBY.js.map} +0 -0
  733. /package/dist/{delete-EVXOFT2H.js.map → delete-EFIODCXG.js.map} +0 -0
  734. /package/dist/{delete-A4F5Z54J.js.map → delete-PQIMW2LK.js.map} +0 -0
  735. /package/dist/{demographics-VZKFMM4X.js.map → demographics-F26DIOCM.js.map} +0 -0
  736. /package/dist/{discard-ULRVUJDV.js.map → discard-2EJY6UGP.js.map} +0 -0
  737. /package/dist/{domain-L4WCCX7R.js.map → domain-XLJABLWB.js.map} +0 -0
  738. /package/dist/{draft-O4S5RKWK.js.map → draft-2YND6T4U.js.map} +0 -0
  739. /package/dist/{draft-Y2QJE2NM.js.map → draft-34CGWUVA.js.map} +0 -0
  740. /package/dist/{draft-57OQKHZI.js.map → draft-WRVEANL5.js.map} +0 -0
  741. /package/dist/{experiment-G3FQVAJU.js.map → experiment-7N4QFRWV.js.map} +0 -0
  742. /package/dist/{facets-EHQKGGJ2.js.map → facets-OPTNDPW2.js.map} +0 -0
  743. /package/dist/{feedback-CAOZPGTT.js.map → feedback-43BPXNBI.js.map} +0 -0
  744. /package/dist/{feedback-record-EXV5H6OS.js.map → feedback-record-35ZSDL6Z.js.map} +0 -0
  745. /package/dist/{fetch-ETKT2RBC.js.map → fetch-O46XBA7S.js.map} +0 -0
  746. /package/dist/{find-EVY4XEIQ.js.map → find-FSQAEGGF.js.map} +0 -0
  747. /package/dist/{fonts-7VWBQPJF.js.map → fit-CWJ5QQ4R.js.map} +0 -0
  748. /package/dist/{flows-Z7355RMD.js.map → flows-CVORIQ4B.js.map} +0 -0
  749. /package/dist/{ideas-F6CIGTVU.js.map → fonts-6TPYR6IW.js.map} +0 -0
  750. /package/dist/{forecast-OI7YWZ6F.js.map → forecast-2VLA6NJA.js.map} +0 -0
  751. /package/dist/{funnel-2B3JXJPX.js.map → funnel-XLKDLXMG.js.map} +0 -0
  752. /package/dist/{ga4-2BL5YAYN.js.map → ga4-LPDIBNYP.js.map} +0 -0
  753. /package/dist/{get-2RSN4N3J.js.map → get-O56GGN3V.js.map} +0 -0
  754. /package/dist/{get-6N7QJMIP.js.map → get-WFQ4XEAW.js.map} +0 -0
  755. /package/dist/{google-7STODZQR.js.map → google-5ESVO76E.js.map} +0 -0
  756. /package/dist/{google-ads-G7REKD4A.js.map → google-ads-DZMOTUY5.js.map} +0 -0
  757. /package/dist/{gsc-UU3T2C6B.js.map → gsc-FIZTQX3N.js.map} +0 -0
  758. /package/dist/{history-YMK2JNZU.js.map → history-43BBQZOB.js.map} +0 -0
  759. /package/dist/{history-IQ33J5PB.js.map → history-QKDYBSYM.js.map} +0 -0
  760. /package/dist/{hubspot-BUFS7S33.js.map → hubspot-S44MPK3G.js.map} +0 -0
  761. /package/dist/{icon-GB7UH5RF.js.map → icon-CSVAZ7NE.js.map} +0 -0
  762. /package/dist/{ingest-XLTRLCDV.js.map → ideas-SLP5WXFF.js.map} +0 -0
  763. /package/dist/{images-WCKTD6Z2.js.map → images-TWZOROCT.js.map} +0 -0
  764. /package/dist/{logo-YSNUUT33.js.map → ingest-5GCZ5ZBV.js.map} +0 -0
  765. /package/dist/{ingest-RQUJGS7K.js.map → ingest-P54J4W3V.js.map} +0 -0
  766. /package/dist/{inspect-KFVAMD4N.js.map → inspect-S4COGUBC.js.map} +0 -0
  767. /package/dist/{inspiration-XQYHBJY2.js.map → inspiration-IX5N724J.js.map} +0 -0
  768. /package/dist/{keyword-metrics-WYF3QMCW.js.map → keyword-metrics-26CCKFZK.js.map} +0 -0
  769. /package/dist/{keywords-for-site-G5L5EP3T.js.map → keywords-for-site-JWWECF63.js.map} +0 -0
  770. /package/dist/{landing-WUILAWDS.js.map → landing-VFDRADZY.js.map} +0 -0
  771. /package/dist/{leads-4SJ4NJOI.js.map → leads-DTKKYSKH.js.map} +0 -0
  772. /package/dist/{learn-CC6Q5IK2.js.map → learn-GQ75IPRK.js.map} +0 -0
  773. /package/dist/{line-item-writes-YXKYR25W.js.map → line-item-writes-DVVHVR3Y.js.map} +0 -0
  774. /package/dist/{line-items-CKUD2UU4.js.map → line-items-EOZMK7A5.js.map} +0 -0
  775. /package/dist/{link-VBYFI7AM.js.map → link-R5NGCQ5H.js.map} +0 -0
  776. /package/dist/{linkedin-XKVPSCLV.js.map → linkedin-DHZO3IJX.js.map} +0 -0
  777. /package/dist/{list-VSUF2IWT.js.map → list-57QBEGLM.js.map} +0 -0
  778. /package/dist/{list-ENYDGT3F.js.map → list-Q44BBHDI.js.map} +0 -0
  779. /package/dist/{list-6ZNZGRRK.js.map → list-W6G2NTG5.js.map} +0 -0
  780. /package/dist/{log-AACKGBDW.js.map → log-B6X5EPKA.js.map} +0 -0
  781. /package/dist/{performance-K7E5KAZW.js.map → logo-VHXH4J6A.js.map} +0 -0
  782. /package/dist/{make-ED7HBLH3.js.map → make-OIFLF3QS.js.map} +0 -0
  783. /package/dist/{map-63CQHWPI.js.map → map-PIOZT2MQ.js.map} +0 -0
  784. /package/dist/{mcp-RKAXC6IP.js.map → mcp-GFKHLWDB.js.map} +0 -0
  785. /package/dist/{media-sources-PEHUMH7C.js.map → media-sources-VMMMW5UM.js.map} +0 -0
  786. /package/dist/{members-SELIA674.js.map → members-W2QBMNIW.js.map} +0 -0
  787. /package/dist/{normalize-VAZPTBDX.js.map → normalize-N6XC3SLC.js.map} +0 -0
  788. /package/dist/{options-6FCNFWUF.js.map → options-XYJY2OEQ.js.map} +0 -0
  789. /package/dist/{pages-FTI44OSH.js.map → pages-PTWRXAZT.js.map} +0 -0
  790. /package/dist/{reddit-XIHRI3CN.js.map → performance-7NEZTOJ5.js.map} +0 -0
  791. /package/dist/{pixels-6IUB3Y3H.js.map → pixels-MYT3TCHZ.js.map} +0 -0
  792. /package/dist/{pixels-MBKR4XPX.js.map → pixels-ZZCQUS3J.js.map} +0 -0
  793. /package/dist/{promoted-tweet-writes-PKEO6WUK.js.map → promoted-tweet-writes-X2F7R2AE.js.map} +0 -0
  794. /package/dist/{promoted-tweets-7MXVZRBI.js.map → promoted-tweets-XCSD6VKP.js.map} +0 -0
  795. /package/dist/{publish-MPMGRV72.js.map → publish-OBY6E43R.js.map} +0 -0
  796. /package/dist/{run-KBN5K7LE.js.map → reddit-WJ6KHYBC.js.map} +0 -0
  797. /package/dist/{refresh-A27N75NH.js.map → refresh-G5BQ2LWU.js.map} +0 -0
  798. /package/dist/{release-UKRB5IUN.js.map → release-PBZO35KY.js.map} +0 -0
  799. /package/dist/{remove-AFNFVPZY.js.map → remove-VJ2MEUPM.js.map} +0 -0
  800. /package/dist/{reopen-M5HE6J3G.js.map → reopen-W3LYOHSR.js.map} +0 -0
  801. /package/dist/{rerun-A2XHGFZS.js.map → rerun-4GDNBFNM.js.map} +0 -0
  802. /package/dist/{research-U7RQXMYH.js.map → research-4YTFPGH7.js.map} +0 -0
  803. /package/dist/{research-BLDY5UWH.js.map → research-LOQRIBO6.js.map} +0 -0
  804. /package/dist/{reset-4CCWB2RT.js.map → reset-55CCQGXB.js.map} +0 -0
  805. /package/dist/{reset-J3KCWFMZ.js.map → reset-AVTQEJPZ.js.map} +0 -0
  806. /package/dist/{resolve-HEK27ANI.js.map → resolve-E6FNMFE3.js.map} +0 -0
  807. /package/dist/{retry-VVI6N6UR.js.map → retry-HBJ7MKVI.js.map} +0 -0
  808. /package/dist/{retry-HPZIUG2S.js.map → retry-QBRYM6MG.js.map} +0 -0
  809. /package/dist/{rules-SK5DFFPY.js.map → rules-XNDBGOIS.js.map} +0 -0
  810. /package/dist/{rules-add-YQNYSME7.js.map → rules-add-UM3ZKSVD.js.map} +0 -0
  811. /package/dist/{run-M7ZDE6IA.js.map → run-D4YHZ4Z4.js.map} +0 -0
  812. /package/dist/{shared-NDRFKAH7.js.map → run-ZCJ7NP63.js.map} +0 -0
  813. /package/dist/{scaffold-ad-6BN5LWQH.js.map → scaffold-ad-VQZAP32M.js.map} +0 -0
  814. /package/dist/{scaffold-static-ad-VVZRAWBR.js.map → scaffold-static-ad-LEU4M44N.js.map} +0 -0
  815. /package/dist/{scaffold-video-LFIYI4GP.js.map → scaffold-video-PSWSYRSC.js.map} +0 -0
  816. /package/dist/{schedule-QMOKWTJ3.js.map → schedule-AAH7HYFK.js.map} +0 -0
  817. /package/dist/{scheduled-agents-FCQHQ6KR.js.map → scheduled-agents-HDABMHZI.js.map} +0 -0
  818. /package/dist/{schema-THFLCMBN.js.map → schema-OH5OWMVQ.js.map} +0 -0
  819. /package/dist/{search-XIUYSWO6.js.map → search-BSDPVSGA.js.map} +0 -0
  820. /package/dist/{select-QBU6ED4K.js.map → select-EI4QF4YZ.js.map} +0 -0
  821. /package/dist/{set-prompt-TL64CRBQ.js.map → set-prompt-RKDAGUWG.js.map} +0 -0
  822. /package/dist/{setup-links-QVI6NAOK.js.map → setup-links-CNNJA7AB.js.map} +0 -0
  823. /package/dist/{sync-definition-C6ROLKJ4.js.map → shared-3IBNDEFL.js.map} +0 -0
  824. /package/dist/{site-PZPJY33N.js.map → site-NV4U7PIF.js.map} +0 -0
  825. /package/dist/{sources-ER7ANNG3.js.map → sources-ATONL7W5.js.map} +0 -0
  826. /package/dist/{sources-RMNFV4CA.js.map → sources-C3TGHKLQ.js.map} +0 -0
  827. /package/dist/{stale-ITFCPOER.js.map → stale-6QPXL6BZ.js.map} +0 -0
  828. /package/dist/{stats-RCLQE4HJ.js.map → stats-ZAGJH4AD.js.map} +0 -0
  829. /package/dist/{status-ABMJBCPJ.js.map → status-BML3F4MZ.js.map} +0 -0
  830. /package/dist/{stock-ECRBD7RP.js.map → stock-6SHHLSKG.js.map} +0 -0
  831. /package/dist/{studio-MARZ22J2.js.map → studio-ZLCGXFAN.js.map} +0 -0
  832. /package/dist/{sync-QDD3MRJ6.js.map → sync-DZAOUQPE.js.map} +0 -0
  833. /package/dist/{viewer-check-7ZG7KHEN.js.map → sync-definition-RFEL65JE.js.map} +0 -0
  834. /package/dist/{tag-manager-G3LBQZUL.js.map → tag-manager-3CJ66GKJ.js.map} +0 -0
  835. /package/dist/{tags-EWHPUM2V.js.map → tags-2KSXCJRZ.js.map} +0 -0
  836. /package/dist/{tags-KBCX6BDU.js.map → tags-662KZJLV.js.map} +0 -0
  837. /package/dist/{tags-5JYOEYIT.js.map → tags-6QBVW25V.js.map} +0 -0
  838. /package/dist/{tags-PEWN6GNZ.js.map → tags-LQCEJGIL.js.map} +0 -0
  839. /package/dist/{tags-B473RWAA.js.map → tags-RIVD54ZG.js.map} +0 -0
  840. /package/dist/{targeting-criteria-EU65WUUF.js.map → targeting-criteria-XNLYPIL2.js.map} +0 -0
  841. /package/dist/{targets-KVXS5QKM.js.map → targets-OYIVS5KJ.js.map} +0 -0
  842. /package/dist/{testimonials-YMMA5YWL.js.map → testimonials-WT43CF7V.js.map} +0 -0
  843. /package/dist/{top-companies-OOX3DITI.js.map → top-companies-6QQMOS2Y.js.map} +0 -0
  844. /package/dist/{translate-OXVIMYHE.js.map → translate-7QN7JFGU.js.map} +0 -0
  845. /package/dist/{triggers-OX2GKG4Y.js.map → triggers-LVQY3QJ2.js.map} +0 -0
  846. /package/dist/{unlink-3USEPJSA.js.map → unlink-5ASZTCS2.js.map} +0 -0
  847. /package/dist/{unstage-VSCNPTAC.js.map → unstage-LNZTEATR.js.map} +0 -0
  848. /package/dist/{update-6JKTH65B.js.map → update-7BIR4GYO.js.map} +0 -0
  849. /package/dist/{update-FG4ELXYJ.js.map → update-BRLM5DB3.js.map} +0 -0
  850. /package/dist/{update-HZHG67N6.js.map → update-DRZAAJQ2.js.map} +0 -0
  851. /package/dist/{update-GZFKHA3A.js.map → update-NOWC3ICD.js.map} +0 -0
  852. /package/dist/{upload-BKCQ6FRW.js.map → upload-457Q4ANZ.js.map} +0 -0
  853. /package/dist/{url-params-UN4DRN2H.js.map → url-params-KM4NJGYC.js.map} +0 -0
  854. /package/dist/{validate-ZS2M5Q3V.js.map → validate-COLEPJBA.js.map} +0 -0
  855. /package/dist/{videos-I6YXFBFT.js.map → videos-5IDZTEWC.js.map} +0 -0
  856. /package/dist/{web-UGU7YMII.js.map → web-FZYOCCYN.js.map} +0 -0
  857. /package/dist/{winning-ads-ABN5OULS.js.map → winning-ads-I4DMP7RU.js.map} +0 -0
  858. /package/dist/{write-commands-6VR2UD3T.js.map → write-commands-FYB6QG7K.js.map} +0 -0
  859. /package/dist/{x-WK2VQDPF.js.map → x-OMN5DDLM.js.map} +0 -0
@@ -0,0 +1,903 @@
1
+ import {
2
+ flowsDir,
3
+ walkNodes
4
+ } from "./chunk-ITNHIZKK.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-5MCVK4A3.js.map