@koda-sl/baker-cli 0.489.0-dev.63e618e80 → 0.490.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 (991) hide show
  1. package/README.md +170 -8
  2. package/dist/account-3H6BZO5H.js +80 -0
  3. package/dist/account-IKFDY52P.js +138 -0
  4. package/dist/account-IKFDY52P.js.map +1 -0
  5. package/dist/account-KNRDOUJP.js +79 -0
  6. package/dist/account-assets-LKZVWZAR.js +289 -0
  7. package/dist/account-assets-LKZVWZAR.js.map +1 -0
  8. package/dist/account-level-UJOZDVXY.js +608 -0
  9. package/dist/account-level-UJOZDVXY.js.map +1 -0
  10. package/dist/account-reads-GA6FVKLE.js +218 -0
  11. package/dist/account-writes-AE5IJGGW.js +66 -0
  12. package/dist/accounts-K4INATCW.js +75 -0
  13. package/dist/accounts-RTN5ZGTU.js +611 -0
  14. package/dist/accounts-RW6KXBOQ.js +77 -0
  15. package/dist/actions-HNLISA7T.js +55 -0
  16. package/dist/activecampaign-I5CILZPU.js +935 -0
  17. package/dist/activities-T253KK4Q.js +74 -0
  18. package/dist/ad-group-writes-VRSBI2Z2.js +170 -0
  19. package/dist/ad-groups-IEBVEAMS.js +68 -0
  20. package/dist/ad-writes-ALV4KFPZ.js +174 -0
  21. package/dist/add-6WKPFMLG.js +302 -0
  22. package/dist/add-XF5COUAS.js +104 -0
  23. package/dist/ads-CQZHD7FC.js +77 -0
  24. package/dist/ads-QIKZ6O2N.js +40 -0
  25. package/dist/ads-ZEY72UBN.js +114 -0
  26. package/dist/ads-ZEY72UBN.js.map +1 -0
  27. package/dist/adsets-5H3MOT3D.js +177 -0
  28. package/dist/adsets-5H3MOT3D.js.map +1 -0
  29. package/dist/advertisers-6NUM2Q3A.js +120 -0
  30. package/dist/analytics-ALOZ7ZZ4.js +1976 -0
  31. package/dist/analytics-VLHE5A2M.js +433 -0
  32. package/dist/animate-SVEPM267.js +480 -0
  33. package/dist/asset-writes-L5TMKIZC.js +47 -0
  34. package/dist/assign-6HI6TNLP.js +77 -0
  35. package/dist/audience-size-25LP2OBF.js +73 -0
  36. package/dist/audience-writes-X52VG35Y.js +324 -0
  37. package/dist/audience-writes-X52VG35Y.js.map +1 -0
  38. package/dist/audiences-AAZH56WD.js +268 -0
  39. package/dist/audiences-X3RLGOVM.js +84 -0
  40. package/dist/audiences-X3RLGOVM.js.map +1 -0
  41. package/dist/audit-YY6X2MPA.js +151 -0
  42. package/dist/autocomplete-SAWJK4NF.js +111 -0
  43. package/dist/avatars-YSFFRHDK.js +38 -0
  44. package/dist/bid-pricing-HZ74SLEB.js +100 -0
  45. package/dist/brand-T3OACVQX.js +22 -0
  46. package/dist/brief-7S6XCJIA.js +538 -0
  47. package/dist/businesses-H3HIDQX6.js +53 -0
  48. package/dist/campaign-groups-YJK767AP.js +95 -0
  49. package/dist/campaign-writes-7ZF57KLH.js +165 -0
  50. package/dist/campaign-writes-7ZF57KLH.js.map +1 -0
  51. package/dist/campaign-writes-U5PUVSMT.js +170 -0
  52. package/dist/campaigns-AV6G3AUU.js +127 -0
  53. package/dist/campaigns-AV6G3AUU.js.map +1 -0
  54. package/dist/campaigns-GALDR5KK.js +109 -0
  55. package/dist/campaigns-JEIKY2M4.js +76 -0
  56. package/dist/campaigns-VTRMKSAT.js +107 -0
  57. package/dist/canvas-SVJEQO4V.js +46 -0
  58. package/dist/capabilities-2KT6TCGZ.js +144 -0
  59. package/dist/catalog-S32MX453.js +65 -0
  60. package/dist/catalogs-OCVXZLIF.js +128 -0
  61. package/dist/catalogs-RXJTZTVX.js +778 -0
  62. package/dist/catalogs-RXJTZTVX.js.map +1 -0
  63. package/dist/changes-5TOYRKZR.js +135 -0
  64. package/dist/chatgpt-QVF2FD3E.js +47 -0
  65. package/dist/chats-QG72JB6Y.js +276 -0
  66. package/dist/chats-QG72JB6Y.js.map +1 -0
  67. package/dist/check-SLNHVYGS.js +104 -0
  68. package/dist/chunk-2C7AHPM4.js +191 -0
  69. package/dist/chunk-2C7AHPM4.js.map +1 -0
  70. package/dist/chunk-2LI6746F.js +103 -0
  71. package/dist/chunk-2PWNIEW4.js +197 -0
  72. package/dist/chunk-2WZI36D3.js +317 -0
  73. package/dist/chunk-3W6G6ARX.js +122 -0
  74. package/dist/chunk-45UK4KYJ.js +1606 -0
  75. package/dist/chunk-46GWHUKN.js +225 -0
  76. package/dist/chunk-4AMIHNNP.js +1919 -0
  77. package/dist/chunk-4KJMLYCD.js +224 -0
  78. package/dist/chunk-5C35OW7L.js +205 -0
  79. package/dist/chunk-5C35OW7L.js.map +1 -0
  80. package/dist/chunk-5GQCN2QZ.js +391 -0
  81. package/dist/chunk-5GQCN2QZ.js.map +1 -0
  82. package/dist/chunk-5HJRZFMW.js +207 -0
  83. package/dist/chunk-65Y3RCWP.js +68 -0
  84. package/dist/chunk-65Y3RCWP.js.map +1 -0
  85. package/dist/chunk-66QHX566.js +6306 -0
  86. package/dist/chunk-6NCJGU6I.js +191 -0
  87. package/dist/chunk-6WCAV27H.js +494 -0
  88. package/dist/chunk-A4MVVPJ2.js +4204 -0
  89. package/dist/chunk-A4MVVPJ2.js.map +1 -0
  90. package/dist/chunk-AO45BX6Q.js +66 -0
  91. package/dist/chunk-AQM4JH62.js +274 -0
  92. package/dist/chunk-AQM4JH62.js.map +1 -0
  93. package/dist/chunk-BDYLILMW.js +150 -0
  94. package/dist/chunk-BL2MX6CR.js +249 -0
  95. package/dist/chunk-BOPC3D6I.js +604 -0
  96. package/dist/chunk-BTY4LZBG.js +46 -0
  97. package/dist/chunk-C7NWUCLQ.js +64 -0
  98. package/dist/chunk-CP4P6YKM.js +287 -0
  99. package/dist/chunk-CP4P6YKM.js.map +1 -0
  100. package/dist/chunk-D4CKCNGW.js +547 -0
  101. package/dist/chunk-D5CUAOQX.js +297 -0
  102. package/dist/chunk-D5UXWKLQ.js +903 -0
  103. package/dist/chunk-DCBZ5CHZ.js +139 -0
  104. package/dist/chunk-E2RFM6R2.js +1518 -0
  105. package/dist/chunk-EOY6BK4C.js +148 -0
  106. package/dist/chunk-FA4YZFRV.js +392 -0
  107. package/dist/chunk-FVHJCERJ.js +942 -0
  108. package/dist/chunk-G2LGMWNG.js +627 -0
  109. package/dist/chunk-G4STCTY3.js +399 -0
  110. package/dist/chunk-G6XKD7QE.js +77 -0
  111. package/dist/chunk-GSZZLW5Q.js +831 -0
  112. package/dist/chunk-HLVRHBKL.js +1078 -0
  113. package/dist/chunk-HLVRHBKL.js.map +1 -0
  114. package/dist/chunk-HSPMBLKE.js +363 -0
  115. package/dist/chunk-IG627WWY.js +23992 -0
  116. package/dist/chunk-IG627WWY.js.map +1 -0
  117. package/dist/chunk-IJ22WP3G.js +275 -0
  118. package/dist/chunk-IKCP5NCE.js +843 -0
  119. package/dist/chunk-ILSKYRDR.js +169 -0
  120. package/dist/chunk-JAC6JVCI.js +26 -0
  121. package/dist/chunk-JKJQWRLO.js +91 -0
  122. package/dist/chunk-JQH5VG6F.js +5368 -0
  123. package/dist/chunk-JQU2LUZG.js +57 -0
  124. package/dist/chunk-JVH5A3XC.js +8914 -0
  125. package/dist/chunk-JYALBYN7.js +131 -0
  126. package/dist/chunk-KOXDXSKN.js +8939 -0
  127. package/dist/chunk-LOMH4TTC.js +1079 -0
  128. package/dist/chunk-LXQB4ZGE.js +142 -0
  129. package/dist/chunk-M6PN3VH6.js +19 -0
  130. package/dist/chunk-M7IJU77B.js +665 -0
  131. package/dist/chunk-MCJ5I5LR.js +3187 -0
  132. package/dist/chunk-MCJ5I5LR.js.map +1 -0
  133. package/dist/chunk-MVB32GPI.js +592 -0
  134. package/dist/chunk-MXH35PJ5.js +51 -0
  135. package/dist/chunk-MZPS46OR.js +76 -0
  136. package/dist/chunk-NEIUVSDK.js +206 -0
  137. package/dist/chunk-NEOUY3Q7.js +285 -0
  138. package/dist/chunk-NXZCCGES.js +159 -0
  139. package/dist/chunk-P3W6SRSQ.js +455 -0
  140. package/dist/chunk-P5FRWPG7.js +160 -0
  141. package/dist/chunk-PA4W7BCQ.js +23 -0
  142. package/dist/chunk-PQJXIY64.js +97 -0
  143. package/dist/chunk-PTGYM4J6.js +89 -0
  144. package/dist/chunk-QNLJ3GNZ.js +433 -0
  145. package/dist/chunk-QTOZ32SU.js +163 -0
  146. package/dist/chunk-QTOZ32SU.js.map +1 -0
  147. package/dist/chunk-SISA4HQR.js +61 -0
  148. package/dist/chunk-SVAB6KV5.js +219 -0
  149. package/dist/chunk-SVAB6KV5.js.map +1 -0
  150. package/dist/chunk-SVM3DGAQ.js +228 -0
  151. package/dist/chunk-TP7HKSBX.js +172 -0
  152. package/dist/chunk-TRPJJMCS.js +346 -0
  153. package/dist/chunk-UNX6BS4U.js +3868 -0
  154. package/dist/chunk-VD73V44J.js +344 -0
  155. package/dist/chunk-VL65H6YM.js +846 -0
  156. package/dist/chunk-WTJSMYY2.js +4249 -0
  157. package/dist/chunk-WTJSMYY2.js.map +1 -0
  158. package/dist/chunk-X7F4Z6UM.js +156 -0
  159. package/dist/chunk-YW7VMU5L.js +654 -0
  160. package/dist/chunk-YW7VMU5L.js.map +1 -0
  161. package/dist/chunk-ZCQVKDHV.js +98 -0
  162. package/dist/chunk-ZJSGGJ5R.js +167 -0
  163. package/dist/claim-SLGYOOWD.js +197 -0
  164. package/dist/cli.js +36 -36
  165. package/dist/companies-IVMH6YII.js +195 -0
  166. package/dist/complete-45L2FI2X.js +81 -0
  167. package/dist/connect-S54TJ6OV.js +42 -0
  168. package/dist/conversation-RIOL3OJ7.js +93 -0
  169. package/dist/conversion-report-REOHVLCI.js +125 -0
  170. package/dist/conversion-upload-command-W4GELHIQ.js +438 -0
  171. package/dist/conversion-writes-ECZBVY7D.js +120 -0
  172. package/dist/conversions-5QCSCRLI.js +76 -0
  173. package/dist/conversions-TKIXNSYR.js +135 -0
  174. package/dist/copy-writes-D2RTHAL6.js +167 -0
  175. package/dist/copy-writes-D2RTHAL6.js.map +1 -0
  176. package/dist/create-7JY2PTIZ.js +132 -0
  177. package/dist/create-ACLCRXQP.js +59 -0
  178. package/dist/create-KYBMFD32.js +207 -0
  179. package/dist/create-VAPJ52GJ.js +235 -0
  180. package/dist/creatives-5I3G5YP3.js +182 -0
  181. package/dist/creatives-MZ6ICNSY.js +88 -0
  182. package/dist/creatives-MZ6ICNSY.js.map +1 -0
  183. package/dist/creatives-PCAGWPW3.js +58 -0
  184. package/dist/credentials-YTQ6BHWV.js +287 -0
  185. package/dist/critique-BHYJYZDV.js +1458 -0
  186. package/dist/critique-NRHUPIWF.js +227 -0
  187. package/dist/crm-IKTWHWEB.js +318 -0
  188. package/dist/crm-N7K57LZJ.js +224 -0
  189. package/dist/currency-PW7HIBZ6.js +88 -0
  190. package/dist/custom-conversions-FIP6ZS34.js +127 -0
  191. package/dist/custom-conversions-FIP6ZS34.js.map +1 -0
  192. package/dist/customers-NLU7NYDC.js +56 -0
  193. package/dist/delete-26J3X3ZH.js +64 -0
  194. package/dist/delete-A4F5Z54J.js +66 -0
  195. package/dist/delete-EVXOFT2H.js +54 -0
  196. package/dist/demographics-VZKFMM4X.js +138 -0
  197. package/dist/discard-ULRVUJDV.js +66 -0
  198. package/dist/discover-PVXWX2WL.js +172 -0
  199. package/dist/domain-L4WCCX7R.js +98 -0
  200. package/dist/draft-34CGWUVA.js +281 -0
  201. package/dist/draft-4P3YO67N.js +332 -0
  202. package/dist/draft-4P3YO67N.js.map +1 -0
  203. package/dist/draft-57OQKHZI.js +306 -0
  204. package/dist/draft-L45PGCYZ.js +237 -0
  205. package/dist/draft-L45PGCYZ.js.map +1 -0
  206. package/dist/draft-O4S5RKWK.js +217 -0
  207. package/dist/draft-PAYD6GIM.js +307 -0
  208. package/dist/engine/index.js +9 -9
  209. package/dist/experiment-7N4QFRWV.js +1397 -0
  210. package/dist/facets-EHQKGGJ2.js +114 -0
  211. package/dist/feedback-O3H42V4I.js +106 -0
  212. package/dist/feedback-record-FAPN2GBS.js +260 -0
  213. package/dist/fetch-ETKT2RBC.js +176 -0
  214. package/dist/find-FSQAEGGF.js +134 -0
  215. package/dist/fit-UJQ47C4A.js +62 -0
  216. package/dist/flows-T22B77J3.js +247 -0
  217. package/dist/fonts-7VWBQPJF.js +36 -0
  218. package/dist/forecast-HB3RDBQN.js +168 -0
  219. package/dist/forecast-OI7YWZ6F.js +118 -0
  220. package/dist/funnel-7OA33VRP.js +394 -0
  221. package/dist/ga4-LPDIBNYP.js +55 -0
  222. package/dist/generate-OMXBFGGR.js +263 -0
  223. package/dist/get-2RSN4N3J.js +56 -0
  224. package/dist/get-6N7QJMIP.js +79 -0
  225. package/dist/google-5ESVO76E.js +136 -0
  226. package/dist/google-6JZBJ2ZQ.js +3265 -0
  227. package/dist/google-ads-G7REKD4A.js +195 -0
  228. package/dist/gsc-FIZTQX3N.js +30 -0
  229. package/dist/history-QKDYBSYM.js +67 -0
  230. package/dist/history-YMK2JNZU.js +133 -0
  231. package/dist/hubspot-BUFS7S33.js +779 -0
  232. package/dist/icon-CSVAZ7NE.js +137 -0
  233. package/dist/ideas-JQT422P7.js +40 -0
  234. package/dist/images-WBNWK2ZH.js +92 -0
  235. package/dist/ingest-RQUJGS7K.js +107 -0
  236. package/dist/ingest-XLTRLCDV.js +23 -0
  237. package/dist/insights-SQLE5NOJ.js +122 -0
  238. package/dist/insights-YWVJMATY.js +424 -0
  239. package/dist/insights-YWVJMATY.js.map +1 -0
  240. package/dist/inspect-KFVAMD4N.js +189 -0
  241. package/dist/inspiration-IX5N724J.js +53 -0
  242. package/dist/instant-experiences-NQ2GWIWL.js +257 -0
  243. package/dist/instant-experiences-NQ2GWIWL.js.map +1 -0
  244. package/dist/intent-4KJGYYHL.js +95 -0
  245. package/dist/keyword-gap-U64KXDR4.js +130 -0
  246. package/dist/keyword-metrics-WYF3QMCW.js +197 -0
  247. package/dist/keywords-for-site-G5L5EP3T.js +128 -0
  248. package/dist/landing-Y6QCTXCZ.js +28 -0
  249. package/dist/languages-7IPVGGW5.js +40 -0
  250. package/dist/leads-4SJ4NJOI.js +90 -0
  251. package/dist/leads-THI37ZMD.js +537 -0
  252. package/dist/leads-THI37ZMD.js.map +1 -0
  253. package/dist/learn-3BDZUWDT.js +204 -0
  254. package/dist/line-item-writes-YXKYR25W.js +208 -0
  255. package/dist/line-items-CKUD2UU4.js +103 -0
  256. package/dist/link-VBYFI7AM.js +64 -0
  257. package/dist/linkedin-UGMAFSGO.js +1057 -0
  258. package/dist/list-6ZNZGRRK.js +151 -0
  259. package/dist/list-ENYDGT3F.js +64 -0
  260. package/dist/list-VSUF2IWT.js +303 -0
  261. package/dist/locations-HM56X2MK.js +67 -0
  262. package/dist/locations-HM56X2MK.js.map +1 -0
  263. package/dist/locations-QJBYWRCN.js +40 -0
  264. package/dist/log-AACKGBDW.js +92 -0
  265. package/dist/logo-VHXH4J6A.js +18 -0
  266. package/dist/make-W2PYZXYF.js +1353 -0
  267. package/dist/map-63CQHWPI.js +433 -0
  268. package/dist/mcp-RKAXC6IP.js +714 -0
  269. package/dist/media-H6B7VDON.js +18 -0
  270. package/dist/media-H6B7VDON.js.map +1 -0
  271. package/dist/media-sources-EZKAJNVD.js +32 -0
  272. package/dist/members-SELIA674.js +44 -0
  273. package/dist/meta-YHDTGJQ6.js +122 -0
  274. package/dist/meta-YHDTGJQ6.js.map +1 -0
  275. package/dist/metrics-V6SKOVNH.js +152 -0
  276. package/dist/models-2XRYXSRA.js +155 -0
  277. package/dist/normalize-VAZPTBDX.js +141 -0
  278. package/dist/options-NSCZSQ5P.js +122 -0
  279. package/dist/organization-SHREKDST.js +881 -0
  280. package/dist/organization-SHREKDST.js.map +1 -0
  281. package/dist/page-photos-CXRG4AXV.js +115 -0
  282. package/dist/page-photos-CXRG4AXV.js.map +1 -0
  283. package/dist/pages-PTWRXAZT.js +66 -0
  284. package/dist/performance-K7E5KAZW.js +24 -0
  285. package/dist/pixels-MYT3TCHZ.js +60 -0
  286. package/dist/pixels-ZZCQUS3J.js +108 -0
  287. package/dist/preview-XOXAAPMQ.js +215 -0
  288. package/dist/preview-XOXAAPMQ.js.map +1 -0
  289. package/dist/promoted-tweet-writes-PKEO6WUK.js +180 -0
  290. package/dist/promoted-tweets-7MXVZRBI.js +119 -0
  291. package/dist/publish-MPMGRV72.js +341 -0
  292. package/dist/query-UD4OIZ3A.js +61 -0
  293. package/dist/reddit-XIHRI3CN.js +26 -0
  294. package/dist/refresh-A27N75NH.js +94 -0
  295. package/dist/release-UKRB5IUN.js +60 -0
  296. package/dist/relevant-pages-VXSHEOU2.js +99 -0
  297. package/dist/remove-AFNFVPZY.js +50 -0
  298. package/dist/reopen-M5HE6J3G.js +63 -0
  299. package/dist/rerun-5THJLQQJ.js +90 -0
  300. package/dist/research-JHDWWFL7.js +62 -0
  301. package/dist/research-U7RQXMYH.js +262 -0
  302. package/dist/reset-4CCWB2RT.js +54 -0
  303. package/dist/reset-J3KCWFMZ.js +54 -0
  304. package/dist/resolve-HEK27ANI.js +121 -0
  305. package/dist/retry-HPZIUG2S.js +62 -0
  306. package/dist/retry-VVI6N6UR.js +60 -0
  307. package/dist/rule-writes-6ZCAJDYZ.js +522 -0
  308. package/dist/rule-writes-6ZCAJDYZ.js.map +1 -0
  309. package/dist/rules-BMYOY2BM.js +216 -0
  310. package/dist/rules-BMYOY2BM.js.map +1 -0
  311. package/dist/rules-YLLFDZEM.js +96 -0
  312. package/dist/rules-add-U2GU4AGP.js +462 -0
  313. package/dist/run-M7ZDE6IA.js +66 -0
  314. package/dist/run-V5YQB6TH.js +65 -0
  315. package/dist/scaffold-ad-H4GJOKAW.js +1511 -0
  316. package/dist/scaffold-static-ad-2YIFHCTL.js +1005 -0
  317. package/dist/scaffold-video-3EJLKR2O.js +883 -0
  318. package/dist/schedule-QMOKWTJ3.js +61 -0
  319. package/dist/scheduled-agents-FCQHQ6KR.js +50 -0
  320. package/dist/schema-THFLCMBN.js +132 -0
  321. package/dist/schema-XKEEAUXP.js +69 -0
  322. package/dist/search-XIUYSWO6.js +174 -0
  323. package/dist/select-I22NPSIW.js +101 -0
  324. package/dist/set-prompt-S75OMQ7L.js +193 -0
  325. package/dist/setup-links-QVI6NAOK.js +141 -0
  326. package/dist/shared-3IBNDEFL.js +31 -0
  327. package/dist/site-PZPJY33N.js +177 -0
  328. package/dist/sources-ER7ANNG3.js +454 -0
  329. package/dist/sources-VA23PDND.js +30 -0
  330. package/dist/stale-MHTU2NQJ.js +71 -0
  331. package/dist/stats-ZAGJH4AD.js +34 -0
  332. package/dist/status-ABMJBCPJ.js +62 -0
  333. package/dist/stock-6SHHLSKG.js +179 -0
  334. package/dist/studies-4NIV4D5Y.js +249 -0
  335. package/dist/studies-4NIV4D5Y.js.map +1 -0
  336. package/dist/studio-ZLCGXFAN.js +49 -0
  337. package/dist/study-writes-L2AA2PGL.js +467 -0
  338. package/dist/study-writes-L2AA2PGL.js.map +1 -0
  339. package/dist/sync-QDD3MRJ6.js +54 -0
  340. package/dist/sync-definition-2EBSQA6A.js +64 -0
  341. package/dist/tag-manager-3CJ66GKJ.js +43 -0
  342. package/dist/tags-5JYOEYIT.js +20 -0
  343. package/dist/tags-B473RWAA.js +224 -0
  344. package/dist/tags-EWHPUM2V.js +20 -0
  345. package/dist/tags-KBCX6BDU.js +26 -0
  346. package/dist/tags-PEWN6GNZ.js +20 -0
  347. package/dist/targeting-LNDQV4EK.js +759 -0
  348. package/dist/targeting-LNDQV4EK.js.map +1 -0
  349. package/dist/targeting-criteria-EU65WUUF.js +113 -0
  350. package/dist/targets-KVXS5QKM.js +103 -0
  351. package/dist/testimonials-GR6TIS5S.js +32 -0
  352. package/dist/themes-JWWTOR3I.js +94 -0
  353. package/dist/top-companies-OOX3DITI.js +108 -0
  354. package/dist/translate-GEFUP6KQ.js +604 -0
  355. package/dist/triggers-OX2GKG4Y.js +142 -0
  356. package/dist/unlink-3USEPJSA.js +67 -0
  357. package/dist/unstage-VSCNPTAC.js +85 -0
  358. package/dist/update-6JKTH65B.js +152 -0
  359. package/dist/update-FG4ELXYJ.js +98 -0
  360. package/dist/update-GZFKHA3A.js +188 -0
  361. package/dist/update-HZHG67N6.js +63 -0
  362. package/dist/upload-BKCQ6FRW.js +126 -0
  363. package/dist/url-options-HCVRPZYU.js +130 -0
  364. package/dist/url-params-UN4DRN2H.js +98 -0
  365. package/dist/validate-NOWIOAHE.js +117 -0
  366. package/dist/videos-XMTDEHEJ.js +39 -0
  367. package/dist/viewer-check-U4XZMMS7.js +80 -0
  368. package/dist/viewer-check-U4XZMMS7.js.map +1 -0
  369. package/dist/web-UGU7YMII.js +140 -0
  370. package/dist/winning-ads-QOAYIR5U.js +84 -0
  371. package/dist/write-commands-6VR2UD3T.js +1024 -0
  372. package/dist/write-commands-PEJBTME6.js +1165 -0
  373. package/dist/write-commands-PEJBTME6.js.map +1 -0
  374. package/dist/x-VCSMV7T5.js +47 -0
  375. package/package.json +1 -1
  376. package/dist/account-7LUQWY6Q.js +0 -49
  377. package/dist/account-7LUQWY6Q.js.map +0 -1
  378. package/dist/account-ELL7ZZLM.js +0 -80
  379. package/dist/account-YVQGH2GB.js +0 -79
  380. package/dist/account-reads-5B4FFOZU.js +0 -218
  381. package/dist/account-writes-CEPERFD6.js +0 -66
  382. package/dist/accounts-6WNFCGUW.js +0 -611
  383. package/dist/accounts-UA2ZWRN4.js +0 -75
  384. package/dist/accounts-ZIE7J6RR.js +0 -77
  385. package/dist/actions-QZQTB3KR.js +0 -55
  386. package/dist/activecampaign-LIXWDX74.js +0 -935
  387. package/dist/activities-IQPJPP4B.js +0 -74
  388. package/dist/ad-group-writes-XGSCEQTW.js +0 -170
  389. package/dist/ad-groups-GKOLDGET.js +0 -68
  390. package/dist/ad-writes-VVD36JKH.js +0 -174
  391. package/dist/add-HQFI5UVS.js +0 -302
  392. package/dist/add-JWJP4CQY.js +0 -104
  393. package/dist/ads-EKZVHKPN.js +0 -77
  394. package/dist/ads-F365TPXO.js +0 -40
  395. package/dist/ads-HXX2IAFF.js +0 -113
  396. package/dist/ads-HXX2IAFF.js.map +0 -1
  397. package/dist/adsets-LPN6WFGF.js +0 -176
  398. package/dist/adsets-LPN6WFGF.js.map +0 -1
  399. package/dist/advertisers-TPIS4R73.js +0 -120
  400. package/dist/analytics-AFW7ESJW.js +0 -1976
  401. package/dist/analytics-QG7TBGMC.js +0 -433
  402. package/dist/animate-G4P3OEJE.js +0 -480
  403. package/dist/assign-VKINQVCJ.js +0 -77
  404. package/dist/audience-size-6ZEWCPX6.js +0 -73
  405. package/dist/audiences-BU4JZJT7.js +0 -268
  406. package/dist/audiences-XEZHACKH.js +0 -78
  407. package/dist/audiences-XEZHACKH.js.map +0 -1
  408. package/dist/audit-5US7TTUF.js +0 -151
  409. package/dist/autocomplete-XBVLHJ4R.js +0 -111
  410. package/dist/avatars-5IBVOF63.js +0 -38
  411. package/dist/bid-pricing-EFYUHTWP.js +0 -100
  412. package/dist/brand-Z5KRGJX4.js +0 -22
  413. package/dist/brief-DGAZ6NJG.js +0 -538
  414. package/dist/businesses-PRRYPR7H.js +0 -53
  415. package/dist/campaign-groups-AOMTKPUY.js +0 -95
  416. package/dist/campaign-writes-NSEJCINS.js +0 -170
  417. package/dist/campaign-writes-NXVLFVZ6.js +0 -165
  418. package/dist/campaign-writes-NXVLFVZ6.js.map +0 -1
  419. package/dist/campaigns-4SOLY7OR.js +0 -110
  420. package/dist/campaigns-4SOLY7OR.js.map +0 -1
  421. package/dist/campaigns-UELLCVI2.js +0 -109
  422. package/dist/campaigns-VWN2XPK2.js +0 -76
  423. package/dist/campaigns-WE42FQKM.js +0 -107
  424. package/dist/canvas-DG3CJ7FA.js +0 -46
  425. package/dist/capabilities-FDCILMJK.js +0 -144
  426. package/dist/catalog-KZNB2YJS.js +0 -65
  427. package/dist/catalogs-XH5NHH4C.js +0 -128
  428. package/dist/changes-DKP263OZ.js +0 -135
  429. package/dist/chatgpt-K6KNTME4.js +0 -47
  430. package/dist/chats-NFSZEF5L.js +0 -262
  431. package/dist/chats-NFSZEF5L.js.map +0 -1
  432. package/dist/check-6UVMPPNH.js +0 -104
  433. package/dist/chunk-2GT76KEX.js +0 -285
  434. package/dist/chunk-33XFNSBM.js +0 -433
  435. package/dist/chunk-36SU43V2.js +0 -6306
  436. package/dist/chunk-3BKNGXCL.js +0 -23992
  437. package/dist/chunk-3BKNGXCL.js.map +0 -1
  438. package/dist/chunk-3VCHJN2B.js +0 -627
  439. package/dist/chunk-5562QFVB.js +0 -275
  440. package/dist/chunk-5QW4OQM4.js +0 -831
  441. package/dist/chunk-5SRHACZW.js +0 -274
  442. package/dist/chunk-5SRHACZW.js.map +0 -1
  443. package/dist/chunk-6JWEGFM5.js +0 -174
  444. package/dist/chunk-6JWEGFM5.js.map +0 -1
  445. package/dist/chunk-6KULDLLR.js +0 -547
  446. package/dist/chunk-6OIKNJ7G.js +0 -26
  447. package/dist/chunk-6TG4CAYD.js +0 -19
  448. package/dist/chunk-6VZHOXP6.js +0 -172
  449. package/dist/chunk-7RBJ2Z7Z.js +0 -172
  450. package/dist/chunk-7RBJ2Z7Z.js.map +0 -1
  451. package/dist/chunk-7RKUHTS6.js +0 -224
  452. package/dist/chunk-AGVCQHQK.js +0 -344
  453. package/dist/chunk-AJ45PER5.js +0 -57
  454. package/dist/chunk-AL3VGEG5.js +0 -665
  455. package/dist/chunk-AQMMAB2N.js +0 -197
  456. package/dist/chunk-B6VCTXSD.js +0 -97
  457. package/dist/chunk-B7FVPHCW.js +0 -843
  458. package/dist/chunk-BITS62MF.js +0 -77
  459. package/dist/chunk-C4MJ3WPQ.js +0 -592
  460. package/dist/chunk-C6BFE4X2.js +0 -51
  461. package/dist/chunk-D2YHDDKW.js +0 -23
  462. package/dist/chunk-E4GWQFTL.js +0 -66
  463. package/dist/chunk-EIDTAHUC.js +0 -191
  464. package/dist/chunk-ERRMJ7AZ.js +0 -169
  465. package/dist/chunk-EZ5KY6I2.js +0 -1079
  466. package/dist/chunk-F3CZFUXZ.js +0 -3187
  467. package/dist/chunk-F3CZFUXZ.js.map +0 -1
  468. package/dist/chunk-F5IH7G2F.js +0 -1919
  469. package/dist/chunk-GFTDR3Z2.js +0 -604
  470. package/dist/chunk-GGY2KH3K.js +0 -249
  471. package/dist/chunk-GOJXKIFQ.js +0 -1605
  472. package/dist/chunk-GOJXKIFQ.js.map +0 -1
  473. package/dist/chunk-GYJQV3IX.js +0 -225
  474. package/dist/chunk-H5HDZ7IC.js +0 -139
  475. package/dist/chunk-HVI4DNZL.js +0 -103
  476. package/dist/chunk-HY4G44UC.js +0 -156
  477. package/dist/chunk-I2WRZJAC.js +0 -46
  478. package/dist/chunk-IHUIXQBP.js +0 -206
  479. package/dist/chunk-IMWXYSCP.js +0 -392
  480. package/dist/chunk-KIGGMKAE.js +0 -66
  481. package/dist/chunk-KIGGMKAE.js.map +0 -1
  482. package/dist/chunk-KPYDTIAI.js +0 -317
  483. package/dist/chunk-L63JZLCX.js +0 -647
  484. package/dist/chunk-L63JZLCX.js.map +0 -1
  485. package/dist/chunk-M2D7ZWEU.js +0 -150
  486. package/dist/chunk-MP5IMGKF.js +0 -148
  487. package/dist/chunk-NA2KOPW6.js +0 -363
  488. package/dist/chunk-NAA4CKZZ.js +0 -4249
  489. package/dist/chunk-NAA4CKZZ.js.map +0 -1
  490. package/dist/chunk-NDVAOHMY.js +0 -903
  491. package/dist/chunk-NLUFREI6.js +0 -160
  492. package/dist/chunk-OKLYOMQ3.js +0 -1606
  493. package/dist/chunk-ONVPV23E.js +0 -122
  494. package/dist/chunk-OP7DNHD2.js +0 -137
  495. package/dist/chunk-OP7DNHD2.js.map +0 -1
  496. package/dist/chunk-OWRFIAW2.js +0 -91
  497. package/dist/chunk-P5ENZXC2.js +0 -64
  498. package/dist/chunk-QK76OM22.js +0 -297
  499. package/dist/chunk-R5IZ6P3E.js +0 -3868
  500. package/dist/chunk-RBIWYPJQ.js +0 -159
  501. package/dist/chunk-RESDRJRP.js +0 -399
  502. package/dist/chunk-RGX7AQ2K.js +0 -131
  503. package/dist/chunk-RWLQYW2L.js +0 -8939
  504. package/dist/chunk-S7B2TOOU.js +0 -98
  505. package/dist/chunk-SIKCVWM3.js +0 -76
  506. package/dist/chunk-TBZPXGEW.js +0 -142
  507. package/dist/chunk-TFJW5CXD.js +0 -5368
  508. package/dist/chunk-TPS3X5DI.js +0 -89
  509. package/dist/chunk-UM7ESCIN.js +0 -846
  510. package/dist/chunk-UWDYGSJF.js +0 -61
  511. package/dist/chunk-V57TZQPI.js +0 -228
  512. package/dist/chunk-VLKYUZF7.js +0 -346
  513. package/dist/chunk-VYZ4KQ3C.js +0 -942
  514. package/dist/chunk-WRMMJUNJ.js +0 -494
  515. package/dist/chunk-WY5H3XYC.js +0 -167
  516. package/dist/chunk-XLJVJ5TK.js +0 -1518
  517. package/dist/chunk-Y2GH4YWA.js +0 -207
  518. package/dist/chunk-YSB26POP.js +0 -8914
  519. package/dist/chunk-YT2ZSPWF.js +0 -455
  520. package/dist/claim-7CB6TVEW.js +0 -197
  521. package/dist/companies-CACKHSY5.js +0 -195
  522. package/dist/complete-IHLTYFT2.js +0 -81
  523. package/dist/connect-J722BTO4.js +0 -42
  524. package/dist/conversation-HRNJJJW5.js +0 -93
  525. package/dist/conversion-report-KL4LIVY5.js +0 -125
  526. package/dist/conversion-upload-command-WT6C35QL.js +0 -438
  527. package/dist/conversion-writes-MPBCTVSP.js +0 -120
  528. package/dist/conversions-ACYT6K7H.js +0 -76
  529. package/dist/conversions-DE7W5T4Z.js +0 -135
  530. package/dist/create-6ZDLKC4F.js +0 -59
  531. package/dist/create-7YO6DAAT.js +0 -207
  532. package/dist/create-W7OTXLCZ.js +0 -132
  533. package/dist/create-ZU7AHBYM.js +0 -235
  534. package/dist/creatives-6UYAAC5E.js +0 -58
  535. package/dist/creatives-XUIY3MQI.js +0 -182
  536. package/dist/creatives-YJ3CXZQC.js +0 -87
  537. package/dist/creatives-YJ3CXZQC.js.map +0 -1
  538. package/dist/credentials-ADGJKYA7.js +0 -287
  539. package/dist/critique-BBHPASRE.js +0 -227
  540. package/dist/critique-T7QGPPEX.js +0 -1458
  541. package/dist/crm-EKDV2SET.js +0 -224
  542. package/dist/crm-MXT2HUKU.js +0 -318
  543. package/dist/currency-TBBXPWXU.js +0 -88
  544. package/dist/custom-conversions-YRYE65PU.js +0 -125
  545. package/dist/custom-conversions-YRYE65PU.js.map +0 -1
  546. package/dist/customers-EZEVYT4Z.js +0 -56
  547. package/dist/delete-3UDIH2ZD.js +0 -66
  548. package/dist/delete-4L3HO5B6.js +0 -54
  549. package/dist/delete-SRU4GRDT.js +0 -64
  550. package/dist/demographics-3OWQDW7B.js +0 -138
  551. package/dist/discard-UEMA5UHL.js +0 -66
  552. package/dist/discover-RTV5XWRI.js +0 -172
  553. package/dist/domain-6324IS6I.js +0 -98
  554. package/dist/draft-2KS56KCT.js +0 -307
  555. package/dist/draft-777O2UIX.js +0 -217
  556. package/dist/draft-EWDOIXSH.js +0 -233
  557. package/dist/draft-EWDOIXSH.js.map +0 -1
  558. package/dist/draft-GRL7577L.js +0 -306
  559. package/dist/draft-VOFJXUOC.js +0 -328
  560. package/dist/draft-VOFJXUOC.js.map +0 -1
  561. package/dist/draft-VXGZDBC7.js +0 -281
  562. package/dist/experiment-G3FQVAJU.js +0 -1397
  563. package/dist/facets-YV6NORA6.js +0 -114
  564. package/dist/feedback-YITFVOHX.js +0 -106
  565. package/dist/feedback-record-FW2QWFYQ.js +0 -260
  566. package/dist/fetch-EYXLTSKW.js +0 -176
  567. package/dist/find-EVY4XEIQ.js +0 -134
  568. package/dist/fit-KEFUU7QA.js +0 -62
  569. package/dist/flows-EJV7WMGD.js +0 -247
  570. package/dist/fonts-DMIBVZ6D.js +0 -36
  571. package/dist/forecast-5YKQZSE7.js +0 -118
  572. package/dist/forecast-G43FKEZE.js +0 -168
  573. package/dist/funnel-ND7OXIKT.js +0 -394
  574. package/dist/ga4-2BL5YAYN.js +0 -55
  575. package/dist/generate-D3LUXFJT.js +0 -263
  576. package/dist/get-GB6SPWCA.js +0 -79
  577. package/dist/get-PU3YHQWN.js +0 -56
  578. package/dist/google-7STODZQR.js +0 -136
  579. package/dist/google-MHB5TOFN.js +0 -3265
  580. package/dist/google-ads-XGEGKEL6.js +0 -195
  581. package/dist/gsc-UU3T2C6B.js +0 -30
  582. package/dist/history-NYWAMWAY.js +0 -133
  583. package/dist/history-OQAOTEO3.js +0 -67
  584. package/dist/hubspot-LMIVY7FR.js +0 -779
  585. package/dist/icon-GB7UH5RF.js +0 -137
  586. package/dist/ideas-W4IIVOZ4.js +0 -40
  587. package/dist/images-PPMIMPTS.js +0 -92
  588. package/dist/ingest-2YGWBWAB.js +0 -107
  589. package/dist/ingest-FRDTTPYD.js +0 -23
  590. package/dist/insights-4HT2NAYP.js +0 -423
  591. package/dist/insights-4HT2NAYP.js.map +0 -1
  592. package/dist/insights-PZXFCMX2.js +0 -122
  593. package/dist/inspect-QF2S3U2E.js +0 -189
  594. package/dist/inspiration-XQYHBJY2.js +0 -53
  595. package/dist/intent-JJTDJ732.js +0 -95
  596. package/dist/keyword-gap-4NQN56JP.js +0 -130
  597. package/dist/keyword-metrics-QCIOBMTW.js +0 -197
  598. package/dist/keywords-for-site-FS635JXM.js +0 -128
  599. package/dist/landing-6H5QEHOW.js +0 -28
  600. package/dist/languages-FNE45NXJ.js +0 -40
  601. package/dist/leads-2XOSAYP4.js +0 -293
  602. package/dist/leads-2XOSAYP4.js.map +0 -1
  603. package/dist/leads-MKLSWZO6.js +0 -90
  604. package/dist/learn-C564OA7W.js +0 -204
  605. package/dist/line-item-writes-K7QNWRQ3.js +0 -208
  606. package/dist/line-items-TBTHVKCZ.js +0 -103
  607. package/dist/link-CPJJ6T4M.js +0 -64
  608. package/dist/linkedin-HGUK624E.js +0 -1057
  609. package/dist/list-AAT5CWDA.js +0 -303
  610. package/dist/list-N5SJXLYF.js +0 -64
  611. package/dist/list-OKDU5W4D.js +0 -151
  612. package/dist/locations-FTDI4FBI.js +0 -40
  613. package/dist/locations-VL2G22Y5.js +0 -67
  614. package/dist/locations-VL2G22Y5.js.map +0 -1
  615. package/dist/log-KVRWIJS5.js +0 -92
  616. package/dist/logo-YSNUUT33.js +0 -18
  617. package/dist/make-4NTHJ4TG.js +0 -1353
  618. package/dist/map-HQ43MKEC.js +0 -433
  619. package/dist/mcp-MFLUHPL5.js +0 -714
  620. package/dist/media-ES2UBGYW.js +0 -15
  621. package/dist/media-ES2UBGYW.js.map +0 -1
  622. package/dist/media-sources-A4ICRSKB.js +0 -32
  623. package/dist/members-NRKQSSVS.js +0 -44
  624. package/dist/meta-AOIPEDV5.js +0 -69
  625. package/dist/meta-AOIPEDV5.js.map +0 -1
  626. package/dist/metrics-3BRTJNGW.js +0 -152
  627. package/dist/models-IH6KE6OH.js +0 -155
  628. package/dist/normalize-EH6BTBOB.js +0 -141
  629. package/dist/options-YEPQXXRY.js +0 -122
  630. package/dist/organization-XSWT7S5S.js +0 -836
  631. package/dist/organization-XSWT7S5S.js.map +0 -1
  632. package/dist/pages-FTI44OSH.js +0 -66
  633. package/dist/performance-YJVMM6DL.js +0 -24
  634. package/dist/pixels-DWW2TDY2.js +0 -60
  635. package/dist/pixels-MBKR4XPX.js +0 -108
  636. package/dist/preview-V4YBD45S.js +0 -169
  637. package/dist/preview-V4YBD45S.js.map +0 -1
  638. package/dist/promoted-tweet-writes-M5OVEBC5.js +0 -180
  639. package/dist/promoted-tweets-2MOIERNB.js +0 -119
  640. package/dist/publish-NPENZIHV.js +0 -341
  641. package/dist/query-3OMCFGLU.js +0 -61
  642. package/dist/reddit-LI37G5LS.js +0 -26
  643. package/dist/refresh-4BBV5SPL.js +0 -94
  644. package/dist/release-4X3TLMQT.js +0 -60
  645. package/dist/relevant-pages-DIYZM6FJ.js +0 -99
  646. package/dist/remove-Q4AES5UH.js +0 -50
  647. package/dist/reopen-SDTPL3BN.js +0 -63
  648. package/dist/rerun-NA3MH4HG.js +0 -90
  649. package/dist/research-5H265UV7.js +0 -262
  650. package/dist/research-LXQRNAQ2.js +0 -62
  651. package/dist/reset-42M5IKDI.js +0 -54
  652. package/dist/reset-52PU3CVD.js +0 -54
  653. package/dist/resolve-R4IACKIZ.js +0 -121
  654. package/dist/retry-FPF42ZNG.js +0 -62
  655. package/dist/retry-RTQGAH6G.js +0 -60
  656. package/dist/rules-CGNYJYVC.js +0 -96
  657. package/dist/rules-add-EO5476BF.js +0 -462
  658. package/dist/run-3AZJ3UQU.js +0 -66
  659. package/dist/run-AFMTXJTU.js +0 -65
  660. package/dist/scaffold-ad-OGU2IINY.js +0 -1511
  661. package/dist/scaffold-static-ad-HO4BJW4H.js +0 -1005
  662. package/dist/scaffold-video-TLQ4WSDK.js +0 -883
  663. package/dist/schedule-AWWMI5FO.js +0 -61
  664. package/dist/scheduled-agents-ELLU7BSE.js +0 -50
  665. package/dist/schema-BOOZEJPA.js +0 -69
  666. package/dist/schema-QNVLKMKG.js +0 -132
  667. package/dist/search-BZNIB2XF.js +0 -174
  668. package/dist/select-NLWZIQ7L.js +0 -101
  669. package/dist/set-prompt-QKW2L553.js +0 -193
  670. package/dist/setup-links-NMSQ4BG7.js +0 -141
  671. package/dist/shared-NDRFKAH7.js +0 -31
  672. package/dist/site-GGYFBZT5.js +0 -177
  673. package/dist/sources-KTGDMUV4.js +0 -30
  674. package/dist/sources-LPQZDTIU.js +0 -454
  675. package/dist/stale-C5JLQ4D2.js +0 -71
  676. package/dist/stats-RCLQE4HJ.js +0 -34
  677. package/dist/status-6PS3HDS5.js +0 -62
  678. package/dist/stock-ECRBD7RP.js +0 -179
  679. package/dist/studio-LMDDQWRY.js +0 -49
  680. package/dist/sync-XSATDLE6.js +0 -54
  681. package/dist/sync-definition-LSGDHMHV.js +0 -64
  682. package/dist/tag-manager-G3LBQZUL.js +0 -43
  683. package/dist/tags-5Y7TPJNZ.js +0 -20
  684. package/dist/tags-6TT5ZJVX.js +0 -26
  685. package/dist/tags-BQLIOWS4.js +0 -20
  686. package/dist/tags-EXWKO6Q6.js +0 -224
  687. package/dist/tags-OK34UGSM.js +0 -20
  688. package/dist/targeting-criteria-AWPMOX4V.js +0 -113
  689. package/dist/targets-EXYCOHEX.js +0 -103
  690. package/dist/testimonials-BTYMR3U4.js +0 -32
  691. package/dist/themes-AOU4ZZXL.js +0 -94
  692. package/dist/top-companies-FRPAURAH.js +0 -108
  693. package/dist/translate-SF234KLG.js +0 -604
  694. package/dist/triggers-SJUXDU3X.js +0 -142
  695. package/dist/unlink-RIZD3XTI.js +0 -67
  696. package/dist/unstage-MKTIVI3I.js +0 -85
  697. package/dist/update-COHXM25C.js +0 -152
  698. package/dist/update-NKX2GXAR.js +0 -63
  699. package/dist/update-OXVZXDYH.js +0 -98
  700. package/dist/update-SZLYEEU4.js +0 -188
  701. package/dist/upload-LEDO3IRC.js +0 -126
  702. package/dist/url-options-Q5SL42CV.js +0 -130
  703. package/dist/url-params-KP6D7BF3.js +0 -98
  704. package/dist/validate-7QWQZ2OL.js +0 -117
  705. package/dist/videos-VABK4KHJ.js +0 -39
  706. package/dist/viewer-check-I45HHWSW.js +0 -80
  707. package/dist/web-DZGUPZYQ.js +0 -140
  708. package/dist/winning-ads-6MDLRSKM.js +0 -84
  709. package/dist/write-commands-3VIK3VC4.js +0 -1024
  710. package/dist/write-commands-HCQI4Y27.js +0 -737
  711. package/dist/write-commands-HCQI4Y27.js.map +0 -1
  712. package/dist/x-GRDU7QC2.js +0 -47
  713. /package/dist/{account-ELL7ZZLM.js.map → account-3H6BZO5H.js.map} +0 -0
  714. /package/dist/{account-YVQGH2GB.js.map → account-KNRDOUJP.js.map} +0 -0
  715. /package/dist/{account-reads-5B4FFOZU.js.map → account-reads-GA6FVKLE.js.map} +0 -0
  716. /package/dist/{account-writes-CEPERFD6.js.map → account-writes-AE5IJGGW.js.map} +0 -0
  717. /package/dist/{accounts-UA2ZWRN4.js.map → accounts-K4INATCW.js.map} +0 -0
  718. /package/dist/{accounts-6WNFCGUW.js.map → accounts-RTN5ZGTU.js.map} +0 -0
  719. /package/dist/{accounts-ZIE7J6RR.js.map → accounts-RW6KXBOQ.js.map} +0 -0
  720. /package/dist/{actions-QZQTB3KR.js.map → actions-HNLISA7T.js.map} +0 -0
  721. /package/dist/{activecampaign-LIXWDX74.js.map → activecampaign-I5CILZPU.js.map} +0 -0
  722. /package/dist/{activities-IQPJPP4B.js.map → activities-T253KK4Q.js.map} +0 -0
  723. /package/dist/{ad-group-writes-XGSCEQTW.js.map → ad-group-writes-VRSBI2Z2.js.map} +0 -0
  724. /package/dist/{ad-groups-GKOLDGET.js.map → ad-groups-IEBVEAMS.js.map} +0 -0
  725. /package/dist/{ad-writes-VVD36JKH.js.map → ad-writes-ALV4KFPZ.js.map} +0 -0
  726. /package/dist/{add-HQFI5UVS.js.map → add-6WKPFMLG.js.map} +0 -0
  727. /package/dist/{add-JWJP4CQY.js.map → add-XF5COUAS.js.map} +0 -0
  728. /package/dist/{ads-EKZVHKPN.js.map → ads-CQZHD7FC.js.map} +0 -0
  729. /package/dist/{ads-F365TPXO.js.map → ads-QIKZ6O2N.js.map} +0 -0
  730. /package/dist/{advertisers-TPIS4R73.js.map → advertisers-6NUM2Q3A.js.map} +0 -0
  731. /package/dist/{analytics-AFW7ESJW.js.map → analytics-ALOZ7ZZ4.js.map} +0 -0
  732. /package/dist/{analytics-QG7TBGMC.js.map → analytics-VLHE5A2M.js.map} +0 -0
  733. /package/dist/{animate-G4P3OEJE.js.map → animate-SVEPM267.js.map} +0 -0
  734. /package/dist/{connect-J722BTO4.js.map → asset-writes-L5TMKIZC.js.map} +0 -0
  735. /package/dist/{assign-VKINQVCJ.js.map → assign-6HI6TNLP.js.map} +0 -0
  736. /package/dist/{audience-size-6ZEWCPX6.js.map → audience-size-25LP2OBF.js.map} +0 -0
  737. /package/dist/{audiences-BU4JZJT7.js.map → audiences-AAZH56WD.js.map} +0 -0
  738. /package/dist/{audit-5US7TTUF.js.map → audit-YY6X2MPA.js.map} +0 -0
  739. /package/dist/{autocomplete-XBVLHJ4R.js.map → autocomplete-SAWJK4NF.js.map} +0 -0
  740. /package/dist/{avatars-5IBVOF63.js.map → avatars-YSFFRHDK.js.map} +0 -0
  741. /package/dist/{bid-pricing-EFYUHTWP.js.map → bid-pricing-HZ74SLEB.js.map} +0 -0
  742. /package/dist/{brand-Z5KRGJX4.js.map → brand-T3OACVQX.js.map} +0 -0
  743. /package/dist/{brief-DGAZ6NJG.js.map → brief-7S6XCJIA.js.map} +0 -0
  744. /package/dist/{businesses-PRRYPR7H.js.map → businesses-H3HIDQX6.js.map} +0 -0
  745. /package/dist/{campaign-groups-AOMTKPUY.js.map → campaign-groups-YJK767AP.js.map} +0 -0
  746. /package/dist/{campaign-writes-NSEJCINS.js.map → campaign-writes-U5PUVSMT.js.map} +0 -0
  747. /package/dist/{campaigns-UELLCVI2.js.map → campaigns-GALDR5KK.js.map} +0 -0
  748. /package/dist/{campaigns-VWN2XPK2.js.map → campaigns-JEIKY2M4.js.map} +0 -0
  749. /package/dist/{campaigns-WE42FQKM.js.map → campaigns-VTRMKSAT.js.map} +0 -0
  750. /package/dist/{canvas-DG3CJ7FA.js.map → canvas-SVJEQO4V.js.map} +0 -0
  751. /package/dist/{capabilities-FDCILMJK.js.map → capabilities-2KT6TCGZ.js.map} +0 -0
  752. /package/dist/{catalog-KZNB2YJS.js.map → catalog-S32MX453.js.map} +0 -0
  753. /package/dist/{catalogs-XH5NHH4C.js.map → catalogs-OCVXZLIF.js.map} +0 -0
  754. /package/dist/{changes-DKP263OZ.js.map → changes-5TOYRKZR.js.map} +0 -0
  755. /package/dist/{chatgpt-K6KNTME4.js.map → chatgpt-QVF2FD3E.js.map} +0 -0
  756. /package/dist/{check-6UVMPPNH.js.map → check-SLNHVYGS.js.map} +0 -0
  757. /package/dist/{chunk-HVI4DNZL.js.map → chunk-2LI6746F.js.map} +0 -0
  758. /package/dist/{chunk-AQMMAB2N.js.map → chunk-2PWNIEW4.js.map} +0 -0
  759. /package/dist/{chunk-KPYDTIAI.js.map → chunk-2WZI36D3.js.map} +0 -0
  760. /package/dist/{chunk-ONVPV23E.js.map → chunk-3W6G6ARX.js.map} +0 -0
  761. /package/dist/{chunk-OKLYOMQ3.js.map → chunk-45UK4KYJ.js.map} +0 -0
  762. /package/dist/{chunk-GYJQV3IX.js.map → chunk-46GWHUKN.js.map} +0 -0
  763. /package/dist/{chunk-F5IH7G2F.js.map → chunk-4AMIHNNP.js.map} +0 -0
  764. /package/dist/{chunk-7RKUHTS6.js.map → chunk-4KJMLYCD.js.map} +0 -0
  765. /package/dist/{chunk-Y2GH4YWA.js.map → chunk-5HJRZFMW.js.map} +0 -0
  766. /package/dist/{chunk-36SU43V2.js.map → chunk-66QHX566.js.map} +0 -0
  767. /package/dist/{chunk-EIDTAHUC.js.map → chunk-6NCJGU6I.js.map} +0 -0
  768. /package/dist/{chunk-WRMMJUNJ.js.map → chunk-6WCAV27H.js.map} +0 -0
  769. /package/dist/{chunk-E4GWQFTL.js.map → chunk-AO45BX6Q.js.map} +0 -0
  770. /package/dist/{chunk-M2D7ZWEU.js.map → chunk-BDYLILMW.js.map} +0 -0
  771. /package/dist/{chunk-GGY2KH3K.js.map → chunk-BL2MX6CR.js.map} +0 -0
  772. /package/dist/{chunk-GFTDR3Z2.js.map → chunk-BOPC3D6I.js.map} +0 -0
  773. /package/dist/{chunk-I2WRZJAC.js.map → chunk-BTY4LZBG.js.map} +0 -0
  774. /package/dist/{chunk-P5ENZXC2.js.map → chunk-C7NWUCLQ.js.map} +0 -0
  775. /package/dist/{chunk-6KULDLLR.js.map → chunk-D4CKCNGW.js.map} +0 -0
  776. /package/dist/{chunk-QK76OM22.js.map → chunk-D5CUAOQX.js.map} +0 -0
  777. /package/dist/{chunk-NDVAOHMY.js.map → chunk-D5UXWKLQ.js.map} +0 -0
  778. /package/dist/{chunk-H5HDZ7IC.js.map → chunk-DCBZ5CHZ.js.map} +0 -0
  779. /package/dist/{chunk-XLJVJ5TK.js.map → chunk-E2RFM6R2.js.map} +0 -0
  780. /package/dist/{chunk-MP5IMGKF.js.map → chunk-EOY6BK4C.js.map} +0 -0
  781. /package/dist/{chunk-IMWXYSCP.js.map → chunk-FA4YZFRV.js.map} +0 -0
  782. /package/dist/{chunk-VYZ4KQ3C.js.map → chunk-FVHJCERJ.js.map} +0 -0
  783. /package/dist/{chunk-3VCHJN2B.js.map → chunk-G2LGMWNG.js.map} +0 -0
  784. /package/dist/{chunk-RESDRJRP.js.map → chunk-G4STCTY3.js.map} +0 -0
  785. /package/dist/{chunk-BITS62MF.js.map → chunk-G6XKD7QE.js.map} +0 -0
  786. /package/dist/{chunk-5QW4OQM4.js.map → chunk-GSZZLW5Q.js.map} +0 -0
  787. /package/dist/{chunk-NA2KOPW6.js.map → chunk-HSPMBLKE.js.map} +0 -0
  788. /package/dist/{chunk-5562QFVB.js.map → chunk-IJ22WP3G.js.map} +0 -0
  789. /package/dist/{chunk-B7FVPHCW.js.map → chunk-IKCP5NCE.js.map} +0 -0
  790. /package/dist/{chunk-ERRMJ7AZ.js.map → chunk-ILSKYRDR.js.map} +0 -0
  791. /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
  792. /package/dist/{chunk-OWRFIAW2.js.map → chunk-JKJQWRLO.js.map} +0 -0
  793. /package/dist/{chunk-TFJW5CXD.js.map → chunk-JQH5VG6F.js.map} +0 -0
  794. /package/dist/{chunk-AJ45PER5.js.map → chunk-JQU2LUZG.js.map} +0 -0
  795. /package/dist/{chunk-YSB26POP.js.map → chunk-JVH5A3XC.js.map} +0 -0
  796. /package/dist/{chunk-RGX7AQ2K.js.map → chunk-JYALBYN7.js.map} +0 -0
  797. /package/dist/{chunk-RWLQYW2L.js.map → chunk-KOXDXSKN.js.map} +0 -0
  798. /package/dist/{chunk-EZ5KY6I2.js.map → chunk-LOMH4TTC.js.map} +0 -0
  799. /package/dist/{chunk-TBZPXGEW.js.map → chunk-LXQB4ZGE.js.map} +0 -0
  800. /package/dist/{chunk-6TG4CAYD.js.map → chunk-M6PN3VH6.js.map} +0 -0
  801. /package/dist/{chunk-AL3VGEG5.js.map → chunk-M7IJU77B.js.map} +0 -0
  802. /package/dist/{chunk-C4MJ3WPQ.js.map → chunk-MVB32GPI.js.map} +0 -0
  803. /package/dist/{chunk-C6BFE4X2.js.map → chunk-MXH35PJ5.js.map} +0 -0
  804. /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
  805. /package/dist/{chunk-IHUIXQBP.js.map → chunk-NEIUVSDK.js.map} +0 -0
  806. /package/dist/{chunk-2GT76KEX.js.map → chunk-NEOUY3Q7.js.map} +0 -0
  807. /package/dist/{chunk-RBIWYPJQ.js.map → chunk-NXZCCGES.js.map} +0 -0
  808. /package/dist/{chunk-YT2ZSPWF.js.map → chunk-P3W6SRSQ.js.map} +0 -0
  809. /package/dist/{chunk-NLUFREI6.js.map → chunk-P5FRWPG7.js.map} +0 -0
  810. /package/dist/{chunk-D2YHDDKW.js.map → chunk-PA4W7BCQ.js.map} +0 -0
  811. /package/dist/{chunk-B6VCTXSD.js.map → chunk-PQJXIY64.js.map} +0 -0
  812. /package/dist/{chunk-TPS3X5DI.js.map → chunk-PTGYM4J6.js.map} +0 -0
  813. /package/dist/{chunk-33XFNSBM.js.map → chunk-QNLJ3GNZ.js.map} +0 -0
  814. /package/dist/{chunk-UWDYGSJF.js.map → chunk-SISA4HQR.js.map} +0 -0
  815. /package/dist/{chunk-V57TZQPI.js.map → chunk-SVM3DGAQ.js.map} +0 -0
  816. /package/dist/{chunk-6VZHOXP6.js.map → chunk-TP7HKSBX.js.map} +0 -0
  817. /package/dist/{chunk-VLKYUZF7.js.map → chunk-TRPJJMCS.js.map} +0 -0
  818. /package/dist/{chunk-R5IZ6P3E.js.map → chunk-UNX6BS4U.js.map} +0 -0
  819. /package/dist/{chunk-AGVCQHQK.js.map → chunk-VD73V44J.js.map} +0 -0
  820. /package/dist/{chunk-UM7ESCIN.js.map → chunk-VL65H6YM.js.map} +0 -0
  821. /package/dist/{chunk-HY4G44UC.js.map → chunk-X7F4Z6UM.js.map} +0 -0
  822. /package/dist/{chunk-S7B2TOOU.js.map → chunk-ZCQVKDHV.js.map} +0 -0
  823. /package/dist/{chunk-WY5H3XYC.js.map → chunk-ZJSGGJ5R.js.map} +0 -0
  824. /package/dist/{claim-7CB6TVEW.js.map → claim-SLGYOOWD.js.map} +0 -0
  825. /package/dist/{companies-CACKHSY5.js.map → companies-IVMH6YII.js.map} +0 -0
  826. /package/dist/{complete-IHLTYFT2.js.map → complete-45L2FI2X.js.map} +0 -0
  827. /package/dist/{customers-EZEVYT4Z.js.map → connect-S54TJ6OV.js.map} +0 -0
  828. /package/dist/{conversation-HRNJJJW5.js.map → conversation-RIOL3OJ7.js.map} +0 -0
  829. /package/dist/{conversion-report-KL4LIVY5.js.map → conversion-report-REOHVLCI.js.map} +0 -0
  830. /package/dist/{conversion-upload-command-WT6C35QL.js.map → conversion-upload-command-W4GELHIQ.js.map} +0 -0
  831. /package/dist/{conversion-writes-MPBCTVSP.js.map → conversion-writes-ECZBVY7D.js.map} +0 -0
  832. /package/dist/{conversions-ACYT6K7H.js.map → conversions-5QCSCRLI.js.map} +0 -0
  833. /package/dist/{conversions-DE7W5T4Z.js.map → conversions-TKIXNSYR.js.map} +0 -0
  834. /package/dist/{create-W7OTXLCZ.js.map → create-7JY2PTIZ.js.map} +0 -0
  835. /package/dist/{create-6ZDLKC4F.js.map → create-ACLCRXQP.js.map} +0 -0
  836. /package/dist/{create-7YO6DAAT.js.map → create-KYBMFD32.js.map} +0 -0
  837. /package/dist/{create-ZU7AHBYM.js.map → create-VAPJ52GJ.js.map} +0 -0
  838. /package/dist/{creatives-XUIY3MQI.js.map → creatives-5I3G5YP3.js.map} +0 -0
  839. /package/dist/{creatives-6UYAAC5E.js.map → creatives-PCAGWPW3.js.map} +0 -0
  840. /package/dist/{credentials-ADGJKYA7.js.map → credentials-YTQ6BHWV.js.map} +0 -0
  841. /package/dist/{critique-T7QGPPEX.js.map → critique-BHYJYZDV.js.map} +0 -0
  842. /package/dist/{critique-BBHPASRE.js.map → critique-NRHUPIWF.js.map} +0 -0
  843. /package/dist/{crm-MXT2HUKU.js.map → crm-IKTWHWEB.js.map} +0 -0
  844. /package/dist/{crm-EKDV2SET.js.map → crm-N7K57LZJ.js.map} +0 -0
  845. /package/dist/{currency-TBBXPWXU.js.map → currency-PW7HIBZ6.js.map} +0 -0
  846. /package/dist/{fit-KEFUU7QA.js.map → customers-NLU7NYDC.js.map} +0 -0
  847. /package/dist/{delete-SRU4GRDT.js.map → delete-26J3X3ZH.js.map} +0 -0
  848. /package/dist/{delete-3UDIH2ZD.js.map → delete-A4F5Z54J.js.map} +0 -0
  849. /package/dist/{delete-4L3HO5B6.js.map → delete-EVXOFT2H.js.map} +0 -0
  850. /package/dist/{demographics-3OWQDW7B.js.map → demographics-VZKFMM4X.js.map} +0 -0
  851. /package/dist/{discard-UEMA5UHL.js.map → discard-ULRVUJDV.js.map} +0 -0
  852. /package/dist/{discover-RTV5XWRI.js.map → discover-PVXWX2WL.js.map} +0 -0
  853. /package/dist/{domain-6324IS6I.js.map → domain-L4WCCX7R.js.map} +0 -0
  854. /package/dist/{draft-VXGZDBC7.js.map → draft-34CGWUVA.js.map} +0 -0
  855. /package/dist/{draft-GRL7577L.js.map → draft-57OQKHZI.js.map} +0 -0
  856. /package/dist/{draft-777O2UIX.js.map → draft-O4S5RKWK.js.map} +0 -0
  857. /package/dist/{draft-2KS56KCT.js.map → draft-PAYD6GIM.js.map} +0 -0
  858. /package/dist/{experiment-G3FQVAJU.js.map → experiment-7N4QFRWV.js.map} +0 -0
  859. /package/dist/{facets-YV6NORA6.js.map → facets-EHQKGGJ2.js.map} +0 -0
  860. /package/dist/{feedback-YITFVOHX.js.map → feedback-O3H42V4I.js.map} +0 -0
  861. /package/dist/{feedback-record-FW2QWFYQ.js.map → feedback-record-FAPN2GBS.js.map} +0 -0
  862. /package/dist/{fetch-EYXLTSKW.js.map → fetch-ETKT2RBC.js.map} +0 -0
  863. /package/dist/{find-EVY4XEIQ.js.map → find-FSQAEGGF.js.map} +0 -0
  864. /package/dist/{fonts-DMIBVZ6D.js.map → fit-UJQ47C4A.js.map} +0 -0
  865. /package/dist/{flows-EJV7WMGD.js.map → flows-T22B77J3.js.map} +0 -0
  866. /package/dist/{ideas-W4IIVOZ4.js.map → fonts-7VWBQPJF.js.map} +0 -0
  867. /package/dist/{forecast-G43FKEZE.js.map → forecast-HB3RDBQN.js.map} +0 -0
  868. /package/dist/{forecast-5YKQZSE7.js.map → forecast-OI7YWZ6F.js.map} +0 -0
  869. /package/dist/{funnel-ND7OXIKT.js.map → funnel-7OA33VRP.js.map} +0 -0
  870. /package/dist/{ga4-2BL5YAYN.js.map → ga4-LPDIBNYP.js.map} +0 -0
  871. /package/dist/{generate-D3LUXFJT.js.map → generate-OMXBFGGR.js.map} +0 -0
  872. /package/dist/{get-PU3YHQWN.js.map → get-2RSN4N3J.js.map} +0 -0
  873. /package/dist/{get-GB6SPWCA.js.map → get-6N7QJMIP.js.map} +0 -0
  874. /package/dist/{google-7STODZQR.js.map → google-5ESVO76E.js.map} +0 -0
  875. /package/dist/{google-MHB5TOFN.js.map → google-6JZBJ2ZQ.js.map} +0 -0
  876. /package/dist/{google-ads-XGEGKEL6.js.map → google-ads-G7REKD4A.js.map} +0 -0
  877. /package/dist/{gsc-UU3T2C6B.js.map → gsc-FIZTQX3N.js.map} +0 -0
  878. /package/dist/{history-OQAOTEO3.js.map → history-QKDYBSYM.js.map} +0 -0
  879. /package/dist/{history-NYWAMWAY.js.map → history-YMK2JNZU.js.map} +0 -0
  880. /package/dist/{hubspot-LMIVY7FR.js.map → hubspot-BUFS7S33.js.map} +0 -0
  881. /package/dist/{icon-GB7UH5RF.js.map → icon-CSVAZ7NE.js.map} +0 -0
  882. /package/dist/{ingest-FRDTTPYD.js.map → ideas-JQT422P7.js.map} +0 -0
  883. /package/dist/{images-PPMIMPTS.js.map → images-WBNWK2ZH.js.map} +0 -0
  884. /package/dist/{ingest-2YGWBWAB.js.map → ingest-RQUJGS7K.js.map} +0 -0
  885. /package/dist/{logo-YSNUUT33.js.map → ingest-XLTRLCDV.js.map} +0 -0
  886. /package/dist/{insights-PZXFCMX2.js.map → insights-SQLE5NOJ.js.map} +0 -0
  887. /package/dist/{inspect-QF2S3U2E.js.map → inspect-KFVAMD4N.js.map} +0 -0
  888. /package/dist/{inspiration-XQYHBJY2.js.map → inspiration-IX5N724J.js.map} +0 -0
  889. /package/dist/{intent-JJTDJ732.js.map → intent-4KJGYYHL.js.map} +0 -0
  890. /package/dist/{keyword-gap-4NQN56JP.js.map → keyword-gap-U64KXDR4.js.map} +0 -0
  891. /package/dist/{keyword-metrics-QCIOBMTW.js.map → keyword-metrics-WYF3QMCW.js.map} +0 -0
  892. /package/dist/{keywords-for-site-FS635JXM.js.map → keywords-for-site-G5L5EP3T.js.map} +0 -0
  893. /package/dist/{landing-6H5QEHOW.js.map → landing-Y6QCTXCZ.js.map} +0 -0
  894. /package/dist/{languages-FNE45NXJ.js.map → languages-7IPVGGW5.js.map} +0 -0
  895. /package/dist/{leads-MKLSWZO6.js.map → leads-4SJ4NJOI.js.map} +0 -0
  896. /package/dist/{learn-C564OA7W.js.map → learn-3BDZUWDT.js.map} +0 -0
  897. /package/dist/{line-item-writes-K7QNWRQ3.js.map → line-item-writes-YXKYR25W.js.map} +0 -0
  898. /package/dist/{line-items-TBTHVKCZ.js.map → line-items-CKUD2UU4.js.map} +0 -0
  899. /package/dist/{link-CPJJ6T4M.js.map → link-VBYFI7AM.js.map} +0 -0
  900. /package/dist/{linkedin-HGUK624E.js.map → linkedin-UGMAFSGO.js.map} +0 -0
  901. /package/dist/{list-OKDU5W4D.js.map → list-6ZNZGRRK.js.map} +0 -0
  902. /package/dist/{list-N5SJXLYF.js.map → list-ENYDGT3F.js.map} +0 -0
  903. /package/dist/{list-AAT5CWDA.js.map → list-VSUF2IWT.js.map} +0 -0
  904. /package/dist/{locations-FTDI4FBI.js.map → locations-QJBYWRCN.js.map} +0 -0
  905. /package/dist/{log-KVRWIJS5.js.map → log-AACKGBDW.js.map} +0 -0
  906. /package/dist/{performance-YJVMM6DL.js.map → logo-VHXH4J6A.js.map} +0 -0
  907. /package/dist/{make-4NTHJ4TG.js.map → make-W2PYZXYF.js.map} +0 -0
  908. /package/dist/{map-HQ43MKEC.js.map → map-63CQHWPI.js.map} +0 -0
  909. /package/dist/{mcp-MFLUHPL5.js.map → mcp-RKAXC6IP.js.map} +0 -0
  910. /package/dist/{media-sources-A4ICRSKB.js.map → media-sources-EZKAJNVD.js.map} +0 -0
  911. /package/dist/{members-NRKQSSVS.js.map → members-SELIA674.js.map} +0 -0
  912. /package/dist/{metrics-3BRTJNGW.js.map → metrics-V6SKOVNH.js.map} +0 -0
  913. /package/dist/{models-IH6KE6OH.js.map → models-2XRYXSRA.js.map} +0 -0
  914. /package/dist/{normalize-EH6BTBOB.js.map → normalize-VAZPTBDX.js.map} +0 -0
  915. /package/dist/{options-YEPQXXRY.js.map → options-NSCZSQ5P.js.map} +0 -0
  916. /package/dist/{pages-FTI44OSH.js.map → pages-PTWRXAZT.js.map} +0 -0
  917. /package/dist/{query-3OMCFGLU.js.map → performance-K7E5KAZW.js.map} +0 -0
  918. /package/dist/{pixels-DWW2TDY2.js.map → pixels-MYT3TCHZ.js.map} +0 -0
  919. /package/dist/{pixels-MBKR4XPX.js.map → pixels-ZZCQUS3J.js.map} +0 -0
  920. /package/dist/{promoted-tweet-writes-M5OVEBC5.js.map → promoted-tweet-writes-PKEO6WUK.js.map} +0 -0
  921. /package/dist/{promoted-tweets-2MOIERNB.js.map → promoted-tweets-7MXVZRBI.js.map} +0 -0
  922. /package/dist/{publish-NPENZIHV.js.map → publish-MPMGRV72.js.map} +0 -0
  923. /package/dist/{reddit-LI37G5LS.js.map → query-UD4OIZ3A.js.map} +0 -0
  924. /package/dist/{run-AFMTXJTU.js.map → reddit-XIHRI3CN.js.map} +0 -0
  925. /package/dist/{refresh-4BBV5SPL.js.map → refresh-A27N75NH.js.map} +0 -0
  926. /package/dist/{release-4X3TLMQT.js.map → release-UKRB5IUN.js.map} +0 -0
  927. /package/dist/{relevant-pages-DIYZM6FJ.js.map → relevant-pages-VXSHEOU2.js.map} +0 -0
  928. /package/dist/{remove-Q4AES5UH.js.map → remove-AFNFVPZY.js.map} +0 -0
  929. /package/dist/{reopen-SDTPL3BN.js.map → reopen-M5HE6J3G.js.map} +0 -0
  930. /package/dist/{rerun-NA3MH4HG.js.map → rerun-5THJLQQJ.js.map} +0 -0
  931. /package/dist/{research-LXQRNAQ2.js.map → research-JHDWWFL7.js.map} +0 -0
  932. /package/dist/{research-5H265UV7.js.map → research-U7RQXMYH.js.map} +0 -0
  933. /package/dist/{reset-52PU3CVD.js.map → reset-4CCWB2RT.js.map} +0 -0
  934. /package/dist/{reset-42M5IKDI.js.map → reset-J3KCWFMZ.js.map} +0 -0
  935. /package/dist/{resolve-R4IACKIZ.js.map → resolve-HEK27ANI.js.map} +0 -0
  936. /package/dist/{retry-FPF42ZNG.js.map → retry-HPZIUG2S.js.map} +0 -0
  937. /package/dist/{retry-RTQGAH6G.js.map → retry-VVI6N6UR.js.map} +0 -0
  938. /package/dist/{rules-CGNYJYVC.js.map → rules-YLLFDZEM.js.map} +0 -0
  939. /package/dist/{rules-add-EO5476BF.js.map → rules-add-U2GU4AGP.js.map} +0 -0
  940. /package/dist/{run-3AZJ3UQU.js.map → run-M7ZDE6IA.js.map} +0 -0
  941. /package/dist/{shared-NDRFKAH7.js.map → run-V5YQB6TH.js.map} +0 -0
  942. /package/dist/{scaffold-ad-OGU2IINY.js.map → scaffold-ad-H4GJOKAW.js.map} +0 -0
  943. /package/dist/{scaffold-static-ad-HO4BJW4H.js.map → scaffold-static-ad-2YIFHCTL.js.map} +0 -0
  944. /package/dist/{scaffold-video-TLQ4WSDK.js.map → scaffold-video-3EJLKR2O.js.map} +0 -0
  945. /package/dist/{schedule-AWWMI5FO.js.map → schedule-QMOKWTJ3.js.map} +0 -0
  946. /package/dist/{scheduled-agents-ELLU7BSE.js.map → scheduled-agents-FCQHQ6KR.js.map} +0 -0
  947. /package/dist/{schema-QNVLKMKG.js.map → schema-THFLCMBN.js.map} +0 -0
  948. /package/dist/{schema-BOOZEJPA.js.map → schema-XKEEAUXP.js.map} +0 -0
  949. /package/dist/{search-BZNIB2XF.js.map → search-XIUYSWO6.js.map} +0 -0
  950. /package/dist/{select-NLWZIQ7L.js.map → select-I22NPSIW.js.map} +0 -0
  951. /package/dist/{set-prompt-QKW2L553.js.map → set-prompt-S75OMQ7L.js.map} +0 -0
  952. /package/dist/{setup-links-NMSQ4BG7.js.map → setup-links-QVI6NAOK.js.map} +0 -0
  953. /package/dist/{sync-definition-LSGDHMHV.js.map → shared-3IBNDEFL.js.map} +0 -0
  954. /package/dist/{site-GGYFBZT5.js.map → site-PZPJY33N.js.map} +0 -0
  955. /package/dist/{sources-LPQZDTIU.js.map → sources-ER7ANNG3.js.map} +0 -0
  956. /package/dist/{sources-KTGDMUV4.js.map → sources-VA23PDND.js.map} +0 -0
  957. /package/dist/{stale-C5JLQ4D2.js.map → stale-MHTU2NQJ.js.map} +0 -0
  958. /package/dist/{stats-RCLQE4HJ.js.map → stats-ZAGJH4AD.js.map} +0 -0
  959. /package/dist/{status-6PS3HDS5.js.map → status-ABMJBCPJ.js.map} +0 -0
  960. /package/dist/{stock-ECRBD7RP.js.map → stock-6SHHLSKG.js.map} +0 -0
  961. /package/dist/{studio-LMDDQWRY.js.map → studio-ZLCGXFAN.js.map} +0 -0
  962. /package/dist/{sync-XSATDLE6.js.map → sync-QDD3MRJ6.js.map} +0 -0
  963. /package/dist/{viewer-check-I45HHWSW.js.map → sync-definition-2EBSQA6A.js.map} +0 -0
  964. /package/dist/{tag-manager-G3LBQZUL.js.map → tag-manager-3CJ66GKJ.js.map} +0 -0
  965. /package/dist/{tags-OK34UGSM.js.map → tags-5JYOEYIT.js.map} +0 -0
  966. /package/dist/{tags-EXWKO6Q6.js.map → tags-B473RWAA.js.map} +0 -0
  967. /package/dist/{tags-5Y7TPJNZ.js.map → tags-EWHPUM2V.js.map} +0 -0
  968. /package/dist/{tags-6TT5ZJVX.js.map → tags-KBCX6BDU.js.map} +0 -0
  969. /package/dist/{tags-BQLIOWS4.js.map → tags-PEWN6GNZ.js.map} +0 -0
  970. /package/dist/{targeting-criteria-AWPMOX4V.js.map → targeting-criteria-EU65WUUF.js.map} +0 -0
  971. /package/dist/{targets-EXYCOHEX.js.map → targets-KVXS5QKM.js.map} +0 -0
  972. /package/dist/{testimonials-BTYMR3U4.js.map → testimonials-GR6TIS5S.js.map} +0 -0
  973. /package/dist/{themes-AOU4ZZXL.js.map → themes-JWWTOR3I.js.map} +0 -0
  974. /package/dist/{top-companies-FRPAURAH.js.map → top-companies-OOX3DITI.js.map} +0 -0
  975. /package/dist/{translate-SF234KLG.js.map → translate-GEFUP6KQ.js.map} +0 -0
  976. /package/dist/{triggers-SJUXDU3X.js.map → triggers-OX2GKG4Y.js.map} +0 -0
  977. /package/dist/{unlink-RIZD3XTI.js.map → unlink-3USEPJSA.js.map} +0 -0
  978. /package/dist/{unstage-MKTIVI3I.js.map → unstage-VSCNPTAC.js.map} +0 -0
  979. /package/dist/{update-COHXM25C.js.map → update-6JKTH65B.js.map} +0 -0
  980. /package/dist/{update-OXVZXDYH.js.map → update-FG4ELXYJ.js.map} +0 -0
  981. /package/dist/{update-SZLYEEU4.js.map → update-GZFKHA3A.js.map} +0 -0
  982. /package/dist/{update-NKX2GXAR.js.map → update-HZHG67N6.js.map} +0 -0
  983. /package/dist/{upload-LEDO3IRC.js.map → upload-BKCQ6FRW.js.map} +0 -0
  984. /package/dist/{url-options-Q5SL42CV.js.map → url-options-HCVRPZYU.js.map} +0 -0
  985. /package/dist/{url-params-KP6D7BF3.js.map → url-params-UN4DRN2H.js.map} +0 -0
  986. /package/dist/{validate-7QWQZ2OL.js.map → validate-NOWIOAHE.js.map} +0 -0
  987. /package/dist/{videos-VABK4KHJ.js.map → videos-XMTDEHEJ.js.map} +0 -0
  988. /package/dist/{web-DZGUPZYQ.js.map → web-UGU7YMII.js.map} +0 -0
  989. /package/dist/{winning-ads-6MDLRSKM.js.map → winning-ads-QOAYIR5U.js.map} +0 -0
  990. /package/dist/{write-commands-3VIK3VC4.js.map → write-commands-6VR2UD3T.js.map} +0 -0
  991. /package/dist/{x-GRDU7QC2.js.map → x-VCSMV7T5.js.map} +0 -0
@@ -0,0 +1,467 @@
1
+ import {
2
+ bareAccountId,
3
+ failWriteValidation,
4
+ loadJsonFileArg,
5
+ requireTarget,
6
+ stageOp
7
+ } from "./chunk-5C35OW7L.js";
8
+ import "./chunk-A4MVVPJ2.js";
9
+ import "./chunk-HLVRHBKL.js";
10
+ import "./chunk-QTOZ32SU.js";
11
+ import {
12
+ repeatedValues
13
+ } from "./chunk-ERSX3MKH.js";
14
+ import "./chunk-SFJW2KED.js";
15
+ import "./chunk-4NZ47VXO.js";
16
+ import "./chunk-D5FY4FAK.js";
17
+ import "./chunk-FNA277HP.js";
18
+ import "./chunk-SWL4AAPP.js";
19
+ import "./chunk-5WMTPYKT.js";
20
+ import "./chunk-23H4ZJRP.js";
21
+ import "./chunk-DWX44QL6.js";
22
+ import "./chunk-2FSEESJU.js";
23
+ import "./chunk-CVBKW75S.js";
24
+ import "./chunk-BLAHHMPF.js";
25
+ import "./chunk-XQIOCIDO.js";
26
+ import "./chunk-XDZVBX6L.js";
27
+ import "./chunk-N5O67GK5.js";
28
+ import "./chunk-EE72SSB2.js";
29
+ import {
30
+ registerSchema
31
+ } from "./chunk-WNSE7N75.js";
32
+ import "./chunk-YQSBHWOI.js";
33
+
34
+ // src/commands/ads/meta/study-writes.ts
35
+ import { defineCommand } from "citty";
36
+
37
+ // src/commands/ads/meta/study-flags.ts
38
+ var DAY_SECONDS = 86400;
39
+ function studyTimeFlag(value, flag) {
40
+ if (/^\d{10}$/.test(value)) return Number(value);
41
+ if (/^\d{13}$/.test(value)) return Math.floor(Number(value) / 1e3);
42
+ const ms = Date.parse(value);
43
+ if (Number.isNaN(ms)) {
44
+ throw new Error(`${flag} must be an ISO date/time (2026-10-20T08:00Z) or epoch seconds`);
45
+ }
46
+ return Math.floor(ms / 1e3);
47
+ }
48
+ function numberFlag(value, flag) {
49
+ const n = Number(value.replace(/%$/, ""));
50
+ if (!Number.isFinite(n)) throw new Error(`${flag} must be a number, got "${value}"`);
51
+ return n;
52
+ }
53
+ function evenSplit(count) {
54
+ const base = Math.floor(100 / count * 100) / 100;
55
+ const first = Math.round((100 - base * (count - 1)) * 100) / 100;
56
+ return Array.from({ length: count }, (_, index) => index === 0 ? first : base);
57
+ }
58
+ function endTime(flags, start) {
59
+ if (flags.end) return studyTimeFlag(flags.end, "--end");
60
+ if (flags.days !== void 0) {
61
+ if (start === void 0) throw new Error("--days counts from --start \u2014 pass --start too, or --end");
62
+ return start + Math.round(numberFlag(flags.days, "--days") * DAY_SECONDS);
63
+ }
64
+ return void 0;
65
+ }
66
+ function confidence(value) {
67
+ if (value === void 0) return void 0;
68
+ const n = numberFlag(value, "--confidence");
69
+ return n > 1 ? n / 100 : n;
70
+ }
71
+ function measure(flags) {
72
+ const events = [flags["measure-event"] ?? []].flat().filter(Boolean);
73
+ if (flags["measure-pixel"]) {
74
+ if (events.length === 0) {
75
+ throw new Error("--measure-pixel needs --measure-event (the pixel event that counts, e.g. Lead or Purchase)");
76
+ }
77
+ const name = flags["measure-name"] ?? events.join(" or ");
78
+ return [
79
+ { name, type: "CONVERSIONS", is_primary: true, adspixels: [{ id: flags["measure-pixel"], event_names: events }] }
80
+ ];
81
+ }
82
+ if (flags["measure-conversion"]) {
83
+ const name = flags["measure-name"] ?? "Custom conversion";
84
+ return [{ name, type: "CONVERSIONS", is_primary: true, customconversions: [{ id: flags["measure-conversion"] }] }];
85
+ }
86
+ if (events.length > 0) throw new Error("--measure-event counts on a pixel \u2014 pass --measure-pixel too");
87
+ return void 0;
88
+ }
89
+ function versionLetter(index) {
90
+ return `Version ${String.fromCharCode(65 + index)}`;
91
+ }
92
+ function observationEnd(flags) {
93
+ const until = flags["observe-until"];
94
+ return until ? { observation_end_time: studyTimeFlag(until, "--observe-until") } : {};
95
+ }
96
+ function liftFromFlags(flags, start, end) {
97
+ const level = flags.adsets?.length ? "adsets" : flags.campaigns?.length ? "campaigns" : void 0;
98
+ if (!level) throw new Error("a lift study measures --campaigns or --adsets (comma-separated, all in one group)");
99
+ if (flags.split) {
100
+ throw new Error(
101
+ "a lift study shows the ads to everyone but a held-out share \u2014 set that share with --holdout (e.g. --holdout 10), not --split"
102
+ );
103
+ }
104
+ const names = flags["version-names"] ?? [];
105
+ if (names.length > 1) {
106
+ throw new Error("a lift study runs as one group \u2014 pass one --version-names for it, or none (default Lift)");
107
+ }
108
+ const holdout = flags.holdout === void 0 ? 10 : numberFlag(flags.holdout, "--holdout");
109
+ const objectives = measure(flags);
110
+ const conf = confidence(flags.confidence);
111
+ if (!objectives)
112
+ throw new Error(
113
+ "a lift study needs a measure: --measure-pixel <id> --measure-event Lead, or --measure-conversion <id>"
114
+ );
115
+ return {
116
+ name: flags.name ?? "",
117
+ ...flags.description ? { description: flags.description } : {},
118
+ type: "LIFT",
119
+ start_time: start,
120
+ end_time: end,
121
+ ...observationEnd(flags),
122
+ cells: [
123
+ {
124
+ name: names[0] ?? "Lift",
125
+ treatment_percentage: 100 - holdout,
126
+ control_percentage: holdout,
127
+ [level]: (level === "adsets" ? flags.adsets : flags.campaigns) ?? []
128
+ }
129
+ ],
130
+ objectives,
131
+ ...conf !== void 0 ? { confidence_level: conf } : {}
132
+ };
133
+ }
134
+ function creativeTestFromFlags(flags, start, end) {
135
+ const ads = flags.ads ?? [];
136
+ if (ads.length < 2) throw new Error("a creative test compares 2 to 5 ads of one ad set: --ads <ad>,<ad>");
137
+ if (!flags["test-daily-budget"])
138
+ throw new Error("pass --test-daily-budget: the part of the ad set's daily budget the test spends");
139
+ const shares = flags.split?.map((share) => numberFlag(share, "--split")) ?? evenSplit(ads.length);
140
+ const names = flags["version-names"] ?? [];
141
+ const objectives = measure(flags);
142
+ const conf = confidence(flags.confidence);
143
+ return {
144
+ name: flags.name ?? "",
145
+ ...flags.description ? { description: flags.description } : {},
146
+ type: "SPLIT_TEST_V2",
147
+ start_time: start,
148
+ end_time: end,
149
+ ...observationEnd(flags),
150
+ testDailyBudget: { amount: flags["test-daily-budget"] },
151
+ cells: ads.map((id, index) => ({
152
+ name: names[index] ?? versionLetter(index),
153
+ treatment_percentage: shares[index] ?? 0,
154
+ ads: [id]
155
+ })),
156
+ ...conf !== void 0 ? { confidence_level: conf } : {},
157
+ ...objectives ? { objectives } : {}
158
+ };
159
+ }
160
+ function otherStudyFromFlags(flags, type) {
161
+ if (!flags.start) throw new Error("pass --start: when the test begins (ISO, in the future)");
162
+ const start = studyTimeFlag(flags.start, "--start");
163
+ const end = endTime(flags, start);
164
+ if (end === void 0) throw new Error("pass --days or --end");
165
+ return type === "lift" ? liftFromFlags(flags, start, end) : creativeTestFromFlags(flags, start, end);
166
+ }
167
+ var TYPE_FLAGS = {
168
+ adsets: ["split", "lift"],
169
+ campaigns: ["split", "lift"],
170
+ ads: ["creative"],
171
+ holdout: ["lift"],
172
+ "test-daily-budget": ["creative"],
173
+ "observe-until": ["lift", "creative"]
174
+ };
175
+ function refuseForeignFlags(flags, kind) {
176
+ for (const [flag, kinds] of Object.entries(TYPE_FLAGS)) {
177
+ const value = flags[flag];
178
+ const given = Array.isArray(value) ? value.length > 0 : value !== void 0 && value !== "";
179
+ if (given && !kinds.includes(kind)) {
180
+ throw new Error(
181
+ `--${flag} is for ${kinds.map((other) => `--type ${other}`).join(" or ")}, not a ${kind} test \u2014 drop it, or pass the --type it belongs to`
182
+ );
183
+ }
184
+ }
185
+ }
186
+ function studyCreateFromFlags(flags) {
187
+ const kind = flags.type ?? "split";
188
+ if (kind !== "split" && kind !== "lift" && kind !== "creative") throw new Error("--type is split, lift or creative");
189
+ refuseForeignFlags(flags, kind);
190
+ return kind === "split" ? splitTestFromFlags(flags) : otherStudyFromFlags(flags, kind);
191
+ }
192
+ function splitTestFromFlags(flags) {
193
+ const level = flags.adsets?.length ? "adsets" : flags.campaigns?.length ? "campaigns" : void 0;
194
+ if (!level) {
195
+ throw new Error("pass --adsets or --campaigns: one id per version, e.g. --adsets 6123,6124");
196
+ }
197
+ const ids = (level === "adsets" ? flags.adsets : flags.campaigns) ?? [];
198
+ if (!flags.start) {
199
+ throw new Error("pass --start: when the test begins (ISO, in the future \u2014 after this chat publishes)");
200
+ }
201
+ const start = studyTimeFlag(flags.start, "--start");
202
+ const end = endTime(flags, start);
203
+ if (end === void 0) throw new Error("pass --days (how long it runs, 7\u201330 recommended) or --end");
204
+ const shares = flags.split?.map((share) => numberFlag(share, "--split")) ?? evenSplit(ids.length);
205
+ if (shares.length !== ids.length) {
206
+ throw new Error(`--split gives one share per version, in order: ${ids.length} versions, ${shares.length} shares`);
207
+ }
208
+ const names = flags["version-names"] ?? [];
209
+ const objectives = measure(flags);
210
+ const conf = confidence(flags.confidence);
211
+ return {
212
+ name: flags.name ?? "",
213
+ ...flags.description ? { description: flags.description } : {},
214
+ type: "SPLIT_TEST",
215
+ start_time: start,
216
+ end_time: end,
217
+ cells: ids.map((id, index) => ({
218
+ name: names[index] ?? versionLetter(index),
219
+ treatment_percentage: shares[index] ?? 0,
220
+ [level]: [id]
221
+ })),
222
+ ...conf !== void 0 ? { confidence_level: conf } : {},
223
+ ...objectives ? { objectives } : {}
224
+ };
225
+ }
226
+ function studyUpdateFromFlags(flags) {
227
+ const start = flags.start ? studyTimeFlag(flags.start, "--start") : void 0;
228
+ const end = endTime(flags, start);
229
+ const cells = flags.split?.map((pair) => {
230
+ const match = /^(\d+)=(.+)$/.exec(pair);
231
+ if (!match?.[1] || !match[2]) {
232
+ throw new Error(
233
+ `--split on a live test names each version by its cell id: --split 2231801141074157=60 (\`studies --study-id\` lists them), got "${pair}"`
234
+ );
235
+ }
236
+ return { id: match[1], treatment_percentage: numberFlag(match[2], "--split") };
237
+ });
238
+ const conf = confidence(flags.confidence);
239
+ const update = {};
240
+ if (flags.name) update.name = flags.name;
241
+ if (flags.description) update.description = flags.description;
242
+ if (start !== void 0) update.start_time = start;
243
+ if (end !== void 0) update.end_time = end;
244
+ if (conf !== void 0) update.confidence_level = conf;
245
+ if (cells) update.cells = cells;
246
+ return update;
247
+ }
248
+ var FILE_COMPANION_FLAGS = /* @__PURE__ */ new Set(["file", "name", "account-id"]);
249
+ function studyFileIgnoredFlags(args) {
250
+ const given = Object.entries(args).filter(([key, value]) => key !== "_" && value !== void 0 && value !== false && value !== "").map(([key]) => key.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)).filter((key) => !FILE_COMPANION_FLAGS.has(key));
251
+ return [...new Set(given)].map((key) => `--${key}`);
252
+ }
253
+
254
+ // src/commands/ads/meta/study-writes.ts
255
+ var STAGED_NOTE = "Staged until publish \u2014 review with `baker ads meta draft`.";
256
+ var timeArgs = {
257
+ start: {
258
+ type: "string",
259
+ description: "When the test begins: ISO date/time (2026-10-20T08:00Z) or epoch seconds \u2014 in the future, after this chat publishes"
260
+ },
261
+ end: { type: "string", description: "When it ends (ISO or epoch seconds). Or --days" },
262
+ days: { type: "string", description: "How long it runs, from --start: 1\u201330 days (Meta recommends at least 7)" }
263
+ };
264
+ var createArgs = {
265
+ "account-id": { type: "string", description: "Numeric account ID or act_N" },
266
+ name: { type: "string", description: "Test name, shown in Ads Manager \u2192 Experiments" },
267
+ description: { type: "string", description: "What the test answers, e.g. which audience brings cheaper leads" },
268
+ adsets: {
269
+ type: "string",
270
+ description: "One ad set per version (repeatable or comma-separated; meta_temp_* refs from this chat work) \u2014 ad sets that differ in ONE thing"
271
+ },
272
+ campaigns: { type: "string", description: "One campaign per version instead (repeatable or comma-separated)" },
273
+ "version-names": {
274
+ type: "string",
275
+ description: 'A name for each version, in order \u2014 repeat once per version: --version-names Broad --version-names "Lookalike, 1%" (default Version A, Version B, \u2026; --type lift takes one, for its group)'
276
+ },
277
+ split: {
278
+ type: "string",
279
+ description: "Each version's share of the audience in %, in order, adding up to 100 (default even). Not for --type lift, which splits by --holdout"
280
+ },
281
+ ...timeArgs,
282
+ confidence: { type: "string", description: "How sure Meta must be to call a winner: 80, 90 or 95 (%)" },
283
+ "measure-pixel": {
284
+ type: "string",
285
+ description: "Decide on cost per pixel event: the pixel id (with --measure-event)"
286
+ },
287
+ "measure-event": {
288
+ type: "string",
289
+ description: "The pixel event that counts: Lead, Purchase, CompleteRegistration, \u2026"
290
+ },
291
+ "measure-conversion": { type: "string", description: "Decide on cost per custom conversion instead: its id" },
292
+ "measure-name": { type: "string", description: "What to call the measure in the review (default: the event)" },
293
+ type: {
294
+ type: "string",
295
+ description: "split (default: A/B test of ad sets or campaigns) | lift (a held-out group shows what the ads add \u2014 needs a measure) | creative (2\u20135 ads of one ad set, --ads)"
296
+ },
297
+ ads: { type: "string", description: "--type creative: one ad per version (comma-separated or repeatable)" },
298
+ holdout: { type: "string", description: "--type lift: % of the audience that never sees the ads (default 10)" },
299
+ "test-daily-budget": {
300
+ type: "string",
301
+ description: "--type creative: the part of the ad set's daily budget the test spends, e.g. 2"
302
+ },
303
+ "observe-until": {
304
+ type: "string",
305
+ description: "--type lift or creative: count results until this time (ISO) \u2014 after the end, for late conversions (default the end)"
306
+ },
307
+ file: {
308
+ type: "string",
309
+ description: "JSON with the full test in Meta's shape \u2014 {name, start_time, end_time, cells:[{name, treatment_percentage, adsets|campaigns}], objectives, confidence_level}, times in unix seconds. Needed for several ad sets per version. --name overrides its name; any other flag beside --file is refused."
310
+ }
311
+ };
312
+ function schemaArgs(args) {
313
+ return Object.fromEntries(Object.entries(args).map(([key, arg]) => [key, { ...arg, required: false }]));
314
+ }
315
+ function listValues(rawArgs, flag, parsed) {
316
+ const values = repeatedValues(rawArgs, flag, parsed).flatMap((value) => value.split(",")).map((value) => value.trim()).filter(Boolean);
317
+ return values.length > 0 ? values : void 0;
318
+ }
319
+ function wholeValues(rawArgs, flag, parsed) {
320
+ const values = repeatedValues(rawArgs, flag, parsed).map((value) => value.trim()).filter(Boolean);
321
+ return values.length > 0 ? values : void 0;
322
+ }
323
+ function studyFlagsFromArgs(args, rawArgs) {
324
+ const text = (key) => typeof args[key] === "string" && args[key] !== "" ? String(args[key]) : void 0;
325
+ return {
326
+ name: text("name"),
327
+ description: text("description"),
328
+ adsets: listValues(rawArgs, "adsets", args.adsets),
329
+ campaigns: listValues(rawArgs, "campaigns", args.campaigns),
330
+ "version-names": wholeValues(rawArgs, "version-names", args["version-names"]),
331
+ split: listValues(rawArgs, "split", args.split),
332
+ start: text("start"),
333
+ end: text("end"),
334
+ days: text("days"),
335
+ confidence: text("confidence"),
336
+ "measure-name": text("measure-name"),
337
+ "measure-pixel": text("measure-pixel"),
338
+ "measure-event": listValues(rawArgs, "measure-event", args["measure-event"]),
339
+ "measure-conversion": text("measure-conversion"),
340
+ type: text("type"),
341
+ ads: listValues(rawArgs, "ads", args.ads),
342
+ holdout: text("holdout"),
343
+ "test-daily-budget": text("test-daily-budget"),
344
+ "observe-until": text("observe-until")
345
+ };
346
+ }
347
+ function orFail(build) {
348
+ try {
349
+ return build();
350
+ } catch (err) {
351
+ failWriteValidation(err instanceof Error ? err.message : String(err));
352
+ }
353
+ }
354
+ registerSchema({
355
+ command: "ads.meta.studies.create",
356
+ description: "Stage a Meta A/B test (split test) \u2014 created at publish. Meta splits the audience so each person sees one version and calls the winner. Shorthand: --adsets <a>,<b> (or --campaigns) --start <ISO> --days 14 [--split 50,50] [--version-names \u2026] [--confidence 90] [--measure-pixel <id> --measure-event Lead | --measure-conversion <id>]. Without a measure Meta decides on cost per result of the campaigns' objective. Or --file with Meta's shape. --type lift: a held-out group (--holdout, default 10%) shows what the --campaigns/--adsets add, needs a measure. --type creative: 2\u20135 --ads of one ad set compared on --test-daily-budget.",
357
+ args: schemaArgs(createArgs)
358
+ });
359
+ var studiesCreateCommand = defineCommand({
360
+ meta: {
361
+ name: "create",
362
+ description: `Stage a Meta A/B test. ${STAGED_NOTE}
363
+ Set it up properly: versions that differ in ONE thing (duplicate the ad set with \`adsets duplicate\`, change the audience, placement or creative on the copy), each with its own budget, none in another running test.
364
+ Examples:
365
+ baker ads meta studies create --name "Broad vs lookalike" --adsets 6123,6124 --start 2026-10-20T08:00Z --days 14
366
+ baker ads meta studies create --name "Lead cost" --adsets 6123,meta_temp_ab12 --start 2026-10-20T08:00Z --days 14 --confidence 90 --measure-pixel 1275507706837548 --measure-event Lead
367
+ baker ads meta studies create --file test.json`
368
+ },
369
+ args: createArgs,
370
+ run: async ({ args, rawArgs }) => {
371
+ const accountId = bareAccountId(args);
372
+ const file = loadJsonFileArg(args.file);
373
+ const ignored = Object.keys(file).length > 0 ? studyFileIgnoredFlags(args) : [];
374
+ if (ignored.length > 0) {
375
+ failWriteValidation(
376
+ `--file holds the whole test, so ${ignored.join(", ")} would be ignored \u2014 put them in the file, or drop --file`
377
+ );
378
+ }
379
+ const flags = studyFlagsFromArgs(args, rawArgs);
380
+ const payload = Object.keys(file).length > 0 ? { ...file, ...flags.name ? { name: flags.name } : {} } : orFail(() => studyCreateFromFlags(flags));
381
+ await stageOp({ kind: "adStudy.create", accountId, payload });
382
+ }
383
+ });
384
+ var updateArgs = {
385
+ id: { type: "positional", description: "Test id (or a meta_temp_* ref staged in this chat)", required: true },
386
+ "account-id": createArgs["account-id"],
387
+ name: createArgs.name,
388
+ description: createArgs.description,
389
+ ...timeArgs,
390
+ split: {
391
+ type: "string",
392
+ description: "New shares by cell id, adding up to 100: --split 2231801141074157=60,1425644426371372=40 (`studies --study-id` lists the cell ids). Only before it starts."
393
+ },
394
+ confidence: createArgs.confidence
395
+ };
396
+ registerSchema({
397
+ command: "ads.meta.studies.update",
398
+ description: "Stage a change to a Meta A/B test: rename, describe, move the end (--end; --days counts from a new --start), re-time or re-split it (--start, --split <cell_id>=60,\u2026) before it starts, change the confidence. A running test keeps its start and split \u2014 end it and start a new one to change those.",
399
+ args: {
400
+ id: updateArgs.id,
401
+ ...schemaArgs(Object.fromEntries(Object.entries(updateArgs).filter(([key]) => key !== "id")))
402
+ }
403
+ });
404
+ var studiesUpdateCommand = defineCommand({
405
+ meta: {
406
+ name: "update",
407
+ description: `Stage a change to an A/B test. ${STAGED_NOTE}
408
+ Example: baker ads meta studies update 6123 --end 2026-11-10T08:00Z`
409
+ },
410
+ args: updateArgs,
411
+ run: async ({ args, rawArgs }) => {
412
+ const accountId = bareAccountId(args);
413
+ const target = requireTarget(args, "test");
414
+ const payload = orFail(() => studyUpdateFromFlags(studyFlagsFromArgs(args, rawArgs)));
415
+ if (Object.keys(payload).length === 0) {
416
+ failWriteValidation("nothing to change \u2014 pass --name, --description, --start, --end, --split or --confidence");
417
+ }
418
+ await stageOp({ kind: "adStudy.update", accountId, target, payload });
419
+ }
420
+ });
421
+ var ACTIONS = {
422
+ end: {
423
+ payload: { end_now: true },
424
+ note: "The test stops a few minutes after publish and keeps its results \u2014 use this to stop a running test early."
425
+ },
426
+ delete: {
427
+ payload: { status: "DELETED" },
428
+ note: "Deleting removes the test from Meta, results and all. For a running or finished test prefer `studies end` unless the user asked to delete it; for one that has not started, deleting is how to cancel it."
429
+ }
430
+ };
431
+ function actionCommand(name) {
432
+ const { payload, note } = ACTIONS[name];
433
+ registerSchema({
434
+ command: `ads.meta.studies.${name}`,
435
+ description: `Stage ${name === "end" ? "ending" : "deleting"} a Meta A/B test. ${note}`,
436
+ args: {
437
+ id: { type: "positional", description: "Test id", required: true },
438
+ "account-id": { type: "string", description: "Meta ad account ID (act_123)", required: false }
439
+ }
440
+ });
441
+ return defineCommand({
442
+ meta: { name, description: `Stage ${name === "end" ? "ending" : "deleting"} an A/B test. ${note} ${STAGED_NOTE}` },
443
+ args: {
444
+ id: { type: "positional", description: "Test id", required: true },
445
+ "account-id": createArgs["account-id"]
446
+ },
447
+ run: async ({ args }) => {
448
+ const accountId = bareAccountId(args);
449
+ await stageOp({
450
+ kind: "adStudy.update",
451
+ accountId,
452
+ target: requireTarget(args, "test"),
453
+ payload
454
+ });
455
+ }
456
+ });
457
+ }
458
+ var studiesEndCommand = actionCommand("end");
459
+ var studiesDeleteCommand = actionCommand("delete");
460
+ export {
461
+ studiesCreateCommand,
462
+ studiesDeleteCommand,
463
+ studiesEndCommand,
464
+ studiesUpdateCommand,
465
+ studyFlagsFromArgs
466
+ };
467
+ //# sourceMappingURL=study-writes-L2AA2PGL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/meta/study-writes.ts","../src/commands/ads/meta/study-flags.ts"],"sourcesContent":["import { defineCommand } from \"citty\";\nimport { repeatedValues } from \"../../../lib/repeatedFlags.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { type StudyFlags, studyCreateFromFlags, studyFileIgnoredFlags, studyUpdateFromFlags } from \"./study-flags.ts\";\nimport { bareAccountId, failWriteValidation, loadJsonFileArg, requireTarget, stageOp } from \"./write-shared.ts\";\n\n/**\n * Staged Meta A/B test writes. Nothing here reaches Meta: each command stages\n * an op on this chat's draft, and the test is created, changed, ended or\n * deleted when the chat publishes — after the ad sets or campaigns it names\n * that the same draft creates.\n */\n\nconst STAGED_NOTE = \"Staged until publish — review with `baker ads meta draft`.\";\n\nconst timeArgs = {\n start: {\n type: \"string\",\n description:\n \"When the test begins: ISO date/time (2026-10-20T08:00Z) or epoch seconds — in the future, after this chat publishes\",\n },\n end: { type: \"string\", description: \"When it ends (ISO or epoch seconds). Or --days\" },\n days: { type: \"string\", description: \"How long it runs, from --start: 1–30 days (Meta recommends at least 7)\" },\n} as const;\n\nconst createArgs = {\n \"account-id\": { type: \"string\", description: \"Numeric account ID or act_N\" },\n name: { type: \"string\", description: \"Test name, shown in Ads Manager → Experiments\" },\n description: { type: \"string\", description: \"What the test answers, e.g. which audience brings cheaper leads\" },\n adsets: {\n type: \"string\",\n description:\n \"One ad set per version (repeatable or comma-separated; meta_temp_* refs from this chat work) — ad sets that differ in ONE thing\",\n },\n campaigns: { type: \"string\", description: \"One campaign per version instead (repeatable or comma-separated)\" },\n \"version-names\": {\n type: \"string\",\n description:\n 'A name for each version, in order — repeat once per version: --version-names Broad --version-names \"Lookalike, 1%\" (default Version A, Version B, …; --type lift takes one, for its group)',\n },\n split: {\n type: \"string\",\n description:\n \"Each version's share of the audience in %, in order, adding up to 100 (default even). Not for --type lift, which splits by --holdout\",\n },\n ...timeArgs,\n confidence: { type: \"string\", description: \"How sure Meta must be to call a winner: 80, 90 or 95 (%)\" },\n \"measure-pixel\": {\n type: \"string\",\n description: \"Decide on cost per pixel event: the pixel id (with --measure-event)\",\n },\n \"measure-event\": {\n type: \"string\",\n description: \"The pixel event that counts: Lead, Purchase, CompleteRegistration, …\",\n },\n \"measure-conversion\": { type: \"string\", description: \"Decide on cost per custom conversion instead: its id\" },\n \"measure-name\": { type: \"string\", description: \"What to call the measure in the review (default: the event)\" },\n type: {\n type: \"string\",\n description:\n \"split (default: A/B test of ad sets or campaigns) | lift (a held-out group shows what the ads add — needs a measure) | creative (2–5 ads of one ad set, --ads)\",\n },\n ads: { type: \"string\", description: \"--type creative: one ad per version (comma-separated or repeatable)\" },\n holdout: { type: \"string\", description: \"--type lift: % of the audience that never sees the ads (default 10)\" },\n \"test-daily-budget\": {\n type: \"string\",\n description: \"--type creative: the part of the ad set's daily budget the test spends, e.g. 2\",\n },\n \"observe-until\": {\n type: \"string\",\n description:\n \"--type lift or creative: count results until this time (ISO) — after the end, for late conversions (default the end)\",\n },\n file: {\n type: \"string\",\n description:\n \"JSON with the full test in Meta's shape — {name, start_time, end_time, cells:[{name, treatment_percentage, adsets|campaigns}], objectives, confidence_level}, times in unix seconds. Needed for several ad sets per version. --name overrides its name; any other flag beside --file is refused.\",\n },\n} as const;\n\nfunction schemaArgs(\n args: Record<string, { type: string; description: string }>,\n): Record<string, { type: string; description: string; required: boolean }> {\n return Object.fromEntries(Object.entries(args).map(([key, arg]) => [key, { ...arg, required: false }]));\n}\n\nfunction listValues(rawArgs: readonly string[] | undefined, flag: string, parsed: unknown): string[] | undefined {\n const values = repeatedValues(rawArgs, flag, parsed)\n .flatMap((value) => value.split(\",\"))\n .map((value) => value.trim())\n .filter(Boolean);\n return values.length > 0 ? values : undefined;\n}\n\n/** A free-text flag, one value per occurrence and never split: a version's name may hold a comma. */\nfunction wholeValues(rawArgs: readonly string[] | undefined, flag: string, parsed: unknown): string[] | undefined {\n const values = repeatedValues(rawArgs, flag, parsed)\n .map((value) => value.trim())\n .filter(Boolean);\n return values.length > 0 ? values : undefined;\n}\n\n/** The command line as study flags, every repeatable flag read whole (citty keeps only the last). */\nexport function studyFlagsFromArgs(args: Record<string, unknown>, rawArgs: readonly string[] | undefined): StudyFlags {\n const text = (key: string) => (typeof args[key] === \"string\" && args[key] !== \"\" ? String(args[key]) : undefined);\n return {\n name: text(\"name\"),\n description: text(\"description\"),\n adsets: listValues(rawArgs, \"adsets\", args.adsets),\n campaigns: listValues(rawArgs, \"campaigns\", args.campaigns),\n \"version-names\": wholeValues(rawArgs, \"version-names\", args[\"version-names\"]),\n split: listValues(rawArgs, \"split\", args.split),\n start: text(\"start\"),\n end: text(\"end\"),\n days: text(\"days\"),\n confidence: text(\"confidence\"),\n \"measure-name\": text(\"measure-name\"),\n \"measure-pixel\": text(\"measure-pixel\"),\n \"measure-event\": listValues(rawArgs, \"measure-event\", args[\"measure-event\"]),\n \"measure-conversion\": text(\"measure-conversion\"),\n type: text(\"type\"),\n ads: listValues(rawArgs, \"ads\", args.ads),\n holdout: text(\"holdout\"),\n \"test-daily-budget\": text(\"test-daily-budget\"),\n \"observe-until\": text(\"observe-until\"),\n };\n}\n\nfunction orFail<T>(build: () => T): T {\n try {\n return build();\n } catch (err) {\n failWriteValidation(err instanceof Error ? err.message : String(err));\n }\n}\n\nregisterSchema({\n command: \"ads.meta.studies.create\",\n description:\n \"Stage a Meta A/B test (split test) — created at publish. Meta splits the audience so each person sees one version and calls the winner. Shorthand: --adsets <a>,<b> (or --campaigns) --start <ISO> --days 14 [--split 50,50] [--version-names …] [--confidence 90] [--measure-pixel <id> --measure-event Lead | --measure-conversion <id>]. Without a measure Meta decides on cost per result of the campaigns' objective. Or --file with Meta's shape. --type lift: a held-out group (--holdout, default 10%) shows what the --campaigns/--adsets add, needs a measure. --type creative: 2–5 --ads of one ad set compared on --test-daily-budget.\",\n args: schemaArgs(createArgs),\n});\n\nexport const studiesCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description: `Stage a Meta A/B test. ${STAGED_NOTE}\nSet it up properly: versions that differ in ONE thing (duplicate the ad set with \\`adsets duplicate\\`, change the audience, placement or creative on the copy), each with its own budget, none in another running test.\nExamples:\n baker ads meta studies create --name \"Broad vs lookalike\" --adsets 6123,6124 --start 2026-10-20T08:00Z --days 14\n baker ads meta studies create --name \"Lead cost\" --adsets 6123,meta_temp_ab12 --start 2026-10-20T08:00Z --days 14 --confidence 90 --measure-pixel 1275507706837548 --measure-event Lead\n baker ads meta studies create --file test.json`,\n },\n args: createArgs,\n run: async ({ args, rawArgs }) => {\n const accountId = bareAccountId(args as Record<string, unknown>);\n const file = loadJsonFileArg(args.file);\n const ignored = Object.keys(file).length > 0 ? studyFileIgnoredFlags(args as Record<string, unknown>) : [];\n if (ignored.length > 0) {\n failWriteValidation(\n `--file holds the whole test, so ${ignored.join(\", \")} would be ignored — put them in the file, or drop --file`,\n );\n }\n const flags = studyFlagsFromArgs(args, rawArgs);\n const payload =\n Object.keys(file).length > 0\n ? { ...file, ...(flags.name ? { name: flags.name } : {}) }\n : orFail(() => studyCreateFromFlags(flags));\n await stageOp({ kind: \"adStudy.create\", accountId, payload });\n },\n});\n\nconst updateArgs = {\n id: { type: \"positional\", description: \"Test id (or a meta_temp_* ref staged in this chat)\", required: true },\n \"account-id\": createArgs[\"account-id\"],\n name: createArgs.name,\n description: createArgs.description,\n ...timeArgs,\n split: {\n type: \"string\",\n description:\n \"New shares by cell id, adding up to 100: --split 2231801141074157=60,1425644426371372=40 (`studies --study-id` lists the cell ids). Only before it starts.\",\n },\n confidence: createArgs.confidence,\n} as const;\n\nregisterSchema({\n command: \"ads.meta.studies.update\",\n description:\n \"Stage a change to a Meta A/B test: rename, describe, move the end (--end; --days counts from a new --start), re-time or re-split it (--start, --split <cell_id>=60,…) before it starts, change the confidence. A running test keeps its start and split — end it and start a new one to change those.\",\n args: {\n id: updateArgs.id,\n ...schemaArgs(Object.fromEntries(Object.entries(updateArgs).filter(([key]) => key !== \"id\"))),\n },\n});\n\nexport const studiesUpdateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: `Stage a change to an A/B test. ${STAGED_NOTE}\nExample: baker ads meta studies update 6123 --end 2026-11-10T08:00Z`,\n },\n args: updateArgs,\n run: async ({ args, rawArgs }) => {\n const accountId = bareAccountId(args as Record<string, unknown>);\n const target = requireTarget(args as Record<string, unknown>, \"test\");\n const payload = orFail(() => studyUpdateFromFlags(studyFlagsFromArgs(args, rawArgs)));\n if (Object.keys(payload).length === 0) {\n failWriteValidation(\"nothing to change — pass --name, --description, --start, --end, --split or --confidence\");\n }\n await stageOp({ kind: \"adStudy.update\", accountId, target, payload });\n },\n});\n\nconst ACTIONS = {\n end: {\n payload: { end_now: true },\n note: \"The test stops a few minutes after publish and keeps its results — use this to stop a running test early.\",\n },\n delete: {\n payload: { status: \"DELETED\" },\n note: \"Deleting removes the test from Meta, results and all. For a running or finished test prefer `studies end` unless the user asked to delete it; for one that has not started, deleting is how to cancel it.\",\n },\n} as const;\n\nfunction actionCommand(name: keyof typeof ACTIONS) {\n const { payload, note } = ACTIONS[name];\n registerSchema({\n command: `ads.meta.studies.${name}`,\n description: `Stage ${name === \"end\" ? \"ending\" : \"deleting\"} a Meta A/B test. ${note}`,\n args: {\n id: { type: \"positional\", description: \"Test id\", required: true },\n \"account-id\": { type: \"string\", description: \"Meta ad account ID (act_123)\", required: false },\n },\n });\n return defineCommand({\n meta: { name, description: `Stage ${name === \"end\" ? \"ending\" : \"deleting\"} an A/B test. ${note} ${STAGED_NOTE}` },\n args: {\n id: { type: \"positional\", description: \"Test id\", required: true },\n \"account-id\": createArgs[\"account-id\"],\n },\n run: async ({ args }) => {\n const accountId = bareAccountId(args as Record<string, unknown>);\n await stageOp({\n kind: \"adStudy.update\",\n accountId,\n target: requireTarget(args as Record<string, unknown>, \"test\"),\n payload,\n });\n },\n });\n}\n\nexport const studiesEndCommand = actionCommand(\"end\");\nexport const studiesDeleteCommand = actionCommand(\"delete\");\n","import type { AdStudyCreate, AdStudyObjective, AdStudyUpdate } from \"@baker/api/ads-meta/adStudies\";\n\n/**\n * The marketer's shorthand for a Meta A/B test, read into Meta's own shape.\n * One version per ad set (or campaign), split evenly unless told; times as ISO\n * or epoch; confidence in percent. A test that needs several ad sets per\n * version is staged with `--file` in Meta's shape instead.\n */\n\nexport interface StudyFlags {\n name?: string;\n description?: string;\n adsets?: string[];\n campaigns?: string[];\n \"version-names\"?: string[];\n split?: string[];\n start?: string;\n end?: string;\n days?: string;\n confidence?: string;\n \"measure-name\"?: string;\n \"measure-pixel\"?: string;\n \"measure-event\"?: string[] | string;\n \"measure-conversion\"?: string;\n /** split (default) | lift | creative */\n type?: string;\n /** A creative test: one ad per version. */\n ads?: string[];\n /** A lift study: the share of the audience held out from the ads, in %. */\n holdout?: string;\n \"test-daily-budget\"?: string;\n \"observe-until\"?: string;\n}\n\nconst DAY_SECONDS = 86_400;\n\n/** ISO date/time or epoch seconds/milliseconds, as unix seconds. */\nexport function studyTimeFlag(value: string, flag: string): number {\n if (/^\\d{10}$/.test(value)) return Number(value);\n if (/^\\d{13}$/.test(value)) return Math.floor(Number(value) / 1000);\n const ms = Date.parse(value);\n if (Number.isNaN(ms)) {\n throw new Error(`${flag} must be an ISO date/time (2026-10-20T08:00Z) or epoch seconds`);\n }\n return Math.floor(ms / 1000);\n}\n\nfunction numberFlag(value: string, flag: string): number {\n const n = Number(value.replace(/%$/, \"\"));\n if (!Number.isFinite(n)) throw new Error(`${flag} must be a number, got \"${value}\"`);\n return n;\n}\n\n/** n shares that add up to exactly 100, the remainder on the first: 3 → 33.34, 33.33, 33.33. */\nexport function evenSplit(count: number): number[] {\n const base = Math.floor((100 / count) * 100) / 100;\n const first = Math.round((100 - base * (count - 1)) * 100) / 100;\n return Array.from({ length: count }, (_, index) => (index === 0 ? first : base));\n}\n\nfunction endTime(flags: StudyFlags, start: number | undefined): number | undefined {\n if (flags.end) return studyTimeFlag(flags.end, \"--end\");\n if (flags.days !== undefined) {\n if (start === undefined) throw new Error(\"--days counts from --start — pass --start too, or --end\");\n return start + Math.round(numberFlag(flags.days, \"--days\") * DAY_SECONDS);\n }\n return undefined;\n}\n\nfunction confidence(value: string | undefined): number | undefined {\n if (value === undefined) return undefined;\n const n = numberFlag(value, \"--confidence\");\n return n > 1 ? n / 100 : n;\n}\n\nfunction measure(flags: StudyFlags): AdStudyObjective[] | undefined {\n const events = [flags[\"measure-event\"] ?? []].flat().filter(Boolean);\n if (flags[\"measure-pixel\"]) {\n if (events.length === 0) {\n throw new Error(\"--measure-pixel needs --measure-event (the pixel event that counts, e.g. Lead or Purchase)\");\n }\n const name = flags[\"measure-name\"] ?? events.join(\" or \");\n return [\n { name, type: \"CONVERSIONS\", is_primary: true, adspixels: [{ id: flags[\"measure-pixel\"], event_names: events }] },\n ];\n }\n if (flags[\"measure-conversion\"]) {\n const name = flags[\"measure-name\"] ?? \"Custom conversion\";\n return [{ name, type: \"CONVERSIONS\", is_primary: true, customconversions: [{ id: flags[\"measure-conversion\"] }] }];\n }\n if (events.length > 0) throw new Error(\"--measure-event counts on a pixel — pass --measure-pixel too\");\n return undefined;\n}\n\nfunction versionLetter(index: number): string {\n return `Version ${String.fromCharCode(65 + index)}`;\n}\n\n/** A lift study or creative test: when Meta stops counting results (default the end). */\nfunction observationEnd(flags: StudyFlags): { observation_end_time?: number } {\n const until = flags[\"observe-until\"];\n return until ? { observation_end_time: studyTimeFlag(until, \"--observe-until\") } : {};\n}\n\n/** A lift study: every ad set or campaign named runs in one cell, with a share held out (default 10%). */\nfunction liftFromFlags(flags: StudyFlags, start: number, end: number): AdStudyCreate {\n const level = flags.adsets?.length ? \"adsets\" : flags.campaigns?.length ? \"campaigns\" : undefined;\n if (!level) throw new Error(\"a lift study measures --campaigns or --adsets (comma-separated, all in one group)\");\n if (flags.split) {\n throw new Error(\n \"a lift study shows the ads to everyone but a held-out share — set that share with --holdout (e.g. --holdout 10), not --split\",\n );\n }\n const names = flags[\"version-names\"] ?? [];\n if (names.length > 1) {\n throw new Error(\"a lift study runs as one group — pass one --version-names for it, or none (default Lift)\");\n }\n const holdout = flags.holdout === undefined ? 10 : numberFlag(flags.holdout, \"--holdout\");\n const objectives = measure(flags);\n const conf = confidence(flags.confidence);\n if (!objectives)\n throw new Error(\n \"a lift study needs a measure: --measure-pixel <id> --measure-event Lead, or --measure-conversion <id>\",\n );\n return {\n name: flags.name ?? \"\",\n ...(flags.description ? { description: flags.description } : {}),\n type: \"LIFT\",\n start_time: start,\n end_time: end,\n ...observationEnd(flags),\n cells: [\n {\n name: names[0] ?? \"Lift\",\n treatment_percentage: 100 - holdout,\n control_percentage: holdout,\n [level]: (level === \"adsets\" ? flags.adsets : flags.campaigns) ?? [],\n },\n ],\n objectives,\n ...(conf !== undefined ? { confidence_level: conf } : {}),\n };\n}\n\n/** A creative test: one ad per version, split evenly unless told, on a share of the ad set's daily budget. */\nfunction creativeTestFromFlags(flags: StudyFlags, start: number, end: number): AdStudyCreate {\n const ads = flags.ads ?? [];\n if (ads.length < 2) throw new Error(\"a creative test compares 2 to 5 ads of one ad set: --ads <ad>,<ad>\");\n if (!flags[\"test-daily-budget\"])\n throw new Error(\"pass --test-daily-budget: the part of the ad set's daily budget the test spends\");\n const shares = flags.split?.map((share) => numberFlag(share, \"--split\")) ?? evenSplit(ads.length);\n const names = flags[\"version-names\"] ?? [];\n const objectives = measure(flags);\n const conf = confidence(flags.confidence);\n return {\n name: flags.name ?? \"\",\n ...(flags.description ? { description: flags.description } : {}),\n type: \"SPLIT_TEST_V2\",\n start_time: start,\n end_time: end,\n ...observationEnd(flags),\n testDailyBudget: { amount: flags[\"test-daily-budget\"] },\n cells: ads.map((id, index) => ({\n name: names[index] ?? versionLetter(index),\n treatment_percentage: shares[index] ?? 0,\n ads: [id],\n })),\n ...(conf !== undefined ? { confidence_level: conf } : {}),\n ...(objectives ? { objectives } : {}),\n };\n}\n\n/** A lift study or a creative test, from its own flags. */\nfunction otherStudyFromFlags(flags: StudyFlags, type: \"lift\" | \"creative\"): AdStudyCreate {\n if (!flags.start) throw new Error(\"pass --start: when the test begins (ISO, in the future)\");\n const start = studyTimeFlag(flags.start, \"--start\");\n const end = endTime(flags, start);\n if (end === undefined) throw new Error(\"pass --days or --end\");\n return type === \"lift\" ? liftFromFlags(flags, start, end) : creativeTestFromFlags(flags, start, end);\n}\n\ntype StudyKind = \"split\" | \"lift\" | \"creative\";\n\n/** The flags only some types of test take, and which. */\nconst TYPE_FLAGS: Readonly<Partial<Record<keyof StudyFlags, readonly StudyKind[]>>> = {\n adsets: [\"split\", \"lift\"],\n campaigns: [\"split\", \"lift\"],\n ads: [\"creative\"],\n holdout: [\"lift\"],\n \"test-daily-budget\": [\"creative\"],\n \"observe-until\": [\"lift\", \"creative\"],\n};\n\n/** A flag the type does not take is refused, never dropped: the test would not be the one asked for. */\nfunction refuseForeignFlags(flags: StudyFlags, kind: StudyKind): void {\n for (const [flag, kinds] of Object.entries(TYPE_FLAGS) as [keyof StudyFlags, readonly StudyKind[]][]) {\n const value = flags[flag];\n const given = Array.isArray(value) ? value.length > 0 : value !== undefined && value !== \"\";\n if (given && !kinds.includes(kind)) {\n throw new Error(\n `--${flag} is for ${kinds.map((other) => `--type ${other}`).join(\" or \")}, not a ${kind} test — drop it, or pass the --type it belongs to`,\n );\n }\n }\n}\n\nexport function studyCreateFromFlags(flags: StudyFlags): AdStudyCreate {\n const kind = flags.type ?? \"split\";\n if (kind !== \"split\" && kind !== \"lift\" && kind !== \"creative\") throw new Error(\"--type is split, lift or creative\");\n refuseForeignFlags(flags, kind);\n return kind === \"split\" ? splitTestFromFlags(flags) : otherStudyFromFlags(flags, kind);\n}\n\n/** An A/B test: one version per ad set (or campaign), split evenly unless told. */\nfunction splitTestFromFlags(flags: StudyFlags): AdStudyCreate {\n const level = flags.adsets?.length ? \"adsets\" : flags.campaigns?.length ? \"campaigns\" : undefined;\n if (!level) {\n throw new Error(\"pass --adsets or --campaigns: one id per version, e.g. --adsets 6123,6124\");\n }\n const ids = (level === \"adsets\" ? flags.adsets : flags.campaigns) ?? [];\n if (!flags.start) {\n throw new Error(\"pass --start: when the test begins (ISO, in the future — after this chat publishes)\");\n }\n const start = studyTimeFlag(flags.start, \"--start\");\n const end = endTime(flags, start);\n if (end === undefined) throw new Error(\"pass --days (how long it runs, 7–30 recommended) or --end\");\n const shares = flags.split?.map((share) => numberFlag(share, \"--split\")) ?? evenSplit(ids.length);\n if (shares.length !== ids.length) {\n throw new Error(`--split gives one share per version, in order: ${ids.length} versions, ${shares.length} shares`);\n }\n const names = flags[\"version-names\"] ?? [];\n const objectives = measure(flags);\n const conf = confidence(flags.confidence);\n return {\n name: flags.name ?? \"\",\n ...(flags.description ? { description: flags.description } : {}),\n type: \"SPLIT_TEST\",\n start_time: start,\n end_time: end,\n cells: ids.map((id, index) => ({\n name: names[index] ?? versionLetter(index),\n treatment_percentage: shares[index] ?? 0,\n [level]: [id],\n })),\n ...(conf !== undefined ? { confidence_level: conf } : {}),\n ...(objectives ? { objectives } : {}),\n };\n}\n\nexport function studyUpdateFromFlags(flags: StudyFlags): AdStudyUpdate {\n const start = flags.start ? studyTimeFlag(flags.start, \"--start\") : undefined;\n const end = endTime(flags, start);\n const cells = flags.split?.map((pair) => {\n const match = /^(\\d+)=(.+)$/.exec(pair);\n if (!match?.[1] || !match[2]) {\n throw new Error(\n `--split on a live test names each version by its cell id: --split 2231801141074157=60 (\\`studies --study-id\\` lists them), got \"${pair}\"`,\n );\n }\n return { id: match[1], treatment_percentage: numberFlag(match[2], \"--split\") };\n });\n const conf = confidence(flags.confidence);\n const update: AdStudyUpdate = {};\n if (flags.name) update.name = flags.name;\n if (flags.description) update.description = flags.description;\n if (start !== undefined) update.start_time = start;\n if (end !== undefined) update.end_time = end;\n if (conf !== undefined) update.confidence_level = conf;\n if (cells) update.cells = cells;\n return update;\n}\n\n/** Flags a `--file` test takes beside the file: its name, and the account. */\nconst FILE_COMPANION_FLAGS = new Set([\"file\", \"name\", \"account-id\"]);\n\n/**\n * The flags given beside `--file` that the file would silently win over. The\n * file is the whole test in Meta's shape, so only `--name` overrides it; any\n * other flag is refused rather than dropped.\n */\nexport function studyFileIgnoredFlags(args: Record<string, unknown>): string[] {\n const given = Object.entries(args)\n .filter(([key, value]) => key !== \"_\" && value !== undefined && value !== false && value !== \"\")\n // citty hands each flag over under its kebab and its camelCase name alike.\n .map(([key]) => key.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`))\n .filter((key) => !FILE_COMPANION_FLAGS.has(key));\n return [...new Set(given)].map((key) => `--${key}`);\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,54 @@
1
+ import {
2
+ reportError,
3
+ reportInvalid
4
+ } from "./chunk-GDLQ6SGW.js";
5
+ import {
6
+ testimonialSourcesSyncRequestSchema
7
+ } from "./chunk-66QHX566.js";
8
+ import "./chunk-GXDLWBOY.js";
9
+ import "./chunk-GIWHHCD6.js";
10
+ import "./chunk-XQIOCIDO.js";
11
+ import "./chunk-WTJSMYY2.js";
12
+ import {
13
+ apiPost
14
+ } from "./chunk-XDZVBX6L.js";
15
+ import "./chunk-N5O67GK5.js";
16
+ import "./chunk-EE72SSB2.js";
17
+ import {
18
+ registerSchema,
19
+ writeJson
20
+ } from "./chunk-WNSE7N75.js";
21
+ import "./chunk-YQSBHWOI.js";
22
+
23
+ // src/commands/testimonials/sources/sync.ts
24
+ import { defineCommand } from "citty";
25
+ registerSchema({
26
+ command: "testimonials.sources.sync",
27
+ description: "Import a review source's new reviews now. Only reviews newer than the last import are read where the site allows it.",
28
+ args: { id: { type: "string", description: "Source id from `testimonials sources list`", required: true } }
29
+ });
30
+ var syncCommand = defineCommand({
31
+ meta: {
32
+ name: "sync",
33
+ description: "Import a review source's new reviews now.\n\nExample: baker testimonials sources sync <source-id>"
34
+ },
35
+ args: { id: { type: "positional", description: "Source id from `testimonials sources list`", required: true } },
36
+ run: async ({ args }) => {
37
+ const parsed = testimonialSourcesSyncRequestSchema.safeParse({ id: String(args.id ?? "") });
38
+ if (!parsed.success) reportInvalid(parsed.error.issues[0]);
39
+ try {
40
+ const data = await apiPost("/api/testimonials/sources/sync", parsed.data);
41
+ writeJson({
42
+ ok: true,
43
+ data,
44
+ hints: data.started ? void 0 : ["An import was already running for this source; nothing new was started."]
45
+ });
46
+ } catch (err) {
47
+ reportError(err);
48
+ }
49
+ }
50
+ });
51
+ export {
52
+ syncCommand
53
+ };
54
+ //# sourceMappingURL=sync-QDD3MRJ6.js.map