@koda-sl/baker-cli 0.447.0 → 0.448.0-dev.ccc3c9a37

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 (1400) hide show
  1. package/README.md +231 -42
  2. package/dist/account-JG7QD522.js +79 -0
  3. package/dist/account-V6PB6PA5.js +80 -0
  4. package/dist/account-VLPX7EZT.js +49 -0
  5. package/dist/account-reads-4P5L6CJN.js +218 -0
  6. package/dist/account-reads-4P5L6CJN.js.map +1 -0
  7. package/dist/account-writes-BGREY7ZL.js +66 -0
  8. package/dist/accounts-2FINK5GZ.js +114 -0
  9. package/dist/accounts-2UV5Z3Y6.js +75 -0
  10. package/dist/accounts-3EX2PFJB.js +77 -0
  11. package/dist/accounts-G2QT3ZVP.js +115 -0
  12. package/dist/accounts-N63J5YTK.js +611 -0
  13. package/dist/actions-PA2BPIYO.js +55 -0
  14. package/dist/active-entities-RDXDSMA2.js +103 -0
  15. package/dist/activecampaign-EE5ERO25.js +897 -0
  16. package/dist/activecampaign-EE5ERO25.js.map +1 -0
  17. package/dist/activities-RBTU2Q24.js +74 -0
  18. package/dist/ad-group-writes-5NTRJTVE.js +170 -0
  19. package/dist/ad-groups-4OTAKWUC.js +68 -0
  20. package/dist/ad-writes-T7W3DDKK.js +174 -0
  21. package/dist/add-4VKA4NDH.js +105 -0
  22. package/dist/add-MQO33HL3.js +97 -0
  23. package/dist/add-MYPHHYC4.js +302 -0
  24. package/dist/add-MYPHHYC4.js.map +1 -0
  25. package/dist/add-QM7ANAVG.js +104 -0
  26. package/dist/add-accounts-VDSWHJ4K.js +91 -0
  27. package/dist/add-accounts-VDSWHJ4K.js.map +1 -0
  28. package/dist/ads-HYODBAPV.js +128 -0
  29. package/dist/ads-HYODBAPV.js.map +1 -0
  30. package/dist/ads-IJCFN2N3.js +113 -0
  31. package/dist/ads-QKMLAPZC.js +40 -0
  32. package/dist/ads-XYAWONXR.js +77 -0
  33. package/dist/adsets-DPTIKGTG.js +176 -0
  34. package/dist/advertisers-ITFXIXUW.js +125 -0
  35. package/dist/advertisers-ITFXIXUW.js.map +1 -0
  36. package/dist/advertisers-SZFDOPBQ.js +120 -0
  37. package/dist/analytics-HFBYIPZ7.js +433 -0
  38. package/dist/analytics-NDZR33ZJ.js +1976 -0
  39. package/dist/analytics-NDZR33ZJ.js.map +1 -0
  40. package/dist/animate-LUKNHCF4.js +480 -0
  41. package/dist/assign-QCICUD72.js +77 -0
  42. package/dist/audience-size-HML4BLHJ.js +94 -0
  43. package/dist/audiences-BSABKS5K.js +268 -0
  44. package/dist/audiences-FWOOSUSJ.js +78 -0
  45. package/dist/audiences-VK4M7GLQ.js +85 -0
  46. package/dist/audit-DUM55J5U.js +151 -0
  47. package/dist/audit-JR5R75XK.js +88 -0
  48. package/dist/autocomplete-VX4PMMLR.js +111 -0
  49. package/dist/avatars-5KCRSUJ3.js +38 -0
  50. package/dist/bid-pricing-AIUACXUH.js +99 -0
  51. package/dist/brand-UBTC2WXR.js +22 -0
  52. package/dist/brief-NU7ZGPXO.js +490 -0
  53. package/dist/brief-NU7ZGPXO.js.map +1 -0
  54. package/dist/businesses-P3RX4UXS.js +53 -0
  55. package/dist/campaign-groups-SJZEDIBL.js +95 -0
  56. package/dist/campaign-writes-5BPVXG4C.js +170 -0
  57. package/dist/campaign-writes-VE6QLIDA.js +165 -0
  58. package/dist/campaigns-JEWEDCTC.js +109 -0
  59. package/dist/campaigns-MEIMSHJF.js +110 -0
  60. package/dist/campaigns-NCGJNJKS.js +107 -0
  61. package/dist/campaigns-XY7QWHDN.js +76 -0
  62. package/dist/canvas-DK2DH7BA.js +46 -0
  63. package/dist/canvas-DK2DH7BA.js.map +1 -0
  64. package/dist/capabilities-W6SPXOPF.js +144 -0
  65. package/dist/cards-CLD4WX6G.js +85 -0
  66. package/dist/catalog-W6RBOIOF.js +64 -0
  67. package/dist/catalog-W6RBOIOF.js.map +1 -0
  68. package/dist/catalogs-DINPKQXY.js +128 -0
  69. package/dist/changes-N2YZXAPF.js +135 -0
  70. package/dist/chatgpt-TPAP6BVY.js +47 -0
  71. package/dist/chats-FKVVBXVF.js +262 -0
  72. package/dist/chunk-237WE5LX.js +455 -0
  73. package/dist/chunk-237WE5LX.js.map +1 -0
  74. package/dist/chunk-24IQ6K7K.js +103 -0
  75. package/dist/chunk-2FZG5DD2.js +297 -0
  76. package/dist/chunk-2T3EH2MU.js +363 -0
  77. package/dist/chunk-2Y5UE2CV.js +174 -0
  78. package/dist/chunk-2ZZR2SOF.js +215 -0
  79. package/dist/chunk-2ZZR2SOF.js.map +1 -0
  80. package/dist/chunk-3KPQDXIU.js +1830 -0
  81. package/dist/chunk-4AFGT3L3.js +46 -0
  82. package/dist/chunk-4JKBMKFC.js +225 -0
  83. package/dist/chunk-4KBWL7S4.js +610 -0
  84. package/dist/chunk-4R3QKEDV.js +136 -0
  85. package/dist/chunk-536R4RRM.js +166 -0
  86. package/dist/chunk-536R4RRM.js.map +1 -0
  87. package/dist/chunk-57XJ7QF7.js +65 -0
  88. package/dist/chunk-57XJ7QF7.js.map +1 -0
  89. package/dist/chunk-6AJ6ZD73.js +172 -0
  90. package/dist/chunk-6AJ6ZD73.js.map +1 -0
  91. package/dist/chunk-6SL6463H.js +309 -0
  92. package/dist/chunk-7TRSFEHZ.js +51 -0
  93. package/dist/chunk-AOCG7COT.js +474 -0
  94. package/dist/chunk-AOCG7COT.js.map +1 -0
  95. package/dist/chunk-APNV7FMK.js +191 -0
  96. package/dist/chunk-AR7PU7BB.js +76 -0
  97. package/dist/chunk-AR7PU7BB.js.map +1 -0
  98. package/dist/chunk-B2HLSTK6.js +392 -0
  99. package/dist/chunk-B2HLSTK6.js.map +1 -0
  100. package/dist/chunk-B2VKGTBS.js +3151 -0
  101. package/dist/chunk-B2VKGTBS.js.map +1 -0
  102. package/dist/chunk-BC2BXRXY.js +2887 -0
  103. package/dist/chunk-BC2BXRXY.js.map +1 -0
  104. package/dist/chunk-BC6M5YYV.js +1599 -0
  105. package/dist/chunk-BC6M5YYV.js.map +1 -0
  106. package/dist/chunk-BCSOWRQL.js +76 -0
  107. package/dist/chunk-BIZH3X6P.js +817 -0
  108. package/dist/chunk-BIZH3X6P.js.map +1 -0
  109. package/dist/chunk-BJEW3LST.js +296 -0
  110. package/dist/chunk-BYKUAX26.js +106 -0
  111. package/dist/chunk-C4KJHTQU.js +1079 -0
  112. package/dist/chunk-C4KJHTQU.js.map +1 -0
  113. package/dist/chunk-C7NPNSFO.js +169 -0
  114. package/dist/chunk-CAMX6OHF.js +3182 -0
  115. package/dist/chunk-CAMX6OHF.js.map +1 -0
  116. package/dist/chunk-CLK2FPAV.js +76 -0
  117. package/dist/chunk-CLK2FPAV.js.map +1 -0
  118. package/dist/chunk-CVIMIOPO.js +94 -0
  119. package/dist/chunk-D3RTGIT4.js +2102 -0
  120. package/dist/chunk-D3RTGIT4.js.map +1 -0
  121. package/dist/chunk-DAKIMGUS.js +74 -0
  122. package/dist/chunk-DCRUGS3G.js +25 -0
  123. package/dist/chunk-DJPCTTUN.js +1743 -0
  124. package/dist/chunk-DJPCTTUN.js.map +1 -0
  125. package/dist/chunk-DJUHGO3O.js +547 -0
  126. package/dist/chunk-DJUHGO3O.js.map +1 -0
  127. package/dist/chunk-DMA77LLI.js +106 -0
  128. package/dist/chunk-EEEAC655.js +45 -0
  129. package/dist/chunk-EEEAC655.js.map +1 -0
  130. package/dist/chunk-EESOZY5S.js +26 -0
  131. package/dist/chunk-EIZMOICE.js +175 -0
  132. package/dist/chunk-F3IVR3V3.js +136 -0
  133. package/dist/chunk-FSX6CQ2Z.js +188 -0
  134. package/dist/chunk-G7LAQE56.js +56 -0
  135. package/dist/chunk-G7QKXFQ2.js +66 -0
  136. package/dist/chunk-G7XY4T6K.js +23 -0
  137. package/dist/chunk-GIWHHCD6.js +145 -0
  138. package/dist/chunk-GIWHHCD6.js.map +1 -0
  139. package/dist/chunk-GRJCZF2H.js +5187 -0
  140. package/dist/chunk-GRJCZF2H.js.map +1 -0
  141. package/dist/chunk-HCDCWXSU.js +346 -0
  142. package/dist/chunk-HKSLIV4T.js +533 -0
  143. package/dist/chunk-HKSLIV4T.js.map +1 -0
  144. package/dist/chunk-I2DNBEV6.js +4227 -0
  145. package/dist/chunk-I2DNBEV6.js.map +1 -0
  146. package/dist/chunk-I4IVUAQN.js +337 -0
  147. package/dist/chunk-ICJFL7DU.js +35 -0
  148. package/dist/chunk-ICJFL7DU.js.map +1 -0
  149. package/dist/chunk-IWNZCYWI.js +74 -0
  150. package/dist/chunk-JF5LNI6O.js +84 -0
  151. package/dist/chunk-JJZBZYNK.js +96 -0
  152. package/dist/chunk-JPK34QPS.js +134 -0
  153. package/dist/chunk-JPK34QPS.js.map +1 -0
  154. package/dist/chunk-JZP5IODJ.js +98 -0
  155. package/dist/chunk-KL5VTXIK.js +149 -0
  156. package/dist/chunk-KL5VTXIK.js.map +1 -0
  157. package/dist/chunk-KWMYTVHI.js +455 -0
  158. package/dist/chunk-LFGCOAB4.js +75 -0
  159. package/dist/chunk-LLN6WTER.js +665 -0
  160. package/dist/chunk-LLN6WTER.js.map +1 -0
  161. package/dist/chunk-LO7OQKUD.js +4410 -0
  162. package/dist/chunk-LO7OQKUD.js.map +1 -0
  163. package/dist/chunk-LPRUP3ZX.js +172 -0
  164. package/dist/chunk-MAGSNHYB.js +6214 -0
  165. package/dist/chunk-MAGSNHYB.js.map +1 -0
  166. package/dist/chunk-MD3VH5UG.js +84 -0
  167. package/dist/chunk-MFORE6F4.js +19 -0
  168. package/dist/chunk-MMBHCAON.js +160 -0
  169. package/dist/chunk-MMOTJIV6.js +216 -0
  170. package/dist/chunk-MMOTJIV6.js.map +1 -0
  171. package/dist/chunk-NIGGMK7L.js +125 -0
  172. package/dist/chunk-NN7A2ILR.js +433 -0
  173. package/dist/chunk-O356YNIW.js +509 -0
  174. package/dist/chunk-O356YNIW.js.map +1 -0
  175. package/dist/chunk-OUQMJRH6.js +159 -0
  176. package/dist/chunk-OXKUWTFL.js +494 -0
  177. package/dist/chunk-P5T7OZKV.js +26 -0
  178. package/dist/chunk-PAJJXZ3Z.js +170 -0
  179. package/dist/chunk-PC56KVAD.js +74 -0
  180. package/dist/chunk-PEWNEPDR.js +206 -0
  181. package/dist/chunk-PY4FAOW6.js +275 -0
  182. package/dist/chunk-PY4FAOW6.js.map +1 -0
  183. package/dist/chunk-Q2T4XZG4.js +139 -0
  184. package/dist/chunk-QEHICHMP.js +875 -0
  185. package/dist/chunk-QEHICHMP.js.map +1 -0
  186. package/dist/chunk-RCR6RVYE.js +274 -0
  187. package/dist/chunk-RH2H5PBV.js +111 -0
  188. package/dist/chunk-S3L2ITS7.js +111 -0
  189. package/dist/chunk-S3L2ITS7.js.map +1 -0
  190. package/dist/chunk-S3XM4LD3.js +57 -0
  191. package/dist/chunk-SEPPFM5S.js +228 -0
  192. package/dist/chunk-SEPPFM5S.js.map +1 -0
  193. package/dist/chunk-SFHL3KWY.js +96 -0
  194. package/dist/chunk-SQ7DRYCC.js +150 -0
  195. package/dist/chunk-SSVZM3P6.js +333 -0
  196. package/dist/chunk-T64IRDKW.js +52 -0
  197. package/dist/chunk-T64IRDKW.js.map +1 -0
  198. package/dist/chunk-TMNLIA7R.js +60 -0
  199. package/dist/chunk-UF55TADX.js +92 -0
  200. package/dist/chunk-UGI33KTO.js +55 -0
  201. package/dist/chunk-UK2OTLT3.js +197 -0
  202. package/dist/chunk-UU3FGKUW.js +207 -0
  203. package/dist/chunk-UUBHU2TY.js +304 -0
  204. package/dist/chunk-UUBHU2TY.js.map +1 -0
  205. package/dist/chunk-UX7HIGS7.js +67 -0
  206. package/dist/chunk-VDZIGI2C.js +98 -0
  207. package/dist/chunk-VF6JFG27.js +846 -0
  208. package/dist/chunk-VF6JFG27.js.map +1 -0
  209. package/dist/chunk-VKVIBQP3.js +486 -0
  210. package/dist/chunk-VLF2M4GZ.js +592 -0
  211. package/dist/chunk-VTF7XNOP.js +58 -0
  212. package/dist/chunk-WDA3L4NF.js +382 -0
  213. package/dist/chunk-WMN2WKNZ.js +1442 -0
  214. package/dist/chunk-WMN2WKNZ.js.map +1 -0
  215. package/dist/chunk-XDV6Q33B.js +42 -0
  216. package/dist/chunk-XQIOCIDO.js +204 -0
  217. package/dist/chunk-XQIOCIDO.js.map +1 -0
  218. package/dist/chunk-XYC26BDM.js +133 -0
  219. package/dist/chunk-YHQYDNYD.js +23992 -0
  220. package/dist/chunk-YHQYDNYD.js.map +1 -0
  221. package/dist/chunk-YOARYFC2.js +6667 -0
  222. package/dist/chunk-YOARYFC2.js.map +1 -0
  223. package/dist/chunk-YPCVPDU7.js +455 -0
  224. package/dist/chunk-YPCVPDU7.js.map +1 -0
  225. package/dist/chunk-YTWNY3RF.js +97 -0
  226. package/dist/claim-JLVISHS4.js +197 -0
  227. package/dist/cli.js +41 -37
  228. package/dist/cli.js.map +1 -1
  229. package/dist/client-G6DGRGKT.js +19 -0
  230. package/dist/code-AYN42EK7.js +76 -0
  231. package/dist/companies-XDMOP2GL.js +195 -0
  232. package/dist/complete-XM7VLC4F.js +81 -0
  233. package/dist/config-UE7GCROG.js +88 -0
  234. package/dist/connect-VTDKGYP3.js +42 -0
  235. package/dist/content-5LHM4PBE.js +85 -0
  236. package/dist/content-5LHM4PBE.js.map +1 -0
  237. package/dist/conversation-F53OE25Y.js +93 -0
  238. package/dist/conversion-report-35MLL3FA.js +125 -0
  239. package/dist/conversion-upload-command-CV2TA7OV.js +438 -0
  240. package/dist/conversion-writes-NSZPNMPE.js +120 -0
  241. package/dist/conversions-7YO6DDL3.js +135 -0
  242. package/dist/conversions-XNISCCC2.js +76 -0
  243. package/dist/countries-NMWPKFFW.js +82 -0
  244. package/dist/create-ARERZYCL.js +59 -0
  245. package/dist/create-C6ZVYIF5.js +207 -0
  246. package/dist/create-FAPJFCZE.js +235 -0
  247. package/dist/create-M7TUO3XS.js +130 -0
  248. package/dist/creatives-3YIV6IOK.js +182 -0
  249. package/dist/creatives-QZCO6WGH.js +51 -0
  250. package/dist/creatives-WJLJ3NKP.js +87 -0
  251. package/dist/credentials-2DO23MYD.js +287 -0
  252. package/dist/credentials-2DO23MYD.js.map +1 -0
  253. package/dist/critique-56MNXW7R.js +1449 -0
  254. package/dist/critique-KRIKEHF6.js +213 -0
  255. package/dist/crm-OETFQNR3.js +224 -0
  256. package/dist/crm-WXCFB4TU.js +318 -0
  257. package/dist/crop-VCP2JLQL.js +113 -0
  258. package/dist/currency-MNNDKY4Z.js +88 -0
  259. package/dist/custom-conversions-CIU525HM.js +125 -0
  260. package/dist/customers-GTPEABJI.js +56 -0
  261. package/dist/decide-NFTEKQKC.js +199 -0
  262. package/dist/decide-NFTEKQKC.js.map +1 -0
  263. package/dist/delete-5CURRI25.js +71 -0
  264. package/dist/delete-CLC2Q2OE.js +63 -0
  265. package/dist/delete-CQ6Q3URI.js +54 -0
  266. package/dist/delete-JIRZBBDD.js +69 -0
  267. package/dist/delete-LD3F4UIW.js +66 -0
  268. package/dist/delete-LGZ5OI4C.js +71 -0
  269. package/dist/demographics-EK2ZPHWK.js +138 -0
  270. package/dist/describe-BNB6643C.js +97 -0
  271. package/dist/describe-ZXGFTCDR.js +97 -0
  272. package/dist/dimensions-IU4ETG4U.js +101 -0
  273. package/dist/discard-VWCXYJWU.js +66 -0
  274. package/dist/discover-4EQWGIAN.js +172 -0
  275. package/dist/discover-4N3V5K2R.js +93 -0
  276. package/dist/discover-4N3V5K2R.js.map +1 -0
  277. package/dist/domain-I2SAGVAB.js +98 -0
  278. package/dist/download-D7TB4744.js +299 -0
  279. package/dist/draft-4VOOSJQJ.js +233 -0
  280. package/dist/draft-6KG2YFOY.js +328 -0
  281. package/dist/draft-APDGACIC.js +306 -0
  282. package/dist/draft-D76C4JR3.js +103 -0
  283. package/dist/draft-HFH2Y6F5.js +281 -0
  284. package/dist/draft-NLUJX7TA.js +307 -0
  285. package/dist/draft-NLUJX7TA.js.map +1 -0
  286. package/dist/draft-NVVWWQVC.js +217 -0
  287. package/dist/draft-NWLPLTWM.js +100 -0
  288. package/dist/engine/index.d.ts +12 -0
  289. package/dist/engine/index.js +13 -14
  290. package/dist/env-LHLGM2YJ.js +43 -0
  291. package/dist/experiment-4SUIXVBP.js +1397 -0
  292. package/dist/experiment-4SUIXVBP.js.map +1 -0
  293. package/dist/export-VGCFD7GL.js +168 -0
  294. package/dist/extract-32J7V2RX.js +113 -0
  295. package/dist/facets-WVI6VBDC.js +114 -0
  296. package/dist/favorites-WKV5H5OF.js +178 -0
  297. package/dist/feed-2CRO4HA6.js +177 -0
  298. package/dist/feed-2CRO4HA6.js.map +1 -0
  299. package/dist/feedback-NMNKYEMU.js +66 -0
  300. package/dist/feedback-record-2VYBMWMO.js +175 -0
  301. package/dist/fetch-CENBDLT6.js +176 -0
  302. package/dist/fetch-XQFPE3MI.js +139 -0
  303. package/dist/find-PNDKEOXT.js +134 -0
  304. package/dist/fit-SEWGCEW5.js +45 -0
  305. package/dist/flows-3N4RPGSP.js +247 -0
  306. package/dist/flows-3N4RPGSP.js.map +1 -0
  307. package/dist/follow-BB5KUEXZ.js +94 -0
  308. package/dist/follow-BB5KUEXZ.js.map +1 -0
  309. package/dist/follow-competitors-EURYGGXE.js +112 -0
  310. package/dist/follow-competitors-EURYGGXE.js.map +1 -0
  311. package/dist/following-CA5BQXYB.js +113 -0
  312. package/dist/following-CA5BQXYB.js.map +1 -0
  313. package/dist/fonts-KUCQAR7N.js +34 -0
  314. package/dist/forecast-G5KRTVDM.js +168 -0
  315. package/dist/forecast-G5KRTVDM.js.map +1 -0
  316. package/dist/forecast-PI52G2GL.js +104 -0
  317. package/dist/funding-ZRC25X5I.js +85 -0
  318. package/dist/funnel-WGFMUWQP.js +394 -0
  319. package/dist/funnel-WGFMUWQP.js.map +1 -0
  320. package/dist/ga4-YDKXVJOC.js +55 -0
  321. package/dist/generate-BVMMX3SS.js +262 -0
  322. package/dist/get-7MSF4RVQ.js +59 -0
  323. package/dist/get-FILH7BDT.js +78 -0
  324. package/dist/get-FILH7BDT.js.map +1 -0
  325. package/dist/get-KFVPIDIA.js +61 -0
  326. package/dist/get-NHQ2XYKZ.js +63 -0
  327. package/dist/get-TCDAYTZA.js +56 -0
  328. package/dist/get-TCDAYTZA.js.map +1 -0
  329. package/dist/get-UMMTY74K.js +92 -0
  330. package/dist/get-YM77HCL5.js +63 -0
  331. package/dist/gif-X323HXS2.js +94 -0
  332. package/dist/google-76A4MHQH.js +136 -0
  333. package/dist/google-OZTCY7HD.js +3190 -0
  334. package/dist/google-OZTCY7HD.js.map +1 -0
  335. package/dist/google-ads-S6O4MLKA.js +195 -0
  336. package/dist/group-CTIZVYX2.js +43 -0
  337. package/dist/group-HKWQ75CJ.js +43 -0
  338. package/dist/gsc-CORRYJBJ.js +30 -0
  339. package/dist/history-4U7FJGEM.js +133 -0
  340. package/dist/history-BXOMJ5PL.js +67 -0
  341. package/dist/hubspot-I5MFAZ4G.js +779 -0
  342. package/dist/icon-6QW63AHG.js +137 -0
  343. package/dist/ideas-QDS5XA4S.js +32 -0
  344. package/dist/images-NVTA2OHD.js +90 -0
  345. package/dist/improve-WR23CHYH.js +86 -0
  346. package/dist/ingest-QAVJ2J7F.js +107 -0
  347. package/dist/ingest-XJHV3GG6.js +23 -0
  348. package/dist/insights-AW7SOGHI.js +122 -0
  349. package/dist/insights-IJEPLWQH.js +423 -0
  350. package/dist/inspect-7I53PWCF.js +189 -0
  351. package/dist/inspiration-TJJFUVY2.js +53 -0
  352. package/dist/intent-VEUQS34Z.js +95 -0
  353. package/dist/job-K7LAIBYN.js +202 -0
  354. package/dist/job-create-DFZL4CGA.js +109 -0
  355. package/dist/job-status-6Q2TVTEO.js +74 -0
  356. package/dist/keep-XJFCLVCP.js +78 -0
  357. package/dist/keyword-gap-CUOGKUMM.js +130 -0
  358. package/dist/keyword-metrics-LK7FME4N.js +197 -0
  359. package/dist/keywords-for-site-4E7UU44P.js +128 -0
  360. package/dist/landing-I65PFN7H.js +28 -0
  361. package/dist/landings-SQJWZOJR.js +151 -0
  362. package/dist/landings-SQJWZOJR.js.map +1 -0
  363. package/dist/languages-KPPKX3E2.js +40 -0
  364. package/dist/languages-MGEBLO64.js +55 -0
  365. package/dist/launches-E3Y6NCQE.js +19 -0
  366. package/dist/layerize-N4IQ2KE7.js +190 -0
  367. package/dist/leads-PPMOBH7U.js +293 -0
  368. package/dist/leads-TNEQUOUN.js +90 -0
  369. package/dist/learn-QQS323PS.js +203 -0
  370. package/dist/library-4QQAVB6X.js +109 -0
  371. package/dist/lighthouse-CD47CPJM.js +75 -0
  372. package/dist/line-item-writes-QJZQUQ4E.js +208 -0
  373. package/dist/line-items-ESEAXGBV.js +103 -0
  374. package/dist/link-DPJYS4WY.js +64 -0
  375. package/dist/linkedin-EJPNC4VY.js +1008 -0
  376. package/dist/list-A45NTPSJ.js +76 -0
  377. package/dist/list-GNP4GIV2.js +51 -0
  378. package/dist/list-KQFLOVC4.js +57 -0
  379. package/dist/list-MDHK3ENJ.js +50 -0
  380. package/dist/list-PRUFXMXW.js +65 -0
  381. package/dist/list-S3BAQCTL.js +303 -0
  382. package/dist/list-UU5NPLJ7.js +151 -0
  383. package/dist/list-V525A4Z4.js +63 -0
  384. package/dist/locations-J2PVPDZU.js +67 -0
  385. package/dist/locations-TFOYESTF.js +40 -0
  386. package/dist/log-XQBEJOOW.js +92 -0
  387. package/dist/logo-KQD5KUAH.js +18 -0
  388. package/dist/lookup-QCREWUV4.js +22 -0
  389. package/dist/make-NZHJ7ICV.js +633 -0
  390. package/dist/make-NZHJ7ICV.js.map +1 -0
  391. package/dist/map-7SHU5WCJ.js +433 -0
  392. package/dist/map-7SHU5WCJ.js.map +1 -0
  393. package/dist/mcp-GATPHY4D.js +463 -0
  394. package/dist/mcp-GATPHY4D.js.map +1 -0
  395. package/dist/media-2WENMOAA.js +15 -0
  396. package/dist/media-N4C6Q4IV.js +89 -0
  397. package/dist/media-sources-BPOTW6IB.js +32 -0
  398. package/dist/members-BOYZKLNK.js +44 -0
  399. package/dist/meta-PXYHWOOG.js +69 -0
  400. package/dist/metrics-FZANUN7E.js +152 -0
  401. package/dist/models-W6EN3WB7.js +155 -0
  402. package/dist/normalize-LOMDPNFJ.js +806 -0
  403. package/dist/normalize-RP3D7BUT.js +141 -0
  404. package/dist/normalize-RP3D7BUT.js.map +1 -0
  405. package/dist/options-FXND5P2W.js +122 -0
  406. package/dist/options-FXND5P2W.js.map +1 -0
  407. package/dist/output-SR4DN3A4.js +24 -0
  408. package/dist/page-FS76L5WU.js +105 -0
  409. package/dist/pages-INMNJSX2.js +66 -0
  410. package/dist/performance-53D43XVZ.js +24 -0
  411. package/dist/pinterest-JMHFPNVW.js +96 -0
  412. package/dist/pixels-K6ZD7SXV.js +60 -0
  413. package/dist/pixels-XPBBJYE3.js +108 -0
  414. package/dist/plan-45ESBYZA.js +207 -0
  415. package/dist/plan-45ESBYZA.js.map +1 -0
  416. package/dist/preview-KXSNG3BS.js +169 -0
  417. package/dist/profile-I4IXWBAQ.js +159 -0
  418. package/dist/profile-I4IXWBAQ.js.map +1 -0
  419. package/dist/promoted-tweet-writes-I6HVQRDB.js +180 -0
  420. package/dist/promoted-tweets-YAQ5ZUXI.js +119 -0
  421. package/dist/properties-NYNEONHI.js +101 -0
  422. package/dist/publish-Z5DVKZSG.js +322 -0
  423. package/dist/query-MSZPOHFL.js +61 -0
  424. package/dist/query-RK2TFMBI.js +236 -0
  425. package/dist/query-TWNH6GV7.js +247 -0
  426. package/dist/questionnaire-CNXN2TUZ.js +93 -0
  427. package/dist/questionnaire-CNXN2TUZ.js.map +1 -0
  428. package/dist/read-2AGRYWXU.js +141 -0
  429. package/dist/read-2AGRYWXU.js.map +1 -0
  430. package/dist/reddit-6DQTBTO6.js +26 -0
  431. package/dist/refresh-TP2TOGS6.js +94 -0
  432. package/dist/release-PHQEZ2ZX.js +60 -0
  433. package/dist/relevant-pages-ORVFFVAM.js +99 -0
  434. package/dist/remove-ETLMMDEA.js +48 -0
  435. package/dist/remove-KTBM5YSH.js +50 -0
  436. package/dist/reopen-OURQR6U7.js +63 -0
  437. package/dist/rerun-HGCVZ3D4.js +84 -0
  438. package/dist/rerun-HGCVZ3D4.js.map +1 -0
  439. package/dist/research-P23YBKS3.js +62 -0
  440. package/dist/research-WCNWT5Y5.js +262 -0
  441. package/dist/reset-2NCAWWN4.js +54 -0
  442. package/dist/reset-65R2CUB5.js +54 -0
  443. package/dist/resolve-65FKZ23N.js +121 -0
  444. package/dist/retry-P5K6LE6K.js +60 -0
  445. package/dist/retry-UIPDQJ5F.js +62 -0
  446. package/dist/retry-failed-QMWQ6TRL.js +45 -0
  447. package/dist/run-NDMEYUOI.js +59 -0
  448. package/dist/run-OP3T4TCF.js +65 -0
  449. package/dist/scaffold-ad-A5MWIOQJ.js +1548 -0
  450. package/dist/scaffold-ad-A5MWIOQJ.js.map +1 -0
  451. package/dist/scaffold-static-ad-MFPDXR6J.js +971 -0
  452. package/dist/scaffold-static-ad-MFPDXR6J.js.map +1 -0
  453. package/dist/scaffold-video-N6TY36I3.js +872 -0
  454. package/dist/scaffold-video-N6TY36I3.js.map +1 -0
  455. package/dist/schedule-6D667AXB.js +61 -0
  456. package/dist/schedule-KXLQVCZW.js +66 -0
  457. package/dist/scheduled-agents-LYWEX4PU.js +49 -0
  458. package/dist/schema-5HZIAHY3.js +132 -0
  459. package/dist/schema-5HZIAHY3.js.map +1 -0
  460. package/dist/schema-CCFLFAOY.js +63 -0
  461. package/dist/scrape-DBZQFIW7.js +2241 -0
  462. package/dist/screenshot-MPFANYIH.js +102 -0
  463. package/dist/search-4AANIUUL.js +91 -0
  464. package/dist/search-EMJABZYF.js +224 -0
  465. package/dist/search-HQDN7DOF.js +174 -0
  466. package/dist/search-OVHC4CRQ.js +26 -0
  467. package/dist/search-YSGZRANA.js +92 -0
  468. package/dist/search-copy-E3EVO7YT.js +168 -0
  469. package/dist/search-copy-E3EVO7YT.js.map +1 -0
  470. package/dist/seeds-XTBVEHSF.js +101 -0
  471. package/dist/seeds-XTBVEHSF.js.map +1 -0
  472. package/dist/select-C6BKHB4B.js +94 -0
  473. package/dist/sends-HXN5HSF6.js +309 -0
  474. package/dist/sequences-FRK76ZQV.js +146 -0
  475. package/dist/set-prompt-AOSHNBFC.js +185 -0
  476. package/dist/set-prompt-AOSHNBFC.js.map +1 -0
  477. package/dist/setup-links-BM2GLSSO.js +141 -0
  478. package/dist/shared-EH5ZTQXC.js +31 -0
  479. package/dist/site-3PEJYQJW.js +177 -0
  480. package/dist/sitemaps-7KHY2KXI.js +87 -0
  481. package/dist/sites-6B76JW6C.js +101 -0
  482. package/dist/skills-SCTT3LCM.js +47 -0
  483. package/dist/sources-ODJBHNGY.js +30 -0
  484. package/dist/sources-ZTLMXFHK.js +454 -0
  485. package/dist/sources-ZTLMXFHK.js.map +1 -0
  486. package/dist/stale-2O54QXY2.js +63 -0
  487. package/dist/stats-4NBOAOR2.js +34 -0
  488. package/dist/status-NE5OBM4B.js +62 -0
  489. package/dist/sticker-NLXBIOBO.js +94 -0
  490. package/dist/stock-F3SA4VHV.js +179 -0
  491. package/dist/studio-ZPDIOFKL.js +49 -0
  492. package/dist/sync-5GJNZDGZ.js +54 -0
  493. package/dist/sync-FCNFXTFD.js +265 -0
  494. package/dist/sync-YXCZ3DHY.js +54 -0
  495. package/dist/sync-definition-IL6Z4ZI7.js +52 -0
  496. package/dist/sync-definition-IL6Z4ZI7.js.map +1 -0
  497. package/dist/tag-manager-YM4Q3CZT.js +43 -0
  498. package/dist/tags-456UOYJU.js +26 -0
  499. package/dist/tags-5YPYHV5V.js +20 -0
  500. package/dist/tags-HXMHEHG2.js +224 -0
  501. package/dist/tags-K34666RY.js +20 -0
  502. package/dist/tags-NB35ISO3.js +20 -0
  503. package/dist/targeting-constants-3CMGPWRI.js +118 -0
  504. package/dist/targeting-criteria-UKQ4WF5C.js +113 -0
  505. package/dist/targets-VQ4BQ657.js +102 -0
  506. package/dist/templates-PMUIOVDX.js +178 -0
  507. package/dist/testimonials-XZCGVD6V.js +32 -0
  508. package/dist/themes-TVXLYJ7Y.js +94 -0
  509. package/dist/themes-TVXLYJ7Y.js.map +1 -0
  510. package/dist/top-companies-VMRIDOOH.js +108 -0
  511. package/dist/translate-F5KR62LF.js +598 -0
  512. package/dist/triggers-2MZX7W6Y.js +141 -0
  513. package/dist/tweets-XWE3VYQ4.js +123 -0
  514. package/dist/unfollow-7U4UBAJX.js +46 -0
  515. package/dist/unlink-AWSNY3QS.js +67 -0
  516. package/dist/unstage-OGB43ZXO.js +95 -0
  517. package/dist/unstage-RQBOQ4DY.js +84 -0
  518. package/dist/update-4KWYHMLS.js +63 -0
  519. package/dist/update-6DKEWM64.js +142 -0
  520. package/dist/update-G6EKHPIF.js +155 -0
  521. package/dist/update-OFV452AC.js +98 -0
  522. package/dist/upload-6CJWMQ24.js +126 -0
  523. package/dist/upload-GUKMQ5MT.js +150 -0
  524. package/dist/upscale-A456MESF.js +109 -0
  525. package/dist/url-options-FGDOVUSI.js +130 -0
  526. package/dist/url-options-FGDOVUSI.js.map +1 -0
  527. package/dist/url-params-OE3UMYMM.js +98 -0
  528. package/dist/use-HBVKVT5S.js +95 -0
  529. package/dist/validate-ZCUZV3L4.js +88 -0
  530. package/dist/validate-ZCUZV3L4.js.map +1 -0
  531. package/dist/variant-HULP57YI.js +338 -0
  532. package/dist/videos-ION7UT3M.js +39 -0
  533. package/dist/view-GCDEJZII.js +121 -0
  534. package/dist/viewer-check-UKYFBFMY.js +68 -0
  535. package/dist/viewer-check-UKYFBFMY.js.map +1 -0
  536. package/dist/web-CCVD6UZ4.js +140 -0
  537. package/dist/winners-WSMWC4M5.js +113 -0
  538. package/dist/winners-WSMWC4M5.js.map +1 -0
  539. package/dist/winning-ads-UCSSFEXD.js +84 -0
  540. package/dist/winning-ads-UCSSFEXD.js.map +1 -0
  541. package/dist/write-commands-47OP673X.js +713 -0
  542. package/dist/write-commands-IJ5IFHS6.js +737 -0
  543. package/dist/write-commands-NNVDWBLG.js +1015 -0
  544. package/dist/write-commands-OBMIVFZJ.js +206 -0
  545. package/dist/x-U32DT24S.js +47 -0
  546. package/package.json +2 -2
  547. package/dist/account-2ZMZFPIU.js +0 -79
  548. package/dist/account-F6MHQ64I.js +0 -80
  549. package/dist/account-IEVEOFIK.js +0 -49
  550. package/dist/account-writes-ISE4U2FQ.js +0 -66
  551. package/dist/accounts-4CDRK4S4.js +0 -75
  552. package/dist/accounts-5QDKBZMH.js +0 -115
  553. package/dist/accounts-KYJO3JC6.js +0 -114
  554. package/dist/accounts-RHGN5WMU.js +0 -611
  555. package/dist/accounts-VINHZRWA.js +0 -77
  556. package/dist/actions-5F4ZP6M4.js +0 -55
  557. package/dist/active-entities-YUSOUR5M.js +0 -103
  558. package/dist/activities-ZVQOBHZH.js +0 -74
  559. package/dist/ad-group-writes-UU5NNKSO.js +0 -170
  560. package/dist/ad-groups-CGFXZNIA.js +0 -68
  561. package/dist/ad-writes-NALDYWOR.js +0 -174
  562. package/dist/add-577QWMCF.js +0 -97
  563. package/dist/add-CUWAW7KG.js +0 -105
  564. package/dist/add-KBPMSK2P.js +0 -104
  565. package/dist/add-OGH4DZZ5.js +0 -280
  566. package/dist/add-OGH4DZZ5.js.map +0 -1
  567. package/dist/ads-56OWZBXZ.js +0 -40
  568. package/dist/ads-H7GH7A26.js +0 -113
  569. package/dist/ads-PV7GZXPR.js +0 -77
  570. package/dist/adsets-H7QT42U6.js +0 -176
  571. package/dist/advertisers-PM4WPG4N.js +0 -120
  572. package/dist/advertisers-YMHPZYNF.js +0 -111
  573. package/dist/advertisers-YMHPZYNF.js.map +0 -1
  574. package/dist/analytics-5FALU2GL.js +0 -433
  575. package/dist/analytics-JVZKN735.js +0 -1958
  576. package/dist/analytics-JVZKN735.js.map +0 -1
  577. package/dist/animate-FWWHSYPL.js +0 -480
  578. package/dist/assign-KLYZ6USE.js +0 -77
  579. package/dist/audience-size-JHB42DB4.js +0 -94
  580. package/dist/audiences-HFRVIE2X.js +0 -85
  581. package/dist/audiences-JACGRBNN.js +0 -78
  582. package/dist/audiences-VEKGLWBG.js +0 -268
  583. package/dist/audit-5XH7WZIM.js +0 -151
  584. package/dist/audit-AD4ZZNJN.js +0 -88
  585. package/dist/autocomplete-7F3PZLEY.js +0 -111
  586. package/dist/avatars-N4SRNQI7.js +0 -38
  587. package/dist/bid-pricing-VYLVGU26.js +0 -99
  588. package/dist/brand-ASBS2HZM.js +0 -22
  589. package/dist/brief-JSZKDPGU.js +0 -477
  590. package/dist/brief-JSZKDPGU.js.map +0 -1
  591. package/dist/businesses-JBDQZZIG.js +0 -53
  592. package/dist/campaign-groups-ATE2DE4V.js +0 -95
  593. package/dist/campaign-writes-ETT57KLQ.js +0 -165
  594. package/dist/campaign-writes-SX52CJYW.js +0 -170
  595. package/dist/campaigns-FGBAS6AZ.js +0 -107
  596. package/dist/campaigns-J6VZBIV6.js +0 -109
  597. package/dist/campaigns-WBEG5QA4.js +0 -110
  598. package/dist/campaigns-X3DPCCSN.js +0 -76
  599. package/dist/canvas-K7IN7HLO.js +0 -46
  600. package/dist/canvas-K7IN7HLO.js.map +0 -1
  601. package/dist/capabilities-RDAERPYY.js +0 -144
  602. package/dist/cards-4477BFEV.js +0 -85
  603. package/dist/catalog-MENVHL5U.js +0 -65
  604. package/dist/catalog-MENVHL5U.js.map +0 -1
  605. package/dist/catalogs-G3YEVG6S.js +0 -128
  606. package/dist/changes-TP7ZZHB3.js +0 -135
  607. package/dist/chatgpt-QNUN63YS.js +0 -47
  608. package/dist/chats-YIAQGQ3X.js +0 -262
  609. package/dist/chunk-2GK33EJV.js +0 -382
  610. package/dist/chunk-2TK4DEOE.js +0 -74
  611. package/dist/chunk-35XWJEWH.js +0 -274
  612. package/dist/chunk-3CWL2LY4.js +0 -206
  613. package/dist/chunk-4NBVGARW.js +0 -1079
  614. package/dist/chunk-4NBVGARW.js.map +0 -1
  615. package/dist/chunk-4NDCTLI5.js +0 -191
  616. package/dist/chunk-5ARG3CQG.js +0 -141
  617. package/dist/chunk-5ARG3CQG.js.map +0 -1
  618. package/dist/chunk-5R5ADJ47.js +0 -2880
  619. package/dist/chunk-5R5ADJ47.js.map +0 -1
  620. package/dist/chunk-5Z2KSVIV.js +0 -67
  621. package/dist/chunk-65RIB7A6.js +0 -592
  622. package/dist/chunk-6B7VKFS4.js +0 -172
  623. package/dist/chunk-6DB2B3GF.js +0 -175
  624. package/dist/chunk-6G5K6ZC6.js +0 -46
  625. package/dist/chunk-75FDTDLH.js +0 -96
  626. package/dist/chunk-7OFNN4CT.js +0 -58
  627. package/dist/chunk-7SDFKGQ4.js +0 -363
  628. package/dist/chunk-ACANMASG.js +0 -19
  629. package/dist/chunk-ALTBBAYU.js +0 -96
  630. package/dist/chunk-ANCSKUWI.js +0 -433
  631. package/dist/chunk-AWMFUGVX.js +0 -160
  632. package/dist/chunk-BA7FDXQC.js +0 -197
  633. package/dist/chunk-BNCW67EM.js +0 -534
  634. package/dist/chunk-BNCW67EM.js.map +0 -1
  635. package/dist/chunk-BSC33FLJ.js +0 -217
  636. package/dist/chunk-BSC33FLJ.js.map +0 -1
  637. package/dist/chunk-C6U6UDHJ.js +0 -106
  638. package/dist/chunk-CHSNHVYF.js +0 -3182
  639. package/dist/chunk-CHSNHVYF.js.map +0 -1
  640. package/dist/chunk-CYEO5ZIO.js +0 -133
  641. package/dist/chunk-CYEO5ZIO.js.map +0 -1
  642. package/dist/chunk-DKGTQSLR.js +0 -310
  643. package/dist/chunk-DKGTQSLR.js.map +0 -1
  644. package/dist/chunk-DR34ZTWD.js +0 -207
  645. package/dist/chunk-E4MDJBLO.js +0 -163
  646. package/dist/chunk-E4MDJBLO.js.map +0 -1
  647. package/dist/chunk-EFSYTROP.js +0 -94
  648. package/dist/chunk-EH4C4CZK.js +0 -455
  649. package/dist/chunk-F2S5BLPE.js +0 -97
  650. package/dist/chunk-FXED3VZK.js +0 -174
  651. package/dist/chunk-G7UTTEBS.js +0 -337
  652. package/dist/chunk-GATKK4RJ.js +0 -440
  653. package/dist/chunk-GATKK4RJ.js.map +0 -1
  654. package/dist/chunk-GIJT3A5U.js +0 -166
  655. package/dist/chunk-GIJT3A5U.js.map +0 -1
  656. package/dist/chunk-GX6VAHY7.js +0 -830
  657. package/dist/chunk-GX6VAHY7.js.map +0 -1
  658. package/dist/chunk-H26L3OQY.js +0 -42
  659. package/dist/chunk-HIPDMQZ6.js +0 -136
  660. package/dist/chunk-HQSCJYZO.js +0 -26
  661. package/dist/chunk-HZ5DR5MX.js +0 -51
  662. package/dist/chunk-I4NEHDSD.js +0 -813
  663. package/dist/chunk-I4NEHDSD.js.map +0 -1
  664. package/dist/chunk-IFWP3ZDO.js +0 -215
  665. package/dist/chunk-IFWP3ZDO.js.map +0 -1
  666. package/dist/chunk-IM52NHGL.js +0 -390
  667. package/dist/chunk-IM52NHGL.js.map +0 -1
  668. package/dist/chunk-JERXV5A3.js +0 -26
  669. package/dist/chunk-JF47LEPU.js +0 -5163
  670. package/dist/chunk-JF47LEPU.js.map +0 -1
  671. package/dist/chunk-K3PN7TN5.js +0 -84
  672. package/dist/chunk-KBP7WJQB.js +0 -446
  673. package/dist/chunk-KBP7WJQB.js.map +0 -1
  674. package/dist/chunk-KLBTXETO.js +0 -23992
  675. package/dist/chunk-KLBTXETO.js.map +0 -1
  676. package/dist/chunk-KLNKEVIY.js +0 -136
  677. package/dist/chunk-KNWHUMVZ.js +0 -4381
  678. package/dist/chunk-KNWHUMVZ.js.map +0 -1
  679. package/dist/chunk-KNY76UGC.js +0 -84
  680. package/dist/chunk-KQTYTCKQ.js +0 -98
  681. package/dist/chunk-LERTEZST.js +0 -28
  682. package/dist/chunk-LERTEZST.js.map +0 -1
  683. package/dist/chunk-LIQ4SQ2T.js +0 -150
  684. package/dist/chunk-LS5MTRFI.js +0 -106
  685. package/dist/chunk-LW4VSTL5.js +0 -304
  686. package/dist/chunk-LW4VSTL5.js.map +0 -1
  687. package/dist/chunk-LZ73CZGP.js +0 -188
  688. package/dist/chunk-MADAAZZV.js +0 -169
  689. package/dist/chunk-MELOSESI.js +0 -20
  690. package/dist/chunk-MELOSESI.js.map +0 -1
  691. package/dist/chunk-MLU6STIN.js +0 -66
  692. package/dist/chunk-MZL4H5PY.js +0 -225
  693. package/dist/chunk-NAWWC5I3.js +0 -454
  694. package/dist/chunk-NAWWC5I3.js.map +0 -1
  695. package/dist/chunk-NDXBU22S.js +0 -6145
  696. package/dist/chunk-NDXBU22S.js.map +0 -1
  697. package/dist/chunk-NE4F3FHN.js +0 -1854
  698. package/dist/chunk-NE4F3FHN.js.map +0 -1
  699. package/dist/chunk-NU7JSWVA.js +0 -946
  700. package/dist/chunk-NU7JSWVA.js.map +0 -1
  701. package/dist/chunk-OTFHEHIU.js +0 -1706
  702. package/dist/chunk-OTFHEHIU.js.map +0 -1
  703. package/dist/chunk-PBA3YCZA.js +0 -76
  704. package/dist/chunk-PDTB5EX6.js +0 -57
  705. package/dist/chunk-PWGWMIIJ.js +0 -25
  706. package/dist/chunk-QSN5MZGS.js +0 -74
  707. package/dist/chunk-RPUSTYHL.js +0 -170
  708. package/dist/chunk-RX6F3GEA.js +0 -610
  709. package/dist/chunk-SB3GZFCV.js +0 -622
  710. package/dist/chunk-SB3GZFCV.js.map +0 -1
  711. package/dist/chunk-SSJK7FEV.js +0 -2886
  712. package/dist/chunk-SSJK7FEV.js.map +0 -1
  713. package/dist/chunk-STIB5DR5.js +0 -56
  714. package/dist/chunk-T3BDNJIX.js +0 -494
  715. package/dist/chunk-TD2P4HBP.js +0 -55
  716. package/dist/chunk-TEINLN64.js +0 -649
  717. package/dist/chunk-TEINLN64.js.map +0 -1
  718. package/dist/chunk-TIOQ7ZFQ.js +0 -496
  719. package/dist/chunk-TIOQ7ZFQ.js.map +0 -1
  720. package/dist/chunk-U3HAMW5W.js +0 -133
  721. package/dist/chunk-U6SYRIOB.js +0 -486
  722. package/dist/chunk-UC6BWM5J.js +0 -159
  723. package/dist/chunk-ULJ5RFOV.js +0 -76
  724. package/dist/chunk-ULJ5RFOV.js.map +0 -1
  725. package/dist/chunk-VAISMQQB.js +0 -346
  726. package/dist/chunk-VAJBWA2U.js +0 -75
  727. package/dist/chunk-VB6WJJR3.js +0 -1830
  728. package/dist/chunk-VDHQJ6HD.js +0 -23
  729. package/dist/chunk-VFIOJD5M.js +0 -309
  730. package/dist/chunk-VMDAXFRI.js +0 -111
  731. package/dist/chunk-VVZBBKRC.js +0 -296
  732. package/dist/chunk-W3B4BHQU.js +0 -31
  733. package/dist/chunk-W3B4BHQU.js.map +0 -1
  734. package/dist/chunk-W3ZHJJVT.js +0 -139
  735. package/dist/chunk-WNFIJAUO.js +0 -98
  736. package/dist/chunk-WS2GMOSG.js +0 -74
  737. package/dist/chunk-X7ZODEXJ.js +0 -36
  738. package/dist/chunk-X7ZODEXJ.js.map +0 -1
  739. package/dist/chunk-XBOK23HI.js +0 -214
  740. package/dist/chunk-XBOK23HI.js.map +0 -1
  741. package/dist/chunk-XCM6XWOB.js +0 -417
  742. package/dist/chunk-XCM6XWOB.js.map +0 -1
  743. package/dist/chunk-XL3BMSYG.js +0 -125
  744. package/dist/chunk-XMD4SHFI.js +0 -60
  745. package/dist/chunk-Y6QAJNKP.js +0 -1411
  746. package/dist/chunk-Y6QAJNKP.js.map +0 -1
  747. package/dist/chunk-YBMVHGY3.js +0 -333
  748. package/dist/chunk-YBP7O5P4.js +0 -103
  749. package/dist/chunk-YC2TQ3VC.js +0 -297
  750. package/dist/chunk-YPZYOJP6.js +0 -6664
  751. package/dist/chunk-YPZYOJP6.js.map +0 -1
  752. package/dist/chunk-ZJWUBJYQ.js +0 -204
  753. package/dist/chunk-ZJWUBJYQ.js.map +0 -1
  754. package/dist/chunk-ZPU3WDVK.js +0 -92
  755. package/dist/claim-V4F5GZJK.js +0 -197
  756. package/dist/client-VHN32ZRE.js +0 -19
  757. package/dist/code-YS6ZMGX3.js +0 -76
  758. package/dist/companies-NJGJ7XNN.js +0 -195
  759. package/dist/complete-MGNF5OAK.js +0 -81
  760. package/dist/config-CQN5FHMZ.js +0 -88
  761. package/dist/connect-PJOTRTT4.js +0 -36
  762. package/dist/content-3ZPP4SW2.js +0 -81
  763. package/dist/content-3ZPP4SW2.js.map +0 -1
  764. package/dist/conversation-4DM26FRD.js +0 -93
  765. package/dist/conversion-report-N4HANYOB.js +0 -125
  766. package/dist/conversion-upload-command-TZTHU2CD.js +0 -438
  767. package/dist/conversion-writes-LW4HQKK5.js +0 -120
  768. package/dist/conversions-JGECVZSY.js +0 -135
  769. package/dist/conversions-TS723AZV.js +0 -76
  770. package/dist/countries-ESAKTQAE.js +0 -82
  771. package/dist/create-DSGQFBI7.js +0 -207
  772. package/dist/create-I2KVDTCQ.js +0 -59
  773. package/dist/create-SBQWVLXG.js +0 -130
  774. package/dist/create-WOHPIGBK.js +0 -235
  775. package/dist/creatives-4JGVZQGC.js +0 -182
  776. package/dist/creatives-DWO5KEQC.js +0 -51
  777. package/dist/creatives-PSWCNY7U.js +0 -87
  778. package/dist/credentials-UULYCN2L.js +0 -1055
  779. package/dist/credentials-UULYCN2L.js.map +0 -1
  780. package/dist/critique-NGMZK5LX.js +0 -213
  781. package/dist/critique-TIZJ5GFM.js +0 -1449
  782. package/dist/crm-2WAR565U.js +0 -224
  783. package/dist/crm-VDXUO2YU.js +0 -318
  784. package/dist/crop-2J4RKJ6B.js +0 -113
  785. package/dist/currency-XCGKQ7FE.js +0 -88
  786. package/dist/custom-conversions-6P555U2K.js +0 -125
  787. package/dist/customers-ATENMXDO.js +0 -56
  788. package/dist/delete-3AV3ARMX.js +0 -71
  789. package/dist/delete-A5XD52K4.js +0 -69
  790. package/dist/delete-AVMZYNVT.js +0 -54
  791. package/dist/delete-H744GNS4.js +0 -63
  792. package/dist/delete-MRM2S4Z5.js +0 -71
  793. package/dist/delete-OEYPFATY.js +0 -66
  794. package/dist/demographics-M5LJF3RZ.js +0 -138
  795. package/dist/describe-6NVOWIBE.js +0 -97
  796. package/dist/describe-P3PPIQME.js +0 -97
  797. package/dist/dimensions-EYAYO27I.js +0 -101
  798. package/dist/discard-72I6SM7G.js +0 -66
  799. package/dist/discover-BJPZNXUQ.js +0 -172
  800. package/dist/domain-R4EIZD2W.js +0 -98
  801. package/dist/download-7T6HIJKD.js +0 -299
  802. package/dist/draft-34C3F5U4.js +0 -217
  803. package/dist/draft-BBFJNZ5X.js +0 -328
  804. package/dist/draft-BGUJDHXR.js +0 -103
  805. package/dist/draft-BV2QRPZ4.js +0 -107
  806. package/dist/draft-BV2QRPZ4.js.map +0 -1
  807. package/dist/draft-KIBMVKSR.js +0 -100
  808. package/dist/draft-THPZFASM.js +0 -281
  809. package/dist/draft-YDY2Q2K6.js +0 -233
  810. package/dist/draft-YYYRWF7M.js +0 -306
  811. package/dist/env-KIP2J2UB.js +0 -43
  812. package/dist/experiment-LKK77YAN.js +0 -1377
  813. package/dist/experiment-LKK77YAN.js.map +0 -1
  814. package/dist/export-JQRMBJ7D.js +0 -168
  815. package/dist/extract-7QKLME7Z.js +0 -113
  816. package/dist/facets-F2H52MS4.js +0 -114
  817. package/dist/favorites-NSGF4OV5.js +0 -178
  818. package/dist/feed-RV4KPPXM.js +0 -157
  819. package/dist/feed-RV4KPPXM.js.map +0 -1
  820. package/dist/feedback-IQKKT4MC.js +0 -66
  821. package/dist/feedback-record-UZV4Y7UD.js +0 -175
  822. package/dist/fetch-XF76JABV.js +0 -139
  823. package/dist/fetch-ZUAZPLAE.js +0 -176
  824. package/dist/find-OTDIX6V4.js +0 -134
  825. package/dist/fit-2CA4JH7N.js +0 -45
  826. package/dist/flows-CWXCXEUD.js +0 -244
  827. package/dist/flows-CWXCXEUD.js.map +0 -1
  828. package/dist/follow-FN7LV3WV.js +0 -82
  829. package/dist/follow-FN7LV3WV.js.map +0 -1
  830. package/dist/follow-competitors-MKXFHLXB.js +0 -131
  831. package/dist/follow-competitors-MKXFHLXB.js.map +0 -1
  832. package/dist/following-RKC2FLHI.js +0 -109
  833. package/dist/following-RKC2FLHI.js.map +0 -1
  834. package/dist/fonts-F2XUCIIW.js +0 -34
  835. package/dist/forecast-IDKJYM2B.js +0 -104
  836. package/dist/funding-NYO65IMT.js +0 -85
  837. package/dist/funnel-RLGQGYKO.js +0 -837
  838. package/dist/funnel-RLGQGYKO.js.map +0 -1
  839. package/dist/ga4-UDQ2HA2J.js +0 -55
  840. package/dist/generate-MMBYB44G.js +0 -262
  841. package/dist/get-3L6W3E3T.js +0 -59
  842. package/dist/get-6WEYKOY6.js +0 -63
  843. package/dist/get-C6UQ22HH.js +0 -54
  844. package/dist/get-C6UQ22HH.js.map +0 -1
  845. package/dist/get-EEUR6SAW.js +0 -78
  846. package/dist/get-EEUR6SAW.js.map +0 -1
  847. package/dist/get-P743RPSI.js +0 -63
  848. package/dist/get-XN5ZGDIK.js +0 -61
  849. package/dist/get-YIHTAMRT.js +0 -92
  850. package/dist/gif-53ULFVLR.js +0 -94
  851. package/dist/google-35GDU3G3.js +0 -1872
  852. package/dist/google-35GDU3G3.js.map +0 -1
  853. package/dist/google-KTO3PLEU.js +0 -136
  854. package/dist/google-ads-Q37I2D5P.js +0 -195
  855. package/dist/group-EFZ3AJIE.js +0 -43
  856. package/dist/group-GKWCCX66.js +0 -43
  857. package/dist/gsc-P3QYGDV2.js +0 -30
  858. package/dist/history-4II5QA4B.js +0 -133
  859. package/dist/history-DBIEYQHY.js +0 -67
  860. package/dist/hubspot-TTITJFBO.js +0 -779
  861. package/dist/icon-I43F77FV.js +0 -137
  862. package/dist/ideas-V4Q6JDKV.js +0 -32
  863. package/dist/images-SP5REF6E.js +0 -90
  864. package/dist/improve-BCCU5AS6.js +0 -86
  865. package/dist/ingest-574GIFAR.js +0 -107
  866. package/dist/ingest-IC4T76W6.js +0 -23
  867. package/dist/insights-NZWSJKU4.js +0 -423
  868. package/dist/insights-ZIU6FJMS.js +0 -122
  869. package/dist/inspect-ATHYY6A2.js +0 -189
  870. package/dist/inspiration-P265QJ2H.js +0 -53
  871. package/dist/intent-E3UIVZBN.js +0 -95
  872. package/dist/job-L7RJZMSG.js +0 -202
  873. package/dist/job-create-JUDAN52O.js +0 -109
  874. package/dist/job-status-U43WE3RJ.js +0 -74
  875. package/dist/keep-55CPC7DG.js +0 -78
  876. package/dist/keyword-gap-BG6M665A.js +0 -130
  877. package/dist/keyword-metrics-J4UPUDN7.js +0 -197
  878. package/dist/keywords-for-site-MWADFEO2.js +0 -128
  879. package/dist/landing-R6DN7XLK.js +0 -28
  880. package/dist/languages-HORKPDNH.js +0 -40
  881. package/dist/languages-JSGWCC7Z.js +0 -55
  882. package/dist/layerize-RPD6SNP6.js +0 -190
  883. package/dist/leads-7EVHMNUF.js +0 -293
  884. package/dist/leads-JM6HUERX.js +0 -90
  885. package/dist/learn-LGS2F5TR.js +0 -203
  886. package/dist/library-ARKRLCNJ.js +0 -109
  887. package/dist/lighthouse-6ZC45E53.js +0 -75
  888. package/dist/line-item-writes-KUYEXSIH.js +0 -208
  889. package/dist/line-items-GIWLP3FL.js +0 -103
  890. package/dist/link-PVM7XJQI.js +0 -64
  891. package/dist/linkedin-WX54EAX6.js +0 -1008
  892. package/dist/list-4ZKQZBCL.js +0 -151
  893. package/dist/list-7MVBXOJT.js +0 -51
  894. package/dist/list-A5UCIR2J.js +0 -65
  895. package/dist/list-AL7N6X2P.js +0 -50
  896. package/dist/list-LI4OGQFW.js +0 -57
  897. package/dist/list-MCEFXC6L.js +0 -63
  898. package/dist/list-P7NAFN6J.js +0 -76
  899. package/dist/list-WR7QYTON.js +0 -303
  900. package/dist/locations-74TPQWAT.js +0 -67
  901. package/dist/locations-J4G5RNPH.js +0 -40
  902. package/dist/log-U6IWZGOF.js +0 -92
  903. package/dist/logo-2IP663QO.js +0 -18
  904. package/dist/lookup-XK45W2SH.js +0 -22
  905. package/dist/make-RXFHEGUI.js +0 -593
  906. package/dist/make-RXFHEGUI.js.map +0 -1
  907. package/dist/map-TWL7T4KP.js +0 -404
  908. package/dist/map-TWL7T4KP.js.map +0 -1
  909. package/dist/mcp-HVAVJGGS.js +0 -476
  910. package/dist/mcp-HVAVJGGS.js.map +0 -1
  911. package/dist/media-6CQYG4UY.js +0 -89
  912. package/dist/media-M7E6V2XU.js +0 -15
  913. package/dist/media-sources-JWGO23BZ.js +0 -32
  914. package/dist/members-5FAW4YE7.js +0 -44
  915. package/dist/meta-EZ4SY25M.js +0 -69
  916. package/dist/metrics-SQDJ5NQO.js +0 -152
  917. package/dist/models-7U3GRYHF.js +0 -155
  918. package/dist/normalize-GW4GZNVY.js +0 -138
  919. package/dist/normalize-GW4GZNVY.js.map +0 -1
  920. package/dist/normalize-ICQF2AST.js +0 -806
  921. package/dist/options-NSUCENLU.js +0 -121
  922. package/dist/options-NSUCENLU.js.map +0 -1
  923. package/dist/output-RAH3TSIL.js +0 -24
  924. package/dist/page-GS3WLT2C.js +0 -105
  925. package/dist/pages-FXYQLHSJ.js +0 -66
  926. package/dist/performance-FGCDWHMC.js +0 -24
  927. package/dist/pinterest-AUH7WBA7.js +0 -96
  928. package/dist/pixels-45A55MOP.js +0 -60
  929. package/dist/pixels-ZFF4BGUH.js +0 -108
  930. package/dist/preview-AD4GKYIA.js +0 -169
  931. package/dist/promoted-tweet-writes-BPWTDESL.js +0 -180
  932. package/dist/promoted-tweets-OS3NHYVE.js +0 -119
  933. package/dist/properties-L2XIYQDS.js +0 -101
  934. package/dist/publish-SXZEWBVJ.js +0 -322
  935. package/dist/query-IEZRY6HV.js +0 -1341
  936. package/dist/query-IEZRY6HV.js.map +0 -1
  937. package/dist/query-SGGBCHTF.js +0 -236
  938. package/dist/query-VTGVZQIO.js +0 -247
  939. package/dist/read-LSF7DYTG.js +0 -140
  940. package/dist/read-LSF7DYTG.js.map +0 -1
  941. package/dist/reddit-TF6K37SB.js +0 -26
  942. package/dist/refresh-APVDWXRZ.js +0 -94
  943. package/dist/release-32SEJU4L.js +0 -60
  944. package/dist/relevant-pages-OWMNUCP7.js +0 -99
  945. package/dist/remove-6LGGKMLJ.js +0 -48
  946. package/dist/remove-U64GTHLQ.js +0 -50
  947. package/dist/reopen-5VS233SF.js +0 -63
  948. package/dist/rerun-7Z45QOOO.js +0 -85
  949. package/dist/rerun-7Z45QOOO.js.map +0 -1
  950. package/dist/research-O7CJV5IS.js +0 -62
  951. package/dist/research-QYSQ6LW4.js +0 -262
  952. package/dist/reset-22FC7BXQ.js +0 -54
  953. package/dist/reset-47B5VPT4.js +0 -54
  954. package/dist/resolve-7KQGVTQT.js +0 -121
  955. package/dist/retry-J5UVLS72.js +0 -62
  956. package/dist/retry-UJ5UF4BM.js +0 -60
  957. package/dist/retry-failed-6HXPUVXJ.js +0 -45
  958. package/dist/run-SI4FA32F.js +0 -65
  959. package/dist/run-TFLFBQU2.js +0 -60
  960. package/dist/scaffold-ad-SEXNE2K6.js +0 -1549
  961. package/dist/scaffold-ad-SEXNE2K6.js.map +0 -1
  962. package/dist/scaffold-static-ad-VBOL6CLN.js +0 -966
  963. package/dist/scaffold-static-ad-VBOL6CLN.js.map +0 -1
  964. package/dist/scaffold-video-Z37MIBDI.js +0 -873
  965. package/dist/scaffold-video-Z37MIBDI.js.map +0 -1
  966. package/dist/schedule-52ZM4KRQ.js +0 -61
  967. package/dist/schedule-O2K6M43V.js +0 -66
  968. package/dist/scheduled-agents-PCWCQAKP.js +0 -49
  969. package/dist/schema-6GR77VJG.js +0 -63
  970. package/dist/schema-FY6ORDXZ.js +0 -129
  971. package/dist/schema-FY6ORDXZ.js.map +0 -1
  972. package/dist/scrape-ETAMW43A.js +0 -2241
  973. package/dist/screenshot-YCQF25ZB.js +0 -102
  974. package/dist/search-742XSULP.js +0 -224
  975. package/dist/search-MEEM4D3W.js +0 -92
  976. package/dist/search-NS7XNRZC.js +0 -174
  977. package/dist/search-OQNGSMUH.js +0 -91
  978. package/dist/search-UO5KJTYS.js +0 -26
  979. package/dist/seeds-N6FF5S4T.js +0 -101
  980. package/dist/seeds-N6FF5S4T.js.map +0 -1
  981. package/dist/select-4XCYVV2G.js +0 -94
  982. package/dist/sends-WGJVQUMF.js +0 -309
  983. package/dist/sequences-OIPVR7JL.js +0 -146
  984. package/dist/set-prompt-TRJBYA3D.js +0 -186
  985. package/dist/set-prompt-TRJBYA3D.js.map +0 -1
  986. package/dist/setup-links-V3URI7DL.js +0 -141
  987. package/dist/shared-HJDFNID4.js +0 -31
  988. package/dist/site-WIQ7SSU3.js +0 -177
  989. package/dist/sitemaps-POPZJTAX.js +0 -87
  990. package/dist/sites-262H6LM4.js +0 -101
  991. package/dist/skills-6TQZLIMP.js +0 -47
  992. package/dist/sources-DWJXOLEH.js +0 -421
  993. package/dist/sources-DWJXOLEH.js.map +0 -1
  994. package/dist/sources-L453U5MT.js +0 -30
  995. package/dist/stale-6OVG6VME.js +0 -63
  996. package/dist/stats-NNXZMPZR.js +0 -34
  997. package/dist/status-WXWU54WR.js +0 -62
  998. package/dist/sticker-4KMBSMP5.js +0 -94
  999. package/dist/stock-2YCDN3N6.js +0 -179
  1000. package/dist/studio-C5K3YX3P.js +0 -49
  1001. package/dist/sync-CDZUTGV3.js +0 -54
  1002. package/dist/sync-CF7FVUQJ.js +0 -54
  1003. package/dist/sync-ZSNUBYPM.js +0 -265
  1004. package/dist/sync-definition-BAJQUBE3.js +0 -53
  1005. package/dist/tag-manager-DYZUOIAS.js +0 -43
  1006. package/dist/tags-6RY23XOG.js +0 -20
  1007. package/dist/tags-BHFQWNPL.js +0 -224
  1008. package/dist/tags-SG3NVC3J.js +0 -26
  1009. package/dist/tags-VN5HTL35.js +0 -20
  1010. package/dist/tags-WR6PDIDR.js +0 -20
  1011. package/dist/targeting-constants-XJ2VOW7K.js +0 -118
  1012. package/dist/targeting-criteria-5EXP2NXF.js +0 -113
  1013. package/dist/targets-WUVEJPSD.js +0 -102
  1014. package/dist/templates-LOJQX2NG.js +0 -178
  1015. package/dist/testimonials-6M5DXORT.js +0 -32
  1016. package/dist/top-companies-E2OMMPSV.js +0 -108
  1017. package/dist/translate-AW4CUKDA.js +0 -598
  1018. package/dist/triggers-MRXIDCSN.js +0 -141
  1019. package/dist/tweets-ATP3FQAC.js +0 -123
  1020. package/dist/unfollow-CBVPGPF7.js +0 -46
  1021. package/dist/unlink-HNL747YM.js +0 -67
  1022. package/dist/unstage-4ZEULXEQ.js +0 -95
  1023. package/dist/unstage-OL2JDCLK.js +0 -84
  1024. package/dist/update-4KGIT4BF.js +0 -142
  1025. package/dist/update-JPBUF7M2.js +0 -98
  1026. package/dist/update-RTTC3SAK.js +0 -155
  1027. package/dist/update-YNNRX5B2.js +0 -63
  1028. package/dist/upload-L5SYZB3X.js +0 -150
  1029. package/dist/upload-UIXPCSXJ.js +0 -126
  1030. package/dist/upscale-YWRLFU22.js +0 -109
  1031. package/dist/url-options-GGXAL3J4.js +0 -127
  1032. package/dist/url-options-GGXAL3J4.js.map +0 -1
  1033. package/dist/url-params-K47CE7Y5.js +0 -98
  1034. package/dist/use-UT2DIZOG.js +0 -95
  1035. package/dist/validate-TD2BY4VE.js +0 -89
  1036. package/dist/validate-TD2BY4VE.js.map +0 -1
  1037. package/dist/variant-FLZJYGYL.js +0 -338
  1038. package/dist/videos-BP3BKNTY.js +0 -39
  1039. package/dist/view-NPAG66QK.js +0 -121
  1040. package/dist/viewer-check-HFRUJ4ZU.js +0 -69
  1041. package/dist/web-RPSGFN4U.js +0 -140
  1042. package/dist/winners-I5BMATJZ.js +0 -79
  1043. package/dist/winners-I5BMATJZ.js.map +0 -1
  1044. package/dist/winning-ads-WUENRDVJ.js +0 -62
  1045. package/dist/winning-ads-WUENRDVJ.js.map +0 -1
  1046. package/dist/write-commands-4WARNR2T.js +0 -1015
  1047. package/dist/write-commands-ERKVRHTC.js +0 -206
  1048. package/dist/write-commands-TAYGTJEZ.js +0 -737
  1049. package/dist/write-commands-WTRSOSO3.js +0 -713
  1050. package/dist/x-VZCELH3P.js +0 -47
  1051. /package/dist/{account-2ZMZFPIU.js.map → account-JG7QD522.js.map} +0 -0
  1052. /package/dist/{account-F6MHQ64I.js.map → account-V6PB6PA5.js.map} +0 -0
  1053. /package/dist/{account-IEVEOFIK.js.map → account-VLPX7EZT.js.map} +0 -0
  1054. /package/dist/{account-writes-ISE4U2FQ.js.map → account-writes-BGREY7ZL.js.map} +0 -0
  1055. /package/dist/{accounts-KYJO3JC6.js.map → accounts-2FINK5GZ.js.map} +0 -0
  1056. /package/dist/{accounts-4CDRK4S4.js.map → accounts-2UV5Z3Y6.js.map} +0 -0
  1057. /package/dist/{accounts-VINHZRWA.js.map → accounts-3EX2PFJB.js.map} +0 -0
  1058. /package/dist/{accounts-5QDKBZMH.js.map → accounts-G2QT3ZVP.js.map} +0 -0
  1059. /package/dist/{accounts-RHGN5WMU.js.map → accounts-N63J5YTK.js.map} +0 -0
  1060. /package/dist/{actions-5F4ZP6M4.js.map → actions-PA2BPIYO.js.map} +0 -0
  1061. /package/dist/{active-entities-YUSOUR5M.js.map → active-entities-RDXDSMA2.js.map} +0 -0
  1062. /package/dist/{activities-ZVQOBHZH.js.map → activities-RBTU2Q24.js.map} +0 -0
  1063. /package/dist/{ad-group-writes-UU5NNKSO.js.map → ad-group-writes-5NTRJTVE.js.map} +0 -0
  1064. /package/dist/{ad-groups-CGFXZNIA.js.map → ad-groups-4OTAKWUC.js.map} +0 -0
  1065. /package/dist/{ad-writes-NALDYWOR.js.map → ad-writes-T7W3DDKK.js.map} +0 -0
  1066. /package/dist/{add-CUWAW7KG.js.map → add-4VKA4NDH.js.map} +0 -0
  1067. /package/dist/{add-577QWMCF.js.map → add-MQO33HL3.js.map} +0 -0
  1068. /package/dist/{add-KBPMSK2P.js.map → add-QM7ANAVG.js.map} +0 -0
  1069. /package/dist/{ads-H7GH7A26.js.map → ads-IJCFN2N3.js.map} +0 -0
  1070. /package/dist/{ads-56OWZBXZ.js.map → ads-QKMLAPZC.js.map} +0 -0
  1071. /package/dist/{ads-PV7GZXPR.js.map → ads-XYAWONXR.js.map} +0 -0
  1072. /package/dist/{adsets-H7QT42U6.js.map → adsets-DPTIKGTG.js.map} +0 -0
  1073. /package/dist/{advertisers-PM4WPG4N.js.map → advertisers-SZFDOPBQ.js.map} +0 -0
  1074. /package/dist/{analytics-5FALU2GL.js.map → analytics-HFBYIPZ7.js.map} +0 -0
  1075. /package/dist/{animate-FWWHSYPL.js.map → animate-LUKNHCF4.js.map} +0 -0
  1076. /package/dist/{assign-KLYZ6USE.js.map → assign-QCICUD72.js.map} +0 -0
  1077. /package/dist/{audience-size-JHB42DB4.js.map → audience-size-HML4BLHJ.js.map} +0 -0
  1078. /package/dist/{audiences-VEKGLWBG.js.map → audiences-BSABKS5K.js.map} +0 -0
  1079. /package/dist/{audiences-JACGRBNN.js.map → audiences-FWOOSUSJ.js.map} +0 -0
  1080. /package/dist/{audiences-HFRVIE2X.js.map → audiences-VK4M7GLQ.js.map} +0 -0
  1081. /package/dist/{audit-5XH7WZIM.js.map → audit-DUM55J5U.js.map} +0 -0
  1082. /package/dist/{audit-AD4ZZNJN.js.map → audit-JR5R75XK.js.map} +0 -0
  1083. /package/dist/{autocomplete-7F3PZLEY.js.map → autocomplete-VX4PMMLR.js.map} +0 -0
  1084. /package/dist/{avatars-N4SRNQI7.js.map → avatars-5KCRSUJ3.js.map} +0 -0
  1085. /package/dist/{bid-pricing-VYLVGU26.js.map → bid-pricing-AIUACXUH.js.map} +0 -0
  1086. /package/dist/{brand-ASBS2HZM.js.map → brand-UBTC2WXR.js.map} +0 -0
  1087. /package/dist/{businesses-JBDQZZIG.js.map → businesses-P3RX4UXS.js.map} +0 -0
  1088. /package/dist/{campaign-groups-ATE2DE4V.js.map → campaign-groups-SJZEDIBL.js.map} +0 -0
  1089. /package/dist/{campaign-writes-SX52CJYW.js.map → campaign-writes-5BPVXG4C.js.map} +0 -0
  1090. /package/dist/{campaign-writes-ETT57KLQ.js.map → campaign-writes-VE6QLIDA.js.map} +0 -0
  1091. /package/dist/{campaigns-J6VZBIV6.js.map → campaigns-JEWEDCTC.js.map} +0 -0
  1092. /package/dist/{campaigns-WBEG5QA4.js.map → campaigns-MEIMSHJF.js.map} +0 -0
  1093. /package/dist/{campaigns-FGBAS6AZ.js.map → campaigns-NCGJNJKS.js.map} +0 -0
  1094. /package/dist/{campaigns-X3DPCCSN.js.map → campaigns-XY7QWHDN.js.map} +0 -0
  1095. /package/dist/{capabilities-RDAERPYY.js.map → capabilities-W6SPXOPF.js.map} +0 -0
  1096. /package/dist/{cards-4477BFEV.js.map → cards-CLD4WX6G.js.map} +0 -0
  1097. /package/dist/{catalogs-G3YEVG6S.js.map → catalogs-DINPKQXY.js.map} +0 -0
  1098. /package/dist/{changes-TP7ZZHB3.js.map → changes-N2YZXAPF.js.map} +0 -0
  1099. /package/dist/{chatgpt-QNUN63YS.js.map → chatgpt-TPAP6BVY.js.map} +0 -0
  1100. /package/dist/{chats-YIAQGQ3X.js.map → chats-FKVVBXVF.js.map} +0 -0
  1101. /package/dist/{chunk-YBP7O5P4.js.map → chunk-24IQ6K7K.js.map} +0 -0
  1102. /package/dist/{chunk-YC2TQ3VC.js.map → chunk-2FZG5DD2.js.map} +0 -0
  1103. /package/dist/{chunk-7SDFKGQ4.js.map → chunk-2T3EH2MU.js.map} +0 -0
  1104. /package/dist/{chunk-FXED3VZK.js.map → chunk-2Y5UE2CV.js.map} +0 -0
  1105. /package/dist/{chunk-VB6WJJR3.js.map → chunk-3KPQDXIU.js.map} +0 -0
  1106. /package/dist/{chunk-6G5K6ZC6.js.map → chunk-4AFGT3L3.js.map} +0 -0
  1107. /package/dist/{chunk-MZL4H5PY.js.map → chunk-4JKBMKFC.js.map} +0 -0
  1108. /package/dist/{chunk-RX6F3GEA.js.map → chunk-4KBWL7S4.js.map} +0 -0
  1109. /package/dist/{chunk-KLNKEVIY.js.map → chunk-4R3QKEDV.js.map} +0 -0
  1110. /package/dist/{chunk-VFIOJD5M.js.map → chunk-6SL6463H.js.map} +0 -0
  1111. /package/dist/{chunk-HZ5DR5MX.js.map → chunk-7TRSFEHZ.js.map} +0 -0
  1112. /package/dist/{chunk-4NDCTLI5.js.map → chunk-APNV7FMK.js.map} +0 -0
  1113. /package/dist/{chunk-PBA3YCZA.js.map → chunk-BCSOWRQL.js.map} +0 -0
  1114. /package/dist/{chunk-VVZBBKRC.js.map → chunk-BJEW3LST.js.map} +0 -0
  1115. /package/dist/{chunk-LS5MTRFI.js.map → chunk-BYKUAX26.js.map} +0 -0
  1116. /package/dist/{chunk-MADAAZZV.js.map → chunk-C7NPNSFO.js.map} +0 -0
  1117. /package/dist/{chunk-EFSYTROP.js.map → chunk-CVIMIOPO.js.map} +0 -0
  1118. /package/dist/{chunk-WS2GMOSG.js.map → chunk-DAKIMGUS.js.map} +0 -0
  1119. /package/dist/{chunk-PWGWMIIJ.js.map → chunk-DCRUGS3G.js.map} +0 -0
  1120. /package/dist/{chunk-C6U6UDHJ.js.map → chunk-DMA77LLI.js.map} +0 -0
  1121. /package/dist/{chunk-JERXV5A3.js.map → chunk-EESOZY5S.js.map} +0 -0
  1122. /package/dist/{chunk-6DB2B3GF.js.map → chunk-EIZMOICE.js.map} +0 -0
  1123. /package/dist/{chunk-HIPDMQZ6.js.map → chunk-F3IVR3V3.js.map} +0 -0
  1124. /package/dist/{chunk-LZ73CZGP.js.map → chunk-FSX6CQ2Z.js.map} +0 -0
  1125. /package/dist/{chunk-STIB5DR5.js.map → chunk-G7LAQE56.js.map} +0 -0
  1126. /package/dist/{chunk-MLU6STIN.js.map → chunk-G7QKXFQ2.js.map} +0 -0
  1127. /package/dist/{chunk-VDHQJ6HD.js.map → chunk-G7XY4T6K.js.map} +0 -0
  1128. /package/dist/{chunk-VAISMQQB.js.map → chunk-HCDCWXSU.js.map} +0 -0
  1129. /package/dist/{chunk-G7UTTEBS.js.map → chunk-I4IVUAQN.js.map} +0 -0
  1130. /package/dist/{chunk-2TK4DEOE.js.map → chunk-IWNZCYWI.js.map} +0 -0
  1131. /package/dist/{chunk-K3PN7TN5.js.map → chunk-JF5LNI6O.js.map} +0 -0
  1132. /package/dist/{chunk-ALTBBAYU.js.map → chunk-JJZBZYNK.js.map} +0 -0
  1133. /package/dist/{chunk-WNFIJAUO.js.map → chunk-JZP5IODJ.js.map} +0 -0
  1134. /package/dist/{chunk-EH4C4CZK.js.map → chunk-KWMYTVHI.js.map} +0 -0
  1135. /package/dist/{chunk-VAJBWA2U.js.map → chunk-LFGCOAB4.js.map} +0 -0
  1136. /package/dist/{chunk-6B7VKFS4.js.map → chunk-LPRUP3ZX.js.map} +0 -0
  1137. /package/dist/{chunk-KNY76UGC.js.map → chunk-MD3VH5UG.js.map} +0 -0
  1138. /package/dist/{chunk-ACANMASG.js.map → chunk-MFORE6F4.js.map} +0 -0
  1139. /package/dist/{chunk-AWMFUGVX.js.map → chunk-MMBHCAON.js.map} +0 -0
  1140. /package/dist/{chunk-XL3BMSYG.js.map → chunk-NIGGMK7L.js.map} +0 -0
  1141. /package/dist/{chunk-ANCSKUWI.js.map → chunk-NN7A2ILR.js.map} +0 -0
  1142. /package/dist/{chunk-UC6BWM5J.js.map → chunk-OUQMJRH6.js.map} +0 -0
  1143. /package/dist/{chunk-T3BDNJIX.js.map → chunk-OXKUWTFL.js.map} +0 -0
  1144. /package/dist/{chunk-HQSCJYZO.js.map → chunk-P5T7OZKV.js.map} +0 -0
  1145. /package/dist/{chunk-RPUSTYHL.js.map → chunk-PAJJXZ3Z.js.map} +0 -0
  1146. /package/dist/{chunk-QSN5MZGS.js.map → chunk-PC56KVAD.js.map} +0 -0
  1147. /package/dist/{chunk-3CWL2LY4.js.map → chunk-PEWNEPDR.js.map} +0 -0
  1148. /package/dist/{chunk-W3ZHJJVT.js.map → chunk-Q2T4XZG4.js.map} +0 -0
  1149. /package/dist/{chunk-35XWJEWH.js.map → chunk-RCR6RVYE.js.map} +0 -0
  1150. /package/dist/{chunk-VMDAXFRI.js.map → chunk-RH2H5PBV.js.map} +0 -0
  1151. /package/dist/{chunk-PDTB5EX6.js.map → chunk-S3XM4LD3.js.map} +0 -0
  1152. /package/dist/{chunk-75FDTDLH.js.map → chunk-SFHL3KWY.js.map} +0 -0
  1153. /package/dist/{chunk-LIQ4SQ2T.js.map → chunk-SQ7DRYCC.js.map} +0 -0
  1154. /package/dist/{chunk-YBMVHGY3.js.map → chunk-SSVZM3P6.js.map} +0 -0
  1155. /package/dist/{chunk-XMD4SHFI.js.map → chunk-TMNLIA7R.js.map} +0 -0
  1156. /package/dist/{chunk-ZPU3WDVK.js.map → chunk-UF55TADX.js.map} +0 -0
  1157. /package/dist/{chunk-TD2P4HBP.js.map → chunk-UGI33KTO.js.map} +0 -0
  1158. /package/dist/{chunk-BA7FDXQC.js.map → chunk-UK2OTLT3.js.map} +0 -0
  1159. /package/dist/{chunk-DR34ZTWD.js.map → chunk-UU3FGKUW.js.map} +0 -0
  1160. /package/dist/{chunk-5Z2KSVIV.js.map → chunk-UX7HIGS7.js.map} +0 -0
  1161. /package/dist/{chunk-KQTYTCKQ.js.map → chunk-VDZIGI2C.js.map} +0 -0
  1162. /package/dist/{chunk-U6SYRIOB.js.map → chunk-VKVIBQP3.js.map} +0 -0
  1163. /package/dist/{chunk-65RIB7A6.js.map → chunk-VLF2M4GZ.js.map} +0 -0
  1164. /package/dist/{chunk-7OFNN4CT.js.map → chunk-VTF7XNOP.js.map} +0 -0
  1165. /package/dist/{chunk-2GK33EJV.js.map → chunk-WDA3L4NF.js.map} +0 -0
  1166. /package/dist/{chunk-H26L3OQY.js.map → chunk-XDV6Q33B.js.map} +0 -0
  1167. /package/dist/{chunk-U3HAMW5W.js.map → chunk-XYC26BDM.js.map} +0 -0
  1168. /package/dist/{chunk-F2S5BLPE.js.map → chunk-YTWNY3RF.js.map} +0 -0
  1169. /package/dist/{claim-V4F5GZJK.js.map → claim-JLVISHS4.js.map} +0 -0
  1170. /package/dist/{client-VHN32ZRE.js.map → client-G6DGRGKT.js.map} +0 -0
  1171. /package/dist/{code-YS6ZMGX3.js.map → code-AYN42EK7.js.map} +0 -0
  1172. /package/dist/{companies-NJGJ7XNN.js.map → companies-XDMOP2GL.js.map} +0 -0
  1173. /package/dist/{complete-MGNF5OAK.js.map → complete-XM7VLC4F.js.map} +0 -0
  1174. /package/dist/{config-CQN5FHMZ.js.map → config-UE7GCROG.js.map} +0 -0
  1175. /package/dist/{connect-PJOTRTT4.js.map → connect-VTDKGYP3.js.map} +0 -0
  1176. /package/dist/{conversation-4DM26FRD.js.map → conversation-F53OE25Y.js.map} +0 -0
  1177. /package/dist/{conversion-report-N4HANYOB.js.map → conversion-report-35MLL3FA.js.map} +0 -0
  1178. /package/dist/{conversion-upload-command-TZTHU2CD.js.map → conversion-upload-command-CV2TA7OV.js.map} +0 -0
  1179. /package/dist/{conversion-writes-LW4HQKK5.js.map → conversion-writes-NSZPNMPE.js.map} +0 -0
  1180. /package/dist/{conversions-JGECVZSY.js.map → conversions-7YO6DDL3.js.map} +0 -0
  1181. /package/dist/{conversions-TS723AZV.js.map → conversions-XNISCCC2.js.map} +0 -0
  1182. /package/dist/{countries-ESAKTQAE.js.map → countries-NMWPKFFW.js.map} +0 -0
  1183. /package/dist/{create-I2KVDTCQ.js.map → create-ARERZYCL.js.map} +0 -0
  1184. /package/dist/{create-DSGQFBI7.js.map → create-C6ZVYIF5.js.map} +0 -0
  1185. /package/dist/{create-WOHPIGBK.js.map → create-FAPJFCZE.js.map} +0 -0
  1186. /package/dist/{create-SBQWVLXG.js.map → create-M7TUO3XS.js.map} +0 -0
  1187. /package/dist/{creatives-4JGVZQGC.js.map → creatives-3YIV6IOK.js.map} +0 -0
  1188. /package/dist/{creatives-DWO5KEQC.js.map → creatives-QZCO6WGH.js.map} +0 -0
  1189. /package/dist/{creatives-PSWCNY7U.js.map → creatives-WJLJ3NKP.js.map} +0 -0
  1190. /package/dist/{critique-TIZJ5GFM.js.map → critique-56MNXW7R.js.map} +0 -0
  1191. /package/dist/{critique-NGMZK5LX.js.map → critique-KRIKEHF6.js.map} +0 -0
  1192. /package/dist/{crm-2WAR565U.js.map → crm-OETFQNR3.js.map} +0 -0
  1193. /package/dist/{crm-VDXUO2YU.js.map → crm-WXCFB4TU.js.map} +0 -0
  1194. /package/dist/{crop-2J4RKJ6B.js.map → crop-VCP2JLQL.js.map} +0 -0
  1195. /package/dist/{currency-XCGKQ7FE.js.map → currency-MNNDKY4Z.js.map} +0 -0
  1196. /package/dist/{custom-conversions-6P555U2K.js.map → custom-conversions-CIU525HM.js.map} +0 -0
  1197. /package/dist/{customers-ATENMXDO.js.map → customers-GTPEABJI.js.map} +0 -0
  1198. /package/dist/{delete-3AV3ARMX.js.map → delete-5CURRI25.js.map} +0 -0
  1199. /package/dist/{delete-H744GNS4.js.map → delete-CLC2Q2OE.js.map} +0 -0
  1200. /package/dist/{delete-AVMZYNVT.js.map → delete-CQ6Q3URI.js.map} +0 -0
  1201. /package/dist/{delete-A5XD52K4.js.map → delete-JIRZBBDD.js.map} +0 -0
  1202. /package/dist/{delete-OEYPFATY.js.map → delete-LD3F4UIW.js.map} +0 -0
  1203. /package/dist/{delete-MRM2S4Z5.js.map → delete-LGZ5OI4C.js.map} +0 -0
  1204. /package/dist/{demographics-M5LJF3RZ.js.map → demographics-EK2ZPHWK.js.map} +0 -0
  1205. /package/dist/{describe-6NVOWIBE.js.map → describe-BNB6643C.js.map} +0 -0
  1206. /package/dist/{describe-P3PPIQME.js.map → describe-ZXGFTCDR.js.map} +0 -0
  1207. /package/dist/{dimensions-EYAYO27I.js.map → dimensions-IU4ETG4U.js.map} +0 -0
  1208. /package/dist/{discard-72I6SM7G.js.map → discard-VWCXYJWU.js.map} +0 -0
  1209. /package/dist/{discover-BJPZNXUQ.js.map → discover-4EQWGIAN.js.map} +0 -0
  1210. /package/dist/{domain-R4EIZD2W.js.map → domain-I2SAGVAB.js.map} +0 -0
  1211. /package/dist/{download-7T6HIJKD.js.map → download-D7TB4744.js.map} +0 -0
  1212. /package/dist/{draft-YDY2Q2K6.js.map → draft-4VOOSJQJ.js.map} +0 -0
  1213. /package/dist/{draft-BBFJNZ5X.js.map → draft-6KG2YFOY.js.map} +0 -0
  1214. /package/dist/{draft-YYYRWF7M.js.map → draft-APDGACIC.js.map} +0 -0
  1215. /package/dist/{draft-BGUJDHXR.js.map → draft-D76C4JR3.js.map} +0 -0
  1216. /package/dist/{draft-THPZFASM.js.map → draft-HFH2Y6F5.js.map} +0 -0
  1217. /package/dist/{draft-34C3F5U4.js.map → draft-NVVWWQVC.js.map} +0 -0
  1218. /package/dist/{draft-KIBMVKSR.js.map → draft-NWLPLTWM.js.map} +0 -0
  1219. /package/dist/{env-KIP2J2UB.js.map → env-LHLGM2YJ.js.map} +0 -0
  1220. /package/dist/{export-JQRMBJ7D.js.map → export-VGCFD7GL.js.map} +0 -0
  1221. /package/dist/{extract-7QKLME7Z.js.map → extract-32J7V2RX.js.map} +0 -0
  1222. /package/dist/{facets-F2H52MS4.js.map → facets-WVI6VBDC.js.map} +0 -0
  1223. /package/dist/{favorites-NSGF4OV5.js.map → favorites-WKV5H5OF.js.map} +0 -0
  1224. /package/dist/{feedback-IQKKT4MC.js.map → feedback-NMNKYEMU.js.map} +0 -0
  1225. /package/dist/{feedback-record-UZV4Y7UD.js.map → feedback-record-2VYBMWMO.js.map} +0 -0
  1226. /package/dist/{fetch-ZUAZPLAE.js.map → fetch-CENBDLT6.js.map} +0 -0
  1227. /package/dist/{fetch-XF76JABV.js.map → fetch-XQFPE3MI.js.map} +0 -0
  1228. /package/dist/{find-OTDIX6V4.js.map → find-PNDKEOXT.js.map} +0 -0
  1229. /package/dist/{fit-2CA4JH7N.js.map → fit-SEWGCEW5.js.map} +0 -0
  1230. /package/dist/{fonts-F2XUCIIW.js.map → fonts-KUCQAR7N.js.map} +0 -0
  1231. /package/dist/{forecast-IDKJYM2B.js.map → forecast-PI52G2GL.js.map} +0 -0
  1232. /package/dist/{funding-NYO65IMT.js.map → funding-ZRC25X5I.js.map} +0 -0
  1233. /package/dist/{ga4-UDQ2HA2J.js.map → ga4-YDKXVJOC.js.map} +0 -0
  1234. /package/dist/{generate-MMBYB44G.js.map → generate-BVMMX3SS.js.map} +0 -0
  1235. /package/dist/{get-3L6W3E3T.js.map → get-7MSF4RVQ.js.map} +0 -0
  1236. /package/dist/{get-XN5ZGDIK.js.map → get-KFVPIDIA.js.map} +0 -0
  1237. /package/dist/{get-6WEYKOY6.js.map → get-NHQ2XYKZ.js.map} +0 -0
  1238. /package/dist/{get-YIHTAMRT.js.map → get-UMMTY74K.js.map} +0 -0
  1239. /package/dist/{get-P743RPSI.js.map → get-YM77HCL5.js.map} +0 -0
  1240. /package/dist/{gif-53ULFVLR.js.map → gif-X323HXS2.js.map} +0 -0
  1241. /package/dist/{google-KTO3PLEU.js.map → google-76A4MHQH.js.map} +0 -0
  1242. /package/dist/{google-ads-Q37I2D5P.js.map → google-ads-S6O4MLKA.js.map} +0 -0
  1243. /package/dist/{group-GKWCCX66.js.map → group-CTIZVYX2.js.map} +0 -0
  1244. /package/dist/{group-EFZ3AJIE.js.map → group-HKWQ75CJ.js.map} +0 -0
  1245. /package/dist/{gsc-P3QYGDV2.js.map → gsc-CORRYJBJ.js.map} +0 -0
  1246. /package/dist/{history-4II5QA4B.js.map → history-4U7FJGEM.js.map} +0 -0
  1247. /package/dist/{history-DBIEYQHY.js.map → history-BXOMJ5PL.js.map} +0 -0
  1248. /package/dist/{hubspot-TTITJFBO.js.map → hubspot-I5MFAZ4G.js.map} +0 -0
  1249. /package/dist/{icon-I43F77FV.js.map → icon-6QW63AHG.js.map} +0 -0
  1250. /package/dist/{ideas-V4Q6JDKV.js.map → ideas-QDS5XA4S.js.map} +0 -0
  1251. /package/dist/{images-SP5REF6E.js.map → images-NVTA2OHD.js.map} +0 -0
  1252. /package/dist/{improve-BCCU5AS6.js.map → improve-WR23CHYH.js.map} +0 -0
  1253. /package/dist/{ingest-574GIFAR.js.map → ingest-QAVJ2J7F.js.map} +0 -0
  1254. /package/dist/{ingest-IC4T76W6.js.map → ingest-XJHV3GG6.js.map} +0 -0
  1255. /package/dist/{insights-ZIU6FJMS.js.map → insights-AW7SOGHI.js.map} +0 -0
  1256. /package/dist/{insights-NZWSJKU4.js.map → insights-IJEPLWQH.js.map} +0 -0
  1257. /package/dist/{inspect-ATHYY6A2.js.map → inspect-7I53PWCF.js.map} +0 -0
  1258. /package/dist/{inspiration-P265QJ2H.js.map → inspiration-TJJFUVY2.js.map} +0 -0
  1259. /package/dist/{intent-E3UIVZBN.js.map → intent-VEUQS34Z.js.map} +0 -0
  1260. /package/dist/{job-L7RJZMSG.js.map → job-K7LAIBYN.js.map} +0 -0
  1261. /package/dist/{job-create-JUDAN52O.js.map → job-create-DFZL4CGA.js.map} +0 -0
  1262. /package/dist/{job-status-U43WE3RJ.js.map → job-status-6Q2TVTEO.js.map} +0 -0
  1263. /package/dist/{keep-55CPC7DG.js.map → keep-XJFCLVCP.js.map} +0 -0
  1264. /package/dist/{keyword-gap-BG6M665A.js.map → keyword-gap-CUOGKUMM.js.map} +0 -0
  1265. /package/dist/{keyword-metrics-J4UPUDN7.js.map → keyword-metrics-LK7FME4N.js.map} +0 -0
  1266. /package/dist/{keywords-for-site-MWADFEO2.js.map → keywords-for-site-4E7UU44P.js.map} +0 -0
  1267. /package/dist/{landing-R6DN7XLK.js.map → landing-I65PFN7H.js.map} +0 -0
  1268. /package/dist/{languages-HORKPDNH.js.map → languages-KPPKX3E2.js.map} +0 -0
  1269. /package/dist/{languages-JSGWCC7Z.js.map → languages-MGEBLO64.js.map} +0 -0
  1270. /package/dist/{logo-2IP663QO.js.map → launches-E3Y6NCQE.js.map} +0 -0
  1271. /package/dist/{layerize-RPD6SNP6.js.map → layerize-N4IQ2KE7.js.map} +0 -0
  1272. /package/dist/{leads-7EVHMNUF.js.map → leads-PPMOBH7U.js.map} +0 -0
  1273. /package/dist/{leads-JM6HUERX.js.map → leads-TNEQUOUN.js.map} +0 -0
  1274. /package/dist/{learn-LGS2F5TR.js.map → learn-QQS323PS.js.map} +0 -0
  1275. /package/dist/{library-ARKRLCNJ.js.map → library-4QQAVB6X.js.map} +0 -0
  1276. /package/dist/{lighthouse-6ZC45E53.js.map → lighthouse-CD47CPJM.js.map} +0 -0
  1277. /package/dist/{line-item-writes-KUYEXSIH.js.map → line-item-writes-QJZQUQ4E.js.map} +0 -0
  1278. /package/dist/{line-items-GIWLP3FL.js.map → line-items-ESEAXGBV.js.map} +0 -0
  1279. /package/dist/{link-PVM7XJQI.js.map → link-DPJYS4WY.js.map} +0 -0
  1280. /package/dist/{linkedin-WX54EAX6.js.map → linkedin-EJPNC4VY.js.map} +0 -0
  1281. /package/dist/{list-P7NAFN6J.js.map → list-A45NTPSJ.js.map} +0 -0
  1282. /package/dist/{list-7MVBXOJT.js.map → list-GNP4GIV2.js.map} +0 -0
  1283. /package/dist/{list-LI4OGQFW.js.map → list-KQFLOVC4.js.map} +0 -0
  1284. /package/dist/{list-AL7N6X2P.js.map → list-MDHK3ENJ.js.map} +0 -0
  1285. /package/dist/{list-A5UCIR2J.js.map → list-PRUFXMXW.js.map} +0 -0
  1286. /package/dist/{list-WR7QYTON.js.map → list-S3BAQCTL.js.map} +0 -0
  1287. /package/dist/{list-4ZKQZBCL.js.map → list-UU5NPLJ7.js.map} +0 -0
  1288. /package/dist/{list-MCEFXC6L.js.map → list-V525A4Z4.js.map} +0 -0
  1289. /package/dist/{locations-74TPQWAT.js.map → locations-J2PVPDZU.js.map} +0 -0
  1290. /package/dist/{locations-J4G5RNPH.js.map → locations-TFOYESTF.js.map} +0 -0
  1291. /package/dist/{log-U6IWZGOF.js.map → log-XQBEJOOW.js.map} +0 -0
  1292. /package/dist/{lookup-XK45W2SH.js.map → logo-KQD5KUAH.js.map} +0 -0
  1293. /package/dist/{output-RAH3TSIL.js.map → lookup-QCREWUV4.js.map} +0 -0
  1294. /package/dist/{media-M7E6V2XU.js.map → media-2WENMOAA.js.map} +0 -0
  1295. /package/dist/{media-6CQYG4UY.js.map → media-N4C6Q4IV.js.map} +0 -0
  1296. /package/dist/{media-sources-JWGO23BZ.js.map → media-sources-BPOTW6IB.js.map} +0 -0
  1297. /package/dist/{members-5FAW4YE7.js.map → members-BOYZKLNK.js.map} +0 -0
  1298. /package/dist/{meta-EZ4SY25M.js.map → meta-PXYHWOOG.js.map} +0 -0
  1299. /package/dist/{metrics-SQDJ5NQO.js.map → metrics-FZANUN7E.js.map} +0 -0
  1300. /package/dist/{models-7U3GRYHF.js.map → models-W6EN3WB7.js.map} +0 -0
  1301. /package/dist/{normalize-ICQF2AST.js.map → normalize-LOMDPNFJ.js.map} +0 -0
  1302. /package/dist/{performance-FGCDWHMC.js.map → output-SR4DN3A4.js.map} +0 -0
  1303. /package/dist/{page-GS3WLT2C.js.map → page-FS76L5WU.js.map} +0 -0
  1304. /package/dist/{pages-FXYQLHSJ.js.map → pages-INMNJSX2.js.map} +0 -0
  1305. /package/dist/{reddit-TF6K37SB.js.map → performance-53D43XVZ.js.map} +0 -0
  1306. /package/dist/{pinterest-AUH7WBA7.js.map → pinterest-JMHFPNVW.js.map} +0 -0
  1307. /package/dist/{pixels-45A55MOP.js.map → pixels-K6ZD7SXV.js.map} +0 -0
  1308. /package/dist/{pixels-ZFF4BGUH.js.map → pixels-XPBBJYE3.js.map} +0 -0
  1309. /package/dist/{preview-AD4GKYIA.js.map → preview-KXSNG3BS.js.map} +0 -0
  1310. /package/dist/{promoted-tweet-writes-BPWTDESL.js.map → promoted-tweet-writes-I6HVQRDB.js.map} +0 -0
  1311. /package/dist/{promoted-tweets-OS3NHYVE.js.map → promoted-tweets-YAQ5ZUXI.js.map} +0 -0
  1312. /package/dist/{properties-L2XIYQDS.js.map → properties-NYNEONHI.js.map} +0 -0
  1313. /package/dist/{publish-SXZEWBVJ.js.map → publish-Z5DVKZSG.js.map} +0 -0
  1314. /package/dist/{run-TFLFBQU2.js.map → query-MSZPOHFL.js.map} +0 -0
  1315. /package/dist/{query-SGGBCHTF.js.map → query-RK2TFMBI.js.map} +0 -0
  1316. /package/dist/{query-VTGVZQIO.js.map → query-TWNH6GV7.js.map} +0 -0
  1317. /package/dist/{search-UO5KJTYS.js.map → reddit-6DQTBTO6.js.map} +0 -0
  1318. /package/dist/{refresh-APVDWXRZ.js.map → refresh-TP2TOGS6.js.map} +0 -0
  1319. /package/dist/{release-32SEJU4L.js.map → release-PHQEZ2ZX.js.map} +0 -0
  1320. /package/dist/{relevant-pages-OWMNUCP7.js.map → relevant-pages-ORVFFVAM.js.map} +0 -0
  1321. /package/dist/{remove-6LGGKMLJ.js.map → remove-ETLMMDEA.js.map} +0 -0
  1322. /package/dist/{remove-U64GTHLQ.js.map → remove-KTBM5YSH.js.map} +0 -0
  1323. /package/dist/{reopen-5VS233SF.js.map → reopen-OURQR6U7.js.map} +0 -0
  1324. /package/dist/{research-O7CJV5IS.js.map → research-P23YBKS3.js.map} +0 -0
  1325. /package/dist/{research-QYSQ6LW4.js.map → research-WCNWT5Y5.js.map} +0 -0
  1326. /package/dist/{reset-47B5VPT4.js.map → reset-2NCAWWN4.js.map} +0 -0
  1327. /package/dist/{reset-22FC7BXQ.js.map → reset-65R2CUB5.js.map} +0 -0
  1328. /package/dist/{resolve-7KQGVTQT.js.map → resolve-65FKZ23N.js.map} +0 -0
  1329. /package/dist/{retry-UJ5UF4BM.js.map → retry-P5K6LE6K.js.map} +0 -0
  1330. /package/dist/{retry-J5UVLS72.js.map → retry-UIPDQJ5F.js.map} +0 -0
  1331. /package/dist/{retry-failed-6HXPUVXJ.js.map → retry-failed-QMWQ6TRL.js.map} +0 -0
  1332. /package/dist/{shared-HJDFNID4.js.map → run-NDMEYUOI.js.map} +0 -0
  1333. /package/dist/{run-SI4FA32F.js.map → run-OP3T4TCF.js.map} +0 -0
  1334. /package/dist/{schedule-52ZM4KRQ.js.map → schedule-6D667AXB.js.map} +0 -0
  1335. /package/dist/{schedule-O2K6M43V.js.map → schedule-KXLQVCZW.js.map} +0 -0
  1336. /package/dist/{scheduled-agents-PCWCQAKP.js.map → scheduled-agents-LYWEX4PU.js.map} +0 -0
  1337. /package/dist/{schema-6GR77VJG.js.map → schema-CCFLFAOY.js.map} +0 -0
  1338. /package/dist/{scrape-ETAMW43A.js.map → scrape-DBZQFIW7.js.map} +0 -0
  1339. /package/dist/{screenshot-YCQF25ZB.js.map → screenshot-MPFANYIH.js.map} +0 -0
  1340. /package/dist/{search-OQNGSMUH.js.map → search-4AANIUUL.js.map} +0 -0
  1341. /package/dist/{search-742XSULP.js.map → search-EMJABZYF.js.map} +0 -0
  1342. /package/dist/{search-NS7XNRZC.js.map → search-HQDN7DOF.js.map} +0 -0
  1343. /package/dist/{sync-definition-BAJQUBE3.js.map → search-OVHC4CRQ.js.map} +0 -0
  1344. /package/dist/{search-MEEM4D3W.js.map → search-YSGZRANA.js.map} +0 -0
  1345. /package/dist/{select-4XCYVV2G.js.map → select-C6BKHB4B.js.map} +0 -0
  1346. /package/dist/{sends-WGJVQUMF.js.map → sends-HXN5HSF6.js.map} +0 -0
  1347. /package/dist/{sequences-OIPVR7JL.js.map → sequences-FRK76ZQV.js.map} +0 -0
  1348. /package/dist/{setup-links-V3URI7DL.js.map → setup-links-BM2GLSSO.js.map} +0 -0
  1349. /package/dist/{viewer-check-HFRUJ4ZU.js.map → shared-EH5ZTQXC.js.map} +0 -0
  1350. /package/dist/{site-WIQ7SSU3.js.map → site-3PEJYQJW.js.map} +0 -0
  1351. /package/dist/{sitemaps-POPZJTAX.js.map → sitemaps-7KHY2KXI.js.map} +0 -0
  1352. /package/dist/{sites-262H6LM4.js.map → sites-6B76JW6C.js.map} +0 -0
  1353. /package/dist/{skills-6TQZLIMP.js.map → skills-SCTT3LCM.js.map} +0 -0
  1354. /package/dist/{sources-L453U5MT.js.map → sources-ODJBHNGY.js.map} +0 -0
  1355. /package/dist/{stale-6OVG6VME.js.map → stale-2O54QXY2.js.map} +0 -0
  1356. /package/dist/{stats-NNXZMPZR.js.map → stats-4NBOAOR2.js.map} +0 -0
  1357. /package/dist/{status-WXWU54WR.js.map → status-NE5OBM4B.js.map} +0 -0
  1358. /package/dist/{sticker-4KMBSMP5.js.map → sticker-NLXBIOBO.js.map} +0 -0
  1359. /package/dist/{stock-2YCDN3N6.js.map → stock-F3SA4VHV.js.map} +0 -0
  1360. /package/dist/{studio-C5K3YX3P.js.map → studio-ZPDIOFKL.js.map} +0 -0
  1361. /package/dist/{sync-CDZUTGV3.js.map → sync-5GJNZDGZ.js.map} +0 -0
  1362. /package/dist/{sync-ZSNUBYPM.js.map → sync-FCNFXTFD.js.map} +0 -0
  1363. /package/dist/{sync-CF7FVUQJ.js.map → sync-YXCZ3DHY.js.map} +0 -0
  1364. /package/dist/{tag-manager-DYZUOIAS.js.map → tag-manager-YM4Q3CZT.js.map} +0 -0
  1365. /package/dist/{tags-SG3NVC3J.js.map → tags-456UOYJU.js.map} +0 -0
  1366. /package/dist/{tags-6RY23XOG.js.map → tags-5YPYHV5V.js.map} +0 -0
  1367. /package/dist/{tags-BHFQWNPL.js.map → tags-HXMHEHG2.js.map} +0 -0
  1368. /package/dist/{tags-WR6PDIDR.js.map → tags-K34666RY.js.map} +0 -0
  1369. /package/dist/{tags-VN5HTL35.js.map → tags-NB35ISO3.js.map} +0 -0
  1370. /package/dist/{targeting-constants-XJ2VOW7K.js.map → targeting-constants-3CMGPWRI.js.map} +0 -0
  1371. /package/dist/{targeting-criteria-5EXP2NXF.js.map → targeting-criteria-UKQ4WF5C.js.map} +0 -0
  1372. /package/dist/{targets-WUVEJPSD.js.map → targets-VQ4BQ657.js.map} +0 -0
  1373. /package/dist/{templates-LOJQX2NG.js.map → templates-PMUIOVDX.js.map} +0 -0
  1374. /package/dist/{testimonials-6M5DXORT.js.map → testimonials-XZCGVD6V.js.map} +0 -0
  1375. /package/dist/{top-companies-E2OMMPSV.js.map → top-companies-VMRIDOOH.js.map} +0 -0
  1376. /package/dist/{translate-AW4CUKDA.js.map → translate-F5KR62LF.js.map} +0 -0
  1377. /package/dist/{triggers-MRXIDCSN.js.map → triggers-2MZX7W6Y.js.map} +0 -0
  1378. /package/dist/{tweets-ATP3FQAC.js.map → tweets-XWE3VYQ4.js.map} +0 -0
  1379. /package/dist/{unfollow-CBVPGPF7.js.map → unfollow-7U4UBAJX.js.map} +0 -0
  1380. /package/dist/{unlink-HNL747YM.js.map → unlink-AWSNY3QS.js.map} +0 -0
  1381. /package/dist/{unstage-4ZEULXEQ.js.map → unstage-OGB43ZXO.js.map} +0 -0
  1382. /package/dist/{unstage-OL2JDCLK.js.map → unstage-RQBOQ4DY.js.map} +0 -0
  1383. /package/dist/{update-YNNRX5B2.js.map → update-4KWYHMLS.js.map} +0 -0
  1384. /package/dist/{update-4KGIT4BF.js.map → update-6DKEWM64.js.map} +0 -0
  1385. /package/dist/{update-RTTC3SAK.js.map → update-G6EKHPIF.js.map} +0 -0
  1386. /package/dist/{update-JPBUF7M2.js.map → update-OFV452AC.js.map} +0 -0
  1387. /package/dist/{upload-UIXPCSXJ.js.map → upload-6CJWMQ24.js.map} +0 -0
  1388. /package/dist/{upload-L5SYZB3X.js.map → upload-GUKMQ5MT.js.map} +0 -0
  1389. /package/dist/{upscale-YWRLFU22.js.map → upscale-A456MESF.js.map} +0 -0
  1390. /package/dist/{url-params-K47CE7Y5.js.map → url-params-OE3UMYMM.js.map} +0 -0
  1391. /package/dist/{use-UT2DIZOG.js.map → use-HBVKVT5S.js.map} +0 -0
  1392. /package/dist/{variant-FLZJYGYL.js.map → variant-HULP57YI.js.map} +0 -0
  1393. /package/dist/{videos-BP3BKNTY.js.map → videos-ION7UT3M.js.map} +0 -0
  1394. /package/dist/{view-NPAG66QK.js.map → view-GCDEJZII.js.map} +0 -0
  1395. /package/dist/{web-RPSGFN4U.js.map → web-CCVD6UZ4.js.map} +0 -0
  1396. /package/dist/{write-commands-WTRSOSO3.js.map → write-commands-47OP673X.js.map} +0 -0
  1397. /package/dist/{write-commands-TAYGTJEZ.js.map → write-commands-IJ5IFHS6.js.map} +0 -0
  1398. /package/dist/{write-commands-4WARNR2T.js.map → write-commands-NNVDWBLG.js.map} +0 -0
  1399. /package/dist/{write-commands-ERKVRHTC.js.map → write-commands-OBMIVFZJ.js.map} +0 -0
  1400. /package/dist/{x-VZCELH3P.js.map → x-U32DT24S.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/flows/map.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport type { HubspotFormsViewResponse } from \"@baker/api\";\nimport {\n type ActiveCampaignCatalog,\n type ActiveCampaignFieldsRequest,\n type ActiveCampaignFieldsResponse,\n activeCampaignFieldsResponseSchema,\n} from \"@baker/api/activecampaign\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { repeatedFlagValues } from \"../../lib/repeatedFlags.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport {\n activeCampaignDestinationFields,\n activeCampaignMappingHints,\n activeCampaignUnlistedField,\n type BuiltMapping,\n buildFieldMapping,\n type DestinationField,\n describeSlots,\n type MapOptions,\n MappingError,\n namesComeFromAccount,\n otherSlots,\n shapeFor,\n} from \"./mapping.ts\";\nimport {\n collectConfigStatus,\n collectSideEffects,\n flowDataPath,\n readFlowTree,\n requestFlowInputCall,\n sideEffectNeedsInput,\n writeFlowTree,\n} from \"./shared.ts\";\n\nregisterSchema({\n command: \"flows.map\",\n description:\n \"Map form fields onto any named value a side effect sends: a CRM fieldMapping, a sheet columnMapping, a webhook payloadKeys, a pixel eventParams, or a platform matching block. Emits the mapping and splices it in with --write. Configure the destination through request_flow_input FIRST — the destination-side names come from the connected account, not from you.\",\n args: {\n slug: { type: \"positional\", description: \"Form slug (folder under flows/)\", required: true },\n map: {\n type: \"string\",\n description:\n '<destField>[:<fieldType>]=<value>, repeatable. Omit both this and --from to be told what the side effect accepts instead. Sheet: A=name. HubSpot with --hubspot-form: firstname=nombre (the type is read off the form). ActiveCampaign: email=email, SECTOR=sector (custom field by id, personalization tag or label; custom.UTM_SOURCE for one only staged so far), tags=\"withbaker-\"+tracking:page_path, lists=\"Newsletter\", automations=\"Welcome\", deal.title=…/deal.pipeline=\"Sales\"/deal.value=budget, account.name=company, note=…, event.name=\"demo_requested\" — every type is read off the connected account. Where a destination cannot be read, state the type on the LEFT — c0ffee:varchar=email — because `:` on the right belongs to the value grammar.',\n required: false,\n },\n from: {\n type: \"string\",\n description:\n 'The whole mapping as a JSON file, or `-` for stdin: { \"sideEffect\": \"…\", \"map\": { \"<destField>\": \"<value>\", … } }. Past ~3 fields prefer this over repeated --map.',\n required: false,\n },\n \"side-effect\": { type: \"string\", description: \"Side-effect id, when the form has more than one\", required: false },\n \"hubspot-form\": {\n type: \"string\",\n description:\n \"HubSpot formGuid of the configured destination. Fills every mapping's fieldType and objectTypeId from the form itself, so you write no types at all. The guid is the `formGuid` in the `destination` request_flow_input returned.\",\n required: false,\n },\n into: {\n type: \"string\",\n description:\n \"Slot to map into when the type has more than one: meta/tiktok/pinterest take eventParams (default) or their matching record; googleAds takes enhancedConversions or value/currency/transactionId.\",\n required: false,\n },\n entity: {\n type: \"string\",\n description: \"Destination object (pipedrive: person|organization|lead, …)\",\n required: false,\n },\n custom: { type: \"boolean\", description: \"The destination fields are custom fields\", required: false },\n standard: { type: \"boolean\", description: \"The destination fields are standard fields\", required: false },\n \"object-type\": { type: \"string\", description: \"HubSpot objectTypeId (default 0-1, contact)\", required: false },\n \"prune-missing\": {\n type: \"boolean\",\n description:\n \"Drop the mappings whose destination field no longer exists on the account, and nothing else. The repair for a deleted HubSpot property: HubSpot refuses the WHOLE submission when it names a field it does not have, so one dead mapping loses every lead. Needs --hubspot-form so the live field list can be read. Runs on its own — no --map required. Prefer this to --replace, which drops everything this call does not name.\",\n required: false,\n },\n replace: {\n type: \"boolean\",\n description:\n \"Make the slot exactly what this call passes, dropping every mapping already in it. Without it, mappings MERGE by destination name — re-mapping a name overwrites it, a new name is appended, and the rest are left alone. To REMOVE a dead mapping, reach for --prune-missing instead: this one also deletes every mapping you did not re-state.\",\n required: false,\n },\n write: {\n type: \"boolean\",\n description: \"Splice the mapping into the form. Without it, prints and changes nothing\",\n required: false,\n },\n },\n});\n\n/**\n * Every `--map` on the command line.\n *\n * Read from `rawArgs`, not `args.map`: citty collapses a repeated flag to its\n * LAST value, so `--map A=name --map B=email` arrives as the single string\n * `\"B=email\"`. Taken from `args`, this command would map one field, report\n * success, and leave the other silently unmapped — which is the exact\n * failure mode it exists to prevent, one level up.\n */\nexport function mapSpecsFrom(rawArgs: readonly string[]): string[] {\n return repeatedFlagValues(rawArgs, \"map\");\n}\n\n/**\n * A whole mapping in one file, which is what a real one looks like.\n *\n * A CRM mapping is eight to fifteen fields. As repeated `--map` flags that is a\n * fifteen-flag command line whose shell quoting is its own hazard — an\n * improvement on hand-writing 230 lines of ProseMirror, but not much of one.\n * The JSON form is what the agent is actually holding in its head, and it is one\n * Write plus one command however many fields there are.\n *\n * {\n * \"sideEffect\": \"se-hubspotForm-1\",\n * \"hubspotForm\": \"8b1f…\",\n * \"map\": {\n * \"email\": \"email\",\n * \"firstname\": \"nombre\",\n * \"hs_lead_source\": \"tracking:utm_source\",\n * \"full_name\": \"nombre + \\\" \\\" + apellido\"\n * }\n * }\n *\n * `\"firstname\": { \"type\": \"…\", \"value\": \"…\" }` is still accepted for a\n * destination this command cannot read, but naming the destination once\n * (`hubspotForm` here, `--hubspot-form` on the command line) is strictly better:\n * the types then come from the account instead of from memory.\n */\ntype MapSpecFile = {\n sideEffect?: string;\n into?: string;\n entity?: string;\n custom?: boolean;\n objectType?: string;\n /**\n * Treat this file as the WHOLE mapping: anything in the slot it does not name\n * is dropped. Off by default so a file that lists three fields cannot delete\n * the five that were mapped before it.\n */\n replace?: boolean;\n /** Drop the mappings the destination no longer has. See `MapOptions.pruneMissing`. */\n pruneMissing?: boolean;\n /** HubSpot formGuid of the configured destination, so its field types can be read. */\n hubspotForm?: string;\n map?: Record<string, string | { type?: string; value?: string }>;\n};\n\n/** Flatten the JSON form into the same `<dest>[:<type>]=<value>` specs the flags produce. */\nexport function specsFromFile(parsed: MapSpecFile): string[] {\n return Object.entries(parsed.map ?? {}).map(([destField, entry]) => {\n if (typeof entry === \"string\") return `${destField}=${entry}`;\n const type = entry?.type ? `:${entry.type}` : \"\";\n return `${destField}${type}=${entry?.value ?? \"\"}`;\n });\n}\n\nfunction readSpecFile(path: string): MapSpecFile {\n let raw: string;\n try {\n raw = path === \"-\" ? readFileSync(0, \"utf-8\") : readFileSync(path, \"utf-8\");\n } catch (error) {\n refuse(\n `Could not read ${path === \"-\" ? \"the mapping from stdin\" : `\"${path}\"`}: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch (error) {\n refuse(\n `${path === \"-\" ? \"stdin\" : `\"${path}\"`} is not valid JSON: ${error instanceof Error ? error.message : String(error)}`,\n 'Expected { \"map\": { \"<destField>\": \"<value>\", … } }',\n );\n }\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n refuse(\"A mapping file must be a JSON object.\", 'Expected { \"map\": { \"<destField>\": \"<value>\", … } }');\n }\n const spec = parsed as MapSpecFile;\n if (!spec.map || typeof spec.map !== \"object\" || Object.keys(spec.map).length === 0) {\n refuse(\"A mapping file needs a non-empty `map` object.\", 'Expected { \"map\": { \"firstname\": \"nombre\", … } }');\n }\n return spec;\n}\n\n/** Refuse with the same envelope shape everywhere, so the agent parses one thing. */\nfunction refuse(message: string, fix?: string): never {\n writeJson({ ok: false, error: { code: \"VALIDATION_ERROR\", message, ...(fix ? { fix } : {}) } });\n process.exit(1);\n}\n\n/**\n * The destination's own field catalog, read off the connected account.\n *\n * This is the whole reason a HubSpot mapping no longer needs a type per field.\n * `fieldType` and `objectTypeId` are HubSpot's answers about its own properties,\n * not the agent's — the engine concatenates them into\n * `<objectTypeId>.<fieldType>.<fieldName>`, which is byte-for-byte the key the\n * dashboard's picker writes. Asking the agent to remember them is both more work\n * and less accurate than asking HubSpot, and a plausible-but-wrong one is the\n * silent kind: on a date property the engine skips the YYYY-MM-DD coercion and\n * HubSpot drops the value.\n *\n * One call for the whole mapping, and only when a destination was named. A\n * failure refuses rather than falling back to writing types nobody verified.\n */\nasync function hubspotFieldCatalog(\n formId: string,\n): Promise<{ fields: Map<string, DestinationField>; captchaEnabled: boolean }> {\n let response: HubspotFormsViewResponse;\n try {\n response = await apiPost<HubspotFormsViewResponse>(\"/api/hubspot/forms/view\", { formId });\n } catch (error) {\n refuse(\n `Could not read HubSpot form \"${formId}\": ${error instanceof Error ? error.message : String(error)}`,\n \"Check the guid against the `destination` request_flow_input returned, or `baker hubspot forms list`. Drop --hubspot-form and write `<field>:<fieldType>=<value>` per mapping only if HubSpot is unreachable.\",\n );\n }\n const fields = response.data.form?.fields ?? [];\n if (fields.length === 0) {\n refuse(\n `HubSpot form \"${formId}\" reports no fields, so nothing can be mapped against it.`,\n \"Confirm the guid names the form this side effect submits to: baker hubspot forms list\",\n );\n }\n return {\n fields: new Map(\n fields.map((field) => [\n field.name,\n { fieldType: field.fieldType, ...(field.objectTypeId ? { objectTypeId: field.objectTypeId } : {}) },\n ]),\n ),\n // Read while the form is already open, because this is the moment a\n // delivery is being wired: HubSpot refuses every submission sent to a form\n // with spam prevention on, so a mapping written against one is correct and\n // will still never arrive. Reported, not refused — the mapping is not the\n // mistake, and the client can switch it off without the work being redone.\n captchaEnabled: response.data.form?.captchaEnabled === true,\n };\n}\n\n/**\n * The connected ActiveCampaign account's fields, read for every\n * `activeCampaignContact` mapping — there is no resource to name, so there is\n * no flag to ask for: the side effect's own connection is the destination.\n *\n * Read rather than remembered for the same reason as HubSpot's: the field type\n * decides how the backend sends each value, and a custom field is stored by an\n * id only the account knows. A failure refuses rather than writing a guess.\n */\nasync function activeCampaignFieldCatalog(\n sideEffect: Record<string, unknown>,\n): Promise<{ fields: Map<string, DestinationField>; catalog: ActiveCampaignCatalog }> {\n const account = typeof sideEffect.oauthProviderId === \"string\" ? sideEffect.oauthProviderId : undefined;\n const body: ActiveCampaignFieldsRequest = account ? { account } : {};\n let response: ActiveCampaignFieldsResponse;\n try {\n response = activeCampaignFieldsResponseSchema.parse(\n await apiPost<ActiveCampaignFieldsResponse>(\"/api/activecampaign/fields\", body),\n );\n } catch (error) {\n refuse(\n `Could not read the ActiveCampaign account's fields: ${error instanceof Error ? error.message : String(error)}`,\n 'If ActiveCampaign is not connected (or its key stopped working), call request_connection with { platform: \"activecampaign\" } — the user pastes the API URL and key into that card, never into the chat — then run this again.',\n );\n }\n const { account: _account, ...catalog } = response.data;\n return { fields: new Map(activeCampaignDestinationFields(catalog.fields)), catalog };\n}\n\n/**\n * Answer the bare `baker flows map <slug> --side-effect <id>` probe.\n *\n * The left of a mapping is a different question per slot — a closed platform\n * set, a name the agent picks, or a name that only exists in the connected\n * account — and none of it was readable without guessing wrong first.\n */\nfunction describeDestination(chosen: Located): void {\n const type = String(chosen.sideEffect.type ?? \"\");\n const slots = describeSlots(type);\n if (slots.length === 0) {\n refuse(\n `A ${type} side effect has no mappable field.`,\n `Nothing on it addresses named values. \\`baker flows schema side-effect ${type}\\` shows what it does take.`,\n );\n }\n writeJson({\n ok: true,\n data: { sideEffectId: chosen.sideEffect.id, type, mappable: slots },\n hints: [\n `Nothing mapped — this is what a ${type} side effect accepts. Add --map <key>=<value> to build one.`,\n ...slots.map((slot) =>\n slot.keys\n ? `${slot.slot}: ${slot.keys.join(\", \")}`\n : `${slot.slot}: ${slot.keysFrom === \"account\" ? \"keys come from the connected account (request_flow_input returns them)\" : \"keys are yours to choose — whatever the receiving system expects\"}`,\n ),\n // Named separately from the key hint above: the key and its field type are\n // two different questions with two different answers, and the type is the\n // one an agent does not know it is being asked until a mapping is refused.\n ...slots.flatMap((slot) => (slot.fieldTypes ? [`${slot.slot} field types — ${slot.fieldTypes}`] : [])),\n 'Values (right of the `=`) are the same for every slot: a form field, tracking:<var>, global:<name>, code:<name>, a \"literal\", or those joined with +. A field may also be written as the file stores it, {{<stepId>.customForm.<field>}}. A value cannot run code (no .split(), .slice(), [0]).',\n ],\n });\n}\n\n/**\n * `shapeFor` as a refusal rather than a throw.\n *\n * `assertDestinationReady` is the one place `shapeFor` is reached BEFORE the\n * try/catch around `buildFieldMapping`, so an uncaught error here would escape\n * the `{ ok: false }` envelope every other path emits and reach the agent as a\n * stack trace.\n *\n * In practice the live case is an unrecognised `--into`, because only a type in\n * `FLOW_DELIVERY_SIDE_EFFECT_TYPES` gets this far (everything else returns at the\n * `sideEffectNeedsInput` check above) and every one of those has a slot. So\n * `--into eventParams` on an unconfigured `googleSpreadsheet` is enough to hit\n * it, and the message it would lose — the list of slots that type does have —\n * is exactly the one that answers it.\n */\nfunction shapeOrRefuse(type: string, into: string | undefined): ReturnType<typeof shapeFor> {\n try {\n return shapeFor(type, into);\n } catch (error) {\n if (error instanceof MappingError) refuse(error.message, error.fix);\n throw error;\n }\n}\n\n/**\n * Stop a mapping written against a destination nobody has picked yet.\n *\n * This is the failure the whole command exists to prevent, one level up: the\n * column letters and field keys live in an account only `request_flow_input`\n * can see, so before that call has run they can only be guesses — and a guessed\n * destination is structurally valid, passes every check here, ships, and sends\n * nothing forever. `verify` does catch it later (`flow-schema-unconfigured-oauth`),\n * but by then the mapping is written and the agent has moved on.\n *\n * Only for slots whose names come from the account. A webhook body or a pixel\n * parameter is the agent's to name, so an unset endpoint is a note, not a block.\n */\nfunction assertDestinationReady(\n slug: string,\n tree: Record<string, unknown>,\n chosen: Located,\n into: string | undefined,\n): void {\n if (!sideEffectNeedsInput(chosen.sideEffect)) return;\n\n const type = String(chosen.sideEffect.type ?? \"\");\n const status = collectConfigStatusFor(tree, slug, String(chosen.sideEffect.id ?? \"\"));\n const call = status ? requestFlowInputCall(slug, status) : `request_flow_input for the ${type} side effect`;\n\n if (!namesComeFromAccount(shapeOrRefuse(type, into))) return;\n\n refuse(\n `The ${type} destination is not configured yet, so its field names cannot be anything but a guess.`,\n `Configure it first, then map against the names that call returns: ${call}`,\n );\n}\n\n/** The config row for one side effect, so the refusal can carry a ready-to-issue call. */\nfunction collectConfigStatusFor(tree: Record<string, unknown>, _slug: string, sideEffectId: string) {\n const rows: Parameters<typeof requestFlowInputCall>[1][] = [];\n collectConfigStatus(tree, rows);\n return rows.find((row) => row.sideEffectId === sideEffectId);\n}\n\n/**\n * Name the slots this side effect has and this call did not use.\n *\n * A `meta` side effect has both `eventParams` and `advancedMatching`, and the\n * one an agent most often needs — advanced matching, which decides whether Meta\n * can attribute the conversion at all — is not the default. Saying so on every\n * response is cheaper than the agent finding out from a reference file it may\n * not open.\n */\nfunction slotHintFor(type: string, into: string | undefined): string[] {\n const others = otherSlots(type, shapeFor(type, into));\n if (others.length === 0) return [];\n return [`This side effect also takes ${others.join(\" and \")} — pass --into <slot> to map into one of those instead.`];\n}\n\n/**\n * What happened to the mappings this call did NOT name.\n *\n * Said out loud in both directions, because a slot whose size moved without\n * being mentioned is exactly how the loss stays silent: \"kept\" answers the\n * question a merge raises (\"did it drop the others?\"), and `--replace` has to\n * state its drop or it is the same bug with a flag on it.\n */\nfunction survivorHint(built: BuiltMapping, replacing: boolean): string[] {\n if (built.kept > 0) {\n return [`${built.kept} mapping${built.kept === 1 ? \"\" : \"s\"} already in ${built.key} kept — this merged by name.`];\n }\n if (!replacing) return [];\n return [`--replace: ${built.key} is now exactly these ${built.count}; anything else it held is gone.`];\n}\n\n/**\n * Every mapping `--prune-missing` removed, named one by one.\n *\n * A count would be the same mistake this whole repair exists to undo: the drift\n * Task that nobody could act on said \"an answer HubSpot no longer accepts\" and\n * named none of them, and six Forms were closed as false positives off that\n * sentence. A removal the agent cannot repeat back to the user is a removal\n * nobody can check.\n */\nfunction droppedHint(built: BuiltMapping): string[] {\n if (built.dropped.length === 0) return [];\n return [\n `--prune-missing dropped ${built.dropped.length} mapping${built.dropped.length === 1 ? \"\" : \"s\"} the destination no longer has: ${built.dropped.join(\", \")}. Every other mapping in ${built.key} was left alone.`,\n ];\n}\n\n/**\n * A note, not a block: these keys are the agent's to choose, but the endpoint\n * they are posted to is still the user's to supply, and nothing later in this\n * command will mention it.\n */\nfunction pendingEndpointHint(slug: string, tree: Record<string, unknown>, chosen: Located): string[] {\n if (!sideEffectNeedsInput(chosen.sideEffect)) return [];\n const status = collectConfigStatusFor(tree, slug, String(chosen.sideEffect.id ?? \"\"));\n if (!status) return [];\n return [`The mapping is written, but this destination still needs the user: ${requestFlowInputCall(slug, status)}`];\n}\n\ntype Located = { node: Record<string, unknown>; sideEffect: Record<string, unknown> };\n\n/** The side effect to map into: the named one, or the only one. Never a guess between several. */\nfunction pickSideEffect(slug: string, found: Located[], named: string | undefined): Located {\n if (found.length === 0) {\n refuse(\n `\"${slug}\" has no side effects — author the side effect first, then map into it.`,\n `baker flows add-side-effect ${slug} --node <nodeId> --type <type>`,\n );\n }\n const chosen = named\n ? found.find((entry) => entry.sideEffect.id === named)\n : found.length === 1\n ? found[0]\n : undefined;\n if (chosen) return chosen;\n\n const inventory = found.map((entry) => `${entry.sideEffect.id} (${entry.sideEffect.type})`).join(\", \");\n refuse(\n named\n ? `No side effect with id \"${named}\" in \"${slug}\".`\n : `\"${slug}\" has ${found.length} side effects — name one with --side-effect <id>.`,\n `Side effects in this form: ${inventory}`,\n );\n}\n\n/**\n * `--custom` and `--standard` answer the same question, and the answer decides\n * whether the write lands or is silently dropped. Taking the last flag would\n * pick one of two contradictory instructions at random.\n */\nfunction customFlag(custom: unknown, standard: unknown): boolean | undefined {\n if (custom === true && standard === true) {\n refuse(\"--custom and --standard contradict each other. Pass one.\");\n }\n if (custom === true) return true;\n if (standard === true) return false;\n return undefined;\n}\n\n/**\n * The destination-side options, from the flags and the mapping file together.\n *\n * A flag beats the file, so a saved mapping can be retargeted without editing\n * it. The destination catalog is read HERE, before anything is built, so every\n * mapping's field type is derived from the account rather than remembered —\n * and only when a destination was actually named: without one the build still\n * runs, and refuses per mapping if it turns out a type was needed.\n */\nasync function mapOptions(\n args: Record<string, unknown>,\n fromFile: MapSpecFile | undefined,\n into: string | undefined,\n sideEffect: Record<string, unknown>,\n): Promise<{ options: MapOptions; hints: string[]; activeCampaign?: ActiveCampaignCatalog | undefined }> {\n const hubspotForm = args[\"hubspot-form\"] ? String(args[\"hubspot-form\"]) : fromFile?.hubspotForm;\n const hubspot = hubspotForm ? await hubspotFieldCatalog(hubspotForm) : undefined;\n const activeCampaign =\n !hubspot && sideEffect.type === \"activeCampaignContact\" ? await activeCampaignFieldCatalog(sideEffect) : undefined;\n return {\n options: {\n into,\n entity: args.entity ? String(args.entity) : fromFile?.entity,\n isCustomField: customFlag(args.custom, args.standard) ?? fromFile?.custom,\n objectType: args[\"object-type\"] ? String(args[\"object-type\"]) : fromFile?.objectType,\n replace: args.replace === true || fromFile?.replace === true,\n pruneMissing: args[\"prune-missing\"] === true || fromFile?.pruneMissing === true,\n destinationFields: hubspot?.fields ?? activeCampaign?.fields,\n unlistedField: activeCampaign ? activeCampaignUnlistedField : undefined,\n },\n hints: hubspot?.captchaEnabled\n ? [\n \"WARNING: this HubSpot form has spam prevention (captcha) on. HubSpot refuses every submission sent to a form with it on, so nothing mapped here will arrive — the mapping is fine, the destination is not. Only the user can switch it off, on the form in HubSpot. Tell them that, and do not swap the destination yourself.\",\n ]\n : [],\n activeCampaign: activeCampaign?.catalog,\n };\n}\n\nexport const mapCommand = defineCommand({\n meta: {\n name: \"map\",\n description:\n \"Map form fields onto any value a side effect sends — never hand-write a mapping. Start here: baker flows map contact --from map.json --write\",\n },\n args: {\n slug: { type: \"positional\", description: \"Form slug\", required: true },\n map: { type: \"string\", description: \"<destField>[:<fieldType>]=<value> (repeatable)\" },\n from: { type: \"string\", description: \"Read the whole mapping from a JSON file, or `-` for stdin\" },\n \"side-effect\": { type: \"string\", description: \"Side-effect id, when the form has more than one\" },\n \"hubspot-form\": {\n type: \"string\",\n description: \"HubSpot formGuid — reads every field's type off the form so you write none\",\n },\n into: {\n type: \"string\",\n description: \"Which slot to map into, for a type with more than one (e.g. meta: eventParams | advancedMatching)\",\n },\n entity: { type: \"string\", description: \"Destination object (person, contact, lead, …)\" },\n custom: { type: \"boolean\", description: \"Destination fields are custom fields\" },\n standard: { type: \"boolean\", description: \"Destination fields are standard fields\" },\n \"object-type\": { type: \"string\", description: \"HubSpot objectTypeId (default 0-1)\" },\n \"prune-missing\": {\n type: \"boolean\",\n description: \"Drop only the mappings the destination no longer has — the repair for a deleted HubSpot field\",\n },\n replace: {\n type: \"boolean\",\n description: \"Drop every mapping already in the slot. Default merges by destination name\",\n },\n write: { type: \"boolean\", description: \"Splice the mapping into the form\" },\n },\n run: async ({ args, rawArgs }) => {\n const slug = String(args.slug);\n const fromFile = args.from ? readSpecFile(String(args.from)) : undefined;\n const specs = fromFile ? specsFromFile(fromFile) : mapSpecsFrom(rawArgs);\n const into = args.into ? String(args.into) : fromFile?.into;\n const replacing = args.replace === true || fromFile?.replace === true;\n const pruning = args[\"prune-missing\"] === true || fromFile?.pruneMissing === true;\n\n const tree = readFlowTree(slug);\n // A flag beats the file, so a saved mapping can be retargeted without editing it.\n const chosen = pickSideEffect(\n slug,\n collectSideEffects(tree),\n args[\"side-effect\"] ? String(args[\"side-effect\"]) : fromFile?.sideEffect,\n );\n\n // No mappings given: answer \"what can I map here, and where do the key names\n // come from\" rather than printing usage. The command already holds the side\n // effect, so refusing threw the answer away and left the only discovery path\n // a wrong guess — name a key outside a closed set and read it off the refusal.\n // `--prune-missing` is a whole call on its own: the repair for a deleted\n // destination field is a removal, and requiring a `--map` alongside it would\n // mean inventing a mapping to make a deletion legal.\n if (specs.length === 0 && !pruning) {\n describeDestination(chosen);\n return;\n }\n\n assertDestinationReady(slug, tree, chosen, into);\n\n const {\n options,\n hints: destinationHints,\n activeCampaign,\n } = await mapOptions(args, fromFile, into, chosen.sideEffect);\n\n let built: ReturnType<typeof buildFieldMapping>;\n try {\n built = buildFieldMapping(tree, chosen.sideEffect, specs, options);\n } catch (error) {\n if (error instanceof MappingError) {\n refuse(error.message, error.fix);\n }\n throw error;\n }\n\n const slotHint = [\n ...destinationHints,\n ...(activeCampaign && Array.isArray(built.patch.fieldMapping)\n ? activeCampaignMappingHints(built.patch.fieldMapping as Record<string, unknown>[], activeCampaign)\n : []),\n ...droppedHint(built),\n ...survivorHint(built, replacing),\n ...slotHintFor(String(chosen.sideEffect.type ?? \"\"), into),\n ...pendingEndpointHint(slug, tree, chosen),\n ];\n\n if (args.write !== true) {\n emitDryRun(slug, chosen, built, slotHint);\n return;\n }\n\n Object.assign(chosen.sideEffect, built.patch);\n writeFlowTree(slug, tree);\n emitWritten(slug, chosen, built, slotHint);\n },\n});\n\n/**\n * The first line of the answer: what this call did, or would do.\n *\n * It has to survive a call that only REMOVES. `--prune-missing` on its own\n * writes nothing and drops something, and \"Wrote 0 fieldMapping mappings\"\n * describes the opposite of what happened — it reads as a no-op, which is the\n * one reading that sends an agent looking for a different command after the\n * repair has already landed. The drops are named by `droppedHint` two lines\n * further down, and that is not where anybody looks to find out whether a\n * command worked.\n *\n * Exported for its own test, because this sentence is the whole report.\n */\nexport function mapHeadline(built: BuiltMapping, phase: \"written\" | \"dry-run\", slug = \"\"): string {\n const wrote = `${built.count} ${built.key} mapping${built.count === 1 ? \"\" : \"s\"}`;\n const drops = `${built.dropped.length} dead mapping${built.dropped.length === 1 ? \"\" : \"s\"}`;\n\n if (phase === \"dry-run\") {\n if (built.count === 0 && built.dropped.length > 0) {\n return `Nothing written. Re-run with --write to drop ${drops} from ${slug}.`;\n }\n return `Nothing written. Re-run with --write to splice ${wrote} into ${slug}.`;\n }\n\n if (built.dropped.length === 0) return `Wrote ${wrote}.`;\n if (built.count === 0) return `Dropped ${drops} from ${built.key}; nothing else changed.`;\n return `Wrote ${wrote} and dropped ${drops}.`;\n}\n\n/** What the call WOULD do, plus the one sentence saying how to make it happen. */\nfunction emitDryRun(slug: string, chosen: Located, built: BuiltMapping, slotHint: string[]): void {\n writeJson({\n ok: true,\n data: {\n sideEffectId: chosen.sideEffect.id,\n type: chosen.sideEffect.type,\n key: built.key,\n patch: built.patch,\n },\n hints: [mapHeadline(built, \"dry-run\", slug), ...slotHint],\n });\n}\n\nfunction emitWritten(slug: string, chosen: Located, built: BuiltMapping, slotHint: string[]): void {\n writeJson({\n ok: true,\n data: {\n sideEffectId: chosen.sideEffect.id,\n type: chosen.sideEffect.type,\n key: built.key,\n written: built.count,\n kept: built.kept,\n dropped: built.dropped,\n path: flowDataPath(slug),\n },\n hints: [\n mapHeadline(built, \"written\"),\n `A mapping is only real once the destination is set — check with: baker flows show ${slug}`,\n ...slotHint,\n ],\n });\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,463 @@
1
+ import {
2
+ repeatedValues
3
+ } from "./chunk-ERSX3MKH.js";
4
+ import {
5
+ customMcpServerNameRequestSchema
6
+ } from "./chunk-MAGSNHYB.js";
7
+ import "./chunk-GXDLWBOY.js";
8
+ import "./chunk-GIWHHCD6.js";
9
+ import "./chunk-XQIOCIDO.js";
10
+ import "./chunk-I2DNBEV6.js";
11
+ import {
12
+ ApiError,
13
+ apiGet,
14
+ apiPost
15
+ } from "./chunk-MMOTJIV6.js";
16
+ import "./chunk-2ZZR2SOF.js";
17
+ import {
18
+ getEnv
19
+ } from "./chunk-YPCVPDU7.js";
20
+ import {
21
+ registerSchema,
22
+ writeJson
23
+ } from "./chunk-D3RTGIT4.js";
24
+ import "./chunk-YQSBHWOI.js";
25
+
26
+ // ../api/src/mcp-catalog.ts
27
+ import { z } from "zod";
28
+ var MCP_CATALOG_DEFAULT_LIMIT = 8;
29
+ var MCP_CATALOG_DESCRIPTION_MAX = 160;
30
+ var mcpCatalogRequestSchema = z.object({
31
+ search: z.string().trim().min(1, "Provide --search").max(100),
32
+ limit: z.coerce.number().int().min(1).max(20).default(MCP_CATALOG_DEFAULT_LIMIT)
33
+ });
34
+ var mcpCatalogConnectSchema = z.enum(["sign-in", "key"]);
35
+ var mcpCatalogEntrySchema = z.object({
36
+ /** The toolkit slug — what request_connection `{ app }` takes. */
37
+ app: z.string(),
38
+ name: z.string(),
39
+ description: z.string().max(MCP_CATALOG_DESCRIPTION_MAX),
40
+ connect: mcpCatalogConnectSchema,
41
+ connected: z.boolean()
42
+ });
43
+ var mcpCatalogResponseSchema = z.object({
44
+ apps: z.array(mcpCatalogEntrySchema),
45
+ /** Baker's own connections this search matched — ask for these with `{ platform }`, never a managed copy. */
46
+ platforms: z.array(z.string()).optional()
47
+ });
48
+
49
+ // src/commands/mcp/index.ts
50
+ import { defineCommand } from "citty";
51
+
52
+ // src/commands/mcp/catalog.ts
53
+ var PREFER_VENDOR_HINT = 'The vendor\'s own MCP server comes before any app here. If you have not yet, WebSearch "<vendor> MCP server" and WebFetch its official docs for the remote https address and how it signs in, then ask for it with request_connection `{ server: { name, url, auth, keyHeader } }`. Only when the vendor has none, ask for an app from this catalog with request_connection `{ app: "<slug>", reason }` \u2014 the user connects it in the chat and its tools load right after, in this same turn.';
54
+ var ALREADY_CONNECTED_HINT = "An app marked connected is already reachable \u2014 use its mcp__composio_* tools; do not ask again.";
55
+ var NO_MATCH_HINT = "Nothing in the catalog matches. WebSearch for the vendor's official remote MCP server (its docs, its developer site) before telling the user it can't be connected \u2014 if one exists, ask for it with request_connection `{ server }`. Only when the web shows no official remote server either, say plainly this tool can't be connected yet and offer a Task.";
56
+ function firstPartyHint(platforms) {
57
+ const asks = platforms.map((p) => `request_connection \`{ platform: "${p}" }\``).join(" or ");
58
+ return `This is one of Baker's own connections \u2014 ask for it with ${asks}. It is the one Baker's commands, staging and publish work with, so never connect it as a catalog app or as an MCP server, even one the vendor publishes or the user names. If it is already connected, read it with its own baker command family instead.`;
59
+ }
60
+ function catalogHints(apps, { platforms = [] } = {}) {
61
+ if (platforms.length > 0) {
62
+ return [firstPartyHint(platforms)];
63
+ }
64
+ const hints = [PREFER_VENDOR_HINT];
65
+ if (apps.some((a) => a.connected)) {
66
+ hints.push(ALREADY_CONNECTED_HINT);
67
+ }
68
+ if (apps.length === 0) {
69
+ hints.push(NO_MATCH_HINT);
70
+ }
71
+ return hints;
72
+ }
73
+
74
+ // src/commands/mcp/platforms.ts
75
+ function readsKey(label) {
76
+ const [first = "", ...rest] = label.split(" ");
77
+ return [first.toLowerCase(), ...rest].join("");
78
+ }
79
+ function platformEntry(platform) {
80
+ return {
81
+ platform: platform.label,
82
+ ...platform.account ? { account: platform.account } : {},
83
+ ...platform.readsLabel && platform.reads.length > 0 ? { [readsKey(platform.readsLabel)]: platform.reads } : {}
84
+ };
85
+ }
86
+
87
+ // src/commands/mcp/index.ts
88
+ var SCOPES = ["user", "user_org", "company", "org"];
89
+ function parseScope(raw) {
90
+ const scope = raw === void 0 ? "company" : String(raw);
91
+ if (!SCOPES.includes(scope)) {
92
+ throw new ApiError("VALIDATION_ERROR", `Invalid --scope "${scope}". Use user | user_org | company | org.`);
93
+ }
94
+ return scope;
95
+ }
96
+ function actingUserId() {
97
+ return getEnv().BAKER_ACTING_USER_ID;
98
+ }
99
+ function customEntry(server) {
100
+ const failed = server.health && !server.health.ok;
101
+ const problem = server.health?.message ?? "This server's address is not serving tools.";
102
+ return {
103
+ name: server.name,
104
+ scope: server.scope,
105
+ enabled: server.enabled,
106
+ ...failed && !server.health?.transient ? { usable: false, problem } : {},
107
+ ...failed && server.health?.transient ? { lastCheck: "failed", problem } : {},
108
+ ...failed && server.health?.suggestedUrl ? { suggestedAddress: server.health.suggestedUrl } : {}
109
+ };
110
+ }
111
+ var BROKEN_SERVER_HINT = "A server marked usable=false will NOT answer: its tools are absent from this turn. Say plainly that the tool is not working and relay `problem`; never claim its tools are loading, coming next message, or temporarily unavailable. `problem` names what a person has to fix \u2014 the address, the sign-in, or the key the server was added with \u2014 so pass on that fix and no other: never tell the user to reconnect a server whose `problem` is its address or its key. The user makes the fix in the dashboard (Brain \u2192 Integrations \u2192 More apps). If `suggestedAddress` is present, that is the address to use.";
112
+ var LAST_CHECK_FAILED_HINT = "A server with lastCheck=failed was unreachable or erroring when it was last checked \u2014 that may already have passed, and its tools ARE loaded this turn. Try the tool; if it works, say nothing about the check. If it fails, report `problem` as what happened rather than guessing.";
113
+ function parseHeaders(raw, rawArgs) {
114
+ const list = repeatedValues(rawArgs, "header", raw);
115
+ const headers = {};
116
+ for (const entry of list) {
117
+ const text = String(entry);
118
+ const sep = text.indexOf(":") >= 0 && (text.indexOf(":") < text.indexOf("=") || text.indexOf("=") < 0) ? ":" : "=";
119
+ const at = text.indexOf(sep);
120
+ if (at <= 0) {
121
+ throw new ApiError("VALIDATION_ERROR", `Invalid header "${text}". Use "Key: Value".`);
122
+ }
123
+ headers[text.slice(0, at).trim()] = text.slice(at + 1).trim();
124
+ }
125
+ return Object.keys(headers).length > 0 ? headers : void 0;
126
+ }
127
+ function fail(err) {
128
+ if (err instanceof ApiError) {
129
+ writeJson({ ok: false, error: { code: err.code, message: err.message } });
130
+ process.exit(1);
131
+ }
132
+ writeJson({ ok: false, error: { code: "NETWORK_ERROR", message: "Unexpected error" } });
133
+ process.exit(1);
134
+ }
135
+ var PLATFORMS_HINT = "`platforms` are connected accounts you reach through `baker` commands (HubSpot, Google Ads, GA4, Search Console, Tag Manager, \u2026), NOT mcp__* tools \u2014 there is no tool to call for them. A platform listed here IS connected: never tell the user to connect it, and never conclude it is missing because it has no mcp__* entry. Read what it holds with its own command family (`baker hubspot \u2026`, `baker ads google \u2026`, `baker ga4 \u2026`, and so on).";
136
+ registerSchema({
137
+ command: "mcp.connected",
138
+ description: "List everything this chat can reach: managed integrations (Attio, Slack, Gmail, Google Sheets, \u2026), custom MCP servers, and the platforms the company signed in to (HubSpot, Google Ads, GA4, Search Console, Tag Manager) which you read through their own `baker` commands. Start here when the user mentions an external tool or platform.",
139
+ args: {}
140
+ });
141
+ var connectedCommand = defineCommand({
142
+ meta: {
143
+ name: "connected",
144
+ description: `Everything this chat can reach \u2014 managed integrations, custom MCP servers, and connected platforms.
145
+
146
+ Managed tools ride the composio servers (mcp__composio_<scope>__*); custom servers expose mcp__<name>__*.
147
+ Platforms (HubSpot, Google Ads, GA4, \u2026) have no mcp__* tools at all \u2014 you read them with their own
148
+ \`baker\` command family, and one listed here is connected and ready to use.
149
+ A tool or platform the user names that is NOT listed anywhere here is simply not connected yet.`
150
+ },
151
+ run: async () => {
152
+ try {
153
+ const user = actingUserId();
154
+ const data = await apiGet("/api/mcp/connected", user ? { actingUserId: user } : void 0);
155
+ const managed = data.managed.map((c) => ({
156
+ toolkit: c.toolkitSlug,
157
+ scope: c.scope,
158
+ ...c.status !== "ACTIVE" ? { status: c.status } : {},
159
+ ...c.accountLabel ? { account: c.accountLabel } : {},
160
+ ...c.readOnly ? { readOnly: true } : {}
161
+ }));
162
+ const custom = data.custom.map(customEntry);
163
+ const platforms = (data.platforms ?? []).map(platformEntry);
164
+ const hints = [];
165
+ if (platforms.length > 0) {
166
+ hints.push(PLATFORMS_HINT);
167
+ }
168
+ if (data.custom.some((s) => s.health && !s.health.ok && !s.health.transient)) {
169
+ hints.push(BROKEN_SERVER_HINT);
170
+ }
171
+ if (data.custom.some((s) => s.health && !s.health.ok && s.health.transient)) {
172
+ hints.push(LAST_CHECK_FAILED_HINT);
173
+ }
174
+ if ([...data.managed, ...data.custom].some((e) => e.scope === "user" || e.scope === "user_org")) {
175
+ hints.push(
176
+ "user/user_org entries are personal: they belong to the current message sender and load only in their turns \u2014 other users in this chat won't have them."
177
+ );
178
+ }
179
+ hints.push(
180
+ "Not listed anywhere = not connected \u2014 connect it from the chat with request_connection, never by sending the user to the dashboard: a Baker platform (HubSpot, Google Ads, GA4, \u2026) \u2192 { platform }; anything else \u2192 the vendor's own MCP server FIRST: use the address the user gave you, or WebSearch '<vendor> MCP server' and WebFetch its official docs for the remote https address and how it signs in, then { server: { name, url, auth, keyHeader } }; only when the vendor has none \u2192 `baker mcp catalog --search <name>`, then { app }. Research before you ask the user anything. What they connect loads into this same turn."
181
+ );
182
+ writeJson({
183
+ ok: true,
184
+ data: { managed, custom, platforms },
185
+ hints
186
+ });
187
+ } catch (err) {
188
+ fail(err);
189
+ }
190
+ }
191
+ });
192
+ var catalogArgs = {
193
+ search: { type: "string", description: "App or vendor name, e.g. notion, clarity, pipedrive", required: true },
194
+ limit: { type: "string", description: "Max apps to return, 1-20 (default 8)", required: false }
195
+ };
196
+ registerSchema({
197
+ command: "mcp.catalog",
198
+ description: "Search the managed apps you can ask the user to connect when a vendor has no MCP server of its own. Each app says how the user connects it (sign-in | key) and whether this chat already reaches it. Example: baker mcp catalog --search notion",
199
+ args: catalogArgs
200
+ });
201
+ var catalogCommand = defineCommand({
202
+ meta: {
203
+ name: "catalog",
204
+ description: `Managed apps you can ask the user to connect when a vendor has no MCP server of its own.
205
+
206
+ For a tool \`baker mcp connected\` does not list whose vendor has no official remote MCP server:
207
+ baker mcp catalog --search notion
208
+ baker mcp catalog --search "microsoft clarity" --limit 3
209
+
210
+ Each app: app (slug for request_connection), name, description, connect (sign-in | key), connected.
211
+ Prefer the vendor's own MCP server when it publishes one; a catalog app is the fallback.`
212
+ },
213
+ args: catalogArgs,
214
+ run: async ({ args }) => {
215
+ const parsed = mcpCatalogRequestSchema.safeParse({ search: args.search, limit: args.limit });
216
+ if (!parsed.success) {
217
+ writeJson({
218
+ ok: false,
219
+ error: { code: "VALIDATION_ERROR", message: parsed.error.issues[0]?.message ?? "Invalid arguments" }
220
+ });
221
+ process.exit(1);
222
+ }
223
+ try {
224
+ const user = actingUserId();
225
+ const data = await apiGet("/api/mcp/catalog", {
226
+ search: parsed.data.search,
227
+ limit: String(parsed.data.limit),
228
+ ...user ? { actingUserId: user } : {}
229
+ });
230
+ writeJson({
231
+ ok: true,
232
+ data: {
233
+ apps: data.apps,
234
+ ...data.platforms?.length ? { platforms: data.platforms } : {}
235
+ },
236
+ hints: catalogHints(data.apps, { platforms: data.platforms ?? [] })
237
+ });
238
+ } catch (err) {
239
+ fail(err);
240
+ }
241
+ }
242
+ });
243
+ registerSchema({
244
+ command: "mcp.list",
245
+ description: "List the custom MCP servers this company's chats see (org + company + your own user scope).",
246
+ args: {}
247
+ });
248
+ var listCommand = defineCommand({
249
+ meta: { name: "list", description: "List custom MCP servers visible to this company's chats." },
250
+ run: async () => {
251
+ try {
252
+ const user = actingUserId();
253
+ const data = await apiGet(
254
+ "/api/mcp/custom",
255
+ user ? { actingUserId: user } : void 0
256
+ );
257
+ writeJson({
258
+ ok: true,
259
+ // Detail view: the full row (address included) plus the usability verdict.
260
+ // `health` itself is folded into `usable`/`problem` by `customEntry`.
261
+ data: data.servers.map((server) => ({ ...server, health: void 0, ...customEntry(server) })),
262
+ ...data.servers.some((s) => s.health && !s.health.ok) ? {
263
+ hints: data.servers.some((s) => s.health && !s.health.ok && !s.health.transient) ? [BROKEN_SERVER_HINT] : [LAST_CHECK_FAILED_HINT]
264
+ } : {}
265
+ });
266
+ } catch (err) {
267
+ fail(err);
268
+ }
269
+ }
270
+ });
271
+ registerSchema({
272
+ command: "mcp.add",
273
+ description: "Register a custom MCP server. Tools appear as mcp__<name>__* on the next message. URL must be HTTPS. Scope: company (default, all chats) | org (org admin key) | user (only the current sender).",
274
+ args: {
275
+ name: { type: "string", description: "Server name \u2192 tools appear as mcp__<name>__*", required: true },
276
+ url: {
277
+ type: "string",
278
+ description: "Full HTTPS MCP endpoint (commonly ends in /mcp, not just the domain)",
279
+ required: true
280
+ },
281
+ scope: { type: "string", description: "user | user_org | company | org (default company)", required: false },
282
+ header: { type: "string", description: 'Auth header "Key: Value" (repeatable)', required: false }
283
+ }
284
+ });
285
+ var addCommand = defineCommand({
286
+ meta: {
287
+ name: "add",
288
+ description: `Register a custom MCP server. Tools appear as mcp__<name>__* on the NEXT message.
289
+ For a server the USER asks for, use request_connection { server } instead: they confirm who can use it,
290
+ type any key into the card (never the chat), and its tools load in this same turn.
291
+
292
+ Scope: company (default \u2014 every chat in the company) | org (all companies in the org; needs an admin key) | user (only the current message sender).
293
+
294
+ Examples:
295
+ baker mcp add --name weather --url https://mcp.example.com/mcp
296
+ baker mcp add --name acme --url https://acme.dev/mcp --header "Authorization: Bearer sk-\u2026"
297
+ baker mcp add --name mine --url https://my.dev/mcp --scope user`
298
+ },
299
+ args: {
300
+ name: { type: "string", description: "Server name (mcp__<name>__*)", required: true },
301
+ url: {
302
+ type: "string",
303
+ description: "Full HTTPS MCP endpoint (commonly ends in /mcp, not just the domain)",
304
+ required: true
305
+ },
306
+ scope: { type: "string", description: "user | user_org | company | org (default company)", required: false },
307
+ header: { type: "string", description: 'Auth header "Key: Value" (repeatable)', required: false }
308
+ },
309
+ run: async ({ args, rawArgs }) => {
310
+ try {
311
+ const scope = parseScope(args.scope);
312
+ const user = actingUserId();
313
+ const headers = parseHeaders(args.header, rawArgs);
314
+ const data = await apiPost("/api/mcp/custom", {
315
+ name: args.name,
316
+ url: args.url,
317
+ scope,
318
+ ...user ? { actingUserId: user } : {},
319
+ ...headers ? { headers } : {}
320
+ });
321
+ writeJson({
322
+ ok: true,
323
+ data,
324
+ hints: [
325
+ "The address must be the full MCP endpoint (commonly ending in /mcp), not just the domain \u2014 a domain on its own usually answers sign-in and then serves no tools.",
326
+ "The address is checked in the background. Run `baker mcp connected` on the next message to confirm it serves tools before promising the user anything."
327
+ ]
328
+ });
329
+ } catch (err) {
330
+ fail(err);
331
+ }
332
+ }
333
+ });
334
+ registerSchema({
335
+ command: "mcp.remove",
336
+ description: "Remove a company custom MCP server by name.",
337
+ args: { name: { type: "string", description: "Server name to remove", required: true } }
338
+ });
339
+ var removeCommand = defineCommand({
340
+ meta: {
341
+ name: "remove",
342
+ description: `Remove a company custom MCP server by name.
343
+
344
+ Example:
345
+ baker mcp remove --name weather`
346
+ },
347
+ args: { name: { type: "string", description: "Server name to remove", required: true } },
348
+ run: async ({ args }) => {
349
+ try {
350
+ const user = actingUserId();
351
+ const data = await apiPost("/api/mcp/custom/remove", {
352
+ name: args.name,
353
+ ...user ? { actingUserId: user } : {}
354
+ });
355
+ writeJson({ ok: true, data });
356
+ } catch (err) {
357
+ fail(err);
358
+ }
359
+ }
360
+ });
361
+ var serverNameArgs = {
362
+ name: { type: "string", description: "Custom server name, as `baker mcp list` shows it", required: true }
363
+ };
364
+ registerSchema({
365
+ command: "mcp.verify",
366
+ description: "Check a custom MCP server now (the dashboard's 'Check now') and store the result. Use after the user fixed its address or sign-in, or when its tools failed this turn.",
367
+ args: serverNameArgs
368
+ });
369
+ var verifyCommand = defineCommand({
370
+ meta: {
371
+ name: "verify",
372
+ description: `Check a custom MCP server now and store the result.
373
+
374
+ Example:
375
+ baker mcp verify --name weather`
376
+ },
377
+ args: serverNameArgs,
378
+ run: async ({ args }) => {
379
+ const parsed = customMcpServerNameRequestSchema.safeParse({ name: args.name, actingUserId: actingUserId() });
380
+ if (!parsed.success) {
381
+ fail(new ApiError("VALIDATION_ERROR", parsed.error.issues[0]?.message ?? "Invalid arguments"));
382
+ }
383
+ try {
384
+ const data = await apiPost("/api/mcp/custom/verify", parsed.data);
385
+ writeJson({
386
+ ok: true,
387
+ data,
388
+ hints: [
389
+ data.ok ? "The server answers and serves tools. Its tools load on the next message." : data.transient ? LAST_CHECK_FAILED_HINT : BROKEN_SERVER_HINT
390
+ ]
391
+ });
392
+ } catch (err) {
393
+ fail(err);
394
+ }
395
+ }
396
+ });
397
+ registerSchema({
398
+ command: "mcp.disable",
399
+ description: "Switch a custom MCP server off so its tools stop loading; its address and sign-in are kept. Turning it back on is done by a person in the dashboard, never by the agent.",
400
+ args: serverNameArgs
401
+ });
402
+ var disableCommand = defineCommand({
403
+ meta: {
404
+ name: "disable",
405
+ description: `Switch a custom MCP server off (its tools stop loading). Only a person can turn it back on, in the dashboard.
406
+
407
+ Example:
408
+ baker mcp disable --name weather`
409
+ },
410
+ args: serverNameArgs,
411
+ run: async ({ args }) => {
412
+ const parsed = customMcpServerNameRequestSchema.safeParse({ name: args.name, actingUserId: actingUserId() });
413
+ if (!parsed.success) {
414
+ fail(new ApiError("VALIDATION_ERROR", parsed.error.issues[0]?.message ?? "Invalid arguments"));
415
+ }
416
+ try {
417
+ const data = await apiPost("/api/mcp/custom/disable", parsed.data);
418
+ writeJson({
419
+ ok: true,
420
+ data,
421
+ hints: [
422
+ "Its tools stop loading from the next message, and this applies right away \u2014 publishing or discarding this chat does not undo it. Tell the user they can turn it back on in Brain \u2192 Integrations \u2192 More apps."
423
+ ]
424
+ });
425
+ } catch (err) {
426
+ fail(err);
427
+ }
428
+ }
429
+ });
430
+ var mcpCommand = defineCommand({
431
+ meta: {
432
+ name: "mcp",
433
+ description: `Third-party tools for this company \u2014 see what's connected, register custom HTTPS MCP endpoints.
434
+
435
+ Tools from a registered server appear as mcp__<name>__* on the next message.
436
+ Managed here are **company-scoped** servers; user- and org-scoped servers are managed in the dashboard.
437
+
438
+ Start here:
439
+ baker mcp connected # everything this chat can reach: managed integrations, custom servers, connected platforms
440
+ baker mcp catalog --search notion # managed apps you can connect when a vendor has no MCP server of its own
441
+
442
+ Examples:
443
+ baker mcp add --name weather --url https://mcp.example.com/mcp
444
+ baker mcp add --name acme --url https://acme.dev/mcp --header "Authorization: Bearer sk-\u2026"
445
+ baker mcp remove --name weather
446
+ baker mcp verify --name weather # check it now after the user fixed it
447
+ baker mcp disable --name weather # stop its tools loading (only a person turns it back on)
448
+ Full guide: __tooling__/docs/tools/baker/mcp.md`
449
+ },
450
+ subCommands: {
451
+ connected: connectedCommand,
452
+ catalog: catalogCommand,
453
+ list: listCommand,
454
+ add: addCommand,
455
+ remove: removeCommand,
456
+ verify: verifyCommand,
457
+ disable: disableCommand
458
+ }
459
+ });
460
+ export {
461
+ mcpCommand
462
+ };
463
+ //# sourceMappingURL=mcp-GATPHY4D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../api/src/mcp-catalog.ts","../src/commands/mcp/index.ts","../src/commands/mcp/catalog.ts","../src/commands/mcp/platforms.ts"],"sourcesContent":["/**\n * Contract for `GET /api/mcp/catalog` — searching the managed-app catalog the\n * sandbox agent can ask the user to connect when a vendor publishes no MCP\n * server of its own.\n *\n * `connect` mirrors `ToolkitConnectMode` in `convex/composio/types.ts`, folded\n * to what the user will be asked for: a sign-in or a key. Apps that need no\n * sign-in are left out — Composio refuses to connect them.\n */\nimport { z } from \"zod\";\n\nexport const MCP_CATALOG_DEFAULT_LIMIT = 8;\nexport const MCP_CATALOG_DESCRIPTION_MAX = 160;\n\nexport const mcpCatalogRequestSchema = z.object({\n search: z.string().trim().min(1, \"Provide --search\").max(100),\n limit: z.coerce.number().int().min(1).max(20).default(MCP_CATALOG_DEFAULT_LIMIT),\n});\nexport type McpCatalogRequest = z.infer<typeof mcpCatalogRequestSchema>;\n\nexport const mcpCatalogConnectSchema = z.enum([\"sign-in\", \"key\"]);\nexport type McpCatalogConnect = z.infer<typeof mcpCatalogConnectSchema>;\n\nexport const mcpCatalogEntrySchema = z.object({\n /** The toolkit slug — what request_connection `{ app }` takes. */\n app: z.string(),\n name: z.string(),\n description: z.string().max(MCP_CATALOG_DESCRIPTION_MAX),\n connect: mcpCatalogConnectSchema,\n connected: z.boolean(),\n});\nexport type McpCatalogEntry = z.infer<typeof mcpCatalogEntrySchema>;\n\nexport const mcpCatalogResponseSchema = z.object({\n apps: z.array(mcpCatalogEntrySchema),\n /** Baker's own connections this search matched — ask for these with `{ platform }`, never a managed copy. */\n platforms: z.array(z.string()).optional(),\n});\nexport type McpCatalogResponse = z.infer<typeof mcpCatalogResponseSchema>;\n","import {\n type CustomMcpDisableResponse,\n type CustomMcpVerifyResponse,\n customMcpServerNameRequestSchema,\n} from \"@baker/api\";\nimport { type McpCatalogResponse, mcpCatalogRequestSchema } from \"@baker/api/mcp-catalog\";\nimport { defineCommand } from \"citty\";\nimport { ApiError, apiGet, apiPost } from \"../../client.ts\";\nimport { getEnv } from \"../../env.ts\";\nimport { repeatedValues } from \"../../lib/repeatedFlags.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { catalogHints } from \"./catalog.ts\";\nimport { type ConnectedPlatform, platformEntry } from \"./platforms.ts\";\n\nconst SCOPES = [\"user\", \"user_org\", \"company\", \"org\"] as const;\ntype Scope = (typeof SCOPES)[number];\n\nfunction parseScope(raw: unknown): Scope {\n const scope = raw === undefined ? \"company\" : String(raw);\n if (!(SCOPES as readonly string[]).includes(scope)) {\n throw new ApiError(\"VALIDATION_ERROR\", `Invalid --scope \"${scope}\". Use user | user_org | company | org.`);\n }\n return scope as Scope;\n}\n\n/** The turn's message sender, injected by the bridge — required only for user scope. */\nfunction actingUserId(): string | undefined {\n return getEnv().BAKER_ACTING_USER_ID;\n}\n\ntype CustomMcpServer = {\n _id: string;\n scope: \"user\" | \"user_org\" | \"company\" | \"org\";\n name: string;\n url: string;\n headerKeys: string[];\n enabled: boolean;\n /** Absent until the address has been checked; `ok: false` means it serves no tools. */\n health?: { ok: boolean; message?: string; suggestedUrl?: string; transient?: boolean; checkedAt: number };\n createdAt: number;\n};\n\n/**\n * What to report for one custom server. `problem` is the whole point: a server can\n * be signed in, enabled and still serve nothing (wrong address), and reporting it\n * as plain \"connected\" is how an agent ends up promising tools it does not have.\n * A `transient` failure is reported separately — the tool may well answer, so\n * declaring it broken would be its own kind of lie.\n */\nfunction customEntry(server: CustomMcpServer): Record<string, unknown> {\n const failed = server.health && !server.health.ok;\n const problem = server.health?.message ?? \"This server's address is not serving tools.\";\n return {\n name: server.name,\n scope: server.scope,\n enabled: server.enabled,\n ...(failed && !server.health?.transient ? { usable: false, problem } : {}),\n ...(failed && server.health?.transient ? { lastCheck: \"failed\", problem } : {}),\n ...(failed && server.health?.suggestedUrl ? { suggestedAddress: server.health.suggestedUrl } : {}),\n };\n}\n\n/** The hint an unusable server earns — the agent must not offer its tools or invent a reason. */\nconst BROKEN_SERVER_HINT =\n \"A server marked usable=false will NOT answer: its tools are absent from this turn. Say plainly that the tool is not working and relay `problem`; never claim its tools are loading, coming next message, or temporarily unavailable. `problem` names what a person has to fix — the address, the sign-in, or the key the server was added with — so pass on that fix and no other: never tell the user to reconnect a server whose `problem` is its address or its key. The user makes the fix in the dashboard (Brain → Integrations → More apps). If `suggestedAddress` is present, that is the address to use.\";\n\n/** The hint for a server whose last check failed for a reason that may already have passed. */\nconst LAST_CHECK_FAILED_HINT =\n \"A server with lastCheck=failed was unreachable or erroring when it was last checked — that may already have passed, and its tools ARE loaded this turn. Try the tool; if it works, say nothing about the check. If it fails, report `problem` as what happened rather than guessing.\";\n\n/** Turn repeated `--header \"K: V\"` (or `K=V`) flags into a headers record. */\n/** `--header` is repeatable, so its values come off the command line — citty keeps only the last. */\nfunction parseHeaders(raw: unknown, rawArgs?: readonly string[]): Record<string, string> | undefined {\n const list = repeatedValues(rawArgs, \"header\", raw);\n const headers: Record<string, string> = {};\n for (const entry of list) {\n const text = String(entry);\n const sep = text.indexOf(\":\") >= 0 && (text.indexOf(\":\") < text.indexOf(\"=\") || text.indexOf(\"=\") < 0) ? \":\" : \"=\";\n const at = text.indexOf(sep);\n if (at <= 0) {\n throw new ApiError(\"VALIDATION_ERROR\", `Invalid header \"${text}\". Use \"Key: Value\".`);\n }\n headers[text.slice(0, at).trim()] = text.slice(at + 1).trim();\n }\n return Object.keys(headers).length > 0 ? headers : undefined;\n}\n\nfunction fail(err: unknown): never {\n if (err instanceof ApiError) {\n writeJson({ ok: false, error: { code: err.code, message: err.message } });\n process.exit(1);\n }\n writeJson({ ok: false, error: { code: \"NETWORK_ERROR\", message: \"Unexpected error\" } });\n process.exit(1);\n}\n\ntype ManagedConnection = {\n toolkitSlug: string;\n scope: \"user\" | \"user_org\" | \"company\" | \"org\";\n status: string;\n accountLabel: string | null;\n readOnly: boolean;\n};\n\ntype ConnectedResponse = {\n managed: ManagedConnection[];\n custom: CustomMcpServer[];\n platforms: ConnectedPlatform[];\n};\n\n/** The one thing an agent must not do with this list: infer a platform's state from the MCP half. */\nconst PLATFORMS_HINT =\n \"`platforms` are connected accounts you reach through `baker` commands (HubSpot, Google Ads, GA4, Search Console, Tag Manager, …), NOT mcp__* tools — there is no tool to call for them. A platform listed here IS connected: never tell the user to connect it, and never conclude it is missing because it has no mcp__* entry. Read what it holds with its own command family (`baker hubspot …`, `baker ads google …`, `baker ga4 …`, and so on).\";\n\nregisterSchema({\n command: \"mcp.connected\",\n description:\n \"List everything this chat can reach: managed integrations (Attio, Slack, Gmail, Google Sheets, …), custom MCP servers, and the platforms the company signed in to (HubSpot, Google Ads, GA4, Search Console, Tag Manager) which you read through their own `baker` commands. Start here when the user mentions an external tool or platform.\",\n args: {},\n});\n\nconst connectedCommand = defineCommand({\n meta: {\n name: \"connected\",\n description: `Everything this chat can reach — managed integrations, custom MCP servers, and connected platforms.\n\nManaged tools ride the composio servers (mcp__composio_<scope>__*); custom servers expose mcp__<name>__*.\nPlatforms (HubSpot, Google Ads, GA4, …) have no mcp__* tools at all — you read them with their own\n\\`baker\\` command family, and one listed here is connected and ready to use.\nA tool or platform the user names that is NOT listed anywhere here is simply not connected yet.`,\n },\n run: async () => {\n try {\n const user = actingUserId();\n const data = await apiGet<ConnectedResponse>(\"/api/mcp/connected\", user ? { actingUserId: user } : undefined);\n const managed = data.managed.map((c) => ({\n toolkit: c.toolkitSlug,\n scope: c.scope,\n ...(c.status !== \"ACTIVE\" ? { status: c.status } : {}),\n ...(c.accountLabel ? { account: c.accountLabel } : {}),\n ...(c.readOnly ? { readOnly: true } : {}),\n }));\n const custom = data.custom.map(customEntry);\n const platforms = (data.platforms ?? []).map(platformEntry);\n const hints: string[] = [];\n if (platforms.length > 0) {\n hints.push(PLATFORMS_HINT);\n }\n if (data.custom.some((s) => s.health && !s.health.ok && !s.health.transient)) {\n hints.push(BROKEN_SERVER_HINT);\n }\n if (data.custom.some((s) => s.health && !s.health.ok && s.health.transient)) {\n hints.push(LAST_CHECK_FAILED_HINT);\n }\n if ([...data.managed, ...data.custom].some((e) => e.scope === \"user\" || e.scope === \"user_org\")) {\n hints.push(\n \"user/user_org entries are personal: they belong to the current message sender and load only in their turns — other users in this chat won't have them.\",\n );\n }\n hints.push(\n \"Not listed anywhere = not connected — connect it from the chat with request_connection, never by sending the user to the dashboard: a Baker platform (HubSpot, Google Ads, GA4, …) → { platform }; anything else → the vendor's own MCP server FIRST: use the address the user gave you, or WebSearch '<vendor> MCP server' and WebFetch its official docs for the remote https address and how it signs in, then { server: { name, url, auth, keyHeader } }; only when the vendor has none → `baker mcp catalog --search <name>`, then { app }. Research before you ask the user anything. What they connect loads into this same turn.\",\n );\n writeJson({\n ok: true,\n data: { managed, custom, platforms },\n hints,\n });\n } catch (err) {\n fail(err);\n }\n },\n});\n\nconst catalogArgs = {\n search: { type: \"string\", description: \"App or vendor name, e.g. notion, clarity, pipedrive\", required: true },\n limit: { type: \"string\", description: \"Max apps to return, 1-20 (default 8)\", required: false },\n} as const;\n\nregisterSchema({\n command: \"mcp.catalog\",\n description:\n \"Search the managed apps you can ask the user to connect when a vendor has no MCP server of its own. Each app says how the user connects it (sign-in | key) and whether this chat already reaches it. Example: baker mcp catalog --search notion\",\n args: catalogArgs,\n});\n\nconst catalogCommand = defineCommand({\n meta: {\n name: \"catalog\",\n description: `Managed apps you can ask the user to connect when a vendor has no MCP server of its own.\n\nFor a tool \\`baker mcp connected\\` does not list whose vendor has no official remote MCP server:\n baker mcp catalog --search notion\n baker mcp catalog --search \"microsoft clarity\" --limit 3\n\nEach app: app (slug for request_connection), name, description, connect (sign-in | key), connected.\nPrefer the vendor's own MCP server when it publishes one; a catalog app is the fallback.`,\n },\n args: catalogArgs,\n run: async ({ args }) => {\n const parsed = mcpCatalogRequestSchema.safeParse({ search: args.search, limit: args.limit });\n if (!parsed.success) {\n writeJson({\n ok: false,\n error: { code: \"VALIDATION_ERROR\", message: parsed.error.issues[0]?.message ?? \"Invalid arguments\" },\n });\n process.exit(1);\n }\n try {\n const user = actingUserId();\n const data = await apiGet<McpCatalogResponse>(\"/api/mcp/catalog\", {\n search: parsed.data.search,\n limit: String(parsed.data.limit),\n ...(user ? { actingUserId: user } : {}),\n });\n writeJson({\n ok: true,\n data: {\n apps: data.apps,\n ...(data.platforms?.length ? { platforms: data.platforms } : {}),\n },\n hints: catalogHints(data.apps, { platforms: data.platforms ?? [] }),\n });\n } catch (err) {\n fail(err);\n }\n },\n});\n\nregisterSchema({\n command: \"mcp.list\",\n description: \"List the custom MCP servers this company's chats see (org + company + your own user scope).\",\n args: {},\n});\n\nconst listCommand = defineCommand({\n meta: { name: \"list\", description: \"List custom MCP servers visible to this company's chats.\" },\n run: async () => {\n try {\n const user = actingUserId();\n const data = await apiGet<{ servers: CustomMcpServer[] }>(\n \"/api/mcp/custom\",\n user ? { actingUserId: user } : undefined,\n );\n writeJson({\n ok: true,\n // Detail view: the full row (address included) plus the usability verdict.\n // `health` itself is folded into `usable`/`problem` by `customEntry`.\n data: data.servers.map((server) => ({ ...server, health: undefined, ...customEntry(server) })),\n ...(data.servers.some((s) => s.health && !s.health.ok)\n ? {\n hints: data.servers.some((s) => s.health && !s.health.ok && !s.health.transient)\n ? [BROKEN_SERVER_HINT]\n : [LAST_CHECK_FAILED_HINT],\n }\n : {}),\n });\n } catch (err) {\n fail(err);\n }\n },\n});\n\nregisterSchema({\n command: \"mcp.add\",\n description:\n \"Register a custom MCP server. Tools appear as mcp__<name>__* on the next message. URL must be HTTPS. Scope: company (default, all chats) | org (org admin key) | user (only the current sender).\",\n args: {\n name: { type: \"string\", description: \"Server name → tools appear as mcp__<name>__*\", required: true },\n url: {\n type: \"string\",\n description: \"Full HTTPS MCP endpoint (commonly ends in /mcp, not just the domain)\",\n required: true,\n },\n scope: { type: \"string\", description: \"user | user_org | company | org (default company)\", required: false },\n header: { type: \"string\", description: 'Auth header \"Key: Value\" (repeatable)', required: false },\n },\n});\n\nconst addCommand = defineCommand({\n meta: {\n name: \"add\",\n description: `Register a custom MCP server. Tools appear as mcp__<name>__* on the NEXT message.\nFor a server the USER asks for, use request_connection { server } instead: they confirm who can use it,\ntype any key into the card (never the chat), and its tools load in this same turn.\n\nScope: company (default — every chat in the company) | org (all companies in the org; needs an admin key) | user (only the current message sender).\n\nExamples:\n baker mcp add --name weather --url https://mcp.example.com/mcp\n baker mcp add --name acme --url https://acme.dev/mcp --header \"Authorization: Bearer sk-…\"\n baker mcp add --name mine --url https://my.dev/mcp --scope user`,\n },\n args: {\n name: { type: \"string\", description: \"Server name (mcp__<name>__*)\", required: true },\n url: {\n type: \"string\",\n description: \"Full HTTPS MCP endpoint (commonly ends in /mcp, not just the domain)\",\n required: true,\n },\n scope: { type: \"string\", description: \"user | user_org | company | org (default company)\", required: false },\n header: { type: \"string\", description: 'Auth header \"Key: Value\" (repeatable)', required: false },\n },\n run: async ({ args, rawArgs }) => {\n try {\n const scope = parseScope(args.scope);\n const user = actingUserId();\n const headers = parseHeaders(args.header, rawArgs);\n const data = await apiPost<{ name: string }>(\"/api/mcp/custom\", {\n name: args.name as string,\n url: args.url as string,\n scope,\n ...(user ? { actingUserId: user } : {}),\n ...(headers ? { headers } : {}),\n });\n writeJson({\n ok: true,\n data,\n hints: [\n \"The address must be the full MCP endpoint (commonly ending in /mcp), not just the domain — a domain on its own usually answers sign-in and then serves no tools.\",\n \"The address is checked in the background. Run `baker mcp connected` on the next message to confirm it serves tools before promising the user anything.\",\n ],\n });\n } catch (err) {\n fail(err);\n }\n },\n});\n\nregisterSchema({\n command: \"mcp.remove\",\n description: \"Remove a company custom MCP server by name.\",\n args: { name: { type: \"string\", description: \"Server name to remove\", required: true } },\n});\n\nconst removeCommand = defineCommand({\n meta: {\n name: \"remove\",\n description: `Remove a company custom MCP server by name.\n\nExample:\n baker mcp remove --name weather`,\n },\n args: { name: { type: \"string\", description: \"Server name to remove\", required: true } },\n run: async ({ args }) => {\n try {\n const user = actingUserId();\n const data = await apiPost<{ removed: boolean }>(\"/api/mcp/custom/remove\", {\n name: args.name as string,\n ...(user ? { actingUserId: user } : {}),\n });\n writeJson({ ok: true, data });\n } catch (err) {\n fail(err);\n }\n },\n});\n\nconst serverNameArgs = {\n name: { type: \"string\", description: \"Custom server name, as `baker mcp list` shows it\", required: true },\n} as const;\n\nregisterSchema({\n command: \"mcp.verify\",\n description:\n \"Check a custom MCP server now (the dashboard's 'Check now') and store the result. Use after the user fixed its address or sign-in, or when its tools failed this turn.\",\n args: serverNameArgs,\n});\n\nconst verifyCommand = defineCommand({\n meta: {\n name: \"verify\",\n description: `Check a custom MCP server now and store the result.\n\nExample:\n baker mcp verify --name weather`,\n },\n args: serverNameArgs,\n run: async ({ args }) => {\n const parsed = customMcpServerNameRequestSchema.safeParse({ name: args.name, actingUserId: actingUserId() });\n if (!parsed.success) {\n fail(new ApiError(\"VALIDATION_ERROR\", parsed.error.issues[0]?.message ?? \"Invalid arguments\"));\n }\n try {\n const data = await apiPost<CustomMcpVerifyResponse>(\"/api/mcp/custom/verify\", parsed.data);\n writeJson({\n ok: true,\n data,\n hints: [\n data.ok\n ? \"The server answers and serves tools. Its tools load on the next message.\"\n : data.transient\n ? LAST_CHECK_FAILED_HINT\n : BROKEN_SERVER_HINT,\n ],\n });\n } catch (err) {\n fail(err);\n }\n },\n});\n\nregisterSchema({\n command: \"mcp.disable\",\n description:\n \"Switch a custom MCP server off so its tools stop loading; its address and sign-in are kept. Turning it back on is done by a person in the dashboard, never by the agent.\",\n args: serverNameArgs,\n});\n\nconst disableCommand = defineCommand({\n meta: {\n name: \"disable\",\n description: `Switch a custom MCP server off (its tools stop loading). Only a person can turn it back on, in the dashboard.\n\nExample:\n baker mcp disable --name weather`,\n },\n args: serverNameArgs,\n run: async ({ args }) => {\n const parsed = customMcpServerNameRequestSchema.safeParse({ name: args.name, actingUserId: actingUserId() });\n if (!parsed.success) {\n fail(new ApiError(\"VALIDATION_ERROR\", parsed.error.issues[0]?.message ?? \"Invalid arguments\"));\n }\n try {\n const data = await apiPost<CustomMcpDisableResponse>(\"/api/mcp/custom/disable\", parsed.data);\n writeJson({\n ok: true,\n data,\n hints: [\n \"Its tools stop loading from the next message, and this applies right away — publishing or discarding this chat does not undo it. Tell the user they can turn it back on in Brain → Integrations → More apps.\",\n ],\n });\n } catch (err) {\n fail(err);\n }\n },\n});\n\nexport const mcpCommand = defineCommand({\n meta: {\n name: \"mcp\",\n description: `Third-party tools for this company — see what's connected, register custom HTTPS MCP endpoints.\n\nTools from a registered server appear as mcp__<name>__* on the next message.\nManaged here are **company-scoped** servers; user- and org-scoped servers are managed in the dashboard.\n\nStart here:\n baker mcp connected # everything this chat can reach: managed integrations, custom servers, connected platforms\n baker mcp catalog --search notion # managed apps you can connect when a vendor has no MCP server of its own\n\nExamples:\n baker mcp add --name weather --url https://mcp.example.com/mcp\n baker mcp add --name acme --url https://acme.dev/mcp --header \"Authorization: Bearer sk-…\"\n baker mcp remove --name weather\n baker mcp verify --name weather # check it now after the user fixed it\n baker mcp disable --name weather # stop its tools loading (only a person turns it back on)\nFull guide: __tooling__/docs/tools/baker/mcp.md`,\n },\n subCommands: {\n connected: connectedCommand,\n catalog: catalogCommand,\n list: listCommand,\n add: addCommand,\n remove: removeCommand,\n verify: verifyCommand,\n disable: disableCommand,\n },\n});\n","/**\n * What `baker mcp catalog` tells the agent to do next with the managed apps it\n * found — the fallback when a vendor publishes no MCP server of its own.\n */\nimport type { McpCatalogEntry } from \"@baker/api/mcp-catalog\";\n\nconst PREFER_VENDOR_HINT =\n 'The vendor\\'s own MCP server comes before any app here. If you have not yet, WebSearch \"<vendor> MCP server\" and WebFetch its official docs for the remote https address and how it signs in, then ask for it with request_connection `{ server: { name, url, auth, keyHeader } }`. Only when the vendor has none, ask for an app from this catalog with request_connection `{ app: \"<slug>\", reason }` — the user connects it in the chat and its tools load right after, in this same turn.';\n\nconst ALREADY_CONNECTED_HINT =\n \"An app marked connected is already reachable — use its mcp__composio_* tools; do not ask again.\";\n\nconst NO_MATCH_HINT =\n \"Nothing in the catalog matches. WebSearch for the vendor's official remote MCP server (its docs, its developer site) before telling the user it can't be connected — if one exists, ask for it with request_connection `{ server }`. Only when the web shows no official remote server either, say plainly this tool can't be connected yet and offer a Task.\";\n\n/** Baker's own connection always wins over a catalog app or anyone's MCP server for the same tool. */\nfunction firstPartyHint(platforms: readonly string[]): string {\n const asks = platforms.map((p) => `request_connection \\`{ platform: \"${p}\" }\\``).join(\" or \");\n return `This is one of Baker's own connections — ask for it with ${asks}. It is the one Baker's commands, staging and publish work with, so never connect it as a catalog app or as an MCP server, even one the vendor publishes or the user names. If it is already connected, read it with its own baker command family instead.`;\n}\n\n/** What the agent should do next with a catalog answer. */\nexport function catalogHints(\n apps: readonly McpCatalogEntry[],\n { platforms = [] }: { platforms?: readonly string[] } = {},\n): string[] {\n if (platforms.length > 0) {\n return [firstPartyHint(platforms)];\n }\n const hints = [PREFER_VENDOR_HINT];\n if (apps.some((a) => a.connected)) {\n hints.push(ALREADY_CONNECTED_HINT);\n }\n if (apps.length === 0) {\n hints.push(NO_MATCH_HINT);\n }\n return hints;\n}\n","/**\n * How a connected platform reads back to the agent.\n *\n * A platform (HubSpot, Google Ads, GA4, …) is an account the company signed in\n * to, reached through its own `baker` command family rather than an `mcp__*`\n * tool. It rides `mcp connected` because that is the one answer to \"what can\n * this chat reach\" — and because an agent that only saw the tool half had no\n * way to tell a working HubSpot connection from a missing one.\n */\n\nexport interface ConnectedPlatform {\n type: string;\n label: string;\n account: string | null;\n reads: string[];\n readsLabel: string | null;\n}\n\n/** \"Ad Accounts\" -> `adAccounts`, \"Properties\" -> `properties`. */\nfunction readsKey(label: string): string {\n const [first = \"\", ...rest] = label.split(\" \");\n return [first.toLowerCase(), ...rest].join(\"\");\n}\n\n/**\n * One platform as the agent sees it. The resources are keyed by the platform's\n * own word for them — `properties` for GA4, `containers` for Tag Manager,\n * `adAccounts` for the ad platforms — so what the agent reads back matches what\n * the user sees in the dashboard.\n */\nexport function platformEntry(platform: ConnectedPlatform): Record<string, unknown> {\n return {\n platform: platform.label,\n ...(platform.account ? { account: platform.account } : {}),\n ...(platform.readsLabel && platform.reads.length > 0 ? { [readsKey(platform.readsLabel)]: platform.reads } : {}),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AASA,SAAS,SAAS;AAEX,IAAM,4BAA4B;AAClC,IAAM,8BAA8B;AAEpC,IAAM,0BAA0B,EAAE,OAAO;AAAA,EAC9C,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,kBAAkB,EAAE,IAAI,GAAG;AAAA,EAC5D,OAAO,EAAE,OAAO,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,yBAAyB;AACjF,CAAC;AAGM,IAAM,0BAA0B,EAAE,KAAK,CAAC,WAAW,KAAK,CAAC;AAGzD,IAAM,wBAAwB,EAAE,OAAO;AAAA;AAAA,EAE5C,KAAK,EAAE,OAAO;AAAA,EACd,MAAM,EAAE,OAAO;AAAA,EACf,aAAa,EAAE,OAAO,EAAE,IAAI,2BAA2B;AAAA,EACvD,SAAS;AAAA,EACT,WAAW,EAAE,QAAQ;AACvB,CAAC;AAGM,IAAM,2BAA2B,EAAE,OAAO;AAAA,EAC/C,MAAM,EAAE,MAAM,qBAAqB;AAAA;AAAA,EAEnC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAC1C,CAAC;;;AC/BD,SAAS,qBAAqB;;;ACA9B,IAAM,qBACJ;AAEF,IAAM,yBACJ;AAEF,IAAM,gBACJ;AAGF,SAAS,eAAe,WAAsC;AAC5D,QAAM,OAAO,UAAU,IAAI,CAAC,MAAM,qCAAqC,CAAC,OAAO,EAAE,KAAK,MAAM;AAC5F,SAAO,iEAA4D,IAAI;AACzE;AAGO,SAAS,aACd,MACA,EAAE,YAAY,CAAC,EAAE,IAAuC,CAAC,GAC/C;AACV,MAAI,UAAU,SAAS,GAAG;AACxB,WAAO,CAAC,eAAe,SAAS,CAAC;AAAA,EACnC;AACA,QAAM,QAAQ,CAAC,kBAAkB;AACjC,MAAI,KAAK,KAAK,CAAC,MAAM,EAAE,SAAS,GAAG;AACjC,UAAM,KAAK,sBAAsB;AAAA,EACnC;AACA,MAAI,KAAK,WAAW,GAAG;AACrB,UAAM,KAAK,aAAa;AAAA,EAC1B;AACA,SAAO;AACT;;;AClBA,SAAS,SAAS,OAAuB;AACvC,QAAM,CAAC,QAAQ,IAAI,GAAG,IAAI,IAAI,MAAM,MAAM,GAAG;AAC7C,SAAO,CAAC,MAAM,YAAY,GAAG,GAAG,IAAI,EAAE,KAAK,EAAE;AAC/C;AAQO,SAAS,cAAc,UAAsD;AAClF,SAAO;AAAA,IACL,UAAU,SAAS;AAAA,IACnB,GAAI,SAAS,UAAU,EAAE,SAAS,SAAS,QAAQ,IAAI,CAAC;AAAA,IACxD,GAAI,SAAS,cAAc,SAAS,MAAM,SAAS,IAAI,EAAE,CAAC,SAAS,SAAS,UAAU,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC;AAAA,EAChH;AACF;;;AFrBA,IAAM,SAAS,CAAC,QAAQ,YAAY,WAAW,KAAK;AAGpD,SAAS,WAAW,KAAqB;AACvC,QAAM,QAAQ,QAAQ,SAAY,YAAY,OAAO,GAAG;AACxD,MAAI,CAAE,OAA6B,SAAS,KAAK,GAAG;AAClD,UAAM,IAAI,SAAS,oBAAoB,oBAAoB,KAAK,yCAAyC;AAAA,EAC3G;AACA,SAAO;AACT;AAGA,SAAS,eAAmC;AAC1C,SAAO,OAAO,EAAE;AAClB;AAqBA,SAAS,YAAY,QAAkD;AACrE,QAAM,SAAS,OAAO,UAAU,CAAC,OAAO,OAAO;AAC/C,QAAM,UAAU,OAAO,QAAQ,WAAW;AAC1C,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb,OAAO,OAAO;AAAA,IACd,SAAS,OAAO;AAAA,IAChB,GAAI,UAAU,CAAC,OAAO,QAAQ,YAAY,EAAE,QAAQ,OAAO,QAAQ,IAAI,CAAC;AAAA,IACxE,GAAI,UAAU,OAAO,QAAQ,YAAY,EAAE,WAAW,UAAU,QAAQ,IAAI,CAAC;AAAA,IAC7E,GAAI,UAAU,OAAO,QAAQ,eAAe,EAAE,kBAAkB,OAAO,OAAO,aAAa,IAAI,CAAC;AAAA,EAClG;AACF;AAGA,IAAM,qBACJ;AAGF,IAAM,yBACJ;AAIF,SAAS,aAAa,KAAc,SAAiE;AACnG,QAAM,OAAO,eAAe,SAAS,UAAU,GAAG;AAClD,QAAM,UAAkC,CAAC;AACzC,aAAW,SAAS,MAAM;AACxB,UAAM,OAAO,OAAO,KAAK;AACzB,UAAM,MAAM,KAAK,QAAQ,GAAG,KAAK,MAAM,KAAK,QAAQ,GAAG,IAAI,KAAK,QAAQ,GAAG,KAAK,KAAK,QAAQ,GAAG,IAAI,KAAK,MAAM;AAC/G,UAAM,KAAK,KAAK,QAAQ,GAAG;AAC3B,QAAI,MAAM,GAAG;AACX,YAAM,IAAI,SAAS,oBAAoB,mBAAmB,IAAI,sBAAsB;AAAA,IACtF;AACA,YAAQ,KAAK,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,IAAI,KAAK,MAAM,KAAK,CAAC,EAAE,KAAK;AAAA,EAC9D;AACA,SAAO,OAAO,KAAK,OAAO,EAAE,SAAS,IAAI,UAAU;AACrD;AAEA,SAAS,KAAK,KAAqB;AACjC,MAAI,eAAe,UAAU;AAC3B,cAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,IAAI,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;AACxE,YAAQ,KAAK,CAAC;AAAA,EAChB;AACA,YAAU,EAAE,IAAI,OAAO,OAAO,EAAE,MAAM,iBAAiB,SAAS,mBAAmB,EAAE,CAAC;AACtF,UAAQ,KAAK,CAAC;AAChB;AAiBA,IAAM,iBACJ;AAEF,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM,CAAC;AACT,CAAC;AAED,IAAM,mBAAmB,cAAc;AAAA,EACrC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMf;AAAA,EACA,KAAK,YAAY;AACf,QAAI;AACF,YAAM,OAAO,aAAa;AAC1B,YAAM,OAAO,MAAM,OAA0B,sBAAsB,OAAO,EAAE,cAAc,KAAK,IAAI,MAAS;AAC5G,YAAM,UAAU,KAAK,QAAQ,IAAI,CAAC,OAAO;AAAA,QACvC,SAAS,EAAE;AAAA,QACX,OAAO,EAAE;AAAA,QACT,GAAI,EAAE,WAAW,WAAW,EAAE,QAAQ,EAAE,OAAO,IAAI,CAAC;AAAA,QACpD,GAAI,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,IAAI,CAAC;AAAA,QACpD,GAAI,EAAE,WAAW,EAAE,UAAU,KAAK,IAAI,CAAC;AAAA,MACzC,EAAE;AACF,YAAM,SAAS,KAAK,OAAO,IAAI,WAAW;AAC1C,YAAM,aAAa,KAAK,aAAa,CAAC,GAAG,IAAI,aAAa;AAC1D,YAAM,QAAkB,CAAC;AACzB,UAAI,UAAU,SAAS,GAAG;AACxB,cAAM,KAAK,cAAc;AAAA,MAC3B;AACA,UAAI,KAAK,OAAO,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,MAAM,CAAC,EAAE,OAAO,SAAS,GAAG;AAC5E,cAAM,KAAK,kBAAkB;AAAA,MAC/B;AACA,UAAI,KAAK,OAAO,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,MAAM,EAAE,OAAO,SAAS,GAAG;AAC3E,cAAM,KAAK,sBAAsB;AAAA,MACnC;AACA,UAAI,CAAC,GAAG,KAAK,SAAS,GAAG,KAAK,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,UAAU,EAAE,UAAU,UAAU,GAAG;AAC/F,cAAM;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AACA,YAAM;AAAA,QACJ;AAAA,MACF;AACA,gBAAU;AAAA,QACR,IAAI;AAAA,QACJ,MAAM,EAAE,SAAS,QAAQ,UAAU;AAAA,QACnC;AAAA,MACF,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,WAAK,GAAG;AAAA,IACV;AAAA,EACF;AACF,CAAC;AAED,IAAM,cAAc;AAAA,EAClB,QAAQ,EAAE,MAAM,UAAU,aAAa,uDAAuD,UAAU,KAAK;AAAA,EAC7G,OAAO,EAAE,MAAM,UAAU,aAAa,wCAAwC,UAAU,MAAM;AAChG;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AACR,CAAC;AAED,IAAM,iBAAiB,cAAc;AAAA,EACnC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQf;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,SAAS,wBAAwB,UAAU,EAAE,QAAQ,KAAK,QAAQ,OAAO,KAAK,MAAM,CAAC;AAC3F,QAAI,CAAC,OAAO,SAAS;AACnB,gBAAU;AAAA,QACR,IAAI;AAAA,QACJ,OAAO,EAAE,MAAM,oBAAoB,SAAS,OAAO,MAAM,OAAO,CAAC,GAAG,WAAW,oBAAoB;AAAA,MACrG,CAAC;AACD,cAAQ,KAAK,CAAC;AAAA,IAChB;AACA,QAAI;AACF,YAAM,OAAO,aAAa;AAC1B,YAAM,OAAO,MAAM,OAA2B,oBAAoB;AAAA,QAChE,QAAQ,OAAO,KAAK;AAAA,QACpB,OAAO,OAAO,OAAO,KAAK,KAAK;AAAA,QAC/B,GAAI,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;AAAA,MACvC,CAAC;AACD,gBAAU;AAAA,QACR,IAAI;AAAA,QACJ,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,GAAI,KAAK,WAAW,SAAS,EAAE,WAAW,KAAK,UAAU,IAAI,CAAC;AAAA,QAChE;AAAA,QACA,OAAO,aAAa,KAAK,MAAM,EAAE,WAAW,KAAK,aAAa,CAAC,EAAE,CAAC;AAAA,MACpE,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,WAAK,GAAG;AAAA,IACV;AAAA,EACF;AACF,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aAAa;AAAA,EACb,MAAM,CAAC;AACT,CAAC;AAED,IAAM,cAAc,cAAc;AAAA,EAChC,MAAM,EAAE,MAAM,QAAQ,aAAa,2DAA2D;AAAA,EAC9F,KAAK,YAAY;AACf,QAAI;AACF,YAAM,OAAO,aAAa;AAC1B,YAAM,OAAO,MAAM;AAAA,QACjB;AAAA,QACA,OAAO,EAAE,cAAc,KAAK,IAAI;AAAA,MAClC;AACA,gBAAU;AAAA,QACR,IAAI;AAAA;AAAA;AAAA,QAGJ,MAAM,KAAK,QAAQ,IAAI,CAAC,YAAY,EAAE,GAAG,QAAQ,QAAQ,QAAW,GAAG,YAAY,MAAM,EAAE,EAAE;AAAA,QAC7F,GAAI,KAAK,QAAQ,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,IACjD;AAAA,UACE,OAAO,KAAK,QAAQ,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,MAAM,CAAC,EAAE,OAAO,SAAS,IAC3E,CAAC,kBAAkB,IACnB,CAAC,sBAAsB;AAAA,QAC7B,IACA,CAAC;AAAA,MACP,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,WAAK,GAAG;AAAA,IACV;AAAA,EACF;AACF,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,UAAU,aAAa,qDAAgD,UAAU,KAAK;AAAA,IACpG,KAAK;AAAA,MACH,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,OAAO,EAAE,MAAM,UAAU,aAAa,qDAAqD,UAAU,MAAM;AAAA,IAC3G,QAAQ,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,MAAM;AAAA,EAClG;AACF,CAAC;AAED,IAAM,aAAa,cAAc;AAAA,EAC/B,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUf;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,EAAE,MAAM,UAAU,aAAa,gCAAgC,UAAU,KAAK;AAAA,IACpF,KAAK;AAAA,MACH,MAAM;AAAA,MACN,aAAa;AAAA,MACb,UAAU;AAAA,IACZ;AAAA,IACA,OAAO,EAAE,MAAM,UAAU,aAAa,qDAAqD,UAAU,MAAM;AAAA,IAC3G,QAAQ,EAAE,MAAM,UAAU,aAAa,yCAAyC,UAAU,MAAM;AAAA,EAClG;AAAA,EACA,KAAK,OAAO,EAAE,MAAM,QAAQ,MAAM;AAChC,QAAI;AACF,YAAM,QAAQ,WAAW,KAAK,KAAK;AACnC,YAAM,OAAO,aAAa;AAC1B,YAAM,UAAU,aAAa,KAAK,QAAQ,OAAO;AACjD,YAAM,OAAO,MAAM,QAA0B,mBAAmB;AAAA,QAC9D,MAAM,KAAK;AAAA,QACX,KAAK,KAAK;AAAA,QACV;AAAA,QACA,GAAI,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;AAAA,QACrC,GAAI,UAAU,EAAE,QAAQ,IAAI,CAAC;AAAA,MAC/B,CAAC;AACD,gBAAU;AAAA,QACR,IAAI;AAAA,QACJ;AAAA,QACA,OAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,WAAK,GAAG;AAAA,IACV;AAAA,EACF;AACF,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aAAa;AAAA,EACb,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,aAAa,yBAAyB,UAAU,KAAK,EAAE;AACzF,CAAC;AAED,IAAM,gBAAgB,cAAc;AAAA,EAClC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EACA,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,aAAa,yBAAyB,UAAU,KAAK,EAAE;AAAA,EACvF,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,QAAI;AACF,YAAM,OAAO,aAAa;AAC1B,YAAM,OAAO,MAAM,QAA8B,0BAA0B;AAAA,QACzE,MAAM,KAAK;AAAA,QACX,GAAI,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;AAAA,MACvC,CAAC;AACD,gBAAU,EAAE,IAAI,MAAM,KAAK,CAAC;AAAA,IAC9B,SAAS,KAAK;AACZ,WAAK,GAAG;AAAA,IACV;AAAA,EACF;AACF,CAAC;AAED,IAAM,iBAAiB;AAAA,EACrB,MAAM,EAAE,MAAM,UAAU,aAAa,oDAAoD,UAAU,KAAK;AAC1G;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AACR,CAAC;AAED,IAAM,gBAAgB,cAAc;AAAA,EAClC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,SAAS,iCAAiC,UAAU,EAAE,MAAM,KAAK,MAAM,cAAc,aAAa,EAAE,CAAC;AAC3G,QAAI,CAAC,OAAO,SAAS;AACnB,WAAK,IAAI,SAAS,oBAAoB,OAAO,MAAM,OAAO,CAAC,GAAG,WAAW,mBAAmB,CAAC;AAAA,IAC/F;AACA,QAAI;AACF,YAAM,OAAO,MAAM,QAAiC,0BAA0B,OAAO,IAAI;AACzF,gBAAU;AAAA,QACR,IAAI;AAAA,QACJ;AAAA,QACA,OAAO;AAAA,UACL,KAAK,KACD,6EACA,KAAK,YACH,yBACA;AAAA,QACR;AAAA,MACF,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,WAAK,GAAG;AAAA,IACV;AAAA,EACF;AACF,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AACR,CAAC;AAED,IAAM,iBAAiB,cAAc;AAAA,EACnC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA,EAIf;AAAA,EACA,MAAM;AAAA,EACN,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,SAAS,iCAAiC,UAAU,EAAE,MAAM,KAAK,MAAM,cAAc,aAAa,EAAE,CAAC;AAC3G,QAAI,CAAC,OAAO,SAAS;AACnB,WAAK,IAAI,SAAS,oBAAoB,OAAO,MAAM,OAAO,CAAC,GAAG,WAAW,mBAAmB,CAAC;AAAA,IAC/F;AACA,QAAI;AACF,YAAM,OAAO,MAAM,QAAkC,2BAA2B,OAAO,IAAI;AAC3F,gBAAU;AAAA,QACR,IAAI;AAAA,QACJ;AAAA,QACA,OAAO;AAAA,UACL;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,SAAS,KAAK;AACZ,WAAK,GAAG;AAAA,IACV;AAAA,EACF;AACF,CAAC;AAEM,IAAM,aAAa,cAAc;AAAA,EACtC,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBf;AAAA,EACA,aAAa;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,MAAM;AAAA,IACN,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AACF,CAAC;","names":[]}