@koda-sl/baker-cli 0.496.0 → 0.497.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (841) hide show
  1. package/README.md +25 -4
  2. package/dist/account-ZKJFX2GK.js +80 -0
  3. package/dist/account-ZKJFX2GK.js.map +1 -0
  4. package/dist/account-users-SZCYHVBM.js +62 -0
  5. package/dist/account-users-SZCYHVBM.js.map +1 -0
  6. package/dist/accounts-5DFYKYSM.js +78 -0
  7. package/dist/accounts-5DFYKYSM.js.map +1 -0
  8. package/dist/accounts-OGAIQNE6.js +612 -0
  9. package/dist/accounts-OGAIQNE6.js.map +1 -0
  10. package/dist/actions-FMNJSOBA.js +55 -0
  11. package/dist/activecampaign-LYYYH6XD.js +936 -0
  12. package/dist/activecampaign-LYYYH6XD.js.map +1 -0
  13. package/dist/add-AOQLZRPC.js +80 -0
  14. package/dist/add-AOQLZRPC.js.map +1 -0
  15. package/dist/add-HWXEPSZF.js +105 -0
  16. package/dist/add-HWXEPSZF.js.map +1 -0
  17. package/dist/add-VDZPGZF5.js +148 -0
  18. package/dist/add-VDZPGZF5.js.map +1 -0
  19. package/dist/add-YYP3O536.js +303 -0
  20. package/dist/add-YYP3O536.js.map +1 -0
  21. package/dist/ads-OLXSDPD6.js +40 -0
  22. package/dist/advertisers-STYAIX72.js +121 -0
  23. package/dist/advertisers-STYAIX72.js.map +1 -0
  24. package/dist/analytics-6WBK4VFO.js +1977 -0
  25. package/dist/analytics-6WBK4VFO.js.map +1 -0
  26. package/dist/analytics-DHB325DM.js +434 -0
  27. package/dist/analytics-DHB325DM.js.map +1 -0
  28. package/dist/assign-BFXHYTMF.js +78 -0
  29. package/dist/assign-BFXHYTMF.js.map +1 -0
  30. package/dist/audience-size-XWHZV2GH.js +74 -0
  31. package/dist/audience-size-XWHZV2GH.js.map +1 -0
  32. package/dist/audit-IYGRU7LD.js +152 -0
  33. package/dist/audit-IYGRU7LD.js.map +1 -0
  34. package/dist/autocomplete-SDDSJTAF.js +112 -0
  35. package/dist/autocomplete-SDDSJTAF.js.map +1 -0
  36. package/dist/avatars-I4H3NMEJ.js +38 -0
  37. package/dist/bid-pricing-OVYBDRMV.js +101 -0
  38. package/dist/bid-pricing-OVYBDRMV.js.map +1 -0
  39. package/dist/brand-3V7ECY7D.js +22 -0
  40. package/dist/brief-U2W7KMFC.js +539 -0
  41. package/dist/brief-U2W7KMFC.js.map +1 -0
  42. package/dist/campaign-groups-FJHBVUA3.js +97 -0
  43. package/dist/campaign-groups-FJHBVUA3.js.map +1 -0
  44. package/dist/campaign-writes-XKYYMZML.js +166 -0
  45. package/dist/campaign-writes-XKYYMZML.js.map +1 -0
  46. package/dist/campaigns-E5UW4I3X.js +111 -0
  47. package/dist/campaigns-E5UW4I3X.js.map +1 -0
  48. package/dist/campaigns-MCB76NPQ.js +107 -0
  49. package/dist/canvas-JCNKMGCG.js +46 -0
  50. package/dist/capabilities-CLTZCXCZ.js +145 -0
  51. package/dist/capabilities-CLTZCXCZ.js.map +1 -0
  52. package/dist/chatgpt-XFZ42NXC.js +47 -0
  53. package/dist/chats-DTJSBDWO.js +277 -0
  54. package/dist/chats-DTJSBDWO.js.map +1 -0
  55. package/dist/check-CZTS64AW.js +105 -0
  56. package/dist/check-CZTS64AW.js.map +1 -0
  57. package/dist/chunk-2YTBPRRG.js +207 -0
  58. package/dist/chunk-3SNCMEJB.js +97 -0
  59. package/dist/chunk-7QGFO35A.js +23 -0
  60. package/dist/chunk-AV7ALENU.js +191 -0
  61. package/dist/chunk-BRLFQ4VX.js +604 -0
  62. package/dist/chunk-CAZGM2NX.js +92 -0
  63. package/dist/chunk-CAZGM2NX.js.map +1 -0
  64. package/dist/chunk-DJE7UXYT.js +831 -0
  65. package/dist/chunk-EFWXYUSK.js +139 -0
  66. package/dist/chunk-EONSZAZB.js +3868 -0
  67. package/dist/chunk-FALJQCWL.js +661 -0
  68. package/dist/chunk-FALJQCWL.js.map +1 -0
  69. package/dist/chunk-FG3MV2XM.js +89 -0
  70. package/dist/chunk-FKG476GH.js +392 -0
  71. package/dist/chunk-FUGQSIYG.js +297 -0
  72. package/dist/chunk-GZ4A2VYW.js +39 -0
  73. package/dist/chunk-GZ4A2VYW.js.map +1 -0
  74. package/dist/chunk-HPLHAHG5.js +275 -0
  75. package/dist/chunk-I24YT2KG.js +122 -0
  76. package/dist/chunk-IFDZZOUC.js +903 -0
  77. package/dist/chunk-JVVUI55M.js +455 -0
  78. package/dist/chunk-KKSHEPBY.js +363 -0
  79. package/dist/chunk-KQ7RCLGC.js +547 -0
  80. package/dist/chunk-L7WMS5PW.js +172 -0
  81. package/dist/chunk-LBRO4MTL.js +19 -0
  82. package/dist/chunk-LNRPOULW.js +224 -0
  83. package/dist/chunk-LX6WC2XZ.js +942 -0
  84. package/dist/chunk-MMGTJBM6.js +142 -0
  85. package/dist/chunk-NZS3KEQ2.js +97 -0
  86. package/dist/chunk-NZS3KEQ2.js.map +1 -0
  87. package/dist/chunk-O37VU7FG.js +6799 -0
  88. package/dist/chunk-O37VU7FG.js.map +1 -0
  89. package/dist/chunk-OEZYSL3U.js +51 -0
  90. package/dist/chunk-OOVHBMQB.js +103 -0
  91. package/dist/chunk-PTH7VWKK.js +159 -0
  92. package/dist/chunk-PYD6IGW6.js +401 -0
  93. package/dist/chunk-PYD6IGW6.js.map +1 -0
  94. package/dist/chunk-QE2E4EYJ.js +349 -0
  95. package/dist/chunk-QE2E4EYJ.js.map +1 -0
  96. package/dist/chunk-QZF4BVKL.js +66 -0
  97. package/dist/chunk-RITUSBYO.js +61 -0
  98. package/dist/chunk-SSTL3A7Z.js +206 -0
  99. package/dist/chunk-SZNGQ2GF.js +64 -0
  100. package/dist/chunk-SZNGQ2GF.js.map +1 -0
  101. package/dist/chunk-TD4SO6TR.js +169 -0
  102. package/dist/chunk-UZ4RTOFG.js +91 -0
  103. package/dist/chunk-VAX7PFQV.js +592 -0
  104. package/dist/chunk-VDRSZK4P.js +494 -0
  105. package/dist/chunk-VNU2EYD4.js +344 -0
  106. package/dist/chunk-WT4WDIXA.js +156 -0
  107. package/dist/chunk-XEX23CIB.js +160 -0
  108. package/dist/chunk-XXDF25BW.js +8939 -0
  109. package/dist/chunk-YJ3LSFMX.js +249 -0
  110. package/dist/chunk-YVK5RT3B.js +197 -0
  111. package/dist/chunk-YWWRLZUR.js +433 -0
  112. package/dist/chunk-Z4S5BCVZ.js +57 -0
  113. package/dist/chunk-ZYGK7GAK.js +1079 -0
  114. package/dist/claim-TSFPWTQY.js +198 -0
  115. package/dist/claim-TSFPWTQY.js.map +1 -0
  116. package/dist/cli.js +38 -37
  117. package/dist/cli.js.map +1 -1
  118. package/dist/companies-P7FZNJQV.js +196 -0
  119. package/dist/companies-P7FZNJQV.js.map +1 -0
  120. package/dist/complete-SYDIHMD5.js +82 -0
  121. package/dist/complete-SYDIHMD5.js.map +1 -0
  122. package/dist/connect-COS6G45S.js +43 -0
  123. package/dist/conversation-UJOWMJRH.js +94 -0
  124. package/dist/conversation-UJOWMJRH.js.map +1 -0
  125. package/dist/conversions-ONOIEILU.js +138 -0
  126. package/dist/conversions-ONOIEILU.js.map +1 -0
  127. package/dist/create-DPQRYQXK.js +208 -0
  128. package/dist/create-DPQRYQXK.js.map +1 -0
  129. package/dist/create-JD76Z4A4.js +60 -0
  130. package/dist/create-JD76Z4A4.js.map +1 -0
  131. package/dist/create-NOT3HGP2.js +133 -0
  132. package/dist/create-NOT3HGP2.js.map +1 -0
  133. package/dist/create-ZYEB7SHF.js +236 -0
  134. package/dist/create-ZYEB7SHF.js.map +1 -0
  135. package/dist/creatives-LRSELC7Y.js +221 -0
  136. package/dist/creatives-LRSELC7Y.js.map +1 -0
  137. package/dist/creatives-SEQHJD2M.js +58 -0
  138. package/dist/credentials-LHPTUVVA.js +288 -0
  139. package/dist/credentials-LHPTUVVA.js.map +1 -0
  140. package/dist/critique-Q7GSZ5RP.js +1459 -0
  141. package/dist/critique-Q7GSZ5RP.js.map +1 -0
  142. package/dist/critique-RR2XOQCE.js +228 -0
  143. package/dist/critique-RR2XOQCE.js.map +1 -0
  144. package/dist/crm-J7EU32PL.js +319 -0
  145. package/dist/crm-J7EU32PL.js.map +1 -0
  146. package/dist/crm-MC444ZVU.js +225 -0
  147. package/dist/crm-MC444ZVU.js.map +1 -0
  148. package/dist/customers-LMSX33FO.js +57 -0
  149. package/dist/delete-BQBVATMF.js +55 -0
  150. package/dist/delete-BQBVATMF.js.map +1 -0
  151. package/dist/delete-K7A3AUPH.js +65 -0
  152. package/dist/delete-K7A3AUPH.js.map +1 -0
  153. package/dist/delete-VV2ICIHF.js +67 -0
  154. package/dist/delete-VV2ICIHF.js.map +1 -0
  155. package/dist/demographics-7GWUXXS6.js +139 -0
  156. package/dist/demographics-7GWUXXS6.js.map +1 -0
  157. package/dist/discard-3CLZ4DPD.js +67 -0
  158. package/dist/discard-3CLZ4DPD.js.map +1 -0
  159. package/dist/domain-ZS74BSE6.js +99 -0
  160. package/dist/domain-ZS74BSE6.js.map +1 -0
  161. package/dist/draft-J3B33RAZ.js +308 -0
  162. package/dist/draft-J3B33RAZ.js.map +1 -0
  163. package/dist/draft-MZLWVX3D.js +218 -0
  164. package/dist/draft-MZLWVX3D.js.map +1 -0
  165. package/dist/draft-R56PIXCV.js +333 -0
  166. package/dist/draft-R56PIXCV.js.map +1 -0
  167. package/dist/experiment-7RJ5X2LL.js +1397 -0
  168. package/dist/experiments-NOSJJMYI.js +234 -0
  169. package/dist/experiments-NOSJJMYI.js.map +1 -0
  170. package/dist/facets-E6SHYUAI.js +115 -0
  171. package/dist/facets-E6SHYUAI.js.map +1 -0
  172. package/dist/feedback-HXCQBV7S.js +107 -0
  173. package/dist/feedback-HXCQBV7S.js.map +1 -0
  174. package/dist/feedback-record-GXPYXNT6.js +261 -0
  175. package/dist/feedback-record-GXPYXNT6.js.map +1 -0
  176. package/dist/fetch-HMUGSRE4.js +177 -0
  177. package/dist/fetch-HMUGSRE4.js.map +1 -0
  178. package/dist/find-2EPXK5RF.js +134 -0
  179. package/dist/fit-W7UNFZT5.js +63 -0
  180. package/dist/flows-SO5J3M3X.js +248 -0
  181. package/dist/flows-SO5J3M3X.js.map +1 -0
  182. package/dist/fonts-N42UYWTX.js +37 -0
  183. package/dist/forecast-24LGJVLC.js +119 -0
  184. package/dist/forecast-24LGJVLC.js.map +1 -0
  185. package/dist/funnel-NYT36B3C.js +395 -0
  186. package/dist/funnel-NYT36B3C.js.map +1 -0
  187. package/dist/ga4-6EIQC2TG.js +55 -0
  188. package/dist/get-KAGO4EC5.js +80 -0
  189. package/dist/get-KAGO4EC5.js.map +1 -0
  190. package/dist/get-PZX27LQY.js +38 -0
  191. package/dist/get-PZX27LQY.js.map +1 -0
  192. package/dist/get-R5JAFHTH.js +57 -0
  193. package/dist/get-R5JAFHTH.js.map +1 -0
  194. package/dist/google-O5OI6QFU.js +136 -0
  195. package/dist/google-ads-6X4BHGUR.js +196 -0
  196. package/dist/google-ads-6X4BHGUR.js.map +1 -0
  197. package/dist/gsc-BM3T2GDL.js +30 -0
  198. package/dist/history-LGOWYLBE.js +134 -0
  199. package/dist/history-LGOWYLBE.js.map +1 -0
  200. package/dist/hubspot-LJB3ETUT.js +780 -0
  201. package/dist/hubspot-LJB3ETUT.js.map +1 -0
  202. package/dist/icon-B7DG53S5.js +137 -0
  203. package/dist/ideas-DYN2DMFN.js +41 -0
  204. package/dist/images-EQCUXEHF.js +92 -0
  205. package/dist/ingest-B46AY3QU.js +24 -0
  206. package/dist/ingest-T7ZS2R4U.js +108 -0
  207. package/dist/ingest-T7ZS2R4U.js.map +1 -0
  208. package/dist/inspect-BSNGAT2S.js +190 -0
  209. package/dist/inspect-BSNGAT2S.js.map +1 -0
  210. package/dist/inspiration-TCCKM4R7.js +53 -0
  211. package/dist/keyword-metrics-KNTIN4ZK.js +198 -0
  212. package/dist/keyword-metrics-KNTIN4ZK.js.map +1 -0
  213. package/dist/keywords-for-site-S4MXGXWR.js +129 -0
  214. package/dist/keywords-for-site-S4MXGXWR.js.map +1 -0
  215. package/dist/landing-WVPA7NBR.js +28 -0
  216. package/dist/leads-EINV5FK3.js +113 -0
  217. package/dist/leads-EINV5FK3.js.map +1 -0
  218. package/dist/learn-7Z2VR6MS.js +205 -0
  219. package/dist/learn-7Z2VR6MS.js.map +1 -0
  220. package/dist/line-item-writes-Z3TIB5KZ.js +209 -0
  221. package/dist/line-item-writes-Z3TIB5KZ.js.map +1 -0
  222. package/dist/line-items-OEWYOPFP.js +103 -0
  223. package/dist/link-KYHUIPJE.js +65 -0
  224. package/dist/link-KYHUIPJE.js.map +1 -0
  225. package/dist/linkedin-JVB4HXJC.js +1314 -0
  226. package/dist/linkedin-JVB4HXJC.js.map +1 -0
  227. package/dist/list-EORTO73V.js +93 -0
  228. package/dist/list-EORTO73V.js.map +1 -0
  229. package/dist/list-QQVLURKH.js +152 -0
  230. package/dist/list-QQVLURKH.js.map +1 -0
  231. package/dist/list-QWGKRUSM.js +65 -0
  232. package/dist/list-QWGKRUSM.js.map +1 -0
  233. package/dist/list-WRBWQASJ.js +50 -0
  234. package/dist/list-Z6NMNK3T.js +304 -0
  235. package/dist/list-Z6NMNK3T.js.map +1 -0
  236. package/dist/log-RUMKYPYK.js +93 -0
  237. package/dist/log-RUMKYPYK.js.map +1 -0
  238. package/dist/logo-QTSBKP2J.js +18 -0
  239. package/dist/make-IJGCQA7C.js +1354 -0
  240. package/dist/make-IJGCQA7C.js.map +1 -0
  241. package/dist/map-QZHIJFQT.js +434 -0
  242. package/dist/map-QZHIJFQT.js.map +1 -0
  243. package/dist/mcp-ZH2XDV5P.js +715 -0
  244. package/dist/mcp-ZH2XDV5P.js.map +1 -0
  245. package/dist/media-sources-SQ2RPDBO.js +35 -0
  246. package/dist/media-sources-SQ2RPDBO.js.map +1 -0
  247. package/dist/members-4YX7JEZM.js +45 -0
  248. package/dist/members-4YX7JEZM.js.map +1 -0
  249. package/dist/normalize-ABIWLRIT.js +142 -0
  250. package/dist/normalize-ABIWLRIT.js.map +1 -0
  251. package/dist/options-SVCQVTNE.js +123 -0
  252. package/dist/options-SVCQVTNE.js.map +1 -0
  253. package/dist/organization-FNKDC742.js +947 -0
  254. package/dist/organization-FNKDC742.js.map +1 -0
  255. package/dist/performance-HTU5FR2K.js +25 -0
  256. package/dist/posts-3DAPTBH2.js +34 -0
  257. package/dist/posts-3DAPTBH2.js.map +1 -0
  258. package/dist/promoted-tweet-writes-DD3CJNWW.js +181 -0
  259. package/dist/promoted-tweet-writes-DD3CJNWW.js.map +1 -0
  260. package/dist/promoted-tweets-TTWN5OMW.js +119 -0
  261. package/dist/publish-Z62KGDJ2.js +342 -0
  262. package/dist/publish-Z62KGDJ2.js.map +1 -0
  263. package/dist/reddit-6C3PT5CT.js +27 -0
  264. package/dist/refresh-HCQXVFVR.js +95 -0
  265. package/dist/refresh-HCQXVFVR.js.map +1 -0
  266. package/dist/refresh-ZCGH64OZ.js +42 -0
  267. package/dist/refresh-ZCGH64OZ.js.map +1 -0
  268. package/dist/release-FIHW2HCH.js +61 -0
  269. package/dist/release-FIHW2HCH.js.map +1 -0
  270. package/dist/remove-CBR7NVMI.js +51 -0
  271. package/dist/remove-CBR7NVMI.js.map +1 -0
  272. package/dist/remove-PUZP5GWN.js +49 -0
  273. package/dist/remove-PUZP5GWN.js.map +1 -0
  274. package/dist/reopen-EJGLRQWR.js +64 -0
  275. package/dist/reopen-EJGLRQWR.js.map +1 -0
  276. package/dist/rerun-TVBZXASH.js +91 -0
  277. package/dist/rerun-TVBZXASH.js.map +1 -0
  278. package/dist/research-L25D4WHQ.js +263 -0
  279. package/dist/research-L25D4WHQ.js.map +1 -0
  280. package/dist/research-YCMMQVK6.js +62 -0
  281. package/dist/reset-HKKCWKZ7.js +55 -0
  282. package/dist/reset-HKKCWKZ7.js.map +1 -0
  283. package/dist/reset-SRL6I6GP.js +55 -0
  284. package/dist/reset-SRL6I6GP.js.map +1 -0
  285. package/dist/resolve-POMTTAFR.js +122 -0
  286. package/dist/resolve-POMTTAFR.js.map +1 -0
  287. package/dist/retry-MEPTOAV2.js +61 -0
  288. package/dist/retry-MEPTOAV2.js.map +1 -0
  289. package/dist/retry-RNGM3KKA.js +63 -0
  290. package/dist/retry-RNGM3KKA.js.map +1 -0
  291. package/dist/revenue-X4KPTSAM.js +89 -0
  292. package/dist/revenue-X4KPTSAM.js.map +1 -0
  293. package/dist/rules-VK7YA23Q.js +97 -0
  294. package/dist/rules-VK7YA23Q.js.map +1 -0
  295. package/dist/rules-add-VG7AT6EG.js +463 -0
  296. package/dist/rules-add-VG7AT6EG.js.map +1 -0
  297. package/dist/run-DIDQSZU7.js +67 -0
  298. package/dist/run-DIDQSZU7.js.map +1 -0
  299. package/dist/run-SR7DJ7M5.js +66 -0
  300. package/dist/scaffold-ad-46GTFUMP.js +1512 -0
  301. package/dist/scaffold-ad-46GTFUMP.js.map +1 -0
  302. package/dist/scaffold-static-ad-U63V4UHR.js +1006 -0
  303. package/dist/scaffold-static-ad-U63V4UHR.js.map +1 -0
  304. package/dist/scaffold-video-4DNTURH6.js +884 -0
  305. package/dist/scaffold-video-4DNTURH6.js.map +1 -0
  306. package/dist/schedule-JO66N7XO.js +62 -0
  307. package/dist/schedule-JO66N7XO.js.map +1 -0
  308. package/dist/schedule-JZBIX6LH.js +67 -0
  309. package/dist/schedule-JZBIX6LH.js.map +1 -0
  310. package/dist/scheduled-agents-N63EZNY6.js +50 -0
  311. package/dist/schema-B2XANMEY.js +133 -0
  312. package/dist/schema-B2XANMEY.js.map +1 -0
  313. package/dist/schema-C6SGBNA6.js +69 -0
  314. package/dist/search-7GHS3OUZ.js +51 -0
  315. package/dist/search-7GHS3OUZ.js.map +1 -0
  316. package/dist/search-W5HZUJA2.js +175 -0
  317. package/dist/search-W5HZUJA2.js.map +1 -0
  318. package/dist/select-LMGLNFWB.js +102 -0
  319. package/dist/select-LMGLNFWB.js.map +1 -0
  320. package/dist/set-prompt-M5E3UZDM.js +194 -0
  321. package/dist/set-prompt-M5E3UZDM.js.map +1 -0
  322. package/dist/setup-links-ERBQSKAB.js +142 -0
  323. package/dist/setup-links-ERBQSKAB.js.map +1 -0
  324. package/dist/site-PNVFJRYK.js +178 -0
  325. package/dist/site-PNVFJRYK.js.map +1 -0
  326. package/dist/sources-DMZJPLKC.js +455 -0
  327. package/dist/sources-DMZJPLKC.js.map +1 -0
  328. package/dist/sources-HN3GCEDX.js +30 -0
  329. package/dist/stale-VWN25WTL.js +72 -0
  330. package/dist/stale-VWN25WTL.js.map +1 -0
  331. package/dist/stats-CVF6AC7R.js +34 -0
  332. package/dist/status-SF7DTPCJ.js +63 -0
  333. package/dist/status-SF7DTPCJ.js.map +1 -0
  334. package/dist/stock-4LPQ6SM7.js +179 -0
  335. package/dist/studio-NZ6WQ7OE.js +49 -0
  336. package/dist/suggest-WMMEQCUH.js +66 -0
  337. package/dist/suggest-WMMEQCUH.js.map +1 -0
  338. package/dist/sync-F7VNZLWY.js +55 -0
  339. package/dist/sync-F7VNZLWY.js.map +1 -0
  340. package/dist/sync-HVNDPBOD.js +55 -0
  341. package/dist/sync-HVNDPBOD.js.map +1 -0
  342. package/dist/sync-definition-CKEUYKWN.js +65 -0
  343. package/dist/tag-KTQ2FV5C.js +57 -0
  344. package/dist/tag-KTQ2FV5C.js.map +1 -0
  345. package/dist/tag-manager-FLXXLNKP.js +43 -0
  346. package/dist/tags-EUOOSAKN.js +26 -0
  347. package/dist/tags-KOMAP2G5.js +21 -0
  348. package/dist/tags-KOMAP2G5.js.map +1 -0
  349. package/dist/tags-TKXJGTR3.js +21 -0
  350. package/dist/tags-TKXJGTR3.js.map +1 -0
  351. package/dist/tags-VWIPDCUA.js +225 -0
  352. package/dist/tags-VWIPDCUA.js.map +1 -0
  353. package/dist/tags-XAB4HWGW.js +21 -0
  354. package/dist/tags-XAB4HWGW.js.map +1 -0
  355. package/dist/targeting-criteria-HE7K52WN.js +113 -0
  356. package/dist/targets-NA4XPDBF.js +104 -0
  357. package/dist/targets-NA4XPDBF.js.map +1 -0
  358. package/dist/testimonials-3Q5XM7JD.js +32 -0
  359. package/dist/top-companies-TKO4QGPJ.js +109 -0
  360. package/dist/top-companies-TKO4QGPJ.js.map +1 -0
  361. package/dist/translate-YVIZ5T44.js +605 -0
  362. package/dist/translate-YVIZ5T44.js.map +1 -0
  363. package/dist/triggers-QX7VW7UO.js +143 -0
  364. package/dist/triggers-QX7VW7UO.js.map +1 -0
  365. package/dist/unlink-64SRPUNG.js +68 -0
  366. package/dist/unlink-64SRPUNG.js.map +1 -0
  367. package/dist/unstage-5X2MOUMF.js +86 -0
  368. package/dist/unstage-5X2MOUMF.js.map +1 -0
  369. package/dist/update-22ZBHURE.js +81 -0
  370. package/dist/update-22ZBHURE.js.map +1 -0
  371. package/dist/update-2LTPSGWT.js +99 -0
  372. package/dist/update-2LTPSGWT.js.map +1 -0
  373. package/dist/update-DOKS7ATM.js +189 -0
  374. package/dist/update-DOKS7ATM.js.map +1 -0
  375. package/dist/update-FB6X463M.js +64 -0
  376. package/dist/update-FB6X463M.js.map +1 -0
  377. package/dist/update-QIZ7XFAM.js +153 -0
  378. package/dist/update-QIZ7XFAM.js.map +1 -0
  379. package/dist/upload-XJ7TUVIK.js +127 -0
  380. package/dist/upload-XJ7TUVIK.js.map +1 -0
  381. package/dist/url-params-KLQOLNPS.js +99 -0
  382. package/dist/url-params-KLQOLNPS.js.map +1 -0
  383. package/dist/validate-YTBJBG44.js +118 -0
  384. package/dist/validate-YTBJBG44.js.map +1 -0
  385. package/dist/videos-WAPUPJVT.js +39 -0
  386. package/dist/viewer-check-GHQA3UY2.js +81 -0
  387. package/dist/web-6JMWERTT.js +141 -0
  388. package/dist/web-6JMWERTT.js.map +1 -0
  389. package/dist/winning-ads-XCVUAIOU.js +86 -0
  390. package/dist/write-commands-N74CDMQM.js +1493 -0
  391. package/dist/write-commands-N74CDMQM.js.map +1 -0
  392. package/dist/x-SI4KYDEY.js +47 -0
  393. package/package.json +1 -1
  394. package/dist/account-UHNR5KTE.js +0 -79
  395. package/dist/account-UHNR5KTE.js.map +0 -1
  396. package/dist/accounts-KMLXHADA.js +0 -77
  397. package/dist/accounts-KMLXHADA.js.map +0 -1
  398. package/dist/accounts-QDGNTSTV.js +0 -611
  399. package/dist/accounts-QDGNTSTV.js.map +0 -1
  400. package/dist/actions-QL5UD2W4.js +0 -55
  401. package/dist/activecampaign-5OD45ROS.js +0 -935
  402. package/dist/activecampaign-5OD45ROS.js.map +0 -1
  403. package/dist/add-2F7BEVYD.js +0 -105
  404. package/dist/add-2F7BEVYD.js.map +0 -1
  405. package/dist/add-6K6LO7CM.js +0 -104
  406. package/dist/add-6K6LO7CM.js.map +0 -1
  407. package/dist/add-LYDJZDGO.js +0 -302
  408. package/dist/add-LYDJZDGO.js.map +0 -1
  409. package/dist/ads-DHPJFU52.js +0 -40
  410. package/dist/advertisers-23LU7GTV.js +0 -120
  411. package/dist/advertisers-23LU7GTV.js.map +0 -1
  412. package/dist/analytics-HO2SLL4W.js +0 -433
  413. package/dist/analytics-HO2SLL4W.js.map +0 -1
  414. package/dist/analytics-LD3D7ISK.js +0 -1976
  415. package/dist/analytics-LD3D7ISK.js.map +0 -1
  416. package/dist/assign-CLKJKH2B.js +0 -77
  417. package/dist/assign-CLKJKH2B.js.map +0 -1
  418. package/dist/audience-size-NNYYXODL.js +0 -73
  419. package/dist/audience-size-NNYYXODL.js.map +0 -1
  420. package/dist/audit-KB4P2XGS.js +0 -151
  421. package/dist/audit-KB4P2XGS.js.map +0 -1
  422. package/dist/autocomplete-VZD2SMTE.js +0 -111
  423. package/dist/autocomplete-VZD2SMTE.js.map +0 -1
  424. package/dist/avatars-FKOO6VZ2.js +0 -38
  425. package/dist/bid-pricing-6LLXOLLI.js +0 -100
  426. package/dist/bid-pricing-6LLXOLLI.js.map +0 -1
  427. package/dist/brand-NNWHBIAX.js +0 -22
  428. package/dist/brief-CPJQWT6W.js +0 -538
  429. package/dist/brief-CPJQWT6W.js.map +0 -1
  430. package/dist/campaign-groups-YPYNXOWU.js +0 -95
  431. package/dist/campaign-groups-YPYNXOWU.js.map +0 -1
  432. package/dist/campaign-writes-UJ4L2O6G.js +0 -165
  433. package/dist/campaign-writes-UJ4L2O6G.js.map +0 -1
  434. package/dist/campaigns-HLBZRH5A.js +0 -107
  435. package/dist/campaigns-N44ZDGB5.js +0 -109
  436. package/dist/campaigns-N44ZDGB5.js.map +0 -1
  437. package/dist/canvas-D64GLWUO.js +0 -46
  438. package/dist/capabilities-LWXCWMIY.js +0 -144
  439. package/dist/capabilities-LWXCWMIY.js.map +0 -1
  440. package/dist/chatgpt-YI6YNACI.js +0 -47
  441. package/dist/chats-7WGC2CVW.js +0 -276
  442. package/dist/chats-7WGC2CVW.js.map +0 -1
  443. package/dist/check-EH6BXWWL.js +0 -104
  444. package/dist/check-EH6BXWWL.js.map +0 -1
  445. package/dist/chunk-2B772ZEA.js +0 -169
  446. package/dist/chunk-2KRK667G.js +0 -51
  447. package/dist/chunk-2TVXJPGR.js +0 -103
  448. package/dist/chunk-3AMLOCXY.js +0 -392
  449. package/dist/chunk-3B5LPK6D.js +0 -658
  450. package/dist/chunk-3B5LPK6D.js.map +0 -1
  451. package/dist/chunk-3N5A44NQ.js +0 -122
  452. package/dist/chunk-3WAYZQNV.js +0 -61
  453. package/dist/chunk-5A257KJA.js +0 -160
  454. package/dist/chunk-6QGS3RQP.js +0 -363
  455. package/dist/chunk-AFD32O4A.js +0 -494
  456. package/dist/chunk-AW2GKIGS.js +0 -433
  457. package/dist/chunk-CYSBNCPX.js +0 -55
  458. package/dist/chunk-CYSBNCPX.js.map +0 -1
  459. package/dist/chunk-DAO63OOP.js +0 -6352
  460. package/dist/chunk-DAO63OOP.js.map +0 -1
  461. package/dist/chunk-EMQUW6JB.js +0 -942
  462. package/dist/chunk-EW3JEKIV.js +0 -139
  463. package/dist/chunk-FBFWMTOP.js +0 -19
  464. package/dist/chunk-GXDLWBOY.js +0 -73
  465. package/dist/chunk-GXDLWBOY.js.map +0 -1
  466. package/dist/chunk-GXGYTFZA.js +0 -8939
  467. package/dist/chunk-I7J7YQXZ.js +0 -142
  468. package/dist/chunk-IBY44U2M.js +0 -1079
  469. package/dist/chunk-IFXGCI33.js +0 -297
  470. package/dist/chunk-IKLHXGMF.js +0 -91
  471. package/dist/chunk-IYTPWAN3.js +0 -604
  472. package/dist/chunk-J3CWAERS.js +0 -3868
  473. package/dist/chunk-JH2L5CQD.js +0 -206
  474. package/dist/chunk-JUVVCA7B.js +0 -97
  475. package/dist/chunk-MK6XJUCQ.js +0 -197
  476. package/dist/chunk-N3I6ZXR7.js +0 -66
  477. package/dist/chunk-NBO2NSAW.js +0 -592
  478. package/dist/chunk-NEU5QD2C.js +0 -249
  479. package/dist/chunk-NKIBXOHT.js +0 -344
  480. package/dist/chunk-OE3MIV4F.js +0 -547
  481. package/dist/chunk-P2MFWJR3.js +0 -903
  482. package/dist/chunk-PHCIFBP3.js +0 -89
  483. package/dist/chunk-PTUXBO5O.js +0 -224
  484. package/dist/chunk-Q3LXLWZY.js +0 -275
  485. package/dist/chunk-Q5WBTVA7.js +0 -455
  486. package/dist/chunk-RDEAVCMF.js +0 -399
  487. package/dist/chunk-RDEAVCMF.js.map +0 -1
  488. package/dist/chunk-RGMKXNQP.js +0 -23
  489. package/dist/chunk-RZTKCCUL.js +0 -831
  490. package/dist/chunk-TTKBNBQF.js +0 -156
  491. package/dist/chunk-VB3XUR6A.js +0 -207
  492. package/dist/chunk-XCKINS7K.js +0 -57
  493. package/dist/chunk-Y6GKV7CU.js +0 -346
  494. package/dist/chunk-Y6GKV7CU.js.map +0 -1
  495. package/dist/chunk-Z2GQREJY.js +0 -159
  496. package/dist/chunk-ZDAVSTEE.js +0 -172
  497. package/dist/chunk-ZXCSOVS5.js +0 -191
  498. package/dist/claim-SVDCQ2AI.js +0 -197
  499. package/dist/claim-SVDCQ2AI.js.map +0 -1
  500. package/dist/companies-BYMYQK6A.js +0 -195
  501. package/dist/companies-BYMYQK6A.js.map +0 -1
  502. package/dist/complete-NEH3MWRI.js +0 -81
  503. package/dist/complete-NEH3MWRI.js.map +0 -1
  504. package/dist/connect-5PGL7ZOM.js +0 -42
  505. package/dist/conversation-CSOKJXDW.js +0 -93
  506. package/dist/conversation-CSOKJXDW.js.map +0 -1
  507. package/dist/conversions-4JOTTFEH.js +0 -135
  508. package/dist/conversions-4JOTTFEH.js.map +0 -1
  509. package/dist/create-2XYMBULY.js +0 -207
  510. package/dist/create-2XYMBULY.js.map +0 -1
  511. package/dist/create-56PTZABQ.js +0 -235
  512. package/dist/create-56PTZABQ.js.map +0 -1
  513. package/dist/create-D6S6TGWY.js +0 -59
  514. package/dist/create-D6S6TGWY.js.map +0 -1
  515. package/dist/create-SMW4O5PC.js +0 -132
  516. package/dist/create-SMW4O5PC.js.map +0 -1
  517. package/dist/creatives-OO76DAFS.js +0 -58
  518. package/dist/creatives-VJUYWJL6.js +0 -182
  519. package/dist/creatives-VJUYWJL6.js.map +0 -1
  520. package/dist/credentials-2ONYUJW6.js +0 -287
  521. package/dist/credentials-2ONYUJW6.js.map +0 -1
  522. package/dist/critique-NDDFSGPE.js +0 -1458
  523. package/dist/critique-NDDFSGPE.js.map +0 -1
  524. package/dist/critique-YXZVMLZ4.js +0 -227
  525. package/dist/critique-YXZVMLZ4.js.map +0 -1
  526. package/dist/crm-Q6CEP5XV.js +0 -224
  527. package/dist/crm-Q6CEP5XV.js.map +0 -1
  528. package/dist/crm-WRONZYDH.js +0 -318
  529. package/dist/crm-WRONZYDH.js.map +0 -1
  530. package/dist/customers-2EFYSCU2.js +0 -56
  531. package/dist/delete-7WEVC3FS.js +0 -66
  532. package/dist/delete-7WEVC3FS.js.map +0 -1
  533. package/dist/delete-RBWK255M.js +0 -54
  534. package/dist/delete-RBWK255M.js.map +0 -1
  535. package/dist/delete-VN4WWMQF.js +0 -64
  536. package/dist/delete-VN4WWMQF.js.map +0 -1
  537. package/dist/demographics-I5XZ435C.js +0 -138
  538. package/dist/demographics-I5XZ435C.js.map +0 -1
  539. package/dist/discard-XJLIXTNM.js +0 -66
  540. package/dist/discard-XJLIXTNM.js.map +0 -1
  541. package/dist/domain-M7AEGAYI.js +0 -98
  542. package/dist/domain-M7AEGAYI.js.map +0 -1
  543. package/dist/draft-5DQI4W5F.js +0 -306
  544. package/dist/draft-5DQI4W5F.js.map +0 -1
  545. package/dist/draft-7IIYHSY2.js +0 -332
  546. package/dist/draft-7IIYHSY2.js.map +0 -1
  547. package/dist/draft-CN6GKVBF.js +0 -217
  548. package/dist/draft-CN6GKVBF.js.map +0 -1
  549. package/dist/experiment-IDDWRCJ7.js +0 -1397
  550. package/dist/facets-ZLZ6LIHN.js +0 -114
  551. package/dist/facets-ZLZ6LIHN.js.map +0 -1
  552. package/dist/feedback-7LEX2P5Q.js +0 -106
  553. package/dist/feedback-7LEX2P5Q.js.map +0 -1
  554. package/dist/feedback-record-P4JJ63KA.js +0 -260
  555. package/dist/feedback-record-P4JJ63KA.js.map +0 -1
  556. package/dist/fetch-MIVCEHXZ.js +0 -176
  557. package/dist/fetch-MIVCEHXZ.js.map +0 -1
  558. package/dist/find-VHN34MWL.js +0 -134
  559. package/dist/fit-SS6HSZPU.js +0 -62
  560. package/dist/flows-UTIIHDNE.js +0 -247
  561. package/dist/flows-UTIIHDNE.js.map +0 -1
  562. package/dist/fonts-YPNN7ZJP.js +0 -36
  563. package/dist/forecast-OBSHG2GJ.js +0 -118
  564. package/dist/forecast-OBSHG2GJ.js.map +0 -1
  565. package/dist/funnel-A4MXQYBA.js +0 -394
  566. package/dist/funnel-A4MXQYBA.js.map +0 -1
  567. package/dist/ga4-ZPAEF2G2.js +0 -55
  568. package/dist/get-MDAO6I7T.js +0 -56
  569. package/dist/get-MDAO6I7T.js.map +0 -1
  570. package/dist/get-ZB553BSH.js +0 -79
  571. package/dist/get-ZB553BSH.js.map +0 -1
  572. package/dist/google-C3X7O2UO.js +0 -136
  573. package/dist/google-ads-FTWL772L.js +0 -195
  574. package/dist/google-ads-FTWL772L.js.map +0 -1
  575. package/dist/gsc-SDDHGTZK.js +0 -30
  576. package/dist/history-WKJYKDMG.js +0 -133
  577. package/dist/history-WKJYKDMG.js.map +0 -1
  578. package/dist/hubspot-EPHVEPOO.js +0 -779
  579. package/dist/hubspot-EPHVEPOO.js.map +0 -1
  580. package/dist/icon-MYPDC6FM.js +0 -137
  581. package/dist/ideas-3PBH7VEX.js +0 -40
  582. package/dist/images-J35C3WG4.js +0 -92
  583. package/dist/ingest-5QOPUKFE.js +0 -107
  584. package/dist/ingest-5QOPUKFE.js.map +0 -1
  585. package/dist/ingest-OKUYP632.js +0 -23
  586. package/dist/inspect-PMNCP6MV.js +0 -189
  587. package/dist/inspect-PMNCP6MV.js.map +0 -1
  588. package/dist/inspiration-QAL7NS7G.js +0 -53
  589. package/dist/keyword-metrics-R752SJIT.js +0 -197
  590. package/dist/keyword-metrics-R752SJIT.js.map +0 -1
  591. package/dist/keywords-for-site-7UWPJYQF.js +0 -128
  592. package/dist/keywords-for-site-7UWPJYQF.js.map +0 -1
  593. package/dist/landing-CBVIOGJ5.js +0 -28
  594. package/dist/leads-LIJS6Y5W.js +0 -90
  595. package/dist/leads-LIJS6Y5W.js.map +0 -1
  596. package/dist/learn-N6QV7GXA.js +0 -204
  597. package/dist/learn-N6QV7GXA.js.map +0 -1
  598. package/dist/line-item-writes-3WPJXKIL.js +0 -208
  599. package/dist/line-item-writes-3WPJXKIL.js.map +0 -1
  600. package/dist/line-items-ZOFKOGAA.js +0 -103
  601. package/dist/link-DDRQKOUL.js +0 -64
  602. package/dist/link-DDRQKOUL.js.map +0 -1
  603. package/dist/linkedin-UWZCF66X.js +0 -1057
  604. package/dist/linkedin-UWZCF66X.js.map +0 -1
  605. package/dist/list-5PLXVPLB.js +0 -151
  606. package/dist/list-5PLXVPLB.js.map +0 -1
  607. package/dist/list-RC2NX6AX.js +0 -50
  608. package/dist/list-VSJISE7U.js +0 -303
  609. package/dist/list-VSJISE7U.js.map +0 -1
  610. package/dist/list-WTVOBQYX.js +0 -64
  611. package/dist/list-WTVOBQYX.js.map +0 -1
  612. package/dist/log-YKKPROLZ.js +0 -92
  613. package/dist/log-YKKPROLZ.js.map +0 -1
  614. package/dist/logo-WE2UELX6.js +0 -18
  615. package/dist/make-RNOWBLZQ.js +0 -1353
  616. package/dist/make-RNOWBLZQ.js.map +0 -1
  617. package/dist/map-WTDPQLVO.js +0 -433
  618. package/dist/map-WTDPQLVO.js.map +0 -1
  619. package/dist/mcp-XJNSCPP3.js +0 -714
  620. package/dist/mcp-XJNSCPP3.js.map +0 -1
  621. package/dist/media-sources-JGBDDXZ5.js +0 -32
  622. package/dist/media-sources-JGBDDXZ5.js.map +0 -1
  623. package/dist/members-O3BTMRXX.js +0 -44
  624. package/dist/members-O3BTMRXX.js.map +0 -1
  625. package/dist/normalize-R5AYLA2J.js +0 -141
  626. package/dist/normalize-R5AYLA2J.js.map +0 -1
  627. package/dist/options-AILRY7JY.js +0 -122
  628. package/dist/options-AILRY7JY.js.map +0 -1
  629. package/dist/organization-KJJXZLVK.js +0 -946
  630. package/dist/organization-KJJXZLVK.js.map +0 -1
  631. package/dist/performance-7YU4HOGH.js +0 -24
  632. package/dist/promoted-tweet-writes-TNELWPVG.js +0 -180
  633. package/dist/promoted-tweet-writes-TNELWPVG.js.map +0 -1
  634. package/dist/promoted-tweets-76WKUFJQ.js +0 -119
  635. package/dist/publish-BKLHCKHB.js +0 -341
  636. package/dist/publish-BKLHCKHB.js.map +0 -1
  637. package/dist/reddit-YK3YUZEI.js +0 -26
  638. package/dist/refresh-WIII7KXB.js +0 -94
  639. package/dist/refresh-WIII7KXB.js.map +0 -1
  640. package/dist/release-ZHXYQI7G.js +0 -60
  641. package/dist/release-ZHXYQI7G.js.map +0 -1
  642. package/dist/remove-NOX4BXWK.js +0 -50
  643. package/dist/remove-NOX4BXWK.js.map +0 -1
  644. package/dist/remove-VLWRCOEZ.js +0 -48
  645. package/dist/remove-VLWRCOEZ.js.map +0 -1
  646. package/dist/reopen-NLWKK5HB.js +0 -63
  647. package/dist/reopen-NLWKK5HB.js.map +0 -1
  648. package/dist/rerun-DZWQNMZQ.js +0 -90
  649. package/dist/rerun-DZWQNMZQ.js.map +0 -1
  650. package/dist/research-Q3P76RHN.js +0 -62
  651. package/dist/research-UDZBCDNX.js +0 -262
  652. package/dist/research-UDZBCDNX.js.map +0 -1
  653. package/dist/reset-5UHFX7QY.js +0 -54
  654. package/dist/reset-5UHFX7QY.js.map +0 -1
  655. package/dist/reset-MTRJQUP7.js +0 -54
  656. package/dist/reset-MTRJQUP7.js.map +0 -1
  657. package/dist/resolve-DA72VT7Q.js +0 -121
  658. package/dist/resolve-DA72VT7Q.js.map +0 -1
  659. package/dist/retry-LQUBX5TK.js +0 -62
  660. package/dist/retry-LQUBX5TK.js.map +0 -1
  661. package/dist/retry-U6F4CS6O.js +0 -60
  662. package/dist/retry-U6F4CS6O.js.map +0 -1
  663. package/dist/rules-VS5PZ7VO.js +0 -96
  664. package/dist/rules-VS5PZ7VO.js.map +0 -1
  665. package/dist/rules-add-LMVZYDXE.js +0 -462
  666. package/dist/rules-add-LMVZYDXE.js.map +0 -1
  667. package/dist/run-6PRA2YSD.js +0 -65
  668. package/dist/run-R6COFNOR.js +0 -66
  669. package/dist/run-R6COFNOR.js.map +0 -1
  670. package/dist/scaffold-ad-3OVJ7VZQ.js +0 -1511
  671. package/dist/scaffold-ad-3OVJ7VZQ.js.map +0 -1
  672. package/dist/scaffold-static-ad-DDRA3Q5I.js +0 -1005
  673. package/dist/scaffold-static-ad-DDRA3Q5I.js.map +0 -1
  674. package/dist/scaffold-video-3JZYFYFU.js +0 -883
  675. package/dist/scaffold-video-3JZYFYFU.js.map +0 -1
  676. package/dist/schedule-BRSYHMKR.js +0 -66
  677. package/dist/schedule-BRSYHMKR.js.map +0 -1
  678. package/dist/schedule-ED2YDUPY.js +0 -61
  679. package/dist/schedule-ED2YDUPY.js.map +0 -1
  680. package/dist/scheduled-agents-5P67MVGX.js +0 -50
  681. package/dist/schema-4XVKERSA.js +0 -132
  682. package/dist/schema-4XVKERSA.js.map +0 -1
  683. package/dist/schema-RRAQW3OS.js +0 -69
  684. package/dist/search-Y2UMIQ57.js +0 -174
  685. package/dist/search-Y2UMIQ57.js.map +0 -1
  686. package/dist/select-OZ4E6VLF.js +0 -101
  687. package/dist/select-OZ4E6VLF.js.map +0 -1
  688. package/dist/set-prompt-O4YAE4CE.js +0 -193
  689. package/dist/set-prompt-O4YAE4CE.js.map +0 -1
  690. package/dist/setup-links-2GJYCV2A.js +0 -141
  691. package/dist/setup-links-2GJYCV2A.js.map +0 -1
  692. package/dist/site-47B6V2UX.js +0 -177
  693. package/dist/site-47B6V2UX.js.map +0 -1
  694. package/dist/sources-DXPZAPQ7.js +0 -454
  695. package/dist/sources-DXPZAPQ7.js.map +0 -1
  696. package/dist/sources-NDXYTASG.js +0 -30
  697. package/dist/stale-VLVBO2L6.js +0 -71
  698. package/dist/stale-VLVBO2L6.js.map +0 -1
  699. package/dist/stats-37OFAMPW.js +0 -34
  700. package/dist/status-4ODD46XY.js +0 -62
  701. package/dist/status-4ODD46XY.js.map +0 -1
  702. package/dist/stock-6R5E7MJX.js +0 -179
  703. package/dist/studio-LEIGL3Q7.js +0 -49
  704. package/dist/sync-EKGEWE53.js +0 -54
  705. package/dist/sync-EKGEWE53.js.map +0 -1
  706. package/dist/sync-TKNVBUDM.js +0 -54
  707. package/dist/sync-TKNVBUDM.js.map +0 -1
  708. package/dist/sync-definition-M5R3H3TP.js +0 -64
  709. package/dist/tag-manager-3Q55PBEW.js +0 -43
  710. package/dist/tags-4N5UUUN6.js +0 -26
  711. package/dist/tags-5NHIAD5A.js +0 -20
  712. package/dist/tags-5NHIAD5A.js.map +0 -1
  713. package/dist/tags-UUKWSWCN.js +0 -20
  714. package/dist/tags-UUKWSWCN.js.map +0 -1
  715. package/dist/tags-VK7B5DJF.js +0 -20
  716. package/dist/tags-VK7B5DJF.js.map +0 -1
  717. package/dist/tags-XAHIB3WA.js +0 -224
  718. package/dist/tags-XAHIB3WA.js.map +0 -1
  719. package/dist/targeting-criteria-AVARWV2G.js +0 -113
  720. package/dist/targets-6RYLQRID.js +0 -103
  721. package/dist/targets-6RYLQRID.js.map +0 -1
  722. package/dist/testimonials-6TF6BOFN.js +0 -32
  723. package/dist/top-companies-45EHRCJD.js +0 -108
  724. package/dist/top-companies-45EHRCJD.js.map +0 -1
  725. package/dist/translate-VHLBACCE.js +0 -604
  726. package/dist/translate-VHLBACCE.js.map +0 -1
  727. package/dist/triggers-ERQONJNO.js +0 -142
  728. package/dist/triggers-ERQONJNO.js.map +0 -1
  729. package/dist/unlink-TPDO6JNF.js +0 -67
  730. package/dist/unlink-TPDO6JNF.js.map +0 -1
  731. package/dist/unstage-YKKQQ7LW.js +0 -85
  732. package/dist/unstage-YKKQQ7LW.js.map +0 -1
  733. package/dist/update-43WU6X7R.js +0 -63
  734. package/dist/update-43WU6X7R.js.map +0 -1
  735. package/dist/update-CAHLAXWO.js +0 -98
  736. package/dist/update-CAHLAXWO.js.map +0 -1
  737. package/dist/update-NGH6YADN.js +0 -152
  738. package/dist/update-NGH6YADN.js.map +0 -1
  739. package/dist/update-SPJIHHLE.js +0 -188
  740. package/dist/update-SPJIHHLE.js.map +0 -1
  741. package/dist/upload-ACESIZIZ.js +0 -126
  742. package/dist/upload-ACESIZIZ.js.map +0 -1
  743. package/dist/url-params-MIXEDBF7.js +0 -98
  744. package/dist/url-params-MIXEDBF7.js.map +0 -1
  745. package/dist/validate-XJJA7ULE.js +0 -117
  746. package/dist/validate-XJJA7ULE.js.map +0 -1
  747. package/dist/videos-LBXPG7WC.js +0 -39
  748. package/dist/viewer-check-7VJ3GUZX.js +0 -80
  749. package/dist/web-EWQJC2SD.js +0 -140
  750. package/dist/web-EWQJC2SD.js.map +0 -1
  751. package/dist/winning-ads-SAOJAKEQ.js +0 -86
  752. package/dist/write-commands-QPDE4GWW.js +0 -1024
  753. package/dist/write-commands-QPDE4GWW.js.map +0 -1
  754. package/dist/x-LXOJPCRF.js +0 -47
  755. /package/dist/{actions-QL5UD2W4.js.map → actions-FMNJSOBA.js.map} +0 -0
  756. /package/dist/{ads-DHPJFU52.js.map → ads-OLXSDPD6.js.map} +0 -0
  757. /package/dist/{avatars-FKOO6VZ2.js.map → avatars-I4H3NMEJ.js.map} +0 -0
  758. /package/dist/{brand-NNWHBIAX.js.map → brand-3V7ECY7D.js.map} +0 -0
  759. /package/dist/{campaigns-HLBZRH5A.js.map → campaigns-MCB76NPQ.js.map} +0 -0
  760. /package/dist/{canvas-D64GLWUO.js.map → canvas-JCNKMGCG.js.map} +0 -0
  761. /package/dist/{chatgpt-YI6YNACI.js.map → chatgpt-XFZ42NXC.js.map} +0 -0
  762. /package/dist/{chunk-VB3XUR6A.js.map → chunk-2YTBPRRG.js.map} +0 -0
  763. /package/dist/{chunk-JUVVCA7B.js.map → chunk-3SNCMEJB.js.map} +0 -0
  764. /package/dist/{chunk-RGMKXNQP.js.map → chunk-7QGFO35A.js.map} +0 -0
  765. /package/dist/{chunk-ZXCSOVS5.js.map → chunk-AV7ALENU.js.map} +0 -0
  766. /package/dist/{chunk-IYTPWAN3.js.map → chunk-BRLFQ4VX.js.map} +0 -0
  767. /package/dist/{chunk-RZTKCCUL.js.map → chunk-DJE7UXYT.js.map} +0 -0
  768. /package/dist/{chunk-EW3JEKIV.js.map → chunk-EFWXYUSK.js.map} +0 -0
  769. /package/dist/{chunk-J3CWAERS.js.map → chunk-EONSZAZB.js.map} +0 -0
  770. /package/dist/{chunk-PHCIFBP3.js.map → chunk-FG3MV2XM.js.map} +0 -0
  771. /package/dist/{chunk-3AMLOCXY.js.map → chunk-FKG476GH.js.map} +0 -0
  772. /package/dist/{chunk-IFXGCI33.js.map → chunk-FUGQSIYG.js.map} +0 -0
  773. /package/dist/{chunk-Q3LXLWZY.js.map → chunk-HPLHAHG5.js.map} +0 -0
  774. /package/dist/{chunk-3N5A44NQ.js.map → chunk-I24YT2KG.js.map} +0 -0
  775. /package/dist/{chunk-P2MFWJR3.js.map → chunk-IFDZZOUC.js.map} +0 -0
  776. /package/dist/{chunk-Q5WBTVA7.js.map → chunk-JVVUI55M.js.map} +0 -0
  777. /package/dist/{chunk-6QGS3RQP.js.map → chunk-KKSHEPBY.js.map} +0 -0
  778. /package/dist/{chunk-OE3MIV4F.js.map → chunk-KQ7RCLGC.js.map} +0 -0
  779. /package/dist/{chunk-ZDAVSTEE.js.map → chunk-L7WMS5PW.js.map} +0 -0
  780. /package/dist/{chunk-FBFWMTOP.js.map → chunk-LBRO4MTL.js.map} +0 -0
  781. /package/dist/{chunk-PTUXBO5O.js.map → chunk-LNRPOULW.js.map} +0 -0
  782. /package/dist/{chunk-EMQUW6JB.js.map → chunk-LX6WC2XZ.js.map} +0 -0
  783. /package/dist/{chunk-I7J7YQXZ.js.map → chunk-MMGTJBM6.js.map} +0 -0
  784. /package/dist/{chunk-2KRK667G.js.map → chunk-OEZYSL3U.js.map} +0 -0
  785. /package/dist/{chunk-2TVXJPGR.js.map → chunk-OOVHBMQB.js.map} +0 -0
  786. /package/dist/{chunk-Z2GQREJY.js.map → chunk-PTH7VWKK.js.map} +0 -0
  787. /package/dist/{chunk-N3I6ZXR7.js.map → chunk-QZF4BVKL.js.map} +0 -0
  788. /package/dist/{chunk-3WAYZQNV.js.map → chunk-RITUSBYO.js.map} +0 -0
  789. /package/dist/{chunk-JH2L5CQD.js.map → chunk-SSTL3A7Z.js.map} +0 -0
  790. /package/dist/{chunk-2B772ZEA.js.map → chunk-TD4SO6TR.js.map} +0 -0
  791. /package/dist/{chunk-IKLHXGMF.js.map → chunk-UZ4RTOFG.js.map} +0 -0
  792. /package/dist/{chunk-NBO2NSAW.js.map → chunk-VAX7PFQV.js.map} +0 -0
  793. /package/dist/{chunk-AFD32O4A.js.map → chunk-VDRSZK4P.js.map} +0 -0
  794. /package/dist/{chunk-NKIBXOHT.js.map → chunk-VNU2EYD4.js.map} +0 -0
  795. /package/dist/{chunk-TTKBNBQF.js.map → chunk-WT4WDIXA.js.map} +0 -0
  796. /package/dist/{chunk-5A257KJA.js.map → chunk-XEX23CIB.js.map} +0 -0
  797. /package/dist/{chunk-GXGYTFZA.js.map → chunk-XXDF25BW.js.map} +0 -0
  798. /package/dist/{chunk-NEU5QD2C.js.map → chunk-YJ3LSFMX.js.map} +0 -0
  799. /package/dist/{chunk-MK6XJUCQ.js.map → chunk-YVK5RT3B.js.map} +0 -0
  800. /package/dist/{chunk-AW2GKIGS.js.map → chunk-YWWRLZUR.js.map} +0 -0
  801. /package/dist/{chunk-XCKINS7K.js.map → chunk-Z4S5BCVZ.js.map} +0 -0
  802. /package/dist/{chunk-IBY44U2M.js.map → chunk-ZYGK7GAK.js.map} +0 -0
  803. /package/dist/{connect-5PGL7ZOM.js.map → connect-COS6G45S.js.map} +0 -0
  804. /package/dist/{creatives-OO76DAFS.js.map → creatives-SEQHJD2M.js.map} +0 -0
  805. /package/dist/{customers-2EFYSCU2.js.map → customers-LMSX33FO.js.map} +0 -0
  806. /package/dist/{experiment-IDDWRCJ7.js.map → experiment-7RJ5X2LL.js.map} +0 -0
  807. /package/dist/{find-VHN34MWL.js.map → find-2EPXK5RF.js.map} +0 -0
  808. /package/dist/{fit-SS6HSZPU.js.map → fit-W7UNFZT5.js.map} +0 -0
  809. /package/dist/{fonts-YPNN7ZJP.js.map → fonts-N42UYWTX.js.map} +0 -0
  810. /package/dist/{ga4-ZPAEF2G2.js.map → ga4-6EIQC2TG.js.map} +0 -0
  811. /package/dist/{google-C3X7O2UO.js.map → google-O5OI6QFU.js.map} +0 -0
  812. /package/dist/{gsc-SDDHGTZK.js.map → gsc-BM3T2GDL.js.map} +0 -0
  813. /package/dist/{icon-MYPDC6FM.js.map → icon-B7DG53S5.js.map} +0 -0
  814. /package/dist/{ideas-3PBH7VEX.js.map → ideas-DYN2DMFN.js.map} +0 -0
  815. /package/dist/{images-J35C3WG4.js.map → images-EQCUXEHF.js.map} +0 -0
  816. /package/dist/{ingest-OKUYP632.js.map → ingest-B46AY3QU.js.map} +0 -0
  817. /package/dist/{inspiration-QAL7NS7G.js.map → inspiration-TCCKM4R7.js.map} +0 -0
  818. /package/dist/{landing-CBVIOGJ5.js.map → landing-WVPA7NBR.js.map} +0 -0
  819. /package/dist/{line-items-ZOFKOGAA.js.map → line-items-OEWYOPFP.js.map} +0 -0
  820. /package/dist/{list-RC2NX6AX.js.map → list-WRBWQASJ.js.map} +0 -0
  821. /package/dist/{logo-WE2UELX6.js.map → logo-QTSBKP2J.js.map} +0 -0
  822. /package/dist/{performance-7YU4HOGH.js.map → performance-HTU5FR2K.js.map} +0 -0
  823. /package/dist/{promoted-tweets-76WKUFJQ.js.map → promoted-tweets-TTWN5OMW.js.map} +0 -0
  824. /package/dist/{reddit-YK3YUZEI.js.map → reddit-6C3PT5CT.js.map} +0 -0
  825. /package/dist/{research-Q3P76RHN.js.map → research-YCMMQVK6.js.map} +0 -0
  826. /package/dist/{run-6PRA2YSD.js.map → run-SR7DJ7M5.js.map} +0 -0
  827. /package/dist/{scheduled-agents-5P67MVGX.js.map → scheduled-agents-N63EZNY6.js.map} +0 -0
  828. /package/dist/{schema-RRAQW3OS.js.map → schema-C6SGBNA6.js.map} +0 -0
  829. /package/dist/{sources-NDXYTASG.js.map → sources-HN3GCEDX.js.map} +0 -0
  830. /package/dist/{stats-37OFAMPW.js.map → stats-CVF6AC7R.js.map} +0 -0
  831. /package/dist/{stock-6R5E7MJX.js.map → stock-4LPQ6SM7.js.map} +0 -0
  832. /package/dist/{studio-LEIGL3Q7.js.map → studio-NZ6WQ7OE.js.map} +0 -0
  833. /package/dist/{sync-definition-M5R3H3TP.js.map → sync-definition-CKEUYKWN.js.map} +0 -0
  834. /package/dist/{tag-manager-3Q55PBEW.js.map → tag-manager-FLXXLNKP.js.map} +0 -0
  835. /package/dist/{tags-4N5UUUN6.js.map → tags-EUOOSAKN.js.map} +0 -0
  836. /package/dist/{targeting-criteria-AVARWV2G.js.map → targeting-criteria-HE7K52WN.js.map} +0 -0
  837. /package/dist/{testimonials-6TF6BOFN.js.map → testimonials-3Q5XM7JD.js.map} +0 -0
  838. /package/dist/{videos-LBXPG7WC.js.map → videos-WAPUPJVT.js.map} +0 -0
  839. /package/dist/{viewer-check-7VJ3GUZX.js.map → viewer-check-GHQA3UY2.js.map} +0 -0
  840. /package/dist/{winning-ads-SAOJAKEQ.js.map → winning-ads-XCVUAIOU.js.map} +0 -0
  841. /package/dist/{x-LXOJPCRF.js.map → x-SI4KYDEY.js.map} +0 -0
@@ -0,0 +1,63 @@
1
+ import {
2
+ FitAnswerSchema,
3
+ NO_FIT_HINT,
4
+ buildFitPrompt,
5
+ conceptFromFit,
6
+ fitCachePath,
7
+ fitCommand,
8
+ fitHints,
9
+ fitKeyOf,
10
+ fitOnce,
11
+ fitReference,
12
+ pictureOf,
13
+ readCachedFit,
14
+ readKnowledge,
15
+ rejectForAudience,
16
+ reviewsForFit
17
+ } from "./chunk-BRLFQ4VX.js";
18
+ import "./chunk-FG3MV2XM.js";
19
+ import "./chunk-QG4MW2V4.js";
20
+ import "./chunk-VNU2EYD4.js";
21
+ import "./chunk-Y46FE75E.js";
22
+ import "./chunk-3S274625.js";
23
+ import "./chunk-UFKO626N.js";
24
+ import "./chunk-XRIM7NYV.js";
25
+ import "./chunk-7KHTJQGV.js";
26
+ import "./chunk-DGCUPJZD.js";
27
+ import "./chunk-QMOYQJIN.js";
28
+ import "./chunk-FKYPAGKK.js";
29
+ import "./chunk-S4VLLGTW.js";
30
+ import "./chunk-MCJ5I5LR.js";
31
+ import "./chunk-A6WKCV3V.js";
32
+ import "./chunk-U7YR5CZL.js";
33
+ import "./chunk-VI5YQQ63.js";
34
+ import "./chunk-JX7BX2NB.js";
35
+ import "./chunk-O37VU7FG.js";
36
+ import "./chunk-CAZGM2NX.js";
37
+ import "./chunk-NZS3KEQ2.js";
38
+ import "./chunk-GIWHHCD6.js";
39
+ import "./chunk-XQIOCIDO.js";
40
+ import "./chunk-WTJSMYY2.js";
41
+ import "./chunk-6YLNY6CK.js";
42
+ import "./chunk-D5NEIESR.js";
43
+ import "./chunk-57KKVDDR.js";
44
+ import "./chunk-QANGHND7.js";
45
+ import "./chunk-YQSBHWOI.js";
46
+ export {
47
+ FitAnswerSchema,
48
+ NO_FIT_HINT,
49
+ buildFitPrompt,
50
+ conceptFromFit,
51
+ fitCachePath,
52
+ fitCommand,
53
+ fitHints,
54
+ fitKeyOf,
55
+ fitOnce,
56
+ fitReference,
57
+ pictureOf,
58
+ readCachedFit,
59
+ readKnowledge,
60
+ rejectForAudience,
61
+ reviewsForFit
62
+ };
63
+ //# sourceMappingURL=fit-W7UNFZT5.js.map
@@ -0,0 +1,248 @@
1
+ import {
2
+ collectConfigStatus,
3
+ collectSideEffects,
4
+ listFlowSlugs,
5
+ readFlowTree,
6
+ readSettings,
7
+ redactTree,
8
+ requestFlowInputCall,
9
+ withSettings
10
+ } from "./chunk-HPLHAHG5.js";
11
+ import {
12
+ FLOW_AGENT_DESTINATION_KINDS,
13
+ driftRepairHint,
14
+ flowNodeTriggers
15
+ } from "./chunk-O37VU7FG.js";
16
+ import "./chunk-CAZGM2NX.js";
17
+ import "./chunk-NZS3KEQ2.js";
18
+ import "./chunk-GIWHHCD6.js";
19
+ import "./chunk-XQIOCIDO.js";
20
+ import "./chunk-WTJSMYY2.js";
21
+ import {
22
+ apiPost
23
+ } from "./chunk-6YLNY6CK.js";
24
+ import "./chunk-D5NEIESR.js";
25
+ import "./chunk-57KKVDDR.js";
26
+ import {
27
+ registerSchema,
28
+ writeJson
29
+ } from "./chunk-QANGHND7.js";
30
+ import "./chunk-YQSBHWOI.js";
31
+
32
+ // src/commands/flows/index.ts
33
+ import { defineCommand } from "citty";
34
+ registerSchema({
35
+ command: "flows.list",
36
+ description: "List the Forms (flows) in this workspace and how many confidential fields each still needs configured. Read-only.",
37
+ args: {}
38
+ });
39
+ registerSchema({
40
+ command: "flows.show",
41
+ description: "Show a Form's confidential fields and whether each is configured (secrets/connections/third-party resources), AND whether its destination has changed under it \u2014 never reveals secret values. Destination drift is the one problem a Form cannot show you itself: when a HubSpot field a Form maps is deleted, HubSpot refuses the WHOLE submission and the visitor still sees the thank-you screen, so every lead is lost silently. Run this before changing any Form. Each sealed destination says where it sends (recipients, subject, sheet) \u2014 never a credential. Author structure by editing the flow's _data.json; set destinations yourself with `baker flows connect` (email: --email/--subject); only a typed secret goes to the request_flow_input tool.",
42
+ args: {
43
+ slug: { type: "positional", description: "Form slug (folder under flows/)", required: true },
44
+ full: { type: "boolean", description: "Include the full flow tree (secret values redacted)", required: false }
45
+ }
46
+ });
47
+ function statusFor(slug) {
48
+ const tree = readFlowTree(slug);
49
+ const config = [];
50
+ collectConfigStatus(tree, config);
51
+ return config;
52
+ }
53
+ function pendingInputHints(slug, config) {
54
+ const pending = config.filter((row) => row.needsInput);
55
+ if (pending.length === 0) return [];
56
+ const calls = pending.slice(0, MAX_PENDING_HINTS).map((row) => `${row.kind}: ${requestFlowInputCall(slug, row)}`);
57
+ const rest = pending.length - calls.length;
58
+ return [
59
+ ...repeatedKindHints(slug, pending),
60
+ `${pending.length} item${pending.length === 1 ? "" : "s"} still unwired. Wire each yourself with the command below when you know which resource is meant; the card is the fallback, and its result carries the destination \u2014 read the names from there rather than looking them up again.`,
61
+ ...calls,
62
+ ...rest > 0 ? [`\u2026and ${rest} more \u2014 see \`config\` above.`] : []
63
+ ];
64
+ }
65
+ function repeatedKindHints(slug, pending) {
66
+ const counts = /* @__PURE__ */ new Map();
67
+ for (const row of pending) counts.set(row.kind, (counts.get(row.kind) ?? 0) + 1);
68
+ return [...counts].flatMap(([kind, count]) => {
69
+ if (count < 2) return [];
70
+ if (kind === "hubspotForm") {
71
+ return [
72
+ `${count} hubspotForm side effects are unwired. When they all send to the same HubSpot form: baker flows connect ${slug} --all --hubspot-form <formId>.`
73
+ ];
74
+ }
75
+ if (!FLOW_AGENT_DESTINATION_KINDS.includes(kind)) return [];
76
+ return [
77
+ `${count} ${kind} items are unwired. When they share one destination: baker flows connect ${slug} --all --type ${kind} [--resource <id>].`
78
+ ];
79
+ });
80
+ }
81
+ var MAX_PENDING_HINTS = 6;
82
+ function inertSideEffectHints(tree) {
83
+ const dead = collectSideEffects(tree).flatMap(({ node, sideEffect }) => {
84
+ const triggers = flowNodeTriggers(node.nodeData);
85
+ if (!triggers.known) return [];
86
+ const triggerId = String(sideEffect.triggerId ?? "");
87
+ if (triggers.available.includes(triggerId)) return [];
88
+ const where = `${String(sideEffect.id ?? sideEffect.type)} on "${String(node.name ?? node.id)}"`;
89
+ const raises = triggers.available.length > 0 ? `It raises: ${triggers.available.join(", ")}.` : triggers.why ?? "That step raises nothing.";
90
+ return [`${where} fires on \`${triggerId || "(none)"}\`, which that step never raises. ${raises}`];
91
+ });
92
+ if (dead.length === 0) return [];
93
+ return [
94
+ `${dead.length} side effect${dead.length === 1 ? " has" : "s have"} a triggerId their step never raises, so ${dead.length === 1 ? "it never runs" : "they never run"} \u2014 no error, nothing half-written, just nothing. A triggerId belongs to the STEP, not to the side-effect type.`,
95
+ ...dead.slice(0, MAX_PENDING_HINTS),
96
+ ...dead.length > MAX_PENDING_HINTS ? [`\u2026and ${dead.length - MAX_PENDING_HINTS} more.`] : [],
97
+ "Fix each by setting the id its own step raises: `baker flows schema node <nodeType>` lists them."
98
+ ];
99
+ }
100
+ function funnelPlacementHint(slug) {
101
+ return `Whether this Form moves anyone along the company funnel is not in _data.json either: \`baker funnel\` names every Form no step counts. If it names this one, place its ending on the step it moves people to \u2014 \`submit:${slug}\`, or its booking trigger, both listed by \`baker funnel --moments\` \u2014 with \`baker funnel --step\`, which replaces the step it names, so keep that step's other ways in.`;
102
+ }
103
+ async function readDrift(slug) {
104
+ try {
105
+ const response = await apiPost("/api/flows/drift", { slug });
106
+ return response.data;
107
+ } catch {
108
+ return null;
109
+ }
110
+ }
111
+ function driftHints(slug, drift) {
112
+ if (drift === null) {
113
+ return [
114
+ "Could not check whether this Form's destination has changed under it. Treat that as UNKNOWN, not as healthy \u2014 a deleted HubSpot field refuses every submission while the visitor still sees the thank-you screen."
115
+ ];
116
+ }
117
+ const forms = drift.forms.filter((form) => form.slug === slug);
118
+ if (forms.length === 0) {
119
+ return drift.checkedAt === null ? [
120
+ "This Form's destination has never been checked, so nothing here says it is healthy \u2014 only that nothing was compared."
121
+ ] : [];
122
+ }
123
+ return forms.flatMap((form) => {
124
+ const repair = driftRepairHint(slug, form.formGuid, form.deadFields, form.sideEffectId);
125
+ return [`DESTINATION DRIFT (${form.severity}): ${form.summary}`, ...repair === null ? [] : [repair]];
126
+ });
127
+ }
128
+ function displayName(slug) {
129
+ const tree = readFlowTree(slug);
130
+ const name = tree.displayName;
131
+ return typeof name === "string" && name.trim() ? name.trim() : slug;
132
+ }
133
+ var listCommand = defineCommand({
134
+ meta: {
135
+ name: "list",
136
+ description: "List Forms in this workspace with the count of confidential fields still needing setup. Example: baker flows list"
137
+ },
138
+ run: () => {
139
+ const flows = listFlowSlugs().map((slug) => ({
140
+ slug,
141
+ name: displayName(slug),
142
+ needsConfig: statusFor(slug).filter((c) => c.needsInput).length
143
+ }));
144
+ const pending = flows.filter((flow) => flow.needsConfig > 0);
145
+ writeJson({
146
+ ok: true,
147
+ data: { flows },
148
+ hints: [
149
+ ...pending.length > 0 ? [
150
+ `Still unwired: ${pending.map((flow) => `${flow.slug} (${flow.needsConfig})`).join(", ")}. \`baker flows show <slug>\` returns the command that wires each \u2014 most you run yourself.`
151
+ ] : [],
152
+ // "Set the conversions on the Forms" lands here first, and nothing in
153
+ // this family can do it — the conversion side effects it does offer
154
+ // fire a pixel and are not what any Baker report counts.
155
+ "Setting what a Form COUNTS is not in this family: a conversion is a named event held in Baker. `baker analytics conversions` lists what this company counts; `--flow <slug>` spells one Form's endings as keys you can count, traffic or no traffic."
156
+ ]
157
+ });
158
+ }
159
+ });
160
+ var showCommand = defineCommand({
161
+ meta: {
162
+ name: "show",
163
+ description: "Show a Form's confidential fields and their configuration status (never secret values). Example: baker flows show contact"
164
+ },
165
+ args: {
166
+ slug: { type: "positional", description: "Form slug", required: true },
167
+ full: { type: "boolean", description: "Include the full flow tree (secret values redacted)" }
168
+ },
169
+ run: async ({ args }) => {
170
+ const slug = String(args.slug);
171
+ const tree = readFlowTree(slug);
172
+ const [drift, settings] = await Promise.all([readDrift(slug), readSettings(tree)]);
173
+ const config = withSettings(statusFor(slug), settings ?? {});
174
+ const response = {
175
+ slug,
176
+ name: displayName(slug),
177
+ config,
178
+ drift: drift === null ? null : drift.forms.filter((form) => form.slug === slug),
179
+ ...drift === null ? {} : { driftCheckedAt: drift.checkedAt },
180
+ ...args.full === true ? { tree: redactTree(tree) } : {}
181
+ };
182
+ writeJson({
183
+ ok: true,
184
+ data: response,
185
+ // Drift first, above everything. The other hints are about work still to
186
+ // do; this one is about leads already being lost, and it is the only
187
+ // thing here that is true of a Form that looks completely finished.
188
+ hints: [
189
+ ...driftHints(slug, drift),
190
+ ...inertSideEffectHints(tree),
191
+ ...pendingInputHints(slug, config),
192
+ // The question this command is asked — "is this Form wired up?" — has
193
+ // an answer that is not in this file at all. What a Form counts is a
194
+ // named event in Baker, and a Form can be perfectly configured, fire
195
+ // every pixel it has, and still report converting nobody.
196
+ `What this Form counts as a conversion is NOT in _data.json and not in any side effect here: it is a named event held in Baker. Read it, and this Form's own endings spelled as event keys, with \`baker analytics conversions --flow ${slug}\`.`,
197
+ funnelPlacementHint(slug)
198
+ ]
199
+ });
200
+ }
201
+ });
202
+ var flowsCommand = defineCommand({
203
+ meta: {
204
+ name: "flows",
205
+ description: `Read and shape this workspace's Forms (flows).
206
+
207
+ Reads never reveal a secret value. Writes touch only the form's own _data.json \u2014 they stage structure, never a live system.
208
+
209
+ Wire every destination yourself \u2014 no card for the user: an email (\`connect --email "a@x.com, b@x.com" --subject "New lead \u2014 Contact"\`; write the subject yourself), a webhook without a token (\`--url\`), and any connected platform once you know which resource is meant (\`baker flows options <kind>\` lists it; Calendly, SavvyCal, GoHighLevel steps; Google Sheets, Pipedrive, GoHighLevel, ActiveCampaign and HubSpot destinations; \`--same-as\` copies another Form's). A HubSpot step takes \`baker hubspot forms view <id> --as-node\`. \`show\` reads back where each destination sends; a credential is never shown.
210
+
211
+ The request_flow_input tool (baker_ui MCP server) is only for what the user alone holds: a typed secret (a webhook token, Zapier, Crmble), a platform nobody connected, or several resources that could equally be meant.
212
+
213
+ Examples:
214
+ baker flows list # every Form + how many fields still need setup
215
+ baker flows show contact # one Form's confidential fields and their status
216
+ baker flows schema node customForm # the shape of a step, before you author one
217
+ baker flows add-node contact --type text --name "Thanks"
218
+ baker flows add-side-effect contact --node <id> --type googleSpreadsheet
219
+ baker flows options calendly # what the connected account holds
220
+ baker flows connect contact --node book --resource <id>
221
+ baker flows connect contact --side-effect se-email-1 --email "ana@x.com, luis@x.com" --subject "New lead \u2014 Contact"
222
+ baker flows connect contact --side-effect se-hubspotForm-1 --hubspot-form <formId> # --all: every unwired one
223
+ baker flows map contact --map A=name --map B=email --write
224
+ Full guide: __tooling__/docs/tools/baker/flows.md`
225
+ },
226
+ subCommands: {
227
+ list: listCommand,
228
+ show: showCommand,
229
+ schema: () => import("./schema-B2XANMEY.js").then((m) => m.schemaCommand),
230
+ "add-node": () => import("./add-YYP3O536.js").then((m) => m.addNodeCommand),
231
+ "add-side-effect": () => import("./add-YYP3O536.js").then((m) => m.addSideEffectCommand),
232
+ options: () => import("./options-SVCQVTNE.js").then((m) => m.optionsCommand),
233
+ connect: () => import("./connect-COS6G45S.js").then((m) => m.connectCommand),
234
+ map: () => import("./map-QZHIJFQT.js").then((m) => m.mapCommand),
235
+ normalize: () => import("./normalize-ABIWLRIT.js").then((m) => m.normalizeCommand)
236
+ },
237
+ // Bare `baker flows` lists the Forms. This must be `default`, not `run`: citty falls
238
+ // through to `run` after dispatching a subcommand, so a `run` here would also print
239
+ // the list on every `baker flows show <slug>`.
240
+ default: "list"
241
+ });
242
+ export {
243
+ driftHints,
244
+ flowsCommand,
245
+ funnelPlacementHint,
246
+ inertSideEffectHints
247
+ };
248
+ //# sourceMappingURL=flows-SO5J3M3X.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/flows/index.ts"],"sourcesContent":["import {\n driftRepairHint,\n FLOW_AGENT_DESTINATION_KINDS,\n type FlowConfigStatus,\n type FlowDrift,\n type FlowSummary,\n type FlowsDriftResponse,\n type FlowsShowResponse,\n flowNodeTriggers,\n} from \"@baker/api\";\nimport { defineCommand } from \"citty\";\nimport { apiPost } from \"../../client.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport {\n collectConfigStatus,\n collectSideEffects,\n listFlowSlugs,\n readFlowTree,\n readSettings,\n redactTree,\n requestFlowInputCall,\n withSettings,\n} from \"./shared.ts\";\n\nregisterSchema({\n command: \"flows.list\",\n description:\n \"List the Forms (flows) in this workspace and how many confidential fields each still needs configured. Read-only.\",\n args: {},\n});\n\nregisterSchema({\n command: \"flows.show\",\n description:\n \"Show a Form's confidential fields and whether each is configured (secrets/connections/third-party resources), AND whether its destination has changed under it — never reveals secret values. Destination drift is the one problem a Form cannot show you itself: when a HubSpot field a Form maps is deleted, HubSpot refuses the WHOLE submission and the visitor still sees the thank-you screen, so every lead is lost silently. Run this before changing any Form. Each sealed destination says where it sends (recipients, subject, sheet) — never a credential. Author structure by editing the flow's _data.json; set destinations yourself with `baker flows connect` (email: --email/--subject); only a typed secret goes to the request_flow_input tool.\",\n args: {\n slug: { type: \"positional\", description: \"Form slug (folder under flows/)\", required: true },\n full: { type: \"boolean\", description: \"Include the full flow tree (secret values redacted)\", required: false },\n },\n});\n\nfunction statusFor(slug: string): FlowConfigStatus[] {\n const tree = readFlowTree(slug);\n const config: FlowConfigStatus[] = [];\n collectConfigStatus(tree, config);\n return config;\n}\n\n/**\n * The calls that close out everything this form is still waiting on.\n *\n * `show` is the command an agent runs to answer \"is this form wired up?\", and\n * it answered with `needsInput: true` and nothing else — leaving the agent to\n * work out that a tool exists, which tool, and how to address the exact node or\n * side effect. The whole point of asking is to find out what to do next, so the\n * answer is the call itself.\n */\nfunction pendingInputHints(slug: string, config: FlowConfigStatus[]): string[] {\n const pending = config.filter((row) => row.needsInput);\n if (pending.length === 0) return [];\n const calls = pending.slice(0, MAX_PENDING_HINTS).map((row) => `${row.kind}: ${requestFlowInputCall(slug, row)}`);\n const rest = pending.length - calls.length;\n return [\n ...repeatedKindHints(slug, pending),\n `${pending.length} item${pending.length === 1 ? \"\" : \"s\"} still unwired. Wire each yourself with the command below when you know which resource is meant; the card is the fallback, and its result carries the destination — read the names from there rather than looking them up again.`,\n ...calls,\n ...(rest > 0 ? [`…and ${rest} more — see \\`config\\` above.`] : []),\n ];\n}\n\n/**\n * Several unwired items of one kind usually share one destination — chat\n * r57ed43j had 24 HubSpot side effects all sending to the same form — so\n * name the call that fills them all at once.\n */\nfunction repeatedKindHints(slug: string, pending: FlowConfigStatus[]): string[] {\n const counts = new Map<string, number>();\n for (const row of pending) counts.set(row.kind, (counts.get(row.kind) ?? 0) + 1);\n return [...counts].flatMap(([kind, count]) => {\n if (count < 2) return [];\n if (kind === \"hubspotForm\") {\n return [\n `${count} hubspotForm side effects are unwired. When they all send to the same HubSpot form: baker flows connect ${slug} --all --hubspot-form <formId>.`,\n ];\n }\n if (!(FLOW_AGENT_DESTINATION_KINDS as readonly string[]).includes(kind)) return [];\n return [\n `${count} ${kind} items are unwired. When they share one destination: baker flows connect ${slug} --all --type ${kind} [--resource <id>].`,\n ];\n });\n}\n\n/** Enough for any real form; the cap only stops a pathological tree flooding the response. */\nconst MAX_PENDING_HINTS = 6;\n\n/**\n * Side effects wired to a moment their own step never raises.\n *\n * `fireSideEffects` filters on `triggerId` equality, so one that does not match\n * is inert: written, valid, green on every check in the repo, and it never\n * runs. Nothing else in the toolchain looks at the pair — `validate-flow.mjs`\n * only checks the key is present and `validate-flow-schema.mjs` does not read\n * it at all — so a form can report \"fully configured\" while a side effect on it\n * has never fired once. This is the one command that is asked whether a form is\n * wired up, so it is the one that has to say.\n *\n * Silent about a node type the trigger table does not cover: no opinion is the\n * honest answer there, and a false \"this never fires\" on a working form would\n * cost more than the warning is worth.\n */\nexport function inertSideEffectHints(tree: Record<string, unknown>): string[] {\n const dead = collectSideEffects(tree).flatMap(({ node, sideEffect }) => {\n const triggers = flowNodeTriggers(node.nodeData);\n if (!triggers.known) return [];\n const triggerId = String(sideEffect.triggerId ?? \"\");\n if (triggers.available.includes(triggerId)) return [];\n const where = `${String(sideEffect.id ?? sideEffect.type)} on \"${String(node.name ?? node.id)}\"`;\n const raises =\n triggers.available.length > 0\n ? `It raises: ${triggers.available.join(\", \")}.`\n : (triggers.why ?? \"That step raises nothing.\");\n return [`${where} fires on \\`${triggerId || \"(none)\"}\\`, which that step never raises. ${raises}`];\n });\n\n if (dead.length === 0) return [];\n return [\n `${dead.length} side effect${dead.length === 1 ? \" has\" : \"s have\"} a triggerId their step never raises, so ${dead.length === 1 ? \"it never runs\" : \"they never run\"} — no error, nothing half-written, just nothing. A triggerId belongs to the STEP, not to the side-effect type.`,\n ...dead.slice(0, MAX_PENDING_HINTS),\n ...(dead.length > MAX_PENDING_HINTS ? [`…and ${dead.length - MAX_PENDING_HINTS} more.`] : []),\n \"Fix each by setting the id its own step raises: `baker flows schema node <nodeType>` lists them.\",\n ];\n}\n\n/**\n * Where the company funnel stands on this Form.\n *\n * A Form moves nobody along the company funnel until a step names one of its\n * endings, and nothing places it for the agent — so a Form that is configured,\n * fires every pixel and counts its conversions can still leave \"Became a lead\"\n * at zero. `show` reads only the local file and cannot tell whether a step\n * names it; `baker funnel` can, so the hint names that read and the write.\n */\nexport function funnelPlacementHint(slug: string): string {\n return `Whether this Form moves anyone along the company funnel is not in _data.json either: \\`baker funnel\\` names every Form no step counts. If it names this one, place its ending on the step it moves people to — \\`submit:${slug}\\`, or its booking trigger, both listed by \\`baker funnel --moments\\` — with \\`baker funnel --step\\`, which replaces the step it names, so keep that step's other ways in.`;\n}\n\n/**\n * What this Form's destination has changed under it, asked of Baker.\n *\n * A read the Company Workspace cannot do for itself twice over: the findings\n * live on the `flows` row, and the HubSpot form id a repair needs is inside an\n * encrypted config. Before this, detection had no reader in the Runtime at all\n * — 47 live findings across 11 Forms, and an agent editing one of those Forms\n * could not see a single one.\n *\n * A failure returns null rather than `[]`. They are different answers and\n * collapsing them would report a Form healthy on the strength of a network\n * error, which is exactly the silence the drift check exists to break.\n */\nasync function readDrift(slug: string): Promise<FlowsDriftResponse | null> {\n try {\n const response = await apiPost<{ ok: true; data: FlowsDriftResponse }>(\"/api/flows/drift\", { slug });\n return response.data;\n } catch {\n return null;\n }\n}\n\n/**\n * Drift said to an agent: what is wrong, and the command that fixes it.\n *\n * The summary comes from `@baker/api`, which the dashboard badge reads too, so\n * this and the badge cannot come apart about whether a Form is healthy. What is\n * added here is the half that is the CLI's: the repair, spelled as a command\n * line, because an agent that has to go and work out `--prune-missing` for\n * itself will instead reach for `--replace` and delete the mappings that still\n * work.\n */\nexport function driftHints(slug: string, drift: FlowsDriftResponse | null): string[] {\n if (drift === null) {\n return [\n \"Could not check whether this Form's destination has changed under it. Treat that as UNKNOWN, not as healthy — a deleted HubSpot field refuses every submission while the visitor still sees the thank-you screen.\",\n ];\n }\n\n const forms = drift.forms.filter((form) => form.slug === slug);\n if (forms.length === 0) {\n return drift.checkedAt === null\n ? [\n \"This Form's destination has never been checked, so nothing here says it is healthy — only that nothing was compared.\",\n ]\n : [];\n }\n\n return forms.flatMap((form: FlowDrift) => {\n const repair = driftRepairHint(slug, form.formGuid, form.deadFields, form.sideEffectId);\n return [`DESTINATION DRIFT (${form.severity}): ${form.summary}`, ...(repair === null ? [] : [repair])];\n });\n}\n\nfunction displayName(slug: string): string {\n const tree = readFlowTree(slug);\n const name = tree.displayName;\n return typeof name === \"string\" && name.trim() ? name.trim() : slug;\n}\n\nconst listCommand = defineCommand({\n meta: {\n name: \"list\",\n description:\n \"List Forms in this workspace with the count of confidential fields still needing setup. Example: baker flows list\",\n },\n run: () => {\n const flows: FlowSummary[] = listFlowSlugs().map((slug) => ({\n slug,\n name: displayName(slug),\n needsConfig: statusFor(slug).filter((c) => c.needsInput).length,\n }));\n const pending = flows.filter((flow) => flow.needsConfig > 0);\n writeJson({\n ok: true,\n data: { flows },\n hints: [\n ...(pending.length > 0\n ? [\n `Still unwired: ${pending.map((flow) => `${flow.slug} (${flow.needsConfig})`).join(\", \")}. \\`baker flows show <slug>\\` returns the command that wires each — most you run yourself.`,\n ]\n : []),\n // \"Set the conversions on the Forms\" lands here first, and nothing in\n // this family can do it — the conversion side effects it does offer\n // fire a pixel and are not what any Baker report counts.\n \"Setting what a Form COUNTS is not in this family: a conversion is a named event held in Baker. `baker analytics conversions` lists what this company counts; `--flow <slug>` spells one Form's endings as keys you can count, traffic or no traffic.\",\n ],\n });\n },\n});\n\nconst showCommand = defineCommand({\n meta: {\n name: \"show\",\n description:\n \"Show a Form's confidential fields and their configuration status (never secret values). Example: baker flows show contact\",\n },\n args: {\n slug: { type: \"positional\", description: \"Form slug\", required: true },\n full: { type: \"boolean\", description: \"Include the full flow tree (secret values redacted)\" },\n },\n run: async ({ args }) => {\n const slug = String(args.slug);\n const tree = readFlowTree(slug);\n const [drift, settings] = await Promise.all([readDrift(slug), readSettings(tree)]);\n const config = withSettings(statusFor(slug), settings ?? {});\n const response: FlowsShowResponse = {\n slug,\n name: displayName(slug),\n config,\n drift: drift === null ? null : drift.forms.filter((form) => form.slug === slug),\n ...(drift === null ? {} : { driftCheckedAt: drift.checkedAt }),\n ...(args.full === true ? { tree: redactTree(tree) } : {}),\n };\n writeJson({\n ok: true,\n data: response,\n // Drift first, above everything. The other hints are about work still to\n // do; this one is about leads already being lost, and it is the only\n // thing here that is true of a Form that looks completely finished.\n hints: [\n ...driftHints(slug, drift),\n ...inertSideEffectHints(tree),\n ...pendingInputHints(slug, config),\n // The question this command is asked — \"is this Form wired up?\" — has\n // an answer that is not in this file at all. What a Form counts is a\n // named event in Baker, and a Form can be perfectly configured, fire\n // every pixel it has, and still report converting nobody.\n `What this Form counts as a conversion is NOT in _data.json and not in any side effect here: it is a named event held in Baker. Read it, and this Form's own endings spelled as event keys, with \\`baker analytics conversions --flow ${slug}\\`.`,\n funnelPlacementHint(slug),\n ],\n });\n },\n});\n\nexport const flowsCommand = defineCommand({\n meta: {\n name: \"flows\",\n description: `Read and shape this workspace's Forms (flows).\n\nReads never reveal a secret value. Writes touch only the form's own _data.json — they stage structure, never a live system.\n\nWire every destination yourself — no card for the user: an email (\\`connect --email \"a@x.com, b@x.com\" --subject \"New lead — Contact\"\\`; write the subject yourself), a webhook without a token (\\`--url\\`), and any connected platform once you know which resource is meant (\\`baker flows options <kind>\\` lists it; Calendly, SavvyCal, GoHighLevel steps; Google Sheets, Pipedrive, GoHighLevel, ActiveCampaign and HubSpot destinations; \\`--same-as\\` copies another Form's). A HubSpot step takes \\`baker hubspot forms view <id> --as-node\\`. \\`show\\` reads back where each destination sends; a credential is never shown.\n\nThe request_flow_input tool (baker_ui MCP server) is only for what the user alone holds: a typed secret (a webhook token, Zapier, Crmble), a platform nobody connected, or several resources that could equally be meant.\n\nExamples:\n baker flows list # every Form + how many fields still need setup\n baker flows show contact # one Form's confidential fields and their status\n baker flows schema node customForm # the shape of a step, before you author one\n baker flows add-node contact --type text --name \"Thanks\"\n baker flows add-side-effect contact --node <id> --type googleSpreadsheet\n baker flows options calendly # what the connected account holds\n baker flows connect contact --node book --resource <id>\n baker flows connect contact --side-effect se-email-1 --email \"ana@x.com, luis@x.com\" --subject \"New lead — Contact\"\n baker flows connect contact --side-effect se-hubspotForm-1 --hubspot-form <formId> # --all: every unwired one\n baker flows map contact --map A=name --map B=email --write\nFull guide: __tooling__/docs/tools/baker/flows.md`,\n },\n subCommands: {\n list: listCommand,\n show: showCommand,\n schema: () => import(\"./schema.ts\").then((m) => m.schemaCommand),\n \"add-node\": () => import(\"./add.ts\").then((m) => m.addNodeCommand),\n \"add-side-effect\": () => import(\"./add.ts\").then((m) => m.addSideEffectCommand),\n options: () => import(\"./options.ts\").then((m) => m.optionsCommand),\n connect: () => import(\"./connect.ts\").then((m) => m.connectCommand),\n map: () => import(\"./map.ts\").then((m) => m.mapCommand),\n normalize: () => import(\"./normalize.ts\").then((m) => m.normalizeCommand),\n },\n // Bare `baker flows` lists the Forms. This must be `default`, not `run`: citty falls\n // through to `run` after dispatching a subcommand, so a `run` here would also print\n // the list on every `baker flows show <slug>`.\n default: \"list\",\n});\n"],"mappings":"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","names":[]}
@@ -0,0 +1,37 @@
1
+ import {
2
+ fetchJson,
3
+ fontsAdoptCommand,
4
+ fontsCheckCommand,
5
+ fontsCommand,
6
+ fontsFetchCommand,
7
+ lookupGoogleCss
8
+ } from "./chunk-VDRSZK4P.js";
9
+ import "./chunk-JVVUI55M.js";
10
+ import "./chunk-YJ3LSFMX.js";
11
+ import "./chunk-3S274625.js";
12
+ import "./chunk-UFKO626N.js";
13
+ import "./chunk-XRIM7NYV.js";
14
+ import "./chunk-S4VLLGTW.js";
15
+ import "./chunk-MCJ5I5LR.js";
16
+ import "./chunk-U7YR5CZL.js";
17
+ import "./chunk-VI5YQQ63.js";
18
+ import "./chunk-JX7BX2NB.js";
19
+ import "./chunk-O37VU7FG.js";
20
+ import "./chunk-CAZGM2NX.js";
21
+ import "./chunk-NZS3KEQ2.js";
22
+ import "./chunk-GIWHHCD6.js";
23
+ import "./chunk-XQIOCIDO.js";
24
+ import "./chunk-WTJSMYY2.js";
25
+ import "./chunk-D5NEIESR.js";
26
+ import "./chunk-57KKVDDR.js";
27
+ import "./chunk-QANGHND7.js";
28
+ import "./chunk-YQSBHWOI.js";
29
+ export {
30
+ fetchJson,
31
+ fontsAdoptCommand,
32
+ fontsCheckCommand,
33
+ fontsCommand,
34
+ fontsFetchCommand,
35
+ lookupGoogleCss
36
+ };
37
+ //# sourceMappingURL=fonts-N42UYWTX.js.map
@@ -0,0 +1,119 @@
1
+ import {
2
+ LINKEDIN_FORECAST_DEFAULT_DAYS,
3
+ linkedinForecastRequestSchema
4
+ } from "./chunk-RITUSBYO.js";
5
+ import {
6
+ exitOnInvalidArgs,
7
+ handleLinkedinError,
8
+ loadTargetingArg,
9
+ resolveAccountIdArg
10
+ } from "./chunk-2YTBPRRG.js";
11
+ import {
12
+ writeAdsJson
13
+ } from "./chunk-2VIZ4UUZ.js";
14
+ import {
15
+ NO_CACHE_ARG
16
+ } from "./chunk-U6RONIJC.js";
17
+ import "./chunk-O37VU7FG.js";
18
+ import "./chunk-CAZGM2NX.js";
19
+ import "./chunk-NZS3KEQ2.js";
20
+ import "./chunk-GIWHHCD6.js";
21
+ import "./chunk-XQIOCIDO.js";
22
+ import "./chunk-WTJSMYY2.js";
23
+ import {
24
+ apiPost
25
+ } from "./chunk-6YLNY6CK.js";
26
+ import "./chunk-D5NEIESR.js";
27
+ import "./chunk-57KKVDDR.js";
28
+ import "./chunk-QANGHND7.js";
29
+ import "./chunk-YQSBHWOI.js";
30
+
31
+ // src/commands/ads/linkedin/forecast.ts
32
+ import { defineCommand } from "citty";
33
+ var FLAG_OF_FIELD = {
34
+ objectiveType: "--objective",
35
+ costType: "--cost-type",
36
+ campaignType: "--campaign-type",
37
+ startDate: "--start",
38
+ days: "--days",
39
+ dailyBudget: "--daily-budget",
40
+ totalBudget: "--total-budget",
41
+ bid: "--bid",
42
+ optimizationTarget: "--optimization-target",
43
+ targetingCriteria: "--targeting"
44
+ };
45
+ function parseMoney(raw) {
46
+ if (typeof raw !== "string" || raw.trim() === "") return void 0;
47
+ const m = /^(\d+(?:\.\d+)?)(?:\s+([A-Za-z]{3}))?$/.exec(raw.trim());
48
+ if (!m?.[1]) return raw;
49
+ return m[2] ? { amount: m[1], currencyCode: m[2].toUpperCase() } : { amount: m[1] };
50
+ }
51
+ var forecastCommand = defineCommand({
52
+ meta: {
53
+ name: "forecast",
54
+ description: `Forecast what a campaign that doesn't exist yet would deliver \u2014 LinkedIn's own estimate, the "Forecasted results" Campaign Manager shows while building one.
55
+
56
+ Returns, for the whole period: results (impressions, clicks, leads, spend, \u2026), LinkedIn's unit costs (cpc, cpm, costPerLead, \u2026) and rates (ctr, \u2026), each as { value, low, high }. Unit costs are LinkedIn's per-result estimates and need not equal spend \xF7 results; spend can stay under the budget when the bid or audience caps delivery.
57
+
58
+ A budget is required (--daily-budget or --total-budget). With --bid it forecasts that manual bid (get one from \`bid-pricing\`); without it, LinkedIn's automated bidding for the objective (LEAD_GENERATION, WEBSITE_VISIT, BRAND_AWARENESS, VIDEO_VIEW \u2014 others need --bid or --optimization-target). The period starts tomorrow (or --start) and lasts --days (default ${LINKEDIN_FORECAST_DEFAULT_DAYS}). Amounts without a currency use the ad account's.
59
+
60
+ Start here:
61
+ baker ads linkedin forecast --account-id 503001492 --objective LEAD_GENERATION --total-budget 7250 --days 28 --targeting-file targeting.json
62
+ baker ads linkedin forecast --account-id 503001492 --objective LEAD_GENERATION --bid 5.57 --cost-type CPC --daily-budget "250 EUR" --targeting-file targeting.json`
63
+ },
64
+ args: {
65
+ "account-id": { type: "string", description: "Numeric account ID or urn:li:sponsoredAccount:N" },
66
+ "account-urn": { type: "string", description: "Alias for --account-id" },
67
+ objective: { type: "string", description: "Objective type (e.g. LEAD_GENERATION, WEBSITE_VISIT)" },
68
+ "cost-type": { type: "string", description: "Bid type of --bid: CPC (default) | CPM | CPV", default: "CPC" },
69
+ "campaign-type": {
70
+ type: "string",
71
+ description: "SPONSORED_UPDATES (default, sponsored content) | SPONSORED_INMAILS | DYNAMIC",
72
+ default: "SPONSORED_UPDATES"
73
+ },
74
+ "daily-budget": { type: "string", description: "e.g. '250' or '250 EUR'" },
75
+ "total-budget": { type: "string", description: "Budget for the whole period, e.g. '7250' or '7250 EUR'" },
76
+ bid: { type: "string", description: "Manual bid, e.g. '5.57' or '5.57 EUR'. Omit for automated bidding" },
77
+ "optimization-target": {
78
+ type: "string",
79
+ description: "Automated-bidding goal when --bid is omitted (e.g. MAX_LEAD, MAX_CLICK)"
80
+ },
81
+ start: { type: "string", description: "First day, YYYY-MM-DD (default tomorrow, UTC)" },
82
+ days: { type: "string", description: `Length of the period in days (default ${LINKEDIN_FORECAST_DEFAULT_DAYS})` },
83
+ targeting: { type: "string", description: "Inline JSON targetingCriteria" },
84
+ "targeting-file": { type: "string", description: "Path to JSON file with targetingCriteria" },
85
+ full: { type: "boolean", description: "Also return LinkedIn's daily / 7-day / 30-day series", default: false },
86
+ "no-cache": NO_CACHE_ARG,
87
+ output: { type: "string", description: "json", default: "json" }
88
+ },
89
+ run: async ({ args }) => {
90
+ const accountId = resolveAccountIdArg(args);
91
+ const targetingCriteria = loadTargetingArg(args);
92
+ const parsed = linkedinForecastRequestSchema.safeParse({
93
+ accountId,
94
+ objectiveType: args.objective ? String(args.objective).toUpperCase() : void 0,
95
+ costType: String(args["cost-type"]).toUpperCase(),
96
+ campaignType: String(args["campaign-type"]).toUpperCase(),
97
+ startDate: args.start || void 0,
98
+ days: args.days ? Number(args.days) : void 0,
99
+ dailyBudget: parseMoney(args["daily-budget"]),
100
+ totalBudget: parseMoney(args["total-budget"]),
101
+ bid: parseMoney(args.bid),
102
+ optimizationTarget: args["optimization-target"] ? String(args["optimization-target"]).toUpperCase() : void 0,
103
+ targetingCriteria,
104
+ full: Boolean(args.full),
105
+ skipCache: Boolean(args["no-cache"])
106
+ });
107
+ if (!parsed.success) exitOnInvalidArgs(parsed.error.issues, FLAG_OF_FIELD);
108
+ try {
109
+ const data = await apiPost("/api/ads/linkedin/forecast", parsed.data);
110
+ writeAdsJson({ ok: true, data });
111
+ } catch (err) {
112
+ handleLinkedinError(err);
113
+ }
114
+ }
115
+ });
116
+ export {
117
+ forecastCommand
118
+ };
119
+ //# sourceMappingURL=forecast-24LGJVLC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/linkedin/forecast.ts"],"sourcesContent":["import { LINKEDIN_FORECAST_DEFAULT_DAYS, linkedinForecastRequestSchema } from \"@baker/api/ads-linkedin/planning\";\nimport { defineCommand } from \"citty\";\nimport { NO_CACHE_ARG } from \"../../../cache-flag.ts\";\nimport { apiPost } from \"../../../client.ts\";\nimport { writeAdsJson } from \"../output.ts\";\nimport { exitOnInvalidArgs, handleLinkedinError, loadTargetingArg, resolveAccountIdArg } from \"./shared.ts\";\n\nconst FLAG_OF_FIELD: Record<string, string> = {\n objectiveType: \"--objective\",\n costType: \"--cost-type\",\n campaignType: \"--campaign-type\",\n startDate: \"--start\",\n days: \"--days\",\n dailyBudget: \"--daily-budget\",\n totalBudget: \"--total-budget\",\n bid: \"--bid\",\n optimizationTarget: \"--optimization-target\",\n targetingCriteria: \"--targeting\",\n};\n\ntype Money = { amount: string; currencyCode: string };\ntype Range = { value: number; low: number; high: number };\n\ninterface ForecastResult {\n period: { start: string; end: string; days: number };\n budget: { daily?: Money; total?: Money };\n bidding: { mode: \"manual\"; bidType: string; bid: Money } | { mode: \"auto\"; optimizationTarget: string };\n results: Record<string, Range>;\n unitCosts: Record<string, Range>;\n rates: Record<string, Range>;\n series?: unknown[];\n}\n\n/** \"250\" or \"250 EUR\" → money; no currency means the ad account's. */\nfunction parseMoney(raw: unknown): { amount: string; currencyCode?: string } | string | undefined {\n if (typeof raw !== \"string\" || raw.trim() === \"\") return undefined;\n const m = /^(\\d+(?:\\.\\d+)?)(?:\\s+([A-Za-z]{3}))?$/.exec(raw.trim());\n if (!m?.[1]) return raw;\n return m[2] ? { amount: m[1], currencyCode: m[2].toUpperCase() } : { amount: m[1] };\n}\n\nexport const forecastCommand = defineCommand({\n meta: {\n name: \"forecast\",\n description: `Forecast what a campaign that doesn't exist yet would deliver — LinkedIn's own estimate, the \"Forecasted results\" Campaign Manager shows while building one.\n\nReturns, for the whole period: results (impressions, clicks, leads, spend, …), LinkedIn's unit costs (cpc, cpm, costPerLead, …) and rates (ctr, …), each as { value, low, high }. Unit costs are LinkedIn's per-result estimates and need not equal spend ÷ results; spend can stay under the budget when the bid or audience caps delivery.\n\nA budget is required (--daily-budget or --total-budget). With --bid it forecasts that manual bid (get one from \\`bid-pricing\\`); without it, LinkedIn's automated bidding for the objective (LEAD_GENERATION, WEBSITE_VISIT, BRAND_AWARENESS, VIDEO_VIEW — others need --bid or --optimization-target). The period starts tomorrow (or --start) and lasts --days (default ${LINKEDIN_FORECAST_DEFAULT_DAYS}). Amounts without a currency use the ad account's.\n\nStart here:\n baker ads linkedin forecast --account-id 503001492 --objective LEAD_GENERATION --total-budget 7250 --days 28 --targeting-file targeting.json\n baker ads linkedin forecast --account-id 503001492 --objective LEAD_GENERATION --bid 5.57 --cost-type CPC --daily-budget \"250 EUR\" --targeting-file targeting.json`,\n },\n args: {\n \"account-id\": { type: \"string\", description: \"Numeric account ID or urn:li:sponsoredAccount:N\" },\n \"account-urn\": { type: \"string\", description: \"Alias for --account-id\" },\n objective: { type: \"string\", description: \"Objective type (e.g. LEAD_GENERATION, WEBSITE_VISIT)\" },\n \"cost-type\": { type: \"string\", description: \"Bid type of --bid: CPC (default) | CPM | CPV\", default: \"CPC\" },\n \"campaign-type\": {\n type: \"string\",\n description: \"SPONSORED_UPDATES (default, sponsored content) | SPONSORED_INMAILS | DYNAMIC\",\n default: \"SPONSORED_UPDATES\",\n },\n \"daily-budget\": { type: \"string\", description: \"e.g. '250' or '250 EUR'\" },\n \"total-budget\": { type: \"string\", description: \"Budget for the whole period, e.g. '7250' or '7250 EUR'\" },\n bid: { type: \"string\", description: \"Manual bid, e.g. '5.57' or '5.57 EUR'. Omit for automated bidding\" },\n \"optimization-target\": {\n type: \"string\",\n description: \"Automated-bidding goal when --bid is omitted (e.g. MAX_LEAD, MAX_CLICK)\",\n },\n start: { type: \"string\", description: \"First day, YYYY-MM-DD (default tomorrow, UTC)\" },\n days: { type: \"string\", description: `Length of the period in days (default ${LINKEDIN_FORECAST_DEFAULT_DAYS})` },\n targeting: { type: \"string\", description: \"Inline JSON targetingCriteria\" },\n \"targeting-file\": { type: \"string\", description: \"Path to JSON file with targetingCriteria\" },\n full: { type: \"boolean\", description: \"Also return LinkedIn's daily / 7-day / 30-day series\", default: false },\n \"no-cache\": NO_CACHE_ARG,\n output: { type: \"string\", description: \"json\", default: \"json\" },\n },\n run: async ({ args }) => {\n const accountId = resolveAccountIdArg(args);\n const targetingCriteria = loadTargetingArg(args);\n const parsed = linkedinForecastRequestSchema.safeParse({\n accountId,\n objectiveType: args.objective ? String(args.objective).toUpperCase() : undefined,\n costType: String(args[\"cost-type\"]).toUpperCase(),\n campaignType: String(args[\"campaign-type\"]).toUpperCase(),\n startDate: args.start || undefined,\n days: args.days ? Number(args.days) : undefined,\n dailyBudget: parseMoney(args[\"daily-budget\"]),\n totalBudget: parseMoney(args[\"total-budget\"]),\n bid: parseMoney(args.bid),\n optimizationTarget: args[\"optimization-target\"] ? String(args[\"optimization-target\"]).toUpperCase() : undefined,\n targetingCriteria,\n full: Boolean(args.full),\n skipCache: Boolean(args[\"no-cache\"]),\n });\n if (!parsed.success) exitOnInvalidArgs(parsed.error.issues, FLAG_OF_FIELD);\n try {\n const data = await apiPost<ForecastResult>(\"/api/ads/linkedin/forecast\", parsed.data);\n writeAdsJson({ ok: true, data });\n } catch (err) {\n handleLinkedinError(err);\n }\n },\n});\n"],"mappings":"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","names":[]}