@koda-sl/baker-cli 0.513.0 → 0.515.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 (1231) hide show
  1. package/README.md +3 -3
  2. package/dist/account-BA3IO3AN.js +139 -0
  3. package/dist/account-LVJFHDA3.js +82 -0
  4. package/dist/account-LVJFHDA3.js.map +1 -0
  5. package/dist/account-PTJ6OK6Z.js +82 -0
  6. package/dist/account-PTJ6OK6Z.js.map +1 -0
  7. package/dist/account-assets-T3VVNBUG.js +290 -0
  8. package/dist/account-level-MPFWRPEK.js +611 -0
  9. package/dist/account-level-MPFWRPEK.js.map +1 -0
  10. package/dist/account-reads-5CXFLJ5Q.js +219 -0
  11. package/dist/account-users-B7DCJEFD.js +64 -0
  12. package/dist/account-users-B7DCJEFD.js.map +1 -0
  13. package/dist/account-writes-W5EOTS7P.js +68 -0
  14. package/dist/account-writes-W5EOTS7P.js.map +1 -0
  15. package/dist/accounts-4R3MBNJG.js +76 -0
  16. package/dist/accounts-5WF7VE7J.js +115 -0
  17. package/dist/accounts-IQTEH4BX.js +701 -0
  18. package/dist/accounts-IQTEH4BX.js.map +1 -0
  19. package/dist/accounts-SV7JZUCC.js +80 -0
  20. package/dist/accounts-SV7JZUCC.js.map +1 -0
  21. package/dist/accounts-VPWCLF6X.js +114 -0
  22. package/dist/actions-D7OWCP36.js +55 -0
  23. package/dist/active-entities-WDPW7652.js +103 -0
  24. package/dist/activecampaign-LBS4M4C4.js +938 -0
  25. package/dist/activecampaign-LBS4M4C4.js.map +1 -0
  26. package/dist/activities-WGPHYSFU.js +75 -0
  27. package/dist/ad-group-writes-JL56DPC4.js +172 -0
  28. package/dist/ad-group-writes-JL56DPC4.js.map +1 -0
  29. package/dist/ad-groups-62JPLIK3.js +70 -0
  30. package/dist/ad-groups-62JPLIK3.js.map +1 -0
  31. package/dist/ad-writes-WSKLRGB7.js +176 -0
  32. package/dist/ad-writes-WSKLRGB7.js.map +1 -0
  33. package/dist/add-HFQB2NTU.js +107 -0
  34. package/dist/add-HFQB2NTU.js.map +1 -0
  35. package/dist/add-IUYE5H6A.js +305 -0
  36. package/dist/add-IUYE5H6A.js.map +1 -0
  37. package/dist/ads-F7AUJWK7.js +115 -0
  38. package/dist/ads-JFI56MZL.js +79 -0
  39. package/dist/ads-JFI56MZL.js.map +1 -0
  40. package/dist/ads-OV3SMLKA.js +48 -0
  41. package/dist/adsets-XH2ULWPM.js +182 -0
  42. package/dist/advertisers-XXM6POO5.js +123 -0
  43. package/dist/advertisers-XXM6POO5.js.map +1 -0
  44. package/dist/analytics-MJT6DS3L.js +447 -0
  45. package/dist/analytics-MJT6DS3L.js.map +1 -0
  46. package/dist/analytics-W7EUOI2Q.js +2437 -0
  47. package/dist/analytics-W7EUOI2Q.js.map +1 -0
  48. package/dist/asset-writes-4X3AJQ4Q.js +50 -0
  49. package/dist/assign-2GQVQKKO.js +80 -0
  50. package/dist/assign-2GQVQKKO.js.map +1 -0
  51. package/dist/audience-size-VHXBNNIB.js +76 -0
  52. package/dist/audience-size-VHXBNNIB.js.map +1 -0
  53. package/dist/audience-writes-TXWPDJ2F.js +327 -0
  54. package/dist/audience-writes-TXWPDJ2F.js.map +1 -0
  55. package/dist/audiences-B2LFKWIS.js +280 -0
  56. package/dist/audiences-B2LFKWIS.js.map +1 -0
  57. package/dist/audiences-MBBXWEOI.js +86 -0
  58. package/dist/audiences-YUG5JLL4.js +85 -0
  59. package/dist/audit-VT2WSZWM.js +154 -0
  60. package/dist/audit-VT2WSZWM.js.map +1 -0
  61. package/dist/audit-WFXS5ELM.js +88 -0
  62. package/dist/autocomplete-ZYMHHV7E.js +114 -0
  63. package/dist/autocomplete-ZYMHHV7E.js.map +1 -0
  64. package/dist/avatars-WZ2JDMHH.js +38 -0
  65. package/dist/bid-pricing-5F3GBSAI.js +103 -0
  66. package/dist/bid-pricing-5F3GBSAI.js.map +1 -0
  67. package/dist/brand-IZTTBZII.js +22 -0
  68. package/dist/brief-OPQ7ICOY.js +543 -0
  69. package/dist/brief-OPQ7ICOY.js.map +1 -0
  70. package/dist/businesses-24JNY46Z.js +54 -0
  71. package/dist/campaign-groups-BDCDTMBF.js +99 -0
  72. package/dist/campaign-groups-BDCDTMBF.js.map +1 -0
  73. package/dist/campaign-writes-73H7G3JM.js +168 -0
  74. package/dist/campaign-writes-73H7G3JM.js.map +1 -0
  75. package/dist/campaign-writes-FNVOHONL.js +176 -0
  76. package/dist/campaign-writes-FNVOHONL.js.map +1 -0
  77. package/dist/campaigns-FUDZUVHN.js +78 -0
  78. package/dist/campaigns-FUDZUVHN.js.map +1 -0
  79. package/dist/campaigns-J65Q4WAZ.js +113 -0
  80. package/dist/campaigns-J65Q4WAZ.js.map +1 -0
  81. package/dist/campaigns-KXYGSH27.js +130 -0
  82. package/dist/campaigns-U5FQ2VWL.js +111 -0
  83. package/dist/canvas-IQ753Q2O.js +46 -0
  84. package/dist/capabilities-ZITW4RF7.js +147 -0
  85. package/dist/capabilities-ZITW4RF7.js.map +1 -0
  86. package/dist/cards-NSNAFTEB.js +85 -0
  87. package/dist/catalogs-OWQGGCIO.js +130 -0
  88. package/dist/catalogs-OWQGGCIO.js.map +1 -0
  89. package/dist/catalogs-VZYAATUR.js +781 -0
  90. package/dist/catalogs-VZYAATUR.js.map +1 -0
  91. package/dist/changes-RDWMNSTK.js +135 -0
  92. package/dist/chatgpt-27NEJVGF.js +47 -0
  93. package/dist/chats-AL2SYBJO.js +279 -0
  94. package/dist/chats-AL2SYBJO.js.map +1 -0
  95. package/dist/check-U2YLRD6H.js +107 -0
  96. package/dist/check-U2YLRD6H.js.map +1 -0
  97. package/dist/chunk-2F4DELSV.js +200 -0
  98. package/dist/chunk-2GYCWRF3.js +170 -0
  99. package/dist/chunk-2L7F7KR4.js +61 -0
  100. package/dist/chunk-44ZRCSR7.js +228 -0
  101. package/dist/chunk-46YLDIQG.js +4254 -0
  102. package/dist/chunk-4EDWXZ3I.js +363 -0
  103. package/dist/chunk-4FFBGR5L.js +66 -0
  104. package/dist/chunk-4UZUUSVL.js +592 -0
  105. package/dist/chunk-4XHCEYHI.js +831 -0
  106. package/dist/chunk-4Z6PVR3M.js +479 -0
  107. package/dist/chunk-5Y5FZV2W.js +122 -0
  108. package/dist/chunk-6DPSWLGY.js +324 -0
  109. package/dist/chunk-6DPSWLGY.js.map +1 -0
  110. package/dist/chunk-6HJXLGDV.js +392 -0
  111. package/dist/chunk-6S5CWGDA.js +429 -0
  112. package/dist/chunk-6VYROVWO.js +494 -0
  113. package/dist/chunk-AQRXXC6E.js +319 -0
  114. package/dist/chunk-ARBXT73X.js +387 -0
  115. package/dist/chunk-BEZHQIEI.js +97 -0
  116. package/dist/chunk-BFURWHVR.js +547 -0
  117. package/dist/chunk-EZSPVWLQ.js +169 -0
  118. package/dist/chunk-FCHZ5TNG.js +26 -0
  119. package/dist/chunk-FLWDFPXE.js +23 -0
  120. package/dist/chunk-FQMEX3GX.js +846 -0
  121. package/dist/chunk-G4FG5EQO.js +110 -0
  122. package/dist/chunk-G4FG5EQO.js.map +1 -0
  123. package/dist/chunk-GE3VT3CA.js +51 -0
  124. package/dist/chunk-GGK2CX6B.js +24026 -0
  125. package/dist/chunk-GGK2CX6B.js.map +1 -0
  126. package/dist/chunk-GHZ6HP2X.js +358 -0
  127. package/dist/chunk-GHZ6HP2X.js.map +1 -0
  128. package/dist/chunk-HCQJYI6X.js +74 -0
  129. package/dist/chunk-HGBJQGO5.js +142 -0
  130. package/dist/chunk-HHVWV5BJ.js +191 -0
  131. package/dist/chunk-I3WGTSDY.js +76 -0
  132. package/dist/chunk-I7AYMJZA.js +783 -0
  133. package/dist/chunk-IDSDJHRS.js +106 -0
  134. package/dist/chunk-ILPHIYAL.js +207 -0
  135. package/dist/chunk-IWKD56AY.js +156 -0
  136. package/dist/chunk-JLAQWMVF.js +3868 -0
  137. package/dist/chunk-JOE42ZW6.js +2984 -0
  138. package/dist/chunk-JOE42ZW6.js.map +1 -0
  139. package/dist/chunk-K6NULQN7.js +57 -0
  140. package/dist/chunk-L2BRAC2J.js +19 -0
  141. package/dist/chunk-LGMI4LSY.js +455 -0
  142. package/dist/chunk-LNODLR7W.js +149 -0
  143. package/dist/chunk-LQ2BRGMX.js +274 -0
  144. package/dist/chunk-M7QZSEHF.js +175 -0
  145. package/dist/chunk-NB2FU6EZ.js +179 -0
  146. package/dist/chunk-NFII3MTG.js +207 -0
  147. package/dist/chunk-NKQWDEB7.js +115 -0
  148. package/dist/chunk-NKQWDEB7.js.map +1 -0
  149. package/dist/chunk-OG47L5GG.js +275 -0
  150. package/dist/chunk-PC3FJEZH.js +7211 -0
  151. package/dist/chunk-PC3FJEZH.js.map +1 -0
  152. package/dist/chunk-Q3GSVLE5.js +4274 -0
  153. package/dist/chunk-Q3GSVLE5.js.map +1 -0
  154. package/dist/chunk-QIOFOD4K.js +344 -0
  155. package/dist/chunk-R2SYF5FC.js +249 -0
  156. package/dist/chunk-RTH2I55B.js +942 -0
  157. package/dist/chunk-S6VFDNSQ.js +63 -0
  158. package/dist/chunk-SG2TDQEE.js +150 -0
  159. package/dist/chunk-SOPVIIUW.js +68 -0
  160. package/dist/chunk-SOPVIIUW.js.map +1 -0
  161. package/dist/chunk-T3P6O2VU.js +89 -0
  162. package/dist/chunk-TU5LQUJM.js +74 -0
  163. package/dist/chunk-TU7DWSTW.js +69 -0
  164. package/dist/chunk-TXDE2QJ3.js +604 -0
  165. package/dist/chunk-TYXZ2SRW.js +287 -0
  166. package/dist/chunk-UDIEKCIR.js +203 -0
  167. package/dist/chunk-UQHHGT67.js +676 -0
  168. package/dist/chunk-USCADMM3.js +163 -0
  169. package/dist/chunk-UUGISMNE.js +910 -0
  170. package/dist/chunk-VDPOCAQ2.js +197 -0
  171. package/dist/chunk-VEJ3QX6M.js +103 -0
  172. package/dist/chunk-VFJB7OG6.js +91 -0
  173. package/dist/chunk-VPABGAN4.js +188 -0
  174. package/dist/chunk-VRIPVLE7.js +8954 -0
  175. package/dist/chunk-WLESMH4J.js +45 -0
  176. package/dist/chunk-XOQNM7I4.js +396 -0
  177. package/dist/chunk-XOQNM7I4.js.map +1 -0
  178. package/dist/chunk-YILZR3XI.js +224 -0
  179. package/dist/chunk-YJFLXOH4.js +191 -0
  180. package/dist/chunk-YWHZYR6S.js +297 -0
  181. package/dist/chunk-Z35KUMBW.js +219 -0
  182. package/dist/chunk-Z7I2ZFXS.js +1646 -0
  183. package/dist/claim-GOLUTAJ3.js +200 -0
  184. package/dist/claim-GOLUTAJ3.js.map +1 -0
  185. package/dist/cli.js +34 -34
  186. package/dist/companies-CSN7DPYW.js +198 -0
  187. package/dist/companies-CSN7DPYW.js.map +1 -0
  188. package/dist/company-MOSPLRZJ.js +308 -0
  189. package/dist/company-MOSPLRZJ.js.map +1 -0
  190. package/dist/complete-777BDV45.js +84 -0
  191. package/dist/complete-777BDV45.js.map +1 -0
  192. package/dist/config-55WGRLY3.js +88 -0
  193. package/dist/connect-3YY7MF3I.js +45 -0
  194. package/dist/conversation-6K2TNYBQ.js +96 -0
  195. package/dist/conversation-6K2TNYBQ.js.map +1 -0
  196. package/dist/conversion-report-WYYB3BK2.js +127 -0
  197. package/dist/conversion-report-WYYB3BK2.js.map +1 -0
  198. package/dist/conversion-upload-command-VM2P57K6.js +439 -0
  199. package/dist/conversion-writes-DHOPMA7X.js +122 -0
  200. package/dist/conversion-writes-DHOPMA7X.js.map +1 -0
  201. package/dist/conversions-KWY7BNDN.js +78 -0
  202. package/dist/conversions-KWY7BNDN.js.map +1 -0
  203. package/dist/conversions-MLRK35ZV.js +140 -0
  204. package/dist/conversions-MLRK35ZV.js.map +1 -0
  205. package/dist/copy-writes-E3V5TUVU.js +170 -0
  206. package/dist/copy-writes-E3V5TUVU.js.map +1 -0
  207. package/dist/create-3WOZO2XT.js +239 -0
  208. package/dist/create-3WOZO2XT.js.map +1 -0
  209. package/dist/create-7IFYLX7P.js +210 -0
  210. package/dist/create-7IFYLX7P.js.map +1 -0
  211. package/dist/create-FOHIQC3E.js +62 -0
  212. package/dist/create-FOHIQC3E.js.map +1 -0
  213. package/dist/create-UWQSQTK6.js +135 -0
  214. package/dist/create-UWQSQTK6.js.map +1 -0
  215. package/dist/creatives-2DR3QHJW.js +58 -0
  216. package/dist/creatives-DUR5Z5AN.js +89 -0
  217. package/dist/creatives-KN3MT533.js +223 -0
  218. package/dist/creatives-KN3MT533.js.map +1 -0
  219. package/dist/credentials-IP4L37XP.js +290 -0
  220. package/dist/credentials-IP4L37XP.js.map +1 -0
  221. package/dist/critique-LGDNMLBL.js +232 -0
  222. package/dist/critique-LGDNMLBL.js.map +1 -0
  223. package/dist/critique-LJMFAURK.js +1451 -0
  224. package/dist/critique-LJMFAURK.js.map +1 -0
  225. package/dist/crm-BNYW7PF7.js +323 -0
  226. package/dist/crm-BNYW7PF7.js.map +1 -0
  227. package/dist/crm-DMADHALO.js +227 -0
  228. package/dist/crm-DMADHALO.js.map +1 -0
  229. package/dist/currency-X4KEACEP.js +88 -0
  230. package/dist/custom-conversions-OIA5Y2GX.js +128 -0
  231. package/dist/customers-663K2OCP.js +59 -0
  232. package/dist/delete-5W3YVA4L.js +67 -0
  233. package/dist/delete-5W3YVA4L.js.map +1 -0
  234. package/dist/delete-6U7E6YUW.js +57 -0
  235. package/dist/delete-6U7E6YUW.js.map +1 -0
  236. package/dist/delete-G4NY6ZG6.js +69 -0
  237. package/dist/delete-G4NY6ZG6.js.map +1 -0
  238. package/dist/demographics-UZ7BCQ7K.js +141 -0
  239. package/dist/demographics-UZ7BCQ7K.js.map +1 -0
  240. package/dist/discard-RKCZNKMN.js +69 -0
  241. package/dist/discard-RKCZNKMN.js.map +1 -0
  242. package/dist/discover-2W42JB56.js +172 -0
  243. package/dist/domain-PLA2O4FW.js +101 -0
  244. package/dist/domain-PLA2O4FW.js.map +1 -0
  245. package/dist/download-4EFLVSA4.js +172 -0
  246. package/dist/download-4EFLVSA4.js.map +1 -0
  247. package/dist/draft-2ZX73IRO.js +238 -0
  248. package/dist/draft-6XMZYSMR.js +283 -0
  249. package/dist/draft-6XMZYSMR.js.map +1 -0
  250. package/dist/draft-CKLIIWXZ.js +308 -0
  251. package/dist/draft-IUEULQDT.js +310 -0
  252. package/dist/draft-IUEULQDT.js.map +1 -0
  253. package/dist/draft-JMNAGW7C.js +220 -0
  254. package/dist/draft-JMNAGW7C.js.map +1 -0
  255. package/dist/draft-L5Q6KEER.js +100 -0
  256. package/dist/draft-MJRMZGMP.js +103 -0
  257. package/dist/draft-WPMVLRME.js +335 -0
  258. package/dist/draft-WPMVLRME.js.map +1 -0
  259. package/dist/experiment-3VRHCQN5.js +1397 -0
  260. package/dist/experiments-S4TSXCK6.js +236 -0
  261. package/dist/experiments-S4TSXCK6.js.map +1 -0
  262. package/dist/facets-D3JG7OSO.js +117 -0
  263. package/dist/facets-D3JG7OSO.js.map +1 -0
  264. package/dist/feedback-IRSRPXV6.js +111 -0
  265. package/dist/feedback-IRSRPXV6.js.map +1 -0
  266. package/dist/feedback-record-DT3R4NA3.js +265 -0
  267. package/dist/feedback-record-DT3R4NA3.js.map +1 -0
  268. package/dist/fetch-YLQP5VQL.js +179 -0
  269. package/dist/fetch-YLQP5VQL.js.map +1 -0
  270. package/dist/fit-BEFCY2B4.js +65 -0
  271. package/dist/flows-FDMF3F3P.js +250 -0
  272. package/dist/flows-FDMF3F3P.js.map +1 -0
  273. package/dist/fonts-C6XN5667.js +39 -0
  274. package/dist/forecast-4YHMKO54.js +121 -0
  275. package/dist/forecast-4YHMKO54.js.map +1 -0
  276. package/dist/forecast-LYN6ZGQC.js +169 -0
  277. package/dist/funding-TCEPQXRQ.js +85 -0
  278. package/dist/funnel-CQIT3F23.js +397 -0
  279. package/dist/funnel-CQIT3F23.js.map +1 -0
  280. package/dist/ga4-JE3HS36B.js +55 -0
  281. package/dist/get-KBSKPTAV.js +59 -0
  282. package/dist/get-KBSKPTAV.js.map +1 -0
  283. package/dist/get-OSVQVMP6.js +82 -0
  284. package/dist/get-OSVQVMP6.js.map +1 -0
  285. package/dist/google-24FDG4C4.js +3267 -0
  286. package/dist/google-ads-XCJVAXWF.js +198 -0
  287. package/dist/google-ads-XCJVAXWF.js.map +1 -0
  288. package/dist/gsc-RMVOYIM3.js +30 -0
  289. package/dist/history-4TN2A6BL.js +136 -0
  290. package/dist/history-4TN2A6BL.js.map +1 -0
  291. package/dist/history-5IWW2X33.js +102 -0
  292. package/dist/history-5IWW2X33.js.map +1 -0
  293. package/dist/history-GIXIG276.js +69 -0
  294. package/dist/history-GIXIG276.js.map +1 -0
  295. package/dist/hubspot-5WB7TQBG.js +782 -0
  296. package/dist/hubspot-5WB7TQBG.js.map +1 -0
  297. package/dist/ideas-M66FU45H.js +45 -0
  298. package/dist/images-MM5OPUKV.js +92 -0
  299. package/dist/ingest-GU3WEBN3.js +110 -0
  300. package/dist/ingest-GU3WEBN3.js.map +1 -0
  301. package/dist/ingest-KMLYCFF4.js +26 -0
  302. package/dist/insights-HATH3IC6.js +439 -0
  303. package/dist/insights-HATH3IC6.js.map +1 -0
  304. package/dist/insights-VKPIVJMK.js +132 -0
  305. package/dist/insights-VKPIVJMK.js.map +1 -0
  306. package/dist/inspect-4JO2J3D6.js +192 -0
  307. package/dist/inspect-4JO2J3D6.js.map +1 -0
  308. package/dist/instant-experiences-A2SIQNB5.js +260 -0
  309. package/dist/instant-experiences-A2SIQNB5.js.map +1 -0
  310. package/dist/intent-YCQCUCV3.js +95 -0
  311. package/dist/job-SM2OQ2LO.js +202 -0
  312. package/dist/job-create-ECZHPVKH.js +109 -0
  313. package/dist/job-status-QSYDKIIV.js +74 -0
  314. package/dist/keyword-gap-PUSF7EKY.js +130 -0
  315. package/dist/keyword-metrics-JXBM22ZD.js +200 -0
  316. package/dist/keyword-metrics-JXBM22ZD.js.map +1 -0
  317. package/dist/keywords-for-site-OAYA7KP7.js +131 -0
  318. package/dist/keywords-for-site-OAYA7KP7.js.map +1 -0
  319. package/dist/landing-OZU5RRFV.js +28 -0
  320. package/dist/languages-Q5SKO4AM.js +40 -0
  321. package/dist/leads-QAYS7AJO.js +540 -0
  322. package/dist/leads-QAYS7AJO.js.map +1 -0
  323. package/dist/leads-VOSFVNUK.js +115 -0
  324. package/dist/leads-VOSFVNUK.js.map +1 -0
  325. package/dist/learn-NBBJRMVZ.js +207 -0
  326. package/dist/learn-NBBJRMVZ.js.map +1 -0
  327. package/dist/line-item-writes-VBBB3TRS.js +211 -0
  328. package/dist/line-item-writes-VBBB3TRS.js.map +1 -0
  329. package/dist/line-items-2V5FY33R.js +107 -0
  330. package/dist/link-WZSNUQQ2.js +67 -0
  331. package/dist/link-WZSNUQQ2.js.map +1 -0
  332. package/dist/linkedin-CDFCOHKI.js +1316 -0
  333. package/dist/linkedin-CDFCOHKI.js.map +1 -0
  334. package/dist/linkedin-person-MVRI7LLC.js +139 -0
  335. package/dist/linkedin-person-MVRI7LLC.js.map +1 -0
  336. package/dist/list-6S54IAUX.js +67 -0
  337. package/dist/list-6S54IAUX.js.map +1 -0
  338. package/dist/list-QRJ4E3SC.js +154 -0
  339. package/dist/list-QRJ4E3SC.js.map +1 -0
  340. package/dist/list-RZUDFLJN.js +306 -0
  341. package/dist/list-RZUDFLJN.js.map +1 -0
  342. package/dist/locations-RFTE42OS.js +69 -0
  343. package/dist/locations-RFTE42OS.js.map +1 -0
  344. package/dist/locations-VQYREHYI.js +40 -0
  345. package/dist/log-53SAPZZ3.js +95 -0
  346. package/dist/log-53SAPZZ3.js.map +1 -0
  347. package/dist/lookup-MELV3RUL.js +23 -0
  348. package/dist/make-ZF3YIMKW.js +1370 -0
  349. package/dist/make-ZF3YIMKW.js.map +1 -0
  350. package/dist/map-J37QFJSV.js +436 -0
  351. package/dist/map-J37QFJSV.js.map +1 -0
  352. package/dist/mcp-B7WSZQFD.js +729 -0
  353. package/dist/mcp-B7WSZQFD.js.map +1 -0
  354. package/dist/media-BPI2VE6A.js +89 -0
  355. package/dist/media-EEWZZU3P.js +18 -0
  356. package/dist/media-sources-EQI3U4TC.js +35 -0
  357. package/dist/members-GYVMSCKL.js +47 -0
  358. package/dist/members-GYVMSCKL.js.map +1 -0
  359. package/dist/meta-SMJUQP37.js +122 -0
  360. package/dist/metrics-EMAP7ESR.js +152 -0
  361. package/dist/normalize-MFN3WCH5.js +144 -0
  362. package/dist/normalize-MFN3WCH5.js.map +1 -0
  363. package/dist/options-DLHDHO7H.js +125 -0
  364. package/dist/options-DLHDHO7H.js.map +1 -0
  365. package/dist/organization-C2VOA2SD.js +949 -0
  366. package/dist/organization-C2VOA2SD.js.map +1 -0
  367. package/dist/output-4QBQEM4C.js +24 -0
  368. package/dist/page-photos-HRKPDQBM.js +118 -0
  369. package/dist/page-photos-HRKPDQBM.js.map +1 -0
  370. package/dist/pages-DTQWQUKP.js +67 -0
  371. package/dist/performance-NIF3CESZ.js +27 -0
  372. package/dist/performance-T6TBVHVU.js +5541 -0
  373. package/dist/performance-T6TBVHVU.js.map +1 -0
  374. package/dist/pixels-2BKADWE6.js +109 -0
  375. package/dist/pixels-F6BZNTDD.js +62 -0
  376. package/dist/pixels-F6BZNTDD.js.map +1 -0
  377. package/dist/plan-A6VC3ZO7.js +208 -0
  378. package/dist/plan-A6VC3ZO7.js.map +1 -0
  379. package/dist/preview-GGIGXPJW.js +218 -0
  380. package/dist/preview-GGIGXPJW.js.map +1 -0
  381. package/dist/promoted-tweet-writes-WU2SKKZF.js +183 -0
  382. package/dist/promoted-tweet-writes-WU2SKKZF.js.map +1 -0
  383. package/dist/promoted-tweets-653Q5AC6.js +119 -0
  384. package/dist/properties-VWKO3AAK.js +101 -0
  385. package/dist/publish-IOTMJCCY.js +344 -0
  386. package/dist/publish-IOTMJCCY.js.map +1 -0
  387. package/dist/query-CXIOL7WI.js +62 -0
  388. package/dist/query-OOP63DJF.js +236 -0
  389. package/dist/query-RBZFAIDK.js +247 -0
  390. package/dist/questionnaire-7SHYRTMJ.js +94 -0
  391. package/dist/questionnaire-7SHYRTMJ.js.map +1 -0
  392. package/dist/read-GOULD7YL.js +141 -0
  393. package/dist/reddit-JIHMAKAQ.js +29 -0
  394. package/dist/refresh-OQZ263CS.js +97 -0
  395. package/dist/refresh-OQZ263CS.js.map +1 -0
  396. package/dist/release-4CHFURO3.js +63 -0
  397. package/dist/release-4CHFURO3.js.map +1 -0
  398. package/dist/relevant-pages-FS7GBVXK.js +99 -0
  399. package/dist/remove-IJQPHPDI.js +53 -0
  400. package/dist/remove-IJQPHPDI.js.map +1 -0
  401. package/dist/reopen-YTLPVKUR.js +66 -0
  402. package/dist/reopen-YTLPVKUR.js.map +1 -0
  403. package/dist/rerun-C7NB7B35.js +95 -0
  404. package/dist/rerun-C7NB7B35.js.map +1 -0
  405. package/dist/research-PNBACCCP.js +72 -0
  406. package/dist/research-TLHNPK3O.js +265 -0
  407. package/dist/research-TLHNPK3O.js.map +1 -0
  408. package/dist/reset-JVLW7HA2.js +57 -0
  409. package/dist/reset-JVLW7HA2.js.map +1 -0
  410. package/dist/reset-Y6FXLAQE.js +57 -0
  411. package/dist/reset-Y6FXLAQE.js.map +1 -0
  412. package/dist/resolve-RCFAYPWR.js +124 -0
  413. package/dist/resolve-RCFAYPWR.js.map +1 -0
  414. package/dist/retry-3V3IGDRR.js +65 -0
  415. package/dist/retry-3V3IGDRR.js.map +1 -0
  416. package/dist/retry-AEKQLQMP.js +63 -0
  417. package/dist/retry-AEKQLQMP.js.map +1 -0
  418. package/dist/revenue-3R6JLYCQ.js +91 -0
  419. package/dist/revenue-3R6JLYCQ.js.map +1 -0
  420. package/dist/rule-writes-K4P3XBJW.js +525 -0
  421. package/dist/rule-writes-K4P3XBJW.js.map +1 -0
  422. package/dist/rules-34BQAWU3.js +99 -0
  423. package/dist/rules-34BQAWU3.js.map +1 -0
  424. package/dist/rules-HY7S2YTD.js +217 -0
  425. package/dist/rules-add-CM5XUYNS.js +465 -0
  426. package/dist/rules-add-CM5XUYNS.js.map +1 -0
  427. package/dist/run-MD64RDHZ.js +69 -0
  428. package/dist/run-MD64RDHZ.js.map +1 -0
  429. package/dist/run-QCNRR3CA.js +70 -0
  430. package/dist/scaffold-ad-NADPY3CB.js +1516 -0
  431. package/dist/scaffold-ad-NADPY3CB.js.map +1 -0
  432. package/dist/scaffold-static-ad-5YEYYVYH.js +1015 -0
  433. package/dist/scaffold-static-ad-5YEYYVYH.js.map +1 -0
  434. package/dist/scaffold-video-W7DF2CBJ.js +888 -0
  435. package/dist/scaffold-video-W7DF2CBJ.js.map +1 -0
  436. package/dist/schedule-CTRRF6TS.js +64 -0
  437. package/dist/schedule-CTRRF6TS.js.map +1 -0
  438. package/dist/scheduled-agents-OXYAVSIE.js +55 -0
  439. package/dist/schema-BEUYOGSW.js +135 -0
  440. package/dist/schema-BEUYOGSW.js.map +1 -0
  441. package/dist/search-GFJKWPKN.js +177 -0
  442. package/dist/search-GFJKWPKN.js.map +1 -0
  443. package/dist/select-S72CCL57.js +106 -0
  444. package/dist/select-S72CCL57.js.map +1 -0
  445. package/dist/sends-WBYTALR7.js +349 -0
  446. package/dist/sends-WBYTALR7.js.map +1 -0
  447. package/dist/set-prompt-YYFDRXRI.js +198 -0
  448. package/dist/set-prompt-YYFDRXRI.js.map +1 -0
  449. package/dist/setup-links-D4JJLESN.js +144 -0
  450. package/dist/setup-links-D4JJLESN.js.map +1 -0
  451. package/dist/shared-CGEJI2RB.js +32 -0
  452. package/dist/shopify-DQWEYPDX.js +3958 -0
  453. package/dist/shopify-DQWEYPDX.js.map +1 -0
  454. package/dist/site-BBZAUZA3.js +180 -0
  455. package/dist/site-BBZAUZA3.js.map +1 -0
  456. package/dist/sitemaps-5SP7PVQ6.js +87 -0
  457. package/dist/sites-YZDPHBST.js +101 -0
  458. package/dist/sources-7FIBHL6A.js +457 -0
  459. package/dist/sources-7FIBHL6A.js.map +1 -0
  460. package/dist/sources-FLUGHSVP.js +30 -0
  461. package/dist/stale-HP54JS5X.js +76 -0
  462. package/dist/stale-HP54JS5X.js.map +1 -0
  463. package/dist/stats-EGGNFTKI.js +34 -0
  464. package/dist/status-CLSWQFCQ.js +65 -0
  465. package/dist/status-CLSWQFCQ.js.map +1 -0
  466. package/dist/studies-6VUUOMZD.js +250 -0
  467. package/dist/study-writes-IR7RSSTK.js +470 -0
  468. package/dist/study-writes-IR7RSSTK.js.map +1 -0
  469. package/dist/sync-4YTVVEVC.js +57 -0
  470. package/dist/sync-4YTVVEVC.js.map +1 -0
  471. package/dist/sync-SCM6JGJP.js +279 -0
  472. package/dist/sync-definition-OGQ5XTQE.js +69 -0
  473. package/dist/tag-manager-REKD4WGU.js +43 -0
  474. package/dist/tags-CZTRQNXV.js +26 -0
  475. package/dist/tags-FDQXWTCQ.js +23 -0
  476. package/dist/tags-FDQXWTCQ.js.map +1 -0
  477. package/dist/tags-R67DKRZ6.js +23 -0
  478. package/dist/tags-R67DKRZ6.js.map +1 -0
  479. package/dist/tags-SA2LU6AW.js +227 -0
  480. package/dist/tags-SA2LU6AW.js.map +1 -0
  481. package/dist/tags-ZOXX6VRE.js +23 -0
  482. package/dist/tags-ZOXX6VRE.js.map +1 -0
  483. package/dist/targeting-BQUD54MF.js +762 -0
  484. package/dist/targeting-BQUD54MF.js.map +1 -0
  485. package/dist/targeting-constants-MRQB4N5I.js +118 -0
  486. package/dist/targeting-criteria-HSAESZIR.js +113 -0
  487. package/dist/targets-UUVCEG3F.js +106 -0
  488. package/dist/targets-UUVCEG3F.js.map +1 -0
  489. package/dist/terms-D2KAFHKJ.js +102 -0
  490. package/dist/testimonials-G3OCNPBY.js +32 -0
  491. package/dist/themes-X56KIX3Z.js +95 -0
  492. package/dist/top-companies-2RLNCSVS.js +111 -0
  493. package/dist/top-companies-2RLNCSVS.js.map +1 -0
  494. package/dist/transcript-U46AEOEI.js +165 -0
  495. package/dist/transcript-U46AEOEI.js.map +1 -0
  496. package/dist/translate-AS7JVKYM.js +609 -0
  497. package/dist/translate-AS7JVKYM.js.map +1 -0
  498. package/dist/triggers-ECRBPYYF.js +144 -0
  499. package/dist/triggers-ECRBPYYF.js.map +1 -0
  500. package/dist/tweets-JN6ARKF6.js +123 -0
  501. package/dist/unlink-VDNCSRJV.js +70 -0
  502. package/dist/unlink-VDNCSRJV.js.map +1 -0
  503. package/dist/unstage-5C27F2LZ.js +96 -0
  504. package/dist/unstage-5C27F2LZ.js.map +1 -0
  505. package/dist/unstage-ATDXUYP2.js +88 -0
  506. package/dist/unstage-ATDXUYP2.js.map +1 -0
  507. package/dist/update-FJ6TBV3E.js +101 -0
  508. package/dist/update-FJ6TBV3E.js.map +1 -0
  509. package/dist/update-HDBJCSTI.js +66 -0
  510. package/dist/update-HDBJCSTI.js.map +1 -0
  511. package/dist/update-U43DJRGV.js +155 -0
  512. package/dist/update-U43DJRGV.js.map +1 -0
  513. package/dist/update-Z7TIUBMJ.js +192 -0
  514. package/dist/update-Z7TIUBMJ.js.map +1 -0
  515. package/dist/upload-LXCFSRIU.js +129 -0
  516. package/dist/upload-LXCFSRIU.js.map +1 -0
  517. package/dist/url-options-C543MY7L.js +131 -0
  518. package/dist/url-options-C543MY7L.js.map +1 -0
  519. package/dist/url-params-TEFCXQ5N.js +101 -0
  520. package/dist/url-params-TEFCXQ5N.js.map +1 -0
  521. package/dist/validate-VR3HEOMJ.js +122 -0
  522. package/dist/validate-VR3HEOMJ.js.map +1 -0
  523. package/dist/videos-36AXDUGZ.js +41 -0
  524. package/dist/viewer-check-6HL4OUQY.js +83 -0
  525. package/dist/web-7BRJRQX7.js +143 -0
  526. package/dist/web-7BRJRQX7.js.map +1 -0
  527. package/dist/winning-ads-GMM5W2O4.js +86 -0
  528. package/dist/write-commands-B25W4FP5.js +713 -0
  529. package/dist/write-commands-DO2YUOMG.js +1502 -0
  530. package/dist/write-commands-DO2YUOMG.js.map +1 -0
  531. package/dist/write-commands-GNNEUVDW.js +206 -0
  532. package/dist/write-commands-NXJQQ62W.js +1172 -0
  533. package/dist/write-commands-NXJQQ62W.js.map +1 -0
  534. package/dist/x-JNR5SO6F.js +47 -0
  535. package/package.json +1 -1
  536. package/dist/account-UUAEQWO3.js +0 -80
  537. package/dist/account-UUAEQWO3.js.map +0 -1
  538. package/dist/account-WLQBAQMD.js +0 -80
  539. package/dist/account-WLQBAQMD.js.map +0 -1
  540. package/dist/account-ZY655BIU.js +0 -139
  541. package/dist/account-assets-O7IA37RE.js +0 -290
  542. package/dist/account-level-EU7BWCO7.js +0 -609
  543. package/dist/account-level-EU7BWCO7.js.map +0 -1
  544. package/dist/account-reads-SNOWDHHF.js +0 -219
  545. package/dist/account-users-NV37Z2XJ.js +0 -62
  546. package/dist/account-users-NV37Z2XJ.js.map +0 -1
  547. package/dist/account-writes-TU3WJRSI.js +0 -66
  548. package/dist/account-writes-TU3WJRSI.js.map +0 -1
  549. package/dist/accounts-FT2SRKMD.js +0 -76
  550. package/dist/accounts-K5XLEO6W.js +0 -114
  551. package/dist/accounts-MZ6SETJJ.js +0 -78
  552. package/dist/accounts-MZ6SETJJ.js.map +0 -1
  553. package/dist/accounts-SNB65ZEW.js +0 -115
  554. package/dist/accounts-U7ZBEAY6.js +0 -699
  555. package/dist/accounts-U7ZBEAY6.js.map +0 -1
  556. package/dist/actions-4JYHXRFH.js +0 -55
  557. package/dist/active-entities-3BAPHE4P.js +0 -103
  558. package/dist/activecampaign-IDBV26HH.js +0 -936
  559. package/dist/activecampaign-IDBV26HH.js.map +0 -1
  560. package/dist/activities-LKLPORDI.js +0 -75
  561. package/dist/ad-group-writes-HLBWN4E4.js +0 -170
  562. package/dist/ad-group-writes-HLBWN4E4.js.map +0 -1
  563. package/dist/ad-groups-33NZD6J3.js +0 -68
  564. package/dist/ad-groups-33NZD6J3.js.map +0 -1
  565. package/dist/ad-writes-7ZDNDZ2E.js +0 -174
  566. package/dist/ad-writes-7ZDNDZ2E.js.map +0 -1
  567. package/dist/add-AF42LQQQ.js +0 -105
  568. package/dist/add-AF42LQQQ.js.map +0 -1
  569. package/dist/add-LJRZYJ7I.js +0 -303
  570. package/dist/add-LJRZYJ7I.js.map +0 -1
  571. package/dist/ads-KBE5JXCH.js +0 -115
  572. package/dist/ads-LXWXOQHX.js +0 -48
  573. package/dist/ads-X3AM6M7L.js +0 -77
  574. package/dist/ads-X3AM6M7L.js.map +0 -1
  575. package/dist/adsets-YWBJFPAZ.js +0 -182
  576. package/dist/advertisers-6FOCN2W3.js +0 -121
  577. package/dist/advertisers-6FOCN2W3.js.map +0 -1
  578. package/dist/analytics-64HBRJJE.js +0 -2435
  579. package/dist/analytics-64HBRJJE.js.map +0 -1
  580. package/dist/analytics-VY5NL2GL.js +0 -445
  581. package/dist/analytics-VY5NL2GL.js.map +0 -1
  582. package/dist/asset-writes-72DEVXGO.js +0 -48
  583. package/dist/assign-N2I2BM67.js +0 -78
  584. package/dist/assign-N2I2BM67.js.map +0 -1
  585. package/dist/audience-size-H5DEZXJN.js +0 -74
  586. package/dist/audience-size-H5DEZXJN.js.map +0 -1
  587. package/dist/audience-writes-KCHLNFSI.js +0 -325
  588. package/dist/audience-writes-KCHLNFSI.js.map +0 -1
  589. package/dist/audiences-34IQKOGS.js +0 -85
  590. package/dist/audiences-QAH42HIM.js +0 -86
  591. package/dist/audiences-WCDWN64L.js +0 -268
  592. package/dist/audiences-WCDWN64L.js.map +0 -1
  593. package/dist/audit-2AAF6AOX.js +0 -152
  594. package/dist/audit-2AAF6AOX.js.map +0 -1
  595. package/dist/audit-7ED6CUTQ.js +0 -88
  596. package/dist/autocomplete-3GSKRNCZ.js +0 -112
  597. package/dist/autocomplete-3GSKRNCZ.js.map +0 -1
  598. package/dist/avatars-N6W6HUPP.js +0 -38
  599. package/dist/bid-pricing-IMITXHXN.js +0 -101
  600. package/dist/bid-pricing-IMITXHXN.js.map +0 -1
  601. package/dist/brand-ITWQVZD2.js +0 -22
  602. package/dist/brief-JJNEYPYB.js +0 -541
  603. package/dist/brief-JJNEYPYB.js.map +0 -1
  604. package/dist/businesses-MGP2YCEU.js +0 -54
  605. package/dist/campaign-groups-TTQLP32Q.js +0 -97
  606. package/dist/campaign-groups-TTQLP32Q.js.map +0 -1
  607. package/dist/campaign-writes-MAKPHQ3V.js +0 -166
  608. package/dist/campaign-writes-MAKPHQ3V.js.map +0 -1
  609. package/dist/campaign-writes-XO74BALZ.js +0 -174
  610. package/dist/campaign-writes-XO74BALZ.js.map +0 -1
  611. package/dist/campaigns-5BIDXYSR.js +0 -111
  612. package/dist/campaigns-LS65QM6W.js +0 -76
  613. package/dist/campaigns-LS65QM6W.js.map +0 -1
  614. package/dist/campaigns-XZOQ2VTK.js +0 -130
  615. package/dist/campaigns-XZPXCS7I.js +0 -111
  616. package/dist/campaigns-XZPXCS7I.js.map +0 -1
  617. package/dist/canvas-SL3RMOY5.js +0 -46
  618. package/dist/capabilities-LSR5GCE6.js +0 -145
  619. package/dist/capabilities-LSR5GCE6.js.map +0 -1
  620. package/dist/cards-A7GQVC7B.js +0 -85
  621. package/dist/catalogs-JLCSFZYC.js +0 -779
  622. package/dist/catalogs-JLCSFZYC.js.map +0 -1
  623. package/dist/catalogs-T23RKYFC.js +0 -128
  624. package/dist/catalogs-T23RKYFC.js.map +0 -1
  625. package/dist/changes-36C754R4.js +0 -135
  626. package/dist/chatgpt-3WFOPURY.js +0 -47
  627. package/dist/chats-GGYTXNJS.js +0 -277
  628. package/dist/chats-GGYTXNJS.js.map +0 -1
  629. package/dist/check-P7UPBBG7.js +0 -105
  630. package/dist/check-P7UPBBG7.js.map +0 -1
  631. package/dist/chunk-2TOIY2WN.js +0 -4254
  632. package/dist/chunk-3GAR4AZK.js +0 -149
  633. package/dist/chunk-4D46PS6J.js +0 -344
  634. package/dist/chunk-4GAEB6NK.js +0 -228
  635. package/dist/chunk-5XTGG4PV.js +0 -274
  636. package/dist/chunk-6JCX3YLM.js +0 -249
  637. package/dist/chunk-7J3NZBPV.js +0 -2982
  638. package/dist/chunk-7J3NZBPV.js.map +0 -1
  639. package/dist/chunk-7NF73SCB.js +0 -106
  640. package/dist/chunk-ALMYGH5U.js +0 -479
  641. package/dist/chunk-AQKRSEBQ.js +0 -103
  642. package/dist/chunk-B2POVFR2.js +0 -175
  643. package/dist/chunk-BL6RTOK3.js +0 -297
  644. package/dist/chunk-C6CBBZBO.js +0 -203
  645. package/dist/chunk-CCEDZTP7.js +0 -391
  646. package/dist/chunk-CCEDZTP7.js.map +0 -1
  647. package/dist/chunk-CKQTJ2LV.js +0 -89
  648. package/dist/chunk-D3KLDIPQ.js +0 -45
  649. package/dist/chunk-DL2UJNJ7.js +0 -8954
  650. package/dist/chunk-DM3Q6F5F.js +0 -26
  651. package/dist/chunk-DQ54POZN.js +0 -363
  652. package/dist/chunk-EDLZGTGN.js +0 -216
  653. package/dist/chunk-EDLZGTGN.js.map +0 -1
  654. package/dist/chunk-EXSHBYNQ.js +0 -349
  655. package/dist/chunk-EXSHBYNQ.js.map +0 -1
  656. package/dist/chunk-FFFJBNHA.js +0 -63
  657. package/dist/chunk-FKQK22IX.js +0 -51
  658. package/dist/chunk-FLK6QHOY.js +0 -142
  659. package/dist/chunk-GACSA5A6.js +0 -1646
  660. package/dist/chunk-GU5MXV2Y.js +0 -191
  661. package/dist/chunk-HGUYC5K6.js +0 -76
  662. package/dist/chunk-HJKYTNAZ.js +0 -61
  663. package/dist/chunk-HMIROUFV.js +0 -74
  664. package/dist/chunk-INUU3752.js +0 -392
  665. package/dist/chunk-IQHO2ABF.js +0 -197
  666. package/dist/chunk-J3UWMBOP.js +0 -547
  667. package/dist/chunk-JDR3HUEL.js +0 -191
  668. package/dist/chunk-JI77AKT6.js +0 -19
  669. package/dist/chunk-JNURZHZJ.js +0 -942
  670. package/dist/chunk-JSNMKTFM.js +0 -592
  671. package/dist/chunk-K4FLWDEX.js +0 -122
  672. package/dist/chunk-KBRJSPIM.js +0 -676
  673. package/dist/chunk-KUY26RCF.js +0 -200
  674. package/dist/chunk-LAC6YHHX.js +0 -97
  675. package/dist/chunk-M7HD42M6.js +0 -24017
  676. package/dist/chunk-M7HD42M6.js.map +0 -1
  677. package/dist/chunk-MGYC2IRC.js +0 -783
  678. package/dist/chunk-MI4HXE7M.js +0 -23
  679. package/dist/chunk-MJ7RNDD4.js +0 -910
  680. package/dist/chunk-OBJCNGZL.js +0 -207
  681. package/dist/chunk-OJGYYH6K.js +0 -179
  682. package/dist/chunk-OLBLXJNI.js +0 -224
  683. package/dist/chunk-PFTYKINE.js +0 -207
  684. package/dist/chunk-PLBITHV6.js +0 -846
  685. package/dist/chunk-Q6JMMBSQ.js +0 -831
  686. package/dist/chunk-RAQHUMKS.js +0 -169
  687. package/dist/chunk-RCJKABOS.js +0 -74
  688. package/dist/chunk-SA22KXWT.js +0 -163
  689. package/dist/chunk-SIXU5PDF.js +0 -66
  690. package/dist/chunk-SXMK5AEJ.js +0 -494
  691. package/dist/chunk-TLQOMWLQ.js +0 -69
  692. package/dist/chunk-TTLD66NI.js +0 -319
  693. package/dist/chunk-TVAIOC77.js +0 -287
  694. package/dist/chunk-TVTSA4EN.js +0 -188
  695. package/dist/chunk-V5NHJU3M.js +0 -604
  696. package/dist/chunk-VIPKDXGU.js +0 -4229
  697. package/dist/chunk-VIPKDXGU.js.map +0 -1
  698. package/dist/chunk-W4D7C74B.js +0 -387
  699. package/dist/chunk-WF25CCLD.js +0 -170
  700. package/dist/chunk-WQPUX3BA.js +0 -275
  701. package/dist/chunk-WR3FR3K3.js +0 -156
  702. package/dist/chunk-XDNJC62G.js +0 -91
  703. package/dist/chunk-XE6N4SZI.js +0 -429
  704. package/dist/chunk-XGPU2VDU.js +0 -219
  705. package/dist/chunk-XUJZO7MZ.js +0 -57
  706. package/dist/chunk-Y67LUJBE.js +0 -455
  707. package/dist/chunk-Y7XSDJEA.js +0 -3868
  708. package/dist/chunk-ZNNQK366.js +0 -7198
  709. package/dist/chunk-ZNNQK366.js.map +0 -1
  710. package/dist/chunk-ZNRGH4NS.js +0 -150
  711. package/dist/chunk-ZRP7Y2DM.js +0 -320
  712. package/dist/chunk-ZRP7Y2DM.js.map +0 -1
  713. package/dist/claim-4KUETSW3.js +0 -198
  714. package/dist/claim-4KUETSW3.js.map +0 -1
  715. package/dist/companies-XFO6WPVT.js +0 -196
  716. package/dist/companies-XFO6WPVT.js.map +0 -1
  717. package/dist/company-OJGISG7K.js +0 -306
  718. package/dist/company-OJGISG7K.js.map +0 -1
  719. package/dist/complete-CXOST5J3.js +0 -82
  720. package/dist/complete-CXOST5J3.js.map +0 -1
  721. package/dist/config-SMVIY6RW.js +0 -88
  722. package/dist/connect-HPQ32KGV.js +0 -43
  723. package/dist/conversation-D5HKCTDA.js +0 -94
  724. package/dist/conversation-D5HKCTDA.js.map +0 -1
  725. package/dist/conversion-report-DKXFHLLX.js +0 -125
  726. package/dist/conversion-report-DKXFHLLX.js.map +0 -1
  727. package/dist/conversion-upload-command-KTYAY7IG.js +0 -439
  728. package/dist/conversion-writes-7ODJDAUP.js +0 -120
  729. package/dist/conversion-writes-7ODJDAUP.js.map +0 -1
  730. package/dist/conversions-BKVGNNC6.js +0 -76
  731. package/dist/conversions-BKVGNNC6.js.map +0 -1
  732. package/dist/conversions-SYNDEB6D.js +0 -138
  733. package/dist/conversions-SYNDEB6D.js.map +0 -1
  734. package/dist/copy-writes-P4WK6OPM.js +0 -168
  735. package/dist/copy-writes-P4WK6OPM.js.map +0 -1
  736. package/dist/create-7D4VD4TC.js +0 -208
  737. package/dist/create-7D4VD4TC.js.map +0 -1
  738. package/dist/create-7QDEAWZS.js +0 -133
  739. package/dist/create-7QDEAWZS.js.map +0 -1
  740. package/dist/create-IQSYEC4M.js +0 -60
  741. package/dist/create-IQSYEC4M.js.map +0 -1
  742. package/dist/create-TQSCM7MG.js +0 -237
  743. package/dist/create-TQSCM7MG.js.map +0 -1
  744. package/dist/creatives-JPKA2RHU.js +0 -89
  745. package/dist/creatives-RNOL4F4E.js +0 -58
  746. package/dist/creatives-RXI27T2D.js +0 -221
  747. package/dist/creatives-RXI27T2D.js.map +0 -1
  748. package/dist/credentials-PYW55B52.js +0 -288
  749. package/dist/credentials-PYW55B52.js.map +0 -1
  750. package/dist/critique-2SYHNAW5.js +0 -1449
  751. package/dist/critique-2SYHNAW5.js.map +0 -1
  752. package/dist/critique-72GFZSHA.js +0 -230
  753. package/dist/critique-72GFZSHA.js.map +0 -1
  754. package/dist/crm-EATDSXXB.js +0 -225
  755. package/dist/crm-EATDSXXB.js.map +0 -1
  756. package/dist/crm-XXP3VBYD.js +0 -321
  757. package/dist/crm-XXP3VBYD.js.map +0 -1
  758. package/dist/currency-R4ORE2U3.js +0 -88
  759. package/dist/custom-conversions-5HJBB5XL.js +0 -128
  760. package/dist/customers-OFZTEXST.js +0 -57
  761. package/dist/delete-FGVZIK4R.js +0 -55
  762. package/dist/delete-FGVZIK4R.js.map +0 -1
  763. package/dist/delete-HBZZL4UA.js +0 -67
  764. package/dist/delete-HBZZL4UA.js.map +0 -1
  765. package/dist/delete-JOUXMRIX.js +0 -65
  766. package/dist/delete-JOUXMRIX.js.map +0 -1
  767. package/dist/demographics-SB7NBYOI.js +0 -139
  768. package/dist/demographics-SB7NBYOI.js.map +0 -1
  769. package/dist/discard-YYGIRDII.js +0 -67
  770. package/dist/discard-YYGIRDII.js.map +0 -1
  771. package/dist/discover-GSJRZUOC.js +0 -172
  772. package/dist/domain-3KRAJAUH.js +0 -99
  773. package/dist/domain-3KRAJAUH.js.map +0 -1
  774. package/dist/download-QCBKJ6OR.js +0 -170
  775. package/dist/download-QCBKJ6OR.js.map +0 -1
  776. package/dist/draft-7CGFFZTH.js +0 -333
  777. package/dist/draft-7CGFFZTH.js.map +0 -1
  778. package/dist/draft-BI4NW6AU.js +0 -308
  779. package/dist/draft-BI4NW6AU.js.map +0 -1
  780. package/dist/draft-DJIYEMZU.js +0 -103
  781. package/dist/draft-LPVK6YHI.js +0 -281
  782. package/dist/draft-LPVK6YHI.js.map +0 -1
  783. package/dist/draft-QF5JEUTH.js +0 -218
  784. package/dist/draft-QF5JEUTH.js.map +0 -1
  785. package/dist/draft-RIR2V6A2.js +0 -238
  786. package/dist/draft-WYDMLNYA.js +0 -308
  787. package/dist/draft-ZCL7FVBH.js +0 -100
  788. package/dist/experiment-I5CRLOVN.js +0 -1397
  789. package/dist/experiments-ZCEYRP3H.js +0 -234
  790. package/dist/experiments-ZCEYRP3H.js.map +0 -1
  791. package/dist/facets-G7ZDPI5Q.js +0 -115
  792. package/dist/facets-G7ZDPI5Q.js.map +0 -1
  793. package/dist/feedback-3U3CL2VB.js +0 -109
  794. package/dist/feedback-3U3CL2VB.js.map +0 -1
  795. package/dist/feedback-record-4ZHPENIP.js +0 -263
  796. package/dist/feedback-record-4ZHPENIP.js.map +0 -1
  797. package/dist/fetch-PNVNNWTP.js +0 -177
  798. package/dist/fetch-PNVNNWTP.js.map +0 -1
  799. package/dist/fit-53DGYRFD.js +0 -63
  800. package/dist/flows-JXLQBP5Q.js +0 -248
  801. package/dist/flows-JXLQBP5Q.js.map +0 -1
  802. package/dist/fonts-LFMBUT4R.js +0 -37
  803. package/dist/forecast-4AG5F7YC.js +0 -169
  804. package/dist/forecast-VZAXI74O.js +0 -119
  805. package/dist/forecast-VZAXI74O.js.map +0 -1
  806. package/dist/funding-5W4LX6DU.js +0 -85
  807. package/dist/funnel-EACC35UD.js +0 -395
  808. package/dist/funnel-EACC35UD.js.map +0 -1
  809. package/dist/ga4-BWVCDVIR.js +0 -55
  810. package/dist/get-AXBVYGAC.js +0 -57
  811. package/dist/get-AXBVYGAC.js.map +0 -1
  812. package/dist/get-D6A27Q4E.js +0 -80
  813. package/dist/get-D6A27Q4E.js.map +0 -1
  814. package/dist/google-NAA4BASO.js +0 -3267
  815. package/dist/google-ads-OIYUNDXQ.js +0 -196
  816. package/dist/google-ads-OIYUNDXQ.js.map +0 -1
  817. package/dist/gsc-2MPE4N32.js +0 -30
  818. package/dist/history-5MRLNTCI.js +0 -67
  819. package/dist/history-5MRLNTCI.js.map +0 -1
  820. package/dist/history-IDYNIB6R.js +0 -134
  821. package/dist/history-IDYNIB6R.js.map +0 -1
  822. package/dist/history-IOUKN3WD.js +0 -100
  823. package/dist/history-IOUKN3WD.js.map +0 -1
  824. package/dist/hubspot-HL6WGC4G.js +0 -780
  825. package/dist/hubspot-HL6WGC4G.js.map +0 -1
  826. package/dist/ideas-NK3KQHAK.js +0 -43
  827. package/dist/images-2XS3JT7E.js +0 -92
  828. package/dist/ingest-DHXWZZX4.js +0 -24
  829. package/dist/ingest-FGTJRCWK.js +0 -108
  830. package/dist/ingest-FGTJRCWK.js.map +0 -1
  831. package/dist/insights-M3CYB22P.js +0 -437
  832. package/dist/insights-M3CYB22P.js.map +0 -1
  833. package/dist/insights-XCT3ONC7.js +0 -130
  834. package/dist/insights-XCT3ONC7.js.map +0 -1
  835. package/dist/inspect-53GGYRC4.js +0 -190
  836. package/dist/inspect-53GGYRC4.js.map +0 -1
  837. package/dist/instant-experiences-HT3HB4QZ.js +0 -258
  838. package/dist/instant-experiences-HT3HB4QZ.js.map +0 -1
  839. package/dist/intent-NSHW7EJT.js +0 -95
  840. package/dist/job-DRFCQ27M.js +0 -202
  841. package/dist/job-create-2EC25Y3J.js +0 -109
  842. package/dist/job-status-UNVZRPIA.js +0 -74
  843. package/dist/keyword-gap-ITTWKBWZ.js +0 -130
  844. package/dist/keyword-metrics-LWPE3HHW.js +0 -198
  845. package/dist/keyword-metrics-LWPE3HHW.js.map +0 -1
  846. package/dist/keywords-for-site-5K25VJ35.js +0 -129
  847. package/dist/keywords-for-site-5K25VJ35.js.map +0 -1
  848. package/dist/landing-QONUUP3C.js +0 -28
  849. package/dist/languages-MEFQQBJ2.js +0 -40
  850. package/dist/leads-FSSISJGL.js +0 -113
  851. package/dist/leads-FSSISJGL.js.map +0 -1
  852. package/dist/leads-SZOGCQFK.js +0 -538
  853. package/dist/leads-SZOGCQFK.js.map +0 -1
  854. package/dist/learn-FWWJWBDN.js +0 -205
  855. package/dist/learn-FWWJWBDN.js.map +0 -1
  856. package/dist/line-item-writes-A3UQ44NG.js +0 -209
  857. package/dist/line-item-writes-A3UQ44NG.js.map +0 -1
  858. package/dist/line-items-OH426JGT.js +0 -107
  859. package/dist/link-67E4NVEX.js +0 -65
  860. package/dist/link-67E4NVEX.js.map +0 -1
  861. package/dist/linkedin-CT2OSQ2I.js +0 -1314
  862. package/dist/linkedin-CT2OSQ2I.js.map +0 -1
  863. package/dist/linkedin-person-OSNLPLJJ.js +0 -137
  864. package/dist/linkedin-person-OSNLPLJJ.js.map +0 -1
  865. package/dist/list-J4OUXAKN.js +0 -65
  866. package/dist/list-J4OUXAKN.js.map +0 -1
  867. package/dist/list-L2OQK4W3.js +0 -304
  868. package/dist/list-L2OQK4W3.js.map +0 -1
  869. package/dist/list-LHMDAA2D.js +0 -152
  870. package/dist/list-LHMDAA2D.js.map +0 -1
  871. package/dist/locations-RLWAS6AC.js +0 -40
  872. package/dist/locations-UKBOT6SB.js +0 -67
  873. package/dist/locations-UKBOT6SB.js.map +0 -1
  874. package/dist/log-4EIV54V4.js +0 -93
  875. package/dist/log-4EIV54V4.js.map +0 -1
  876. package/dist/lookup-ZJIP2M4X.js +0 -22
  877. package/dist/make-MFU3CSN7.js +0 -1368
  878. package/dist/make-MFU3CSN7.js.map +0 -1
  879. package/dist/map-VWWWMQLK.js +0 -434
  880. package/dist/map-VWWWMQLK.js.map +0 -1
  881. package/dist/mcp-EKLO2VD7.js +0 -715
  882. package/dist/mcp-EKLO2VD7.js.map +0 -1
  883. package/dist/media-XCTZJIW4.js +0 -89
  884. package/dist/media-ZWN7E777.js +0 -18
  885. package/dist/media-sources-7L622UTF.js +0 -35
  886. package/dist/members-QK5M5NCJ.js +0 -45
  887. package/dist/members-QK5M5NCJ.js.map +0 -1
  888. package/dist/meta-EHKXH257.js +0 -122
  889. package/dist/metrics-K6FDCMK7.js +0 -152
  890. package/dist/normalize-WI4OGKH5.js +0 -142
  891. package/dist/normalize-WI4OGKH5.js.map +0 -1
  892. package/dist/options-FKJ2QXI6.js +0 -123
  893. package/dist/options-FKJ2QXI6.js.map +0 -1
  894. package/dist/organization-7A7MPUDG.js +0 -947
  895. package/dist/organization-7A7MPUDG.js.map +0 -1
  896. package/dist/output-WTEPRUPE.js +0 -24
  897. package/dist/page-photos-HWKQOSCU.js +0 -116
  898. package/dist/page-photos-HWKQOSCU.js.map +0 -1
  899. package/dist/pages-J6AF5NDU.js +0 -67
  900. package/dist/performance-K4VB6L6Z.js +0 -25
  901. package/dist/performance-LHAL53YO.js +0 -5539
  902. package/dist/performance-LHAL53YO.js.map +0 -1
  903. package/dist/pixels-Z7ZGXAGB.js +0 -60
  904. package/dist/pixels-Z7ZGXAGB.js.map +0 -1
  905. package/dist/pixels-ZZTB6NWF.js +0 -109
  906. package/dist/plan-TVQSEKYL.js +0 -207
  907. package/dist/plan-TVQSEKYL.js.map +0 -1
  908. package/dist/preview-CWRGDFCP.js +0 -216
  909. package/dist/preview-CWRGDFCP.js.map +0 -1
  910. package/dist/promoted-tweet-writes-V4ZVJOJU.js +0 -181
  911. package/dist/promoted-tweet-writes-V4ZVJOJU.js.map +0 -1
  912. package/dist/promoted-tweets-KPG4IUVD.js +0 -119
  913. package/dist/properties-RBLJCVSG.js +0 -101
  914. package/dist/publish-Y465CVUD.js +0 -342
  915. package/dist/publish-Y465CVUD.js.map +0 -1
  916. package/dist/query-BJJYUGQZ.js +0 -247
  917. package/dist/query-KQ675KJZ.js +0 -236
  918. package/dist/query-QM7MBQD7.js +0 -62
  919. package/dist/questionnaire-LEZJLMAV.js +0 -93
  920. package/dist/questionnaire-LEZJLMAV.js.map +0 -1
  921. package/dist/read-QME7JYVF.js +0 -141
  922. package/dist/reddit-Z7DOVIGR.js +0 -27
  923. package/dist/refresh-A6TW2Z2F.js +0 -95
  924. package/dist/refresh-A6TW2Z2F.js.map +0 -1
  925. package/dist/release-UFESJ4TM.js +0 -61
  926. package/dist/release-UFESJ4TM.js.map +0 -1
  927. package/dist/relevant-pages-VOICMQ7U.js +0 -99
  928. package/dist/remove-YONNYA4G.js +0 -51
  929. package/dist/remove-YONNYA4G.js.map +0 -1
  930. package/dist/reopen-FYJU2IPO.js +0 -64
  931. package/dist/reopen-FYJU2IPO.js.map +0 -1
  932. package/dist/rerun-B5SBG6ZE.js +0 -93
  933. package/dist/rerun-B5SBG6ZE.js.map +0 -1
  934. package/dist/research-HW4EVOZU.js +0 -72
  935. package/dist/research-OV53DIBX.js +0 -263
  936. package/dist/research-OV53DIBX.js.map +0 -1
  937. package/dist/reset-R4SIQXFH.js +0 -55
  938. package/dist/reset-R4SIQXFH.js.map +0 -1
  939. package/dist/reset-X6ODAKYH.js +0 -55
  940. package/dist/reset-X6ODAKYH.js.map +0 -1
  941. package/dist/resolve-DNRJCLCR.js +0 -122
  942. package/dist/resolve-DNRJCLCR.js.map +0 -1
  943. package/dist/retry-D5MKBHUB.js +0 -63
  944. package/dist/retry-D5MKBHUB.js.map +0 -1
  945. package/dist/retry-DVFLE7JY.js +0 -61
  946. package/dist/retry-DVFLE7JY.js.map +0 -1
  947. package/dist/revenue-QGI6XWSK.js +0 -89
  948. package/dist/revenue-QGI6XWSK.js.map +0 -1
  949. package/dist/rule-writes-S3RN47OG.js +0 -523
  950. package/dist/rule-writes-S3RN47OG.js.map +0 -1
  951. package/dist/rules-KTJ2ZZ62.js +0 -217
  952. package/dist/rules-TR6BAC23.js +0 -97
  953. package/dist/rules-TR6BAC23.js.map +0 -1
  954. package/dist/rules-add-T5ZO5RLR.js +0 -463
  955. package/dist/rules-add-T5ZO5RLR.js.map +0 -1
  956. package/dist/run-WZ5IXWA4.js +0 -67
  957. package/dist/run-WZ5IXWA4.js.map +0 -1
  958. package/dist/run-YRR3KOUU.js +0 -68
  959. package/dist/scaffold-ad-DNUCGCIH.js +0 -1514
  960. package/dist/scaffold-ad-DNUCGCIH.js.map +0 -1
  961. package/dist/scaffold-static-ad-VR65EZAG.js +0 -1013
  962. package/dist/scaffold-static-ad-VR65EZAG.js.map +0 -1
  963. package/dist/scaffold-video-JLMKCCWE.js +0 -886
  964. package/dist/scaffold-video-JLMKCCWE.js.map +0 -1
  965. package/dist/schedule-VRHCVBZA.js +0 -62
  966. package/dist/schedule-VRHCVBZA.js.map +0 -1
  967. package/dist/scheduled-agents-DG7FTCUZ.js +0 -55
  968. package/dist/schema-WZKDWF5N.js +0 -133
  969. package/dist/schema-WZKDWF5N.js.map +0 -1
  970. package/dist/search-MN66QIKJ.js +0 -175
  971. package/dist/search-MN66QIKJ.js.map +0 -1
  972. package/dist/select-IPSM2BF2.js +0 -104
  973. package/dist/select-IPSM2BF2.js.map +0 -1
  974. package/dist/sends-6FI7WELX.js +0 -348
  975. package/dist/sends-6FI7WELX.js.map +0 -1
  976. package/dist/set-prompt-N6BD3DME.js +0 -196
  977. package/dist/set-prompt-N6BD3DME.js.map +0 -1
  978. package/dist/setup-links-GTA2AROS.js +0 -142
  979. package/dist/setup-links-GTA2AROS.js.map +0 -1
  980. package/dist/shared-ZFULUOPQ.js +0 -32
  981. package/dist/shopify-S4TG6WJH.js +0 -3956
  982. package/dist/shopify-S4TG6WJH.js.map +0 -1
  983. package/dist/site-NY622E3H.js +0 -178
  984. package/dist/site-NY622E3H.js.map +0 -1
  985. package/dist/sitemaps-F3HYH5ZP.js +0 -87
  986. package/dist/sites-JSMF72BY.js +0 -101
  987. package/dist/sources-4F2XO7Z6.js +0 -455
  988. package/dist/sources-4F2XO7Z6.js.map +0 -1
  989. package/dist/sources-562ITR77.js +0 -30
  990. package/dist/stale-JKM6MXJF.js +0 -74
  991. package/dist/stale-JKM6MXJF.js.map +0 -1
  992. package/dist/stats-QP4LFQZJ.js +0 -34
  993. package/dist/status-AUWMUDA4.js +0 -63
  994. package/dist/status-AUWMUDA4.js.map +0 -1
  995. package/dist/studies-ZOEUY6YP.js +0 -250
  996. package/dist/study-writes-DTGMCNFP.js +0 -468
  997. package/dist/study-writes-DTGMCNFP.js.map +0 -1
  998. package/dist/sync-76MCGHX4.js +0 -55
  999. package/dist/sync-76MCGHX4.js.map +0 -1
  1000. package/dist/sync-PHH65JFS.js +0 -279
  1001. package/dist/sync-definition-NJPT6ABG.js +0 -67
  1002. package/dist/tag-manager-F7PVTDBB.js +0 -43
  1003. package/dist/tags-5KBOJJ5R.js +0 -26
  1004. package/dist/tags-CSMLTHTU.js +0 -21
  1005. package/dist/tags-CSMLTHTU.js.map +0 -1
  1006. package/dist/tags-IFRZYM3G.js +0 -21
  1007. package/dist/tags-IFRZYM3G.js.map +0 -1
  1008. package/dist/tags-S44ADJ75.js +0 -21
  1009. package/dist/tags-S44ADJ75.js.map +0 -1
  1010. package/dist/tags-WR7IY3OT.js +0 -225
  1011. package/dist/tags-WR7IY3OT.js.map +0 -1
  1012. package/dist/targeting-VBQY3HUN.js +0 -760
  1013. package/dist/targeting-VBQY3HUN.js.map +0 -1
  1014. package/dist/targeting-constants-236ES5HE.js +0 -118
  1015. package/dist/targeting-criteria-FJWNK53T.js +0 -113
  1016. package/dist/targets-2EHMMXD4.js +0 -104
  1017. package/dist/targets-2EHMMXD4.js.map +0 -1
  1018. package/dist/terms-O6ODXEOK.js +0 -102
  1019. package/dist/testimonials-WAPFIGFJ.js +0 -32
  1020. package/dist/themes-B4LCQUXB.js +0 -95
  1021. package/dist/top-companies-DJ2XQKMW.js +0 -109
  1022. package/dist/top-companies-DJ2XQKMW.js.map +0 -1
  1023. package/dist/transcript-J3LGOHCM.js +0 -163
  1024. package/dist/transcript-J3LGOHCM.js.map +0 -1
  1025. package/dist/translate-6RXO4C6Z.js +0 -607
  1026. package/dist/translate-6RXO4C6Z.js.map +0 -1
  1027. package/dist/triggers-CYXPNHQB.js +0 -142
  1028. package/dist/triggers-CYXPNHQB.js.map +0 -1
  1029. package/dist/tweets-IUINLOXF.js +0 -123
  1030. package/dist/unlink-5FJI7XZB.js +0 -68
  1031. package/dist/unlink-5FJI7XZB.js.map +0 -1
  1032. package/dist/unstage-54ZE2SZK.js +0 -86
  1033. package/dist/unstage-54ZE2SZK.js.map +0 -1
  1034. package/dist/unstage-MDSSPUKV.js +0 -95
  1035. package/dist/unstage-MDSSPUKV.js.map +0 -1
  1036. package/dist/update-BVBFNFMO.js +0 -99
  1037. package/dist/update-BVBFNFMO.js.map +0 -1
  1038. package/dist/update-GV3T7ZRC.js +0 -190
  1039. package/dist/update-GV3T7ZRC.js.map +0 -1
  1040. package/dist/update-PUQWUGPJ.js +0 -64
  1041. package/dist/update-PUQWUGPJ.js.map +0 -1
  1042. package/dist/update-YQBK6C3L.js +0 -153
  1043. package/dist/update-YQBK6C3L.js.map +0 -1
  1044. package/dist/upload-PXT5JAEV.js +0 -127
  1045. package/dist/upload-PXT5JAEV.js.map +0 -1
  1046. package/dist/url-options-IHL4OU4C.js +0 -130
  1047. package/dist/url-options-IHL4OU4C.js.map +0 -1
  1048. package/dist/url-params-IYUI6SFJ.js +0 -99
  1049. package/dist/url-params-IYUI6SFJ.js.map +0 -1
  1050. package/dist/validate-AD7F7LQ5.js +0 -120
  1051. package/dist/validate-AD7F7LQ5.js.map +0 -1
  1052. package/dist/videos-ZJCTODEB.js +0 -41
  1053. package/dist/viewer-check-GWZNGWCO.js +0 -81
  1054. package/dist/web-76CWAZNW.js +0 -141
  1055. package/dist/web-76CWAZNW.js.map +0 -1
  1056. package/dist/winning-ads-W7GTXTX7.js +0 -86
  1057. package/dist/write-commands-5J47ZNO4.js +0 -206
  1058. package/dist/write-commands-K6M3RTVK.js +0 -1170
  1059. package/dist/write-commands-K6M3RTVK.js.map +0 -1
  1060. package/dist/write-commands-OTWH6BKZ.js +0 -713
  1061. package/dist/write-commands-VPU53DLB.js +0 -1498
  1062. package/dist/write-commands-VPU53DLB.js.map +0 -1
  1063. package/dist/x-V4NNNWRU.js +0 -47
  1064. /package/dist/{account-ZY655BIU.js.map → account-BA3IO3AN.js.map} +0 -0
  1065. /package/dist/{account-assets-O7IA37RE.js.map → account-assets-T3VVNBUG.js.map} +0 -0
  1066. /package/dist/{account-reads-SNOWDHHF.js.map → account-reads-5CXFLJ5Q.js.map} +0 -0
  1067. /package/dist/{accounts-FT2SRKMD.js.map → accounts-4R3MBNJG.js.map} +0 -0
  1068. /package/dist/{accounts-SNB65ZEW.js.map → accounts-5WF7VE7J.js.map} +0 -0
  1069. /package/dist/{accounts-K5XLEO6W.js.map → accounts-VPWCLF6X.js.map} +0 -0
  1070. /package/dist/{actions-4JYHXRFH.js.map → actions-D7OWCP36.js.map} +0 -0
  1071. /package/dist/{active-entities-3BAPHE4P.js.map → active-entities-WDPW7652.js.map} +0 -0
  1072. /package/dist/{activities-LKLPORDI.js.map → activities-WGPHYSFU.js.map} +0 -0
  1073. /package/dist/{ads-KBE5JXCH.js.map → ads-F7AUJWK7.js.map} +0 -0
  1074. /package/dist/{ads-LXWXOQHX.js.map → ads-OV3SMLKA.js.map} +0 -0
  1075. /package/dist/{adsets-YWBJFPAZ.js.map → adsets-XH2ULWPM.js.map} +0 -0
  1076. /package/dist/{asset-writes-72DEVXGO.js.map → asset-writes-4X3AJQ4Q.js.map} +0 -0
  1077. /package/dist/{audiences-QAH42HIM.js.map → audiences-MBBXWEOI.js.map} +0 -0
  1078. /package/dist/{audiences-34IQKOGS.js.map → audiences-YUG5JLL4.js.map} +0 -0
  1079. /package/dist/{audit-7ED6CUTQ.js.map → audit-WFXS5ELM.js.map} +0 -0
  1080. /package/dist/{avatars-N6W6HUPP.js.map → avatars-WZ2JDMHH.js.map} +0 -0
  1081. /package/dist/{brand-ITWQVZD2.js.map → brand-IZTTBZII.js.map} +0 -0
  1082. /package/dist/{businesses-MGP2YCEU.js.map → businesses-24JNY46Z.js.map} +0 -0
  1083. /package/dist/{campaigns-XZOQ2VTK.js.map → campaigns-KXYGSH27.js.map} +0 -0
  1084. /package/dist/{campaigns-5BIDXYSR.js.map → campaigns-U5FQ2VWL.js.map} +0 -0
  1085. /package/dist/{canvas-SL3RMOY5.js.map → canvas-IQ753Q2O.js.map} +0 -0
  1086. /package/dist/{cards-A7GQVC7B.js.map → cards-NSNAFTEB.js.map} +0 -0
  1087. /package/dist/{changes-36C754R4.js.map → changes-RDWMNSTK.js.map} +0 -0
  1088. /package/dist/{chatgpt-3WFOPURY.js.map → chatgpt-27NEJVGF.js.map} +0 -0
  1089. /package/dist/{chunk-KUY26RCF.js.map → chunk-2F4DELSV.js.map} +0 -0
  1090. /package/dist/{chunk-WF25CCLD.js.map → chunk-2GYCWRF3.js.map} +0 -0
  1091. /package/dist/{chunk-HJKYTNAZ.js.map → chunk-2L7F7KR4.js.map} +0 -0
  1092. /package/dist/{chunk-4GAEB6NK.js.map → chunk-44ZRCSR7.js.map} +0 -0
  1093. /package/dist/{chunk-2TOIY2WN.js.map → chunk-46YLDIQG.js.map} +0 -0
  1094. /package/dist/{chunk-DQ54POZN.js.map → chunk-4EDWXZ3I.js.map} +0 -0
  1095. /package/dist/{chunk-SIXU5PDF.js.map → chunk-4FFBGR5L.js.map} +0 -0
  1096. /package/dist/{chunk-JSNMKTFM.js.map → chunk-4UZUUSVL.js.map} +0 -0
  1097. /package/dist/{chunk-Q6JMMBSQ.js.map → chunk-4XHCEYHI.js.map} +0 -0
  1098. /package/dist/{chunk-ALMYGH5U.js.map → chunk-4Z6PVR3M.js.map} +0 -0
  1099. /package/dist/{chunk-K4FLWDEX.js.map → chunk-5Y5FZV2W.js.map} +0 -0
  1100. /package/dist/{chunk-INUU3752.js.map → chunk-6HJXLGDV.js.map} +0 -0
  1101. /package/dist/{chunk-XE6N4SZI.js.map → chunk-6S5CWGDA.js.map} +0 -0
  1102. /package/dist/{chunk-SXMK5AEJ.js.map → chunk-6VYROVWO.js.map} +0 -0
  1103. /package/dist/{chunk-TTLD66NI.js.map → chunk-AQRXXC6E.js.map} +0 -0
  1104. /package/dist/{chunk-W4D7C74B.js.map → chunk-ARBXT73X.js.map} +0 -0
  1105. /package/dist/{chunk-LAC6YHHX.js.map → chunk-BEZHQIEI.js.map} +0 -0
  1106. /package/dist/{chunk-J3UWMBOP.js.map → chunk-BFURWHVR.js.map} +0 -0
  1107. /package/dist/{chunk-RAQHUMKS.js.map → chunk-EZSPVWLQ.js.map} +0 -0
  1108. /package/dist/{chunk-DM3Q6F5F.js.map → chunk-FCHZ5TNG.js.map} +0 -0
  1109. /package/dist/{chunk-MI4HXE7M.js.map → chunk-FLWDFPXE.js.map} +0 -0
  1110. /package/dist/{chunk-PLBITHV6.js.map → chunk-FQMEX3GX.js.map} +0 -0
  1111. /package/dist/{chunk-FKQK22IX.js.map → chunk-GE3VT3CA.js.map} +0 -0
  1112. /package/dist/{chunk-HMIROUFV.js.map → chunk-HCQJYI6X.js.map} +0 -0
  1113. /package/dist/{chunk-FLK6QHOY.js.map → chunk-HGBJQGO5.js.map} +0 -0
  1114. /package/dist/{chunk-GU5MXV2Y.js.map → chunk-HHVWV5BJ.js.map} +0 -0
  1115. /package/dist/{chunk-HGUYC5K6.js.map → chunk-I3WGTSDY.js.map} +0 -0
  1116. /package/dist/{chunk-MGYC2IRC.js.map → chunk-I7AYMJZA.js.map} +0 -0
  1117. /package/dist/{chunk-7NF73SCB.js.map → chunk-IDSDJHRS.js.map} +0 -0
  1118. /package/dist/{chunk-OBJCNGZL.js.map → chunk-ILPHIYAL.js.map} +0 -0
  1119. /package/dist/{chunk-WR3FR3K3.js.map → chunk-IWKD56AY.js.map} +0 -0
  1120. /package/dist/{chunk-Y7XSDJEA.js.map → chunk-JLAQWMVF.js.map} +0 -0
  1121. /package/dist/{chunk-XUJZO7MZ.js.map → chunk-K6NULQN7.js.map} +0 -0
  1122. /package/dist/{chunk-JI77AKT6.js.map → chunk-L2BRAC2J.js.map} +0 -0
  1123. /package/dist/{chunk-Y67LUJBE.js.map → chunk-LGMI4LSY.js.map} +0 -0
  1124. /package/dist/{chunk-3GAR4AZK.js.map → chunk-LNODLR7W.js.map} +0 -0
  1125. /package/dist/{chunk-5XTGG4PV.js.map → chunk-LQ2BRGMX.js.map} +0 -0
  1126. /package/dist/{chunk-B2POVFR2.js.map → chunk-M7QZSEHF.js.map} +0 -0
  1127. /package/dist/{chunk-OJGYYH6K.js.map → chunk-NB2FU6EZ.js.map} +0 -0
  1128. /package/dist/{chunk-PFTYKINE.js.map → chunk-NFII3MTG.js.map} +0 -0
  1129. /package/dist/{chunk-WQPUX3BA.js.map → chunk-OG47L5GG.js.map} +0 -0
  1130. /package/dist/{chunk-4D46PS6J.js.map → chunk-QIOFOD4K.js.map} +0 -0
  1131. /package/dist/{chunk-6JCX3YLM.js.map → chunk-R2SYF5FC.js.map} +0 -0
  1132. /package/dist/{chunk-JNURZHZJ.js.map → chunk-RTH2I55B.js.map} +0 -0
  1133. /package/dist/{chunk-FFFJBNHA.js.map → chunk-S6VFDNSQ.js.map} +0 -0
  1134. /package/dist/{chunk-ZNRGH4NS.js.map → chunk-SG2TDQEE.js.map} +0 -0
  1135. /package/dist/{chunk-CKQTJ2LV.js.map → chunk-T3P6O2VU.js.map} +0 -0
  1136. /package/dist/{chunk-RCJKABOS.js.map → chunk-TU5LQUJM.js.map} +0 -0
  1137. /package/dist/{chunk-TLQOMWLQ.js.map → chunk-TU7DWSTW.js.map} +0 -0
  1138. /package/dist/{chunk-V5NHJU3M.js.map → chunk-TXDE2QJ3.js.map} +0 -0
  1139. /package/dist/{chunk-TVAIOC77.js.map → chunk-TYXZ2SRW.js.map} +0 -0
  1140. /package/dist/{chunk-C6CBBZBO.js.map → chunk-UDIEKCIR.js.map} +0 -0
  1141. /package/dist/{chunk-KBRJSPIM.js.map → chunk-UQHHGT67.js.map} +0 -0
  1142. /package/dist/{chunk-SA22KXWT.js.map → chunk-USCADMM3.js.map} +0 -0
  1143. /package/dist/{chunk-MJ7RNDD4.js.map → chunk-UUGISMNE.js.map} +0 -0
  1144. /package/dist/{chunk-IQHO2ABF.js.map → chunk-VDPOCAQ2.js.map} +0 -0
  1145. /package/dist/{chunk-AQKRSEBQ.js.map → chunk-VEJ3QX6M.js.map} +0 -0
  1146. /package/dist/{chunk-XDNJC62G.js.map → chunk-VFJB7OG6.js.map} +0 -0
  1147. /package/dist/{chunk-TVTSA4EN.js.map → chunk-VPABGAN4.js.map} +0 -0
  1148. /package/dist/{chunk-DL2UJNJ7.js.map → chunk-VRIPVLE7.js.map} +0 -0
  1149. /package/dist/{chunk-D3KLDIPQ.js.map → chunk-WLESMH4J.js.map} +0 -0
  1150. /package/dist/{chunk-OLBLXJNI.js.map → chunk-YILZR3XI.js.map} +0 -0
  1151. /package/dist/{chunk-JDR3HUEL.js.map → chunk-YJFLXOH4.js.map} +0 -0
  1152. /package/dist/{chunk-BL6RTOK3.js.map → chunk-YWHZYR6S.js.map} +0 -0
  1153. /package/dist/{chunk-XGPU2VDU.js.map → chunk-Z35KUMBW.js.map} +0 -0
  1154. /package/dist/{chunk-GACSA5A6.js.map → chunk-Z7I2ZFXS.js.map} +0 -0
  1155. /package/dist/{config-SMVIY6RW.js.map → config-55WGRLY3.js.map} +0 -0
  1156. /package/dist/{connect-HPQ32KGV.js.map → connect-3YY7MF3I.js.map} +0 -0
  1157. /package/dist/{conversion-upload-command-KTYAY7IG.js.map → conversion-upload-command-VM2P57K6.js.map} +0 -0
  1158. /package/dist/{creatives-RNOL4F4E.js.map → creatives-2DR3QHJW.js.map} +0 -0
  1159. /package/dist/{creatives-JPKA2RHU.js.map → creatives-DUR5Z5AN.js.map} +0 -0
  1160. /package/dist/{currency-R4ORE2U3.js.map → currency-X4KEACEP.js.map} +0 -0
  1161. /package/dist/{custom-conversions-5HJBB5XL.js.map → custom-conversions-OIA5Y2GX.js.map} +0 -0
  1162. /package/dist/{customers-OFZTEXST.js.map → customers-663K2OCP.js.map} +0 -0
  1163. /package/dist/{discover-GSJRZUOC.js.map → discover-2W42JB56.js.map} +0 -0
  1164. /package/dist/{draft-RIR2V6A2.js.map → draft-2ZX73IRO.js.map} +0 -0
  1165. /package/dist/{draft-WYDMLNYA.js.map → draft-CKLIIWXZ.js.map} +0 -0
  1166. /package/dist/{draft-ZCL7FVBH.js.map → draft-L5Q6KEER.js.map} +0 -0
  1167. /package/dist/{draft-DJIYEMZU.js.map → draft-MJRMZGMP.js.map} +0 -0
  1168. /package/dist/{experiment-I5CRLOVN.js.map → experiment-3VRHCQN5.js.map} +0 -0
  1169. /package/dist/{fit-53DGYRFD.js.map → fit-BEFCY2B4.js.map} +0 -0
  1170. /package/dist/{fonts-LFMBUT4R.js.map → fonts-C6XN5667.js.map} +0 -0
  1171. /package/dist/{forecast-4AG5F7YC.js.map → forecast-LYN6ZGQC.js.map} +0 -0
  1172. /package/dist/{funding-5W4LX6DU.js.map → funding-TCEPQXRQ.js.map} +0 -0
  1173. /package/dist/{ga4-BWVCDVIR.js.map → ga4-JE3HS36B.js.map} +0 -0
  1174. /package/dist/{google-NAA4BASO.js.map → google-24FDG4C4.js.map} +0 -0
  1175. /package/dist/{gsc-2MPE4N32.js.map → gsc-RMVOYIM3.js.map} +0 -0
  1176. /package/dist/{ideas-NK3KQHAK.js.map → ideas-M66FU45H.js.map} +0 -0
  1177. /package/dist/{images-2XS3JT7E.js.map → images-MM5OPUKV.js.map} +0 -0
  1178. /package/dist/{ingest-DHXWZZX4.js.map → ingest-KMLYCFF4.js.map} +0 -0
  1179. /package/dist/{intent-NSHW7EJT.js.map → intent-YCQCUCV3.js.map} +0 -0
  1180. /package/dist/{job-DRFCQ27M.js.map → job-SM2OQ2LO.js.map} +0 -0
  1181. /package/dist/{job-create-2EC25Y3J.js.map → job-create-ECZHPVKH.js.map} +0 -0
  1182. /package/dist/{job-status-UNVZRPIA.js.map → job-status-QSYDKIIV.js.map} +0 -0
  1183. /package/dist/{keyword-gap-ITTWKBWZ.js.map → keyword-gap-PUSF7EKY.js.map} +0 -0
  1184. /package/dist/{landing-QONUUP3C.js.map → landing-OZU5RRFV.js.map} +0 -0
  1185. /package/dist/{languages-MEFQQBJ2.js.map → languages-Q5SKO4AM.js.map} +0 -0
  1186. /package/dist/{line-items-OH426JGT.js.map → line-items-2V5FY33R.js.map} +0 -0
  1187. /package/dist/{locations-RLWAS6AC.js.map → locations-VQYREHYI.js.map} +0 -0
  1188. /package/dist/{lookup-ZJIP2M4X.js.map → lookup-MELV3RUL.js.map} +0 -0
  1189. /package/dist/{media-XCTZJIW4.js.map → media-BPI2VE6A.js.map} +0 -0
  1190. /package/dist/{media-ZWN7E777.js.map → media-EEWZZU3P.js.map} +0 -0
  1191. /package/dist/{media-sources-7L622UTF.js.map → media-sources-EQI3U4TC.js.map} +0 -0
  1192. /package/dist/{meta-EHKXH257.js.map → meta-SMJUQP37.js.map} +0 -0
  1193. /package/dist/{metrics-K6FDCMK7.js.map → metrics-EMAP7ESR.js.map} +0 -0
  1194. /package/dist/{output-WTEPRUPE.js.map → output-4QBQEM4C.js.map} +0 -0
  1195. /package/dist/{pages-J6AF5NDU.js.map → pages-DTQWQUKP.js.map} +0 -0
  1196. /package/dist/{performance-K4VB6L6Z.js.map → performance-NIF3CESZ.js.map} +0 -0
  1197. /package/dist/{pixels-ZZTB6NWF.js.map → pixels-2BKADWE6.js.map} +0 -0
  1198. /package/dist/{promoted-tweets-KPG4IUVD.js.map → promoted-tweets-653Q5AC6.js.map} +0 -0
  1199. /package/dist/{properties-RBLJCVSG.js.map → properties-VWKO3AAK.js.map} +0 -0
  1200. /package/dist/{query-QM7MBQD7.js.map → query-CXIOL7WI.js.map} +0 -0
  1201. /package/dist/{query-KQ675KJZ.js.map → query-OOP63DJF.js.map} +0 -0
  1202. /package/dist/{query-BJJYUGQZ.js.map → query-RBZFAIDK.js.map} +0 -0
  1203. /package/dist/{read-QME7JYVF.js.map → read-GOULD7YL.js.map} +0 -0
  1204. /package/dist/{reddit-Z7DOVIGR.js.map → reddit-JIHMAKAQ.js.map} +0 -0
  1205. /package/dist/{relevant-pages-VOICMQ7U.js.map → relevant-pages-FS7GBVXK.js.map} +0 -0
  1206. /package/dist/{research-HW4EVOZU.js.map → research-PNBACCCP.js.map} +0 -0
  1207. /package/dist/{rules-KTJ2ZZ62.js.map → rules-HY7S2YTD.js.map} +0 -0
  1208. /package/dist/{run-YRR3KOUU.js.map → run-QCNRR3CA.js.map} +0 -0
  1209. /package/dist/{scheduled-agents-DG7FTCUZ.js.map → scheduled-agents-OXYAVSIE.js.map} +0 -0
  1210. /package/dist/{shared-ZFULUOPQ.js.map → shared-CGEJI2RB.js.map} +0 -0
  1211. /package/dist/{sitemaps-F3HYH5ZP.js.map → sitemaps-5SP7PVQ6.js.map} +0 -0
  1212. /package/dist/{sites-JSMF72BY.js.map → sites-YZDPHBST.js.map} +0 -0
  1213. /package/dist/{sources-562ITR77.js.map → sources-FLUGHSVP.js.map} +0 -0
  1214. /package/dist/{stats-QP4LFQZJ.js.map → stats-EGGNFTKI.js.map} +0 -0
  1215. /package/dist/{studies-ZOEUY6YP.js.map → studies-6VUUOMZD.js.map} +0 -0
  1216. /package/dist/{sync-PHH65JFS.js.map → sync-SCM6JGJP.js.map} +0 -0
  1217. /package/dist/{sync-definition-NJPT6ABG.js.map → sync-definition-OGQ5XTQE.js.map} +0 -0
  1218. /package/dist/{tag-manager-F7PVTDBB.js.map → tag-manager-REKD4WGU.js.map} +0 -0
  1219. /package/dist/{tags-5KBOJJ5R.js.map → tags-CZTRQNXV.js.map} +0 -0
  1220. /package/dist/{targeting-constants-236ES5HE.js.map → targeting-constants-MRQB4N5I.js.map} +0 -0
  1221. /package/dist/{targeting-criteria-FJWNK53T.js.map → targeting-criteria-HSAESZIR.js.map} +0 -0
  1222. /package/dist/{terms-O6ODXEOK.js.map → terms-D2KAFHKJ.js.map} +0 -0
  1223. /package/dist/{testimonials-WAPFIGFJ.js.map → testimonials-G3OCNPBY.js.map} +0 -0
  1224. /package/dist/{themes-B4LCQUXB.js.map → themes-X56KIX3Z.js.map} +0 -0
  1225. /package/dist/{tweets-IUINLOXF.js.map → tweets-JN6ARKF6.js.map} +0 -0
  1226. /package/dist/{videos-ZJCTODEB.js.map → videos-36AXDUGZ.js.map} +0 -0
  1227. /package/dist/{viewer-check-GWZNGWCO.js.map → viewer-check-6HL4OUQY.js.map} +0 -0
  1228. /package/dist/{winning-ads-W7GTXTX7.js.map → winning-ads-GMM5W2O4.js.map} +0 -0
  1229. /package/dist/{write-commands-OTWH6BKZ.js.map → write-commands-B25W4FP5.js.map} +0 -0
  1230. /package/dist/{write-commands-5J47ZNO4.js.map → write-commands-GNNEUVDW.js.map} +0 -0
  1231. /package/dist/{x-V4NNNWRU.js.map → x-JNR5SO6F.js.map} +0 -0
@@ -0,0 +1,525 @@
1
+ import {
2
+ decimalMarkShown
3
+ } from "./chunk-XOQNM7I4.js";
4
+ import {
5
+ bareAccountId,
6
+ failWriteValidation,
7
+ requireTarget,
8
+ stageOp
9
+ } from "./chunk-ILPHIYAL.js";
10
+ import "./chunk-Q3GSVLE5.js";
11
+ import "./chunk-GDFJOCDO.js";
12
+ import "./chunk-M7QZSEHF.js";
13
+ import {
14
+ repeatedValues
15
+ } from "./chunk-ERSX3MKH.js";
16
+ import "./chunk-SCAGMX2I.js";
17
+ import "./chunk-4NZ47VXO.js";
18
+ import "./chunk-D5FY4FAK.js";
19
+ import "./chunk-QPESDKZC.js";
20
+ import "./chunk-Y2JZX6JB.js";
21
+ import "./chunk-6DPSWLGY.js";
22
+ import "./chunk-E44NXCTL.js";
23
+ import "./chunk-EJGAJHLB.js";
24
+ import "./chunk-LNNTHEL7.js";
25
+ import "./chunk-FOMFU2RX.js";
26
+ import "./chunk-PSGIHSNC.js";
27
+ import "./chunk-PONLPYD7.js";
28
+ import "./chunk-SOPVIIUW.js";
29
+ import "./chunk-G4FG5EQO.js";
30
+ import "./chunk-NSBNIPIW.js";
31
+ import "./chunk-X7VQFLHI.js";
32
+ import "./chunk-LU4HI4KI.js";
33
+ import "./chunk-LGK7UWBN.js";
34
+ import {
35
+ registerSchema
36
+ } from "./chunk-Q7US4OOA.js";
37
+ import "./chunk-YQSBHWOI.js";
38
+
39
+ // src/commands/ads/meta/rule-writes.ts
40
+ import { readFileSync } from "fs";
41
+ import { defineCommand } from "citty";
42
+
43
+ // src/commands/ads/meta/rule-flags.ts
44
+ var METRIC_ALIASES = {
45
+ cost_per_result: "cost_per",
46
+ cpr: "cost_per",
47
+ cost_per_lead: "cost_per_lead_fb",
48
+ cost_per_purchase: "cost_per_purchase_fb",
49
+ cost_per_add_to_cart: "cost_per_add_to_cart_fb",
50
+ cost_per_registration: "cost_per_complete_registration_fb",
51
+ roas: "website_purchase_roas",
52
+ purchase_roas: "website_purchase_roas",
53
+ spend: "spent",
54
+ amount_spent: "spent",
55
+ link_clicks: "link_click",
56
+ leads: "offsite_conversion.fb_pixel_lead",
57
+ purchases: "offsite_conversion.fb_pixel_purchase"
58
+ };
59
+ var CONDITION_HELP = 'write a condition as "cost_per_result>20", "ctr<0.8", "spend between 10 and 50" or "frequency outside 1 and 3" \u2014 money in the account currency, a dot or a comma for decimals (12.5 or 12,5)';
60
+ function metric(raw) {
61
+ const key = raw.trim().toLowerCase();
62
+ const dot = key.lastIndexOf(".");
63
+ const prefix = dot > 0 && !key.startsWith("offsite_conversion") ? key.slice(0, dot + 1) : "";
64
+ const base = prefix ? key.slice(prefix.length) : key;
65
+ return `${prefix}${METRIC_ALIASES[base] ?? base}`;
66
+ }
67
+ function number(raw) {
68
+ const cleaned = raw.replace(/\s/g, "");
69
+ const mark = decimalMarkShown(cleaned) ?? (cleaned.includes(",") ? void 0 : ".");
70
+ if (!mark) {
71
+ throw new Error(
72
+ `"${raw}" is ambiguous \u2014 it could be ${cleaned.replace(/,/g, "")} or ${cleaned.replace(",", ".")}; write it with a dot for decimals and no thousands separator (1234 or 1.234)`
73
+ );
74
+ }
75
+ const plain = cleaned.split(mark === "," ? "." : ",").join("").replace(",", ".");
76
+ const value = plain === "" ? Number.NaN : Number(plain);
77
+ if (!Number.isFinite(value)) throw new Error(`"${raw}" is not a number \u2014 ${CONDITION_HELP}`);
78
+ return value;
79
+ }
80
+ function ruleConditionFromFlag(raw) {
81
+ const range = /^\s*([\w.:]+)\s+(between|outside)\s+(-?[\d.,]+)\s+and\s+(-?[\d.,]+)\s*$/i.exec(raw);
82
+ if (range?.[1] && range[2] && range[3] && range[4]) {
83
+ return {
84
+ field: metric(range[1]),
85
+ operator: range[2].toLowerCase() === "between" ? "IN_RANGE" : "NOT_IN_RANGE",
86
+ value: [number(range[3]), number(range[4])]
87
+ };
88
+ }
89
+ const compare = /^\s*([\w.:]+)\s*(>|<|=|\babove\b|\bbelow\b)\s*(-?[\d.,]+)\s*$/i.exec(raw);
90
+ if (compare?.[1] && compare[2] && compare[3]) {
91
+ const word = compare[2].toLowerCase();
92
+ const operator = word === ">" || word === "above" ? "GREATER_THAN" : word === "<" || word === "below" ? "LESS_THAN" : "EQUAL";
93
+ return { field: metric(compare[1]), operator, value: number(compare[3]) };
94
+ }
95
+ throw new Error(`could not read --when "${raw}" \u2014 ${CONDITION_HELP}`);
96
+ }
97
+ var LEVELS = {
98
+ ad: "AD",
99
+ ads: "AD",
100
+ adset: "ADSET",
101
+ adsets: "ADSET",
102
+ "ad-set": "ADSET",
103
+ campaign: "CAMPAIGN",
104
+ campaigns: "CAMPAIGN"
105
+ };
106
+ var EVALUATION_FLAGS = [
107
+ "apply-to",
108
+ "ids",
109
+ "in-campaigns",
110
+ "in-adsets",
111
+ "name-contains",
112
+ "when",
113
+ "window",
114
+ "realtime"
115
+ ];
116
+ var EXECUTION_FLAGS = ["action", "by", "cap", "max-times", "every", "notify-user-ids"];
117
+ var SCHEDULE_FLAGS = ["schedule", "at", "between", "days"];
118
+ function given(flags, names) {
119
+ return names.some((name) => {
120
+ const value = flags[name];
121
+ return Array.isArray(value) ? value.length > 0 : value !== void 0 && value !== false && value !== "";
122
+ });
123
+ }
124
+ function ruleLevel(flags) {
125
+ const raw = flags["apply-to"];
126
+ if (!raw) return isRotate(flags) ? "AD" : void 0;
127
+ const level = LEVELS[raw.toLowerCase()];
128
+ if (!level) throw new Error(`--apply-to takes ad, adset or campaign \u2014 not "${raw}"`);
129
+ return level;
130
+ }
131
+ function listFilter(field, ids) {
132
+ return ids?.length ? [{ field, operator: "IN", value: ids }] : [];
133
+ }
134
+ function isRotate(flags) {
135
+ return flags.action?.toLowerCase() === "rotate";
136
+ }
137
+ function scopeFilters(flags, level) {
138
+ return [
139
+ ...level ? [{ field: "entity_type", operator: "EQUAL", value: level }] : [],
140
+ ...listFilter(isRotate(flags) ? "adset.id" : "id", flags.ids),
141
+ ...listFilter("campaign.id", flags["in-campaigns"]),
142
+ ...listFilter("adset.id", flags["in-adsets"]),
143
+ ...flags["name-contains"] ? [{ field: "name", operator: "CONTAIN", value: flags["name-contains"] }] : []
144
+ ];
145
+ }
146
+ function evaluationFromFlags(flags) {
147
+ const level = ruleLevel(flags);
148
+ if (!level && !flags.ids?.length) {
149
+ throw new Error(
150
+ "say what the rule watches: --apply-to ad|adset|campaign (every one in the account), plus --ids to name them"
151
+ );
152
+ }
153
+ const conditions = (flags.when ?? []).map(ruleConditionFromFlag);
154
+ const [first, ...rest] = conditions;
155
+ const trigger = flags.realtime ? first : void 0;
156
+ if (flags.realtime && !trigger) throw new Error("--realtime needs a --when condition to react to");
157
+ const filters = scopeFilters(flags, level);
158
+ if (conditions.length > 0 || flags.window) {
159
+ const preset = (flags.window ?? (flags.realtime ? "TODAY" : "LAST_7D")).toUpperCase();
160
+ filters.push({ field: "time_preset", operator: "EQUAL", value: preset });
161
+ }
162
+ filters.push(...trigger ? rest : conditions);
163
+ return {
164
+ evaluation_type: trigger ? "TRIGGER" : "SCHEDULE",
165
+ filters,
166
+ ...trigger ? { trigger: { type: "STATS_CHANGE", ...trigger } } : {}
167
+ };
168
+ }
169
+ var ACTIONS = {
170
+ pause: { type: "PAUSE" },
171
+ unpause: { type: "UNPAUSE" },
172
+ "turn-on": { type: "UNPAUSE" },
173
+ notify: { type: "NOTIFICATION" },
174
+ "raise-budget": { type: "CHANGE_BUDGET", sign: 1 },
175
+ "lower-budget": { type: "CHANGE_BUDGET", sign: -1 },
176
+ "raise-bid": { type: "CHANGE_BID", sign: 1 },
177
+ "lower-bid": { type: "CHANGE_BID", sign: -1 },
178
+ rotate: { type: "ROTATE" }
179
+ };
180
+ function minutes(raw) {
181
+ const match = /^\s*(\d+)\s*(m|min|h|d)?\s*$/i.exec(raw);
182
+ if (!match?.[1]) throw new Error(`--every takes minutes, or hours/days like 12h or 7d \u2014 not "${raw}"`);
183
+ const unit = (match[2] ?? "m").toLowerCase();
184
+ return Number(match[1]) * (unit === "d" ? 1440 : unit === "h" ? 60 : 1);
185
+ }
186
+ function changeSpec(flags, sign) {
187
+ if (!flags.by)
188
+ throw new Error(`--action ${flags.action} needs --by: a percentage like 20% or an amount in the account currency`);
189
+ const percent = flags.by.trim().endsWith("%");
190
+ const amount = number(flags.by.replace("%", "")) * sign;
191
+ return {
192
+ amount,
193
+ unit: percent ? "PERCENTAGE" : "ACCOUNT_CURRENCY",
194
+ ...flags.cap ? { limit: number(flags.cap) } : {}
195
+ };
196
+ }
197
+ function executionFromFlags(flags, level) {
198
+ const action = flags.action ? ACTIONS[flags.action.toLowerCase()] : void 0;
199
+ if (!action) {
200
+ throw new Error(
201
+ `--action takes ${Object.keys(ACTIONS).join(", ")}${flags.action ? ` \u2014 not "${flags.action}"` : ""}`
202
+ );
203
+ }
204
+ const type = action.type === "CHANGE_BUDGET" && level === "CAMPAIGN" ? "CHANGE_CAMPAIGN_BUDGET" : action.type;
205
+ const options = [];
206
+ if (action.sign) options.push({ field: "change_spec", operator: "EQUAL", value: changeSpec(flags, action.sign) });
207
+ if (flags["max-times"])
208
+ options.push({ field: "execution_count_limit", operator: "EQUAL", value: number(flags["max-times"]) });
209
+ if (flags.every) options.push({ field: "action_frequency", operator: "EQUAL", value: minutes(flags.every) });
210
+ if (flags["notify-user-ids"]?.length)
211
+ options.push({ field: "user_ids", operator: "EQUAL", value: flags["notify-user-ids"] });
212
+ return { execution_type: type, ...options.length > 0 ? { execution_options: options } : {} };
213
+ }
214
+ var DAY_NUMBERS = { sun: 0, mon: 1, tue: 2, wed: 3, thu: 4, fri: 5, sat: 6 };
215
+ function clockMinutes(raw) {
216
+ const match = /^\s*(\d{1,2}):(\d{2})\s*$/.exec(raw);
217
+ if (!match?.[1] || !match[2]) throw new Error(`times are HH:MM on the half hour, like 09:30 \u2014 not "${raw}"`);
218
+ return Number(match[1]) * 60 + Number(match[2]);
219
+ }
220
+ function days(raw) {
221
+ if (!raw) return void 0;
222
+ return raw.split(",").map((day) => {
223
+ const value = DAY_NUMBERS[day.trim().slice(0, 3).toLowerCase()];
224
+ if (value === void 0) throw new Error(`--days takes mon,tue,wed,thu,fri,sat,sun \u2014 not "${day}"`);
225
+ return value;
226
+ });
227
+ }
228
+ var SCHEDULE_TYPES = {
229
+ daily: "DAILY",
230
+ hourly: "HOURLY",
231
+ "half-hourly": "SEMI_HOURLY",
232
+ "semi-hourly": "SEMI_HOURLY",
233
+ custom: "CUSTOM"
234
+ };
235
+ function scheduleFromFlags(flags) {
236
+ const custom = Boolean(flags.at?.length || flags.between || flags.days);
237
+ const type = flags.schedule ? SCHEDULE_TYPES[flags.schedule.toLowerCase()] : custom ? "CUSTOM" : "DAILY";
238
+ if (!type) throw new Error(`--schedule takes daily, hourly, half-hourly or custom \u2014 not "${flags.schedule}"`);
239
+ if (type !== "CUSTOM" && custom) {
240
+ throw new Error(
241
+ `--at, --between and --days set a custom timetable, which --schedule ${flags.schedule} does not take \u2014 use --schedule custom (or leave --schedule out)`
242
+ );
243
+ }
244
+ if (type !== "CUSTOM") return { schedule_type: type };
245
+ const dayList = days(flags.days);
246
+ const withDays = dayList ? { days: dayList } : {};
247
+ const items = (flags.at ?? []).map((at) => ({
248
+ start_minute: clockMinutes(at),
249
+ ...withDays
250
+ }));
251
+ if (flags.between) {
252
+ const [from, to] = flags.between.split("-");
253
+ if (!from || !to) throw new Error(`--between takes a time range like 09:00-17:00 \u2014 not "${flags.between}"`);
254
+ items.push({ start_minute: clockMinutes(from), end_minute: clockMinutes(to), ...withDays });
255
+ }
256
+ return { schedule_type: "CUSTOM", schedule: items.length > 0 ? items : [withDays] };
257
+ }
258
+ var READ_ONLY_RULE_KEYS = /* @__PURE__ */ new Set([
259
+ "id",
260
+ "account_id",
261
+ "created_time",
262
+ "updated_time",
263
+ "created_by",
264
+ "disable_error_code",
265
+ "description",
266
+ "currencyCode"
267
+ ]);
268
+ function ruleFileForStaging(raw, { update = false } = {}) {
269
+ const unwrapped = raw && typeof raw === "object" && !Array.isArray(raw) && "data" in raw ? raw.data : raw;
270
+ const list = Array.isArray(unwrapped) ? unwrapped : [unwrapped];
271
+ if (list.length !== 1) {
272
+ throw new Error(`holds ${list.length} rules \u2014 keep the one to stage`);
273
+ }
274
+ const rule = list[0];
275
+ if (!rule || typeof rule !== "object" || Array.isArray(rule)) {
276
+ throw new Error("must contain a JSON object with the rule");
277
+ }
278
+ return Object.fromEntries(
279
+ Object.entries(rule).filter(([key]) => !READ_ONLY_RULE_KEYS.has(key) && !(update && key === "status"))
280
+ );
281
+ }
282
+ function rulePayloadFromFlags(flags, { update = false } = {}) {
283
+ if (flags.realtime && given(flags, SCHEDULE_FLAGS)) {
284
+ throw new Error(
285
+ "--realtime rules react the moment a metric changes and run on no schedule \u2014 drop --schedule/--at/--between/--days, or drop --realtime"
286
+ );
287
+ }
288
+ const evaluation = !update || given(flags, EVALUATION_FLAGS) ? evaluationFromFlags(flags) : void 0;
289
+ const level = ruleLevel(flags);
290
+ const execution = !update || given(flags, EXECUTION_FLAGS) ? executionFromFlags(flags, level) : void 0;
291
+ const realtime = evaluation?.evaluation_type === "TRIGGER";
292
+ const schedule = !realtime && (!update || given(flags, SCHEDULE_FLAGS)) ? scheduleFromFlags(flags) : void 0;
293
+ return {
294
+ ...flags.name ? { name: flags.name } : {},
295
+ ...flags.status ? { status: flags.status.toUpperCase() } : {},
296
+ ...evaluation ? { evaluation_spec: evaluation } : {},
297
+ ...execution ? { execution_spec: execution } : {},
298
+ ...schedule ? { schedule_spec: schedule } : {}
299
+ };
300
+ }
301
+
302
+ // src/commands/ads/meta/rule-writes.ts
303
+ var STAGED_NOTE = "Staged until publish \u2014 review with `baker ads meta draft`.";
304
+ var ruleArgs = {
305
+ "account-id": { type: "string", description: "Numeric account ID or act_N" },
306
+ name: { type: "string", description: "Rule name, shown in Ads Manager \u2192 Automated rules" },
307
+ "apply-to": {
308
+ type: "string",
309
+ description: "What the rule watches and acts on: ad | adset | campaign. Alone, it means every one in the account."
310
+ },
311
+ ids: {
312
+ type: "string",
313
+ description: "Only these ads / ad sets / campaigns (repeatable or comma-separated; meta_temp_* refs from this chat work). With --action rotate: the ad sets whose ads take turns"
314
+ },
315
+ "in-campaigns": { type: "string", description: "Only what sits in these campaigns (repeatable or comma-separated)" },
316
+ "in-adsets": { type: "string", description: "Only what sits in these ad sets (repeatable or comma-separated)" },
317
+ "name-contains": { type: "string", description: "Only objects whose name contains this text" },
318
+ when: {
319
+ type: "string",
320
+ description: 'A condition, repeatable (all must hold): "cost_per_result>20", "ctr<0.8", "spend between 10 and 50", "frequency outside 1 and 3". Money in the account currency. Metrics: cost_per_result, cpa, cpc, cpm, ctr, frequency, spend, results, impressions, reach, roas, cost_per_lead, cost_per_purchase, or any Meta rule field.'
321
+ },
322
+ window: {
323
+ type: "string",
324
+ description: "Time range the metrics are read over (default LAST_7D \u2014 the last 7 full days): TODAY, YESTERDAY, LAST_3D, LAST_7D, LAST_14D, LAST_30D, LAST_7_DAYS (today included), LIFETIME, THIS_MONTH"
325
+ },
326
+ realtime: {
327
+ type: "boolean",
328
+ description: "React the moment the first --when condition becomes true (a trigger rule) instead of on a schedule. Only pause, unpause and notify; the window must include today."
329
+ },
330
+ action: {
331
+ type: "string",
332
+ description: "pause | unpause | notify | raise-budget | lower-budget | raise-bid | lower-bid | rotate"
333
+ },
334
+ by: { type: "string", description: "For a budget or bid change: 20% or an amount in the account currency" },
335
+ cap: {
336
+ type: "string",
337
+ description: "Highest (raise) or lowest (lower) the budget or bid may reach, account currency"
338
+ },
339
+ "max-times": { type: "string", description: "Change each object at most this many times" },
340
+ every: { type: "string", description: "Wait at least this long before changing the same object again: 90, 12h, 7d" },
341
+ "notify-user-ids": {
342
+ type: "string",
343
+ description: "Facebook user ids to notify (default: whoever connected Meta); repeatable or comma-separated"
344
+ },
345
+ schedule: { type: "string", description: "daily (default) | hourly | half-hourly | custom" },
346
+ at: { type: "string", description: "Custom schedule: run at HH:MM (half hours), repeatable" },
347
+ between: { type: "string", description: "Custom schedule: run every 30 minutes in this window, e.g. 09:00-17:00" },
348
+ days: { type: "string", description: "Custom schedule: only these days, e.g. mon,wed,fri" },
349
+ file: {
350
+ type: "string",
351
+ description: "JSON with the full rule \u2014 {name, status, evaluation_spec, execution_spec, schedule_spec} in Meta's shape. What `rules --rule-id <id>` prints can be saved and passed as it is (its id and timestamps are left out). Flags override its name and status."
352
+ }
353
+ };
354
+ function schemaArgs(args) {
355
+ return Object.fromEntries(Object.entries(args).map(([key, arg]) => [key, { ...arg, required: false }]));
356
+ }
357
+ function listValues(rawArgs, flag, parsed) {
358
+ return repeatedValues(rawArgs, flag, parsed).flatMap((value) => value.split(",")).map((value) => value.trim()).filter(Boolean);
359
+ }
360
+ function ruleFlagsFromArgs(args, rawArgs) {
361
+ const text = (key) => typeof args[key] === "string" && args[key] !== "" ? String(args[key]) : void 0;
362
+ return {
363
+ name: text("name"),
364
+ status: text("status"),
365
+ "apply-to": text("apply-to"),
366
+ ids: listValues(rawArgs, "ids", args.ids),
367
+ "in-campaigns": listValues(rawArgs, "in-campaigns", args["in-campaigns"]),
368
+ "in-adsets": listValues(rawArgs, "in-adsets", args["in-adsets"]),
369
+ "name-contains": text("name-contains"),
370
+ when: repeatedValues(rawArgs, "when", args.when),
371
+ window: text("window"),
372
+ realtime: args.realtime === true,
373
+ action: text("action"),
374
+ by: text("by"),
375
+ cap: text("cap"),
376
+ "max-times": text("max-times"),
377
+ every: text("every"),
378
+ "notify-user-ids": listValues(rawArgs, "notify-user-ids", args["notify-user-ids"]),
379
+ schedule: text("schedule"),
380
+ at: repeatedValues(rawArgs, "at", args.at),
381
+ between: text("between"),
382
+ days: listValues(rawArgs, "days", args.days).join(",") || void 0
383
+ };
384
+ }
385
+ function payloadOrFail(flags, update) {
386
+ try {
387
+ return rulePayloadFromFlags(flags, { update });
388
+ } catch (err) {
389
+ failWriteValidation(err instanceof Error ? err.message : String(err));
390
+ }
391
+ }
392
+ function loadRuleFile(path, update) {
393
+ if (typeof path !== "string" || path.length === 0) {
394
+ return {};
395
+ }
396
+ try {
397
+ return ruleFileForStaging(JSON.parse(readFileSync(path, "utf8")), { update });
398
+ } catch (err) {
399
+ failWriteValidation(`${path}: ${err instanceof Error ? err.message : String(err)}`);
400
+ }
401
+ }
402
+ function rulePayload(args, rawArgs, update) {
403
+ const file = loadRuleFile(args.file, update);
404
+ const flags = ruleFlagsFromArgs(args, rawArgs);
405
+ const fromFile = Object.keys(file).length > 0;
406
+ const fromFlags = fromFile ? payloadOrFail(flags, true) : payloadOrFail(flags, update);
407
+ return { ...file, ...fromFlags };
408
+ }
409
+ registerSchema({
410
+ command: "ads.meta.rules.create",
411
+ description: `Stage a new Meta automated rule \u2014 it is created at publish and then runs on Meta, unattended. Shorthand: --apply-to ad|adset|campaign [--ids \u2026] --when "cost_per_result>20" [--window LAST_7D] --action pause|unpause|notify|raise-budget|lower-budget|raise-bid|lower-bid|rotate [--by 20%] [--cap 500] [--schedule daily|hourly|custom --at 09:00 --days mon,fri] [--realtime]. Or --file with the full rule in Meta's shape. Fields Meta compares: Insights metrics (cost_per, spent, results, impressions, reach, frequency, cpc, cpm, ctr, cpa, link_ctr, website_purchase_roas, cost_per_lead_fb, \u2026) and metadata (name, daily_budget, hours_since_creation, effective_status, \u2026), optionally prefixed ad./adset./campaign. Starts switched on unless --status DISABLED.`,
412
+ args: schemaArgs({ ...ruleArgs, status: { type: "string", description: "ENABLED (default) or DISABLED" } })
413
+ });
414
+ var rulesCreateCommand = defineCommand({
415
+ meta: {
416
+ name: "create",
417
+ description: `Stage a new Meta automated rule. ${STAGED_NOTE}
418
+ It runs on Meta from publish on, with nobody watching \u2014 say what it will do back to the user before publishing.
419
+ Examples:
420
+ baker ads meta rules create --name "Stop expensive ads" --apply-to ad --when "cost_per_result>20" --action pause
421
+ baker ads meta rules create --name "Scale winners" --apply-to adset --in-campaigns 6123 --when "roas>3" --when "spend>50" --window LAST_3D --action raise-budget --by 20% --cap 500 --max-times 3
422
+ baker ads meta rules create --name "CPM alarm" --apply-to campaign --when "cpm>15" --window TODAY --action notify --realtime
423
+ baker ads meta rules create --file rule.json`
424
+ },
425
+ args: { ...ruleArgs, status: { type: "string", description: "ENABLED (default) or DISABLED" } },
426
+ run: async ({ args, rawArgs }) => {
427
+ const accountId = bareAccountId(args);
428
+ await stageOp({ kind: "adRule.create", accountId, payload: rulePayload(args, rawArgs, false) });
429
+ }
430
+ });
431
+ registerSchema({
432
+ command: "ads.meta.rules.update",
433
+ description: "Stage a change to a live rule (or amend one staged in this chat by its meta_temp_* ref). Each part you change is replaced whole: any of --apply-to/--ids/--in-*/--name-contains/--when/--window/--realtime rebuilds what it checks, --action/--by/--cap/--max-times/--every/--notify-user-ids what it does, --schedule/--at/--between/--days when it runs. Restate every condition you keep \u2014 read it first with `rules --rule-id`.",
434
+ args: { id: { type: "positional", description: "Rule id", required: true }, ...schemaArgs(ruleArgs) }
435
+ });
436
+ var rulesUpdateCommand = defineCommand({
437
+ meta: {
438
+ name: "update",
439
+ description: `Stage a change to a rule. ${STAGED_NOTE}
440
+ Each part you change is replaced whole \u2014 restate every condition you keep (read the rule first: \`rules --rule-id <id>\`). Switch with enable/disable; remove with delete.
441
+ Example: baker ads meta rules update 1132635173044914 --apply-to ad --when "cost_per_result>25" --window LAST_7D`
442
+ },
443
+ args: { id: { type: "positional", description: "Rule id or meta_temp_* ref", required: true }, ...ruleArgs },
444
+ run: async ({ args, rawArgs }) => {
445
+ const accountId = bareAccountId(args);
446
+ const target = requireTarget(args, "rule");
447
+ const payload = rulePayload(args, rawArgs, true);
448
+ if (payload.status === "DELETED") {
449
+ failWriteValidation(
450
+ "update does not delete \u2014 use `baker ads meta rules delete <id>` if the user asked to remove it"
451
+ );
452
+ }
453
+ await stageOp({ kind: "adRule.update", accountId, target, payload });
454
+ }
455
+ });
456
+ var STATUS_COMMANDS = {
457
+ enable: { status: "ENABLED", note: "It starts running on its schedule from publish on." },
458
+ disable: { status: "DISABLED", note: "It stops running and keeps its settings; enable brings it back." },
459
+ delete: {
460
+ status: "DELETED",
461
+ note: "Deleting is permanent \u2014 Meta removes the rule from the account. Prefer disable unless the user asked to delete it."
462
+ }
463
+ };
464
+ function statusCommand(name) {
465
+ const { status, note } = STATUS_COMMANDS[name];
466
+ registerSchema({
467
+ command: `ads.meta.rules.${name}`,
468
+ description: `Stage ${name} for an automated rule. ${note}`,
469
+ args: {
470
+ id: { type: "positional", description: "Rule id", required: true },
471
+ "account-id": { type: "string", description: "Meta ad account ID (act_123)", required: false }
472
+ }
473
+ });
474
+ return defineCommand({
475
+ meta: { name, description: `Stage ${name} for an automated rule. ${note} ${STAGED_NOTE}` },
476
+ args: { id: { type: "positional", description: "Rule id", required: true }, "account-id": ruleArgs["account-id"] },
477
+ run: async ({ args }) => {
478
+ const accountId = bareAccountId(args);
479
+ await stageOp({
480
+ kind: "adRule.update",
481
+ accountId,
482
+ target: requireTarget(args, "rule"),
483
+ payload: { status }
484
+ });
485
+ }
486
+ });
487
+ }
488
+ var rulesEnableCommand = statusCommand("enable");
489
+ var rulesDisableCommand = statusCommand("disable");
490
+ var rulesDeleteCommand = statusCommand("delete");
491
+ registerSchema({
492
+ command: "ads.meta.rules.run",
493
+ description: "Stage running an automated rule once, at publish \u2014 it acts on whatever matches it then, whatever its schedule and even while it is off. Check what it would act on first with `rules preview <id>`.",
494
+ args: {
495
+ id: { type: "positional", description: "Rule id", required: true },
496
+ "account-id": { type: "string", description: "Meta ad account ID (act_123)", required: false }
497
+ }
498
+ });
499
+ var rulesRunCommand = defineCommand({
500
+ meta: {
501
+ name: "run",
502
+ description: `Stage running a rule once, at publish. ${STAGED_NOTE}
503
+ The rule acts on whatever matches it when the chat is published (pauses, budget changes, notifications) \u2014 Meta runs it then, whatever its schedule, even while it is off. Start here: baker ads meta rules preview <id>, then baker ads meta rules history --rule-id <id> after publishing.
504
+ Example: baker ads meta rules run 1132635173044914`
505
+ },
506
+ args: { id: { type: "positional", description: "Rule id", required: true }, "account-id": ruleArgs["account-id"] },
507
+ run: async ({ args }) => {
508
+ const accountId = bareAccountId(args);
509
+ const target = requireTarget(args, "rule");
510
+ if (target.startsWith("meta_temp_")) {
511
+ failWriteValidation("a rule this chat creates exists only at publish \u2014 run it in a later chat, once it is live");
512
+ }
513
+ await stageOp({ kind: "adRule.update", accountId, target, payload: { run_now: true } });
514
+ }
515
+ });
516
+ export {
517
+ ruleFlagsFromArgs,
518
+ rulesCreateCommand,
519
+ rulesDeleteCommand,
520
+ rulesDisableCommand,
521
+ rulesEnableCommand,
522
+ rulesRunCommand,
523
+ rulesUpdateCommand
524
+ };
525
+ //# sourceMappingURL=rule-writes-K4P3XBJW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/ads/meta/rule-writes.ts","../src/commands/ads/meta/rule-flags.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { defineCommand } from \"citty\";\nimport { repeatedValues } from \"../../../lib/repeatedFlags.ts\";\nimport { registerSchema } from \"../../../schemas.ts\";\nimport { type RuleFlags, ruleFileForStaging, rulePayloadFromFlags } from \"./rule-flags.ts\";\nimport { bareAccountId, failWriteValidation, requireTarget, stageOp } from \"./write-shared.ts\";\n\n/**\n * Staged Meta automated-rule writes. Nothing here reaches Meta: each command\n * stages an op on this chat's draft, and the rule is created, changed or\n * deleted when the chat publishes — after anything it names that the same\n * draft creates.\n */\n\nconst STAGED_NOTE = \"Staged until publish — review with `baker ads meta draft`.\";\n\nconst ruleArgs = {\n \"account-id\": { type: \"string\", description: \"Numeric account ID or act_N\" },\n name: { type: \"string\", description: \"Rule name, shown in Ads Manager → Automated rules\" },\n \"apply-to\": {\n type: \"string\",\n description: \"What the rule watches and acts on: ad | adset | campaign. Alone, it means every one in the account.\",\n },\n ids: {\n type: \"string\",\n description:\n \"Only these ads / ad sets / campaigns (repeatable or comma-separated; meta_temp_* refs from this chat work). With --action rotate: the ad sets whose ads take turns\",\n },\n \"in-campaigns\": { type: \"string\", description: \"Only what sits in these campaigns (repeatable or comma-separated)\" },\n \"in-adsets\": { type: \"string\", description: \"Only what sits in these ad sets (repeatable or comma-separated)\" },\n \"name-contains\": { type: \"string\", description: \"Only objects whose name contains this text\" },\n when: {\n type: \"string\",\n description:\n 'A condition, repeatable (all must hold): \"cost_per_result>20\", \"ctr<0.8\", \"spend between 10 and 50\", \"frequency outside 1 and 3\". Money in the account currency. Metrics: cost_per_result, cpa, cpc, cpm, ctr, frequency, spend, results, impressions, reach, roas, cost_per_lead, cost_per_purchase, or any Meta rule field.',\n },\n window: {\n type: \"string\",\n description:\n \"Time range the metrics are read over (default LAST_7D — the last 7 full days): TODAY, YESTERDAY, LAST_3D, LAST_7D, LAST_14D, LAST_30D, LAST_7_DAYS (today included), LIFETIME, THIS_MONTH\",\n },\n realtime: {\n type: \"boolean\",\n description:\n \"React the moment the first --when condition becomes true (a trigger rule) instead of on a schedule. Only pause, unpause and notify; the window must include today.\",\n },\n action: {\n type: \"string\",\n description: \"pause | unpause | notify | raise-budget | lower-budget | raise-bid | lower-bid | rotate\",\n },\n by: { type: \"string\", description: \"For a budget or bid change: 20% or an amount in the account currency\" },\n cap: {\n type: \"string\",\n description: \"Highest (raise) or lowest (lower) the budget or bid may reach, account currency\",\n },\n \"max-times\": { type: \"string\", description: \"Change each object at most this many times\" },\n every: { type: \"string\", description: \"Wait at least this long before changing the same object again: 90, 12h, 7d\" },\n \"notify-user-ids\": {\n type: \"string\",\n description: \"Facebook user ids to notify (default: whoever connected Meta); repeatable or comma-separated\",\n },\n schedule: { type: \"string\", description: \"daily (default) | hourly | half-hourly | custom\" },\n at: { type: \"string\", description: \"Custom schedule: run at HH:MM (half hours), repeatable\" },\n between: { type: \"string\", description: \"Custom schedule: run every 30 minutes in this window, e.g. 09:00-17:00\" },\n days: { type: \"string\", description: \"Custom schedule: only these days, e.g. mon,wed,fri\" },\n file: {\n type: \"string\",\n description:\n \"JSON with the full rule — {name, status, evaluation_spec, execution_spec, schedule_spec} in Meta's shape. What `rules --rule-id <id>` prints can be saved and passed as it is (its id and timestamps are left out). Flags override its name and status.\",\n },\n} as const;\n\n/** `ruleArgs` as `baker schema` lists them: every flag optional, as the shorthand and --file trade off. */\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[] {\n return repeatedValues(rawArgs, flag, parsed)\n .flatMap((value) => value.split(\",\"))\n .map((value) => value.trim())\n .filter(Boolean);\n}\n\n/** The command line as rule flags, with every repeatable flag read whole (citty keeps only the last). */\nexport function ruleFlagsFromArgs(args: Record<string, unknown>, rawArgs: readonly string[] | undefined): RuleFlags {\n const text = (key: string) => (typeof args[key] === \"string\" && args[key] !== \"\" ? String(args[key]) : undefined);\n return {\n name: text(\"name\"),\n status: text(\"status\"),\n \"apply-to\": text(\"apply-to\"),\n ids: listValues(rawArgs, \"ids\", args.ids),\n \"in-campaigns\": listValues(rawArgs, \"in-campaigns\", args[\"in-campaigns\"]),\n \"in-adsets\": listValues(rawArgs, \"in-adsets\", args[\"in-adsets\"]),\n \"name-contains\": text(\"name-contains\"),\n when: repeatedValues(rawArgs, \"when\", args.when),\n window: text(\"window\"),\n realtime: args.realtime === true,\n action: text(\"action\"),\n by: text(\"by\"),\n cap: text(\"cap\"),\n \"max-times\": text(\"max-times\"),\n every: text(\"every\"),\n \"notify-user-ids\": listValues(rawArgs, \"notify-user-ids\", args[\"notify-user-ids\"]),\n schedule: text(\"schedule\"),\n at: repeatedValues(rawArgs, \"at\", args.at),\n between: text(\"between\"),\n days: listValues(rawArgs, \"days\", args.days).join(\",\") || undefined,\n };\n}\n\nfunction payloadOrFail(flags: RuleFlags, update: boolean): Record<string, unknown> {\n try {\n return rulePayloadFromFlags(flags, { update });\n } catch (err) {\n failWriteValidation(err instanceof Error ? err.message : String(err));\n }\n}\n\nfunction loadRuleFile(path: unknown, update: boolean): Record<string, unknown> {\n if (typeof path !== \"string\" || path.length === 0) {\n return {};\n }\n try {\n return ruleFileForStaging(JSON.parse(readFileSync(path, \"utf8\")) as unknown, { update });\n } catch (err) {\n failWriteValidation(`${path}: ${err instanceof Error ? err.message : String(err)}`);\n }\n}\n\n/** A `--file` rule as the base, the flags on top: name and status always, a whole spec when its flags are given. */\nfunction rulePayload(args: Record<string, unknown>, rawArgs: readonly string[] | undefined, update: boolean) {\n const file = loadRuleFile(args.file, update);\n const flags = ruleFlagsFromArgs(args, rawArgs);\n const fromFile = Object.keys(file).length > 0;\n const fromFlags = fromFile ? payloadOrFail(flags, true) : payloadOrFail(flags, update);\n return { ...file, ...fromFlags };\n}\n\nregisterSchema({\n command: \"ads.meta.rules.create\",\n description:\n 'Stage a new Meta automated rule — it is created at publish and then runs on Meta, unattended. Shorthand: --apply-to ad|adset|campaign [--ids …] --when \"cost_per_result>20\" [--window LAST_7D] --action pause|unpause|notify|raise-budget|lower-budget|raise-bid|lower-bid|rotate [--by 20%] [--cap 500] [--schedule daily|hourly|custom --at 09:00 --days mon,fri] [--realtime]. Or --file with the full rule in Meta\\'s shape. Fields Meta compares: Insights metrics (cost_per, spent, results, impressions, reach, frequency, cpc, cpm, ctr, cpa, link_ctr, website_purchase_roas, cost_per_lead_fb, …) and metadata (name, daily_budget, hours_since_creation, effective_status, …), optionally prefixed ad./adset./campaign. Starts switched on unless --status DISABLED.',\n args: schemaArgs({ ...ruleArgs, status: { type: \"string\", description: \"ENABLED (default) or DISABLED\" } }),\n});\n\nexport const rulesCreateCommand = defineCommand({\n meta: {\n name: \"create\",\n description: `Stage a new Meta automated rule. ${STAGED_NOTE}\nIt runs on Meta from publish on, with nobody watching — say what it will do back to the user before publishing.\nExamples:\n baker ads meta rules create --name \"Stop expensive ads\" --apply-to ad --when \"cost_per_result>20\" --action pause\n baker ads meta rules create --name \"Scale winners\" --apply-to adset --in-campaigns 6123 --when \"roas>3\" --when \"spend>50\" --window LAST_3D --action raise-budget --by 20% --cap 500 --max-times 3\n baker ads meta rules create --name \"CPM alarm\" --apply-to campaign --when \"cpm>15\" --window TODAY --action notify --realtime\n baker ads meta rules create --file rule.json`,\n },\n args: { ...ruleArgs, status: { type: \"string\", description: \"ENABLED (default) or DISABLED\" } },\n run: async ({ args, rawArgs }) => {\n const accountId = bareAccountId(args as Record<string, unknown>);\n await stageOp({ kind: \"adRule.create\", accountId, payload: rulePayload(args, rawArgs, false) });\n },\n});\n\nregisterSchema({\n command: \"ads.meta.rules.update\",\n description:\n \"Stage a change to a live rule (or amend one staged in this chat by its meta_temp_* ref). Each part you change is replaced whole: any of --apply-to/--ids/--in-*/--name-contains/--when/--window/--realtime rebuilds what it checks, --action/--by/--cap/--max-times/--every/--notify-user-ids what it does, --schedule/--at/--between/--days when it runs. Restate every condition you keep — read it first with `rules --rule-id`.\",\n args: { id: { type: \"positional\", description: \"Rule id\", required: true }, ...schemaArgs(ruleArgs) },\n});\n\nexport const rulesUpdateCommand = defineCommand({\n meta: {\n name: \"update\",\n description: `Stage a change to a rule. ${STAGED_NOTE}\nEach part you change is replaced whole — restate every condition you keep (read the rule first: \\`rules --rule-id <id>\\`). Switch with enable/disable; remove with delete.\nExample: baker ads meta rules update 1132635173044914 --apply-to ad --when \"cost_per_result>25\" --window LAST_7D`,\n },\n args: { id: { type: \"positional\", description: \"Rule id or meta_temp_* ref\", required: true }, ...ruleArgs },\n run: async ({ args, rawArgs }) => {\n const accountId = bareAccountId(args as Record<string, unknown>);\n const target = requireTarget(args as Record<string, unknown>, \"rule\");\n const payload = rulePayload(args, rawArgs, true);\n if (payload.status === \"DELETED\") {\n failWriteValidation(\n \"update does not delete — use `baker ads meta rules delete <id>` if the user asked to remove it\",\n );\n }\n await stageOp({ kind: \"adRule.update\", accountId, target, payload });\n },\n});\n\nconst STATUS_COMMANDS = {\n enable: { status: \"ENABLED\", note: \"It starts running on its schedule from publish on.\" },\n disable: { status: \"DISABLED\", note: \"It stops running and keeps its settings; enable brings it back.\" },\n delete: {\n status: \"DELETED\",\n note: \"Deleting is permanent — Meta removes the rule from the account. Prefer disable unless the user asked to delete it.\",\n },\n} as const;\n\nfunction statusCommand(name: keyof typeof STATUS_COMMANDS) {\n const { status, note } = STATUS_COMMANDS[name];\n registerSchema({\n command: `ads.meta.rules.${name}`,\n description: `Stage ${name} for an automated rule. ${note}`,\n args: {\n id: { type: \"positional\", description: \"Rule 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} for an automated rule. ${note} ${STAGED_NOTE}` },\n args: { id: { type: \"positional\", description: \"Rule id\", required: true }, \"account-id\": ruleArgs[\"account-id\"] },\n run: async ({ args }) => {\n const accountId = bareAccountId(args as Record<string, unknown>);\n await stageOp({\n kind: \"adRule.update\",\n accountId,\n target: requireTarget(args as Record<string, unknown>, \"rule\"),\n payload: { status },\n });\n },\n });\n}\n\nexport const rulesEnableCommand = statusCommand(\"enable\");\nexport const rulesDisableCommand = statusCommand(\"disable\");\nexport const rulesDeleteCommand = statusCommand(\"delete\");\n\nregisterSchema({\n command: \"ads.meta.rules.run\",\n description:\n \"Stage running an automated rule once, at publish — it acts on whatever matches it then, whatever its schedule and even while it is off. Check what it would act on first with `rules preview <id>`.\",\n args: {\n id: { type: \"positional\", description: \"Rule id\", required: true },\n \"account-id\": { type: \"string\", description: \"Meta ad account ID (act_123)\", required: false },\n },\n});\n\nexport const rulesRunCommand = defineCommand({\n meta: {\n name: \"run\",\n description: `Stage running a rule once, at publish. ${STAGED_NOTE}\nThe rule acts on whatever matches it when the chat is published (pauses, budget changes, notifications) — Meta runs it then, whatever its schedule, even while it is off. Start here: baker ads meta rules preview <id>, then baker ads meta rules history --rule-id <id> after publishing.\nExample: baker ads meta rules run 1132635173044914`,\n },\n args: { id: { type: \"positional\", description: \"Rule id\", required: true }, \"account-id\": ruleArgs[\"account-id\"] },\n run: async ({ args }) => {\n const accountId = bareAccountId(args as Record<string, unknown>);\n const target = requireTarget(args as Record<string, unknown>, \"rule\");\n if (target.startsWith(\"meta_temp_\")) {\n failWriteValidation(\"a rule this chat creates exists only at publish — run it in a later chat, once it is live\");\n }\n await stageOp({ kind: \"adRule.update\", accountId, target, payload: { run_now: true } });\n },\n});\n","import type {\n AdRuleEvaluationSpec,\n AdRuleExecutionOption,\n AdRuleExecutionSpec,\n AdRuleFilter,\n AdRuleScheduleSpec,\n} from \"@baker/api/ads-meta/adRules\";\nimport { decimalMarkShown } from \"./customer-list.ts\";\n\n/**\n * The flag shorthand for Meta automated rules — `--apply-to ad --when\n * \"cost_per_result>20\" --action pause` — as the rule payload Meta's own\n * vocabulary describes. Pure: the command collects repeated flags and prints\n * refusals; everything here returns a payload or throws a message the agent can\n * act on.\n */\n\n/** Words marketers use for a metric → Meta's rule field. Anything else is passed through as a Meta field. */\nconst METRIC_ALIASES: Readonly<Record<string, string>> = {\n cost_per_result: \"cost_per\",\n cpr: \"cost_per\",\n cost_per_lead: \"cost_per_lead_fb\",\n cost_per_purchase: \"cost_per_purchase_fb\",\n cost_per_add_to_cart: \"cost_per_add_to_cart_fb\",\n cost_per_registration: \"cost_per_complete_registration_fb\",\n roas: \"website_purchase_roas\",\n purchase_roas: \"website_purchase_roas\",\n spend: \"spent\",\n amount_spent: \"spent\",\n link_clicks: \"link_click\",\n leads: \"offsite_conversion.fb_pixel_lead\",\n purchases: \"offsite_conversion.fb_pixel_purchase\",\n};\n\nconst CONDITION_HELP =\n 'write a condition as \"cost_per_result>20\", \"ctr<0.8\", \"spend between 10 and 50\" or \"frequency outside 1 and 3\" — money in the account currency, a dot or a comma for decimals (12.5 or 12,5)';\n\nfunction metric(raw: string): string {\n const key = raw.trim().toLowerCase();\n const dot = key.lastIndexOf(\".\");\n const prefix = dot > 0 && !key.startsWith(\"offsite_conversion\") ? key.slice(0, dot + 1) : \"\";\n const base = prefix ? key.slice(prefix.length) : key;\n return `${prefix}${METRIC_ALIASES[base] ?? base}`;\n}\n\n/**\n * A number as the marketer wrote it: a dot or a comma as the decimal mark\n * (\"12.5\", \"12,50\"), thousands grouped either way (\"1,234.50\", \"12,345,678\",\n * \"1.234,50\"). A lone comma before three digits (\"1,234\") could be either and is\n * refused, never guessed — a hundredfold budget change is not a typo to absorb.\n */\nfunction number(raw: string): number {\n const cleaned = raw.replace(/\\s/g, \"\");\n const mark = decimalMarkShown(cleaned) ?? (cleaned.includes(\",\") ? undefined : \".\");\n if (!mark) {\n throw new Error(\n `\"${raw}\" is ambiguous — it could be ${cleaned.replace(/,/g, \"\")} or ${cleaned.replace(\",\", \".\")}; write it with a dot for decimals and no thousands separator (1234 or 1.234)`,\n );\n }\n const plain = cleaned\n .split(mark === \",\" ? \".\" : \",\")\n .join(\"\")\n .replace(\",\", \".\");\n const value = plain === \"\" ? Number.NaN : Number(plain);\n if (!Number.isFinite(value)) throw new Error(`\"${raw}\" is not a number — ${CONDITION_HELP}`);\n return value;\n}\n\n/** One `--when` condition as a rule filter. */\nexport function ruleConditionFromFlag(raw: string): AdRuleFilter {\n const range = /^\\s*([\\w.:]+)\\s+(between|outside)\\s+(-?[\\d.,]+)\\s+and\\s+(-?[\\d.,]+)\\s*$/i.exec(raw);\n if (range?.[1] && range[2] && range[3] && range[4]) {\n return {\n field: metric(range[1]),\n operator: range[2].toLowerCase() === \"between\" ? \"IN_RANGE\" : \"NOT_IN_RANGE\",\n value: [number(range[3]), number(range[4])],\n };\n }\n const compare = /^\\s*([\\w.:]+)\\s*(>|<|=|\\babove\\b|\\bbelow\\b)\\s*(-?[\\d.,]+)\\s*$/i.exec(raw);\n if (compare?.[1] && compare[2] && compare[3]) {\n const word = compare[2].toLowerCase();\n const operator =\n word === \">\" || word === \"above\" ? \"GREATER_THAN\" : word === \"<\" || word === \"below\" ? \"LESS_THAN\" : \"EQUAL\";\n return { field: metric(compare[1]), operator, value: number(compare[3]) };\n }\n throw new Error(`could not read --when \"${raw}\" — ${CONDITION_HELP}`);\n}\n\n// --- Flags ---\n\nexport interface RuleFlags {\n name?: string;\n status?: string;\n \"apply-to\"?: string;\n ids?: string[];\n \"in-campaigns\"?: string[];\n \"in-adsets\"?: string[];\n \"name-contains\"?: string;\n when?: string[];\n window?: string;\n realtime?: boolean;\n action?: string;\n by?: string;\n cap?: string;\n \"max-times\"?: string;\n every?: string;\n \"notify-user-ids\"?: string[];\n schedule?: string;\n at?: string[];\n between?: string;\n days?: string;\n}\n\nconst LEVELS: Readonly<Record<string, string>> = {\n ad: \"AD\",\n ads: \"AD\",\n adset: \"ADSET\",\n adsets: \"ADSET\",\n \"ad-set\": \"ADSET\",\n campaign: \"CAMPAIGN\",\n campaigns: \"CAMPAIGN\",\n};\n\nconst EVALUATION_FLAGS = [\n \"apply-to\",\n \"ids\",\n \"in-campaigns\",\n \"in-adsets\",\n \"name-contains\",\n \"when\",\n \"window\",\n \"realtime\",\n] as const;\nconst EXECUTION_FLAGS = [\"action\", \"by\", \"cap\", \"max-times\", \"every\", \"notify-user-ids\"] as const;\nconst SCHEDULE_FLAGS = [\"schedule\", \"at\", \"between\", \"days\"] as const;\n\nfunction given(flags: RuleFlags, names: readonly (keyof RuleFlags)[]): boolean {\n return names.some((name) => {\n const value = flags[name];\n return Array.isArray(value) ? value.length > 0 : value !== undefined && value !== false && value !== \"\";\n });\n}\n\nfunction ruleLevel(flags: RuleFlags): string | undefined {\n const raw = flags[\"apply-to\"];\n if (!raw) return isRotate(flags) ? \"AD\" : undefined;\n const level = LEVELS[raw.toLowerCase()];\n if (!level) throw new Error(`--apply-to takes ad, adset or campaign — not \"${raw}\"`);\n return level;\n}\n\nfunction listFilter(field: string, ids: string[] | undefined): AdRuleFilter[] {\n return ids?.length ? [{ field, operator: \"IN\", value: ids }] : [];\n}\n\n/** What the rule watches: its level, the objects it names, and a name match. */\nfunction isRotate(flags: RuleFlags): boolean {\n return flags.action?.toLowerCase() === \"rotate\";\n}\n\n/**\n * A rotate rule acts on ads but names the ad sets it rotates within; Meta takes\n * those as `adset.id` beside entity_type AD and refuses a bare `id` (live).\n */\nfunction scopeFilters(flags: RuleFlags, level: string | undefined): AdRuleFilter[] {\n return [\n ...(level ? [{ field: \"entity_type\", operator: \"EQUAL\" as const, value: level }] : []),\n ...listFilter(isRotate(flags) ? \"adset.id\" : \"id\", flags.ids),\n ...listFilter(\"campaign.id\", flags[\"in-campaigns\"]),\n ...listFilter(\"adset.id\", flags[\"in-adsets\"]),\n ...(flags[\"name-contains\"] ? [{ field: \"name\", operator: \"CONTAIN\" as const, value: flags[\"name-contains\"] }] : []),\n ];\n}\n\nfunction evaluationFromFlags(flags: RuleFlags): AdRuleEvaluationSpec {\n const level = ruleLevel(flags);\n if (!level && !flags.ids?.length) {\n throw new Error(\n \"say what the rule watches: --apply-to ad|adset|campaign (every one in the account), plus --ids to name them\",\n );\n }\n const conditions = (flags.when ?? []).map(ruleConditionFromFlag);\n const [first, ...rest] = conditions;\n const trigger = flags.realtime ? first : undefined;\n if (flags.realtime && !trigger) throw new Error(\"--realtime needs a --when condition to react to\");\n const filters = scopeFilters(flags, level);\n if (conditions.length > 0 || flags.window) {\n const preset = (flags.window ?? (flags.realtime ? \"TODAY\" : \"LAST_7D\")).toUpperCase();\n filters.push({ field: \"time_preset\", operator: \"EQUAL\", value: preset });\n }\n filters.push(...(trigger ? rest : conditions));\n return {\n evaluation_type: trigger ? \"TRIGGER\" : \"SCHEDULE\",\n filters,\n ...(trigger ? { trigger: { type: \"STATS_CHANGE\" as const, ...trigger } } : {}),\n };\n}\n\nconst ACTIONS: Readonly<Record<string, { type: AdRuleExecutionSpec[\"execution_type\"]; sign?: 1 | -1 }>> = {\n pause: { type: \"PAUSE\" },\n unpause: { type: \"UNPAUSE\" },\n \"turn-on\": { type: \"UNPAUSE\" },\n notify: { type: \"NOTIFICATION\" },\n \"raise-budget\": { type: \"CHANGE_BUDGET\", sign: 1 },\n \"lower-budget\": { type: \"CHANGE_BUDGET\", sign: -1 },\n \"raise-bid\": { type: \"CHANGE_BID\", sign: 1 },\n \"lower-bid\": { type: \"CHANGE_BID\", sign: -1 },\n rotate: { type: \"ROTATE\" },\n};\n\n/** `90` minutes, `12h`, `7d` → minutes. */\nfunction minutes(raw: string): number {\n const match = /^\\s*(\\d+)\\s*(m|min|h|d)?\\s*$/i.exec(raw);\n if (!match?.[1]) throw new Error(`--every takes minutes, or hours/days like 12h or 7d — not \"${raw}\"`);\n const unit = (match[2] ?? \"m\").toLowerCase();\n return Number(match[1]) * (unit === \"d\" ? 1440 : unit === \"h\" ? 60 : 1);\n}\n\nfunction changeSpec(flags: RuleFlags, sign: 1 | -1): Record<string, unknown> {\n if (!flags.by)\n throw new Error(`--action ${flags.action} needs --by: a percentage like 20% or an amount in the account currency`);\n const percent = flags.by.trim().endsWith(\"%\");\n const amount = number(flags.by.replace(\"%\", \"\")) * sign;\n return {\n amount,\n unit: percent ? \"PERCENTAGE\" : \"ACCOUNT_CURRENCY\",\n ...(flags.cap ? { limit: number(flags.cap) } : {}),\n };\n}\n\nfunction executionFromFlags(flags: RuleFlags, level: string | undefined): AdRuleExecutionSpec {\n const action = flags.action ? ACTIONS[flags.action.toLowerCase()] : undefined;\n if (!action) {\n throw new Error(\n `--action takes ${Object.keys(ACTIONS).join(\", \")}${flags.action ? ` — not \"${flags.action}\"` : \"\"}`,\n );\n }\n // A campaign's budget is its own action on Meta (Advantage campaign budget).\n const type = action.type === \"CHANGE_BUDGET\" && level === \"CAMPAIGN\" ? \"CHANGE_CAMPAIGN_BUDGET\" : action.type;\n const options: AdRuleExecutionOption[] = [];\n if (action.sign) options.push({ field: \"change_spec\", operator: \"EQUAL\", value: changeSpec(flags, action.sign) });\n if (flags[\"max-times\"])\n options.push({ field: \"execution_count_limit\", operator: \"EQUAL\", value: number(flags[\"max-times\"]) });\n if (flags.every) options.push({ field: \"action_frequency\", operator: \"EQUAL\", value: minutes(flags.every) });\n if (flags[\"notify-user-ids\"]?.length)\n options.push({ field: \"user_ids\", operator: \"EQUAL\", value: flags[\"notify-user-ids\"] });\n return { execution_type: type, ...(options.length > 0 ? { execution_options: options } : {}) };\n}\n\nconst DAY_NUMBERS: Readonly<Record<string, number>> = { sun: 0, mon: 1, tue: 2, wed: 3, thu: 4, fri: 5, sat: 6 };\n\nfunction clockMinutes(raw: string): number {\n const match = /^\\s*(\\d{1,2}):(\\d{2})\\s*$/.exec(raw);\n if (!match?.[1] || !match[2]) throw new Error(`times are HH:MM on the half hour, like 09:30 — not \"${raw}\"`);\n return Number(match[1]) * 60 + Number(match[2]);\n}\n\nfunction days(raw: string | undefined): number[] | undefined {\n if (!raw) return undefined;\n return raw.split(\",\").map((day) => {\n const value = DAY_NUMBERS[day.trim().slice(0, 3).toLowerCase()];\n if (value === undefined) throw new Error(`--days takes mon,tue,wed,thu,fri,sat,sun — not \"${day}\"`);\n return value;\n });\n}\n\nconst SCHEDULE_TYPES: Readonly<Record<string, AdRuleScheduleSpec[\"schedule_type\"]>> = {\n daily: \"DAILY\",\n hourly: \"HOURLY\",\n \"half-hourly\": \"SEMI_HOURLY\",\n \"semi-hourly\": \"SEMI_HOURLY\",\n custom: \"CUSTOM\",\n};\n\nfunction scheduleFromFlags(flags: RuleFlags): AdRuleScheduleSpec {\n const custom = Boolean(flags.at?.length || flags.between || flags.days);\n const type = flags.schedule ? SCHEDULE_TYPES[flags.schedule.toLowerCase()] : custom ? \"CUSTOM\" : \"DAILY\";\n if (!type) throw new Error(`--schedule takes daily, hourly, half-hourly or custom — not \"${flags.schedule}\"`);\n // Times and days only belong to a custom schedule: refused, not dropped, so the\n // rule never runs on a timetable nobody asked for.\n if (type !== \"CUSTOM\" && custom) {\n throw new Error(\n `--at, --between and --days set a custom timetable, which --schedule ${flags.schedule} does not take — use --schedule custom (or leave --schedule out)`,\n );\n }\n if (type !== \"CUSTOM\") return { schedule_type: type };\n const dayList = days(flags.days);\n const withDays = dayList ? { days: dayList } : {};\n const items: NonNullable<AdRuleScheduleSpec[\"schedule\"]> = (flags.at ?? []).map((at) => ({\n start_minute: clockMinutes(at),\n ...withDays,\n }));\n if (flags.between) {\n const [from, to] = flags.between.split(\"-\");\n if (!from || !to) throw new Error(`--between takes a time range like 09:00-17:00 — not \"${flags.between}\"`);\n items.push({ start_minute: clockMinutes(from), end_minute: clockMinutes(to), ...withDays });\n }\n return { schedule_type: \"CUSTOM\", schedule: items.length > 0 ? items : [withDays] };\n}\n\n/**\n * The rule payload the flags describe. On an update, a part (what it checks,\n * what it does, when it runs) is built only when one of its flags is given —\n * and then whole, since Meta replaces a spec rather than merging it.\n */\n/** What a rule read carries that Meta sets itself — never sent back. */\nconst READ_ONLY_RULE_KEYS = new Set([\n \"id\",\n \"account_id\",\n \"created_time\",\n \"updated_time\",\n \"created_by\",\n \"disable_error_code\",\n \"description\",\n \"currencyCode\",\n]);\n\n/**\n * A rule file as staging takes it. It may be exactly what `rules --rule-id`\n * printed — the envelope, its `data` list of one, or the rule — so a read can\n * be edited and passed back; the fields Meta keeps for itself are left out.\n */\nexport function ruleFileForStaging(\n raw: unknown,\n { update = false }: { update?: boolean } = {},\n): Record<string, unknown> {\n const unwrapped =\n raw && typeof raw === \"object\" && !Array.isArray(raw) && \"data\" in raw ? (raw as { data: unknown }).data : raw;\n const list = Array.isArray(unwrapped) ? unwrapped : [unwrapped];\n if (list.length !== 1) {\n throw new Error(`holds ${list.length} rules — keep the one to stage`);\n }\n const rule = list[0];\n if (!rule || typeof rule !== \"object\" || Array.isArray(rule)) {\n throw new Error(\"must contain a JSON object with the rule\");\n }\n // An update switches a rule only through enable/disable: restating the read's\n // status would be refused as \"already DISABLED\".\n return Object.fromEntries(\n Object.entries(rule).filter(([key]) => !READ_ONLY_RULE_KEYS.has(key) && !(update && key === \"status\")),\n );\n}\n\nexport function rulePayloadFromFlags(\n flags: RuleFlags,\n { update = false }: { update?: boolean } = {},\n): Record<string, unknown> & { evaluation_spec?: AdRuleEvaluationSpec; schedule_spec?: AdRuleScheduleSpec } {\n if (flags.realtime && given(flags, SCHEDULE_FLAGS)) {\n throw new Error(\n \"--realtime rules react the moment a metric changes and run on no schedule — drop --schedule/--at/--between/--days, or drop --realtime\",\n );\n }\n const evaluation = !update || given(flags, EVALUATION_FLAGS) ? evaluationFromFlags(flags) : undefined;\n const level = ruleLevel(flags);\n const execution = !update || given(flags, EXECUTION_FLAGS) ? executionFromFlags(flags, level) : undefined;\n const realtime = evaluation?.evaluation_type === \"TRIGGER\";\n const schedule = !realtime && (!update || given(flags, SCHEDULE_FLAGS)) ? scheduleFromFlags(flags) : undefined;\n return {\n ...(flags.name ? { name: flags.name } : {}),\n ...(flags.status ? { status: flags.status.toUpperCase() } : {}),\n ...(evaluation ? { evaluation_spec: evaluation } : {}),\n ...(execution ? { execution_spec: execution } : {}),\n ...(schedule ? { schedule_spec: schedule } : {}),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;;;ACiB9B,IAAM,iBAAmD;AAAA,EACvD,iBAAiB;AAAA,EACjB,KAAK;AAAA,EACL,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,MAAM;AAAA,EACN,eAAe;AAAA,EACf,OAAO;AAAA,EACP,cAAc;AAAA,EACd,aAAa;AAAA,EACb,OAAO;AAAA,EACP,WAAW;AACb;AAEA,IAAM,iBACJ;AAEF,SAAS,OAAO,KAAqB;AACnC,QAAM,MAAM,IAAI,KAAK,EAAE,YAAY;AACnC,QAAM,MAAM,IAAI,YAAY,GAAG;AAC/B,QAAM,SAAS,MAAM,KAAK,CAAC,IAAI,WAAW,oBAAoB,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI;AAC1F,QAAM,OAAO,SAAS,IAAI,MAAM,OAAO,MAAM,IAAI;AACjD,SAAO,GAAG,MAAM,GAAG,eAAe,IAAI,KAAK,IAAI;AACjD;AAQA,SAAS,OAAO,KAAqB;AACnC,QAAM,UAAU,IAAI,QAAQ,OAAO,EAAE;AACrC,QAAM,OAAO,iBAAiB,OAAO,MAAM,QAAQ,SAAS,GAAG,IAAI,SAAY;AAC/E,MAAI,CAAC,MAAM;AACT,UAAM,IAAI;AAAA,MACR,IAAI,GAAG,qCAAgC,QAAQ,QAAQ,MAAM,EAAE,CAAC,OAAO,QAAQ,QAAQ,KAAK,GAAG,CAAC;AAAA,IAClG;AAAA,EACF;AACA,QAAM,QAAQ,QACX,MAAM,SAAS,MAAM,MAAM,GAAG,EAC9B,KAAK,EAAE,EACP,QAAQ,KAAK,GAAG;AACnB,QAAM,QAAQ,UAAU,KAAK,OAAO,MAAM,OAAO,KAAK;AACtD,MAAI,CAAC,OAAO,SAAS,KAAK,EAAG,OAAM,IAAI,MAAM,IAAI,GAAG,4BAAuB,cAAc,EAAE;AAC3F,SAAO;AACT;AAGO,SAAS,sBAAsB,KAA2B;AAC/D,QAAM,QAAQ,2EAA2E,KAAK,GAAG;AACjG,MAAI,QAAQ,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,GAAG;AAClD,WAAO;AAAA,MACL,OAAO,OAAO,MAAM,CAAC,CAAC;AAAA,MACtB,UAAU,MAAM,CAAC,EAAE,YAAY,MAAM,YAAY,aAAa;AAAA,MAC9D,OAAO,CAAC,OAAO,MAAM,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC;AAAA,IAC5C;AAAA,EACF;AACA,QAAM,UAAU,iEAAiE,KAAK,GAAG;AACzF,MAAI,UAAU,CAAC,KAAK,QAAQ,CAAC,KAAK,QAAQ,CAAC,GAAG;AAC5C,UAAM,OAAO,QAAQ,CAAC,EAAE,YAAY;AACpC,UAAM,WACJ,SAAS,OAAO,SAAS,UAAU,iBAAiB,SAAS,OAAO,SAAS,UAAU,cAAc;AACvG,WAAO,EAAE,OAAO,OAAO,QAAQ,CAAC,CAAC,GAAG,UAAU,OAAO,OAAO,QAAQ,CAAC,CAAC,EAAE;AAAA,EAC1E;AACA,QAAM,IAAI,MAAM,0BAA0B,GAAG,YAAO,cAAc,EAAE;AACtE;AA2BA,IAAM,SAA2C;AAAA,EAC/C,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AACb;AAEA,IAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,IAAM,kBAAkB,CAAC,UAAU,MAAM,OAAO,aAAa,SAAS,iBAAiB;AACvF,IAAM,iBAAiB,CAAC,YAAY,MAAM,WAAW,MAAM;AAE3D,SAAS,MAAM,OAAkB,OAA8C;AAC7E,SAAO,MAAM,KAAK,CAAC,SAAS;AAC1B,UAAM,QAAQ,MAAM,IAAI;AACxB,WAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,SAAS,IAAI,UAAU,UAAa,UAAU,SAAS,UAAU;AAAA,EACvG,CAAC;AACH;AAEA,SAAS,UAAU,OAAsC;AACvD,QAAM,MAAM,MAAM,UAAU;AAC5B,MAAI,CAAC,IAAK,QAAO,SAAS,KAAK,IAAI,OAAO;AAC1C,QAAM,QAAQ,OAAO,IAAI,YAAY,CAAC;AACtC,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,sDAAiD,GAAG,GAAG;AACnF,SAAO;AACT;AAEA,SAAS,WAAW,OAAe,KAA2C;AAC5E,SAAO,KAAK,SAAS,CAAC,EAAE,OAAO,UAAU,MAAM,OAAO,IAAI,CAAC,IAAI,CAAC;AAClE;AAGA,SAAS,SAAS,OAA2B;AAC3C,SAAO,MAAM,QAAQ,YAAY,MAAM;AACzC;AAMA,SAAS,aAAa,OAAkB,OAA2C;AACjF,SAAO;AAAA,IACL,GAAI,QAAQ,CAAC,EAAE,OAAO,eAAe,UAAU,SAAkB,OAAO,MAAM,CAAC,IAAI,CAAC;AAAA,IACpF,GAAG,WAAW,SAAS,KAAK,IAAI,aAAa,MAAM,MAAM,GAAG;AAAA,IAC5D,GAAG,WAAW,eAAe,MAAM,cAAc,CAAC;AAAA,IAClD,GAAG,WAAW,YAAY,MAAM,WAAW,CAAC;AAAA,IAC5C,GAAI,MAAM,eAAe,IAAI,CAAC,EAAE,OAAO,QAAQ,UAAU,WAAoB,OAAO,MAAM,eAAe,EAAE,CAAC,IAAI,CAAC;AAAA,EACnH;AACF;AAEA,SAAS,oBAAoB,OAAwC;AACnE,QAAM,QAAQ,UAAU,KAAK;AAC7B,MAAI,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ;AAChC,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,QAAM,cAAc,MAAM,QAAQ,CAAC,GAAG,IAAI,qBAAqB;AAC/D,QAAM,CAAC,OAAO,GAAG,IAAI,IAAI;AACzB,QAAM,UAAU,MAAM,WAAW,QAAQ;AACzC,MAAI,MAAM,YAAY,CAAC,QAAS,OAAM,IAAI,MAAM,iDAAiD;AACjG,QAAM,UAAU,aAAa,OAAO,KAAK;AACzC,MAAI,WAAW,SAAS,KAAK,MAAM,QAAQ;AACzC,UAAM,UAAU,MAAM,WAAW,MAAM,WAAW,UAAU,YAAY,YAAY;AACpF,YAAQ,KAAK,EAAE,OAAO,eAAe,UAAU,SAAS,OAAO,OAAO,CAAC;AAAA,EACzE;AACA,UAAQ,KAAK,GAAI,UAAU,OAAO,UAAW;AAC7C,SAAO;AAAA,IACL,iBAAiB,UAAU,YAAY;AAAA,IACvC;AAAA,IACA,GAAI,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAyB,GAAG,QAAQ,EAAE,IAAI,CAAC;AAAA,EAC9E;AACF;AAEA,IAAM,UAAoG;AAAA,EACxG,OAAO,EAAE,MAAM,QAAQ;AAAA,EACvB,SAAS,EAAE,MAAM,UAAU;AAAA,EAC3B,WAAW,EAAE,MAAM,UAAU;AAAA,EAC7B,QAAQ,EAAE,MAAM,eAAe;AAAA,EAC/B,gBAAgB,EAAE,MAAM,iBAAiB,MAAM,EAAE;AAAA,EACjD,gBAAgB,EAAE,MAAM,iBAAiB,MAAM,GAAG;AAAA,EAClD,aAAa,EAAE,MAAM,cAAc,MAAM,EAAE;AAAA,EAC3C,aAAa,EAAE,MAAM,cAAc,MAAM,GAAG;AAAA,EAC5C,QAAQ,EAAE,MAAM,SAAS;AAC3B;AAGA,SAAS,QAAQ,KAAqB;AACpC,QAAM,QAAQ,gCAAgC,KAAK,GAAG;AACtD,MAAI,CAAC,QAAQ,CAAC,EAAG,OAAM,IAAI,MAAM,mEAA8D,GAAG,GAAG;AACrG,QAAM,QAAQ,MAAM,CAAC,KAAK,KAAK,YAAY;AAC3C,SAAO,OAAO,MAAM,CAAC,CAAC,KAAK,SAAS,MAAM,OAAO,SAAS,MAAM,KAAK;AACvE;AAEA,SAAS,WAAW,OAAkB,MAAuC;AAC3E,MAAI,CAAC,MAAM;AACT,UAAM,IAAI,MAAM,YAAY,MAAM,MAAM,yEAAyE;AACnH,QAAM,UAAU,MAAM,GAAG,KAAK,EAAE,SAAS,GAAG;AAC5C,QAAM,SAAS,OAAO,MAAM,GAAG,QAAQ,KAAK,EAAE,CAAC,IAAI;AACnD,SAAO;AAAA,IACL;AAAA,IACA,MAAM,UAAU,eAAe;AAAA,IAC/B,GAAI,MAAM,MAAM,EAAE,OAAO,OAAO,MAAM,GAAG,EAAE,IAAI,CAAC;AAAA,EAClD;AACF;AAEA,SAAS,mBAAmB,OAAkB,OAAgD;AAC5F,QAAM,SAAS,MAAM,SAAS,QAAQ,MAAM,OAAO,YAAY,CAAC,IAAI;AACpE,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI;AAAA,MACR,kBAAkB,OAAO,KAAK,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM,SAAS,gBAAW,MAAM,MAAM,MAAM,EAAE;AAAA,IACpG;AAAA,EACF;AAEA,QAAM,OAAO,OAAO,SAAS,mBAAmB,UAAU,aAAa,2BAA2B,OAAO;AACzG,QAAM,UAAmC,CAAC;AAC1C,MAAI,OAAO,KAAM,SAAQ,KAAK,EAAE,OAAO,eAAe,UAAU,SAAS,OAAO,WAAW,OAAO,OAAO,IAAI,EAAE,CAAC;AAChH,MAAI,MAAM,WAAW;AACnB,YAAQ,KAAK,EAAE,OAAO,yBAAyB,UAAU,SAAS,OAAO,OAAO,MAAM,WAAW,CAAC,EAAE,CAAC;AACvG,MAAI,MAAM,MAAO,SAAQ,KAAK,EAAE,OAAO,oBAAoB,UAAU,SAAS,OAAO,QAAQ,MAAM,KAAK,EAAE,CAAC;AAC3G,MAAI,MAAM,iBAAiB,GAAG;AAC5B,YAAQ,KAAK,EAAE,OAAO,YAAY,UAAU,SAAS,OAAO,MAAM,iBAAiB,EAAE,CAAC;AACxF,SAAO,EAAE,gBAAgB,MAAM,GAAI,QAAQ,SAAS,IAAI,EAAE,mBAAmB,QAAQ,IAAI,CAAC,EAAG;AAC/F;AAEA,IAAM,cAAgD,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE;AAE/G,SAAS,aAAa,KAAqB;AACzC,QAAM,QAAQ,4BAA4B,KAAK,GAAG;AAClD,MAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAG,OAAM,IAAI,MAAM,4DAAuD,GAAG,GAAG;AAC3G,SAAO,OAAO,MAAM,CAAC,CAAC,IAAI,KAAK,OAAO,MAAM,CAAC,CAAC;AAChD;AAEA,SAAS,KAAK,KAA+C;AAC3D,MAAI,CAAC,IAAK,QAAO;AACjB,SAAO,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,QAAQ;AACjC,UAAM,QAAQ,YAAY,IAAI,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,YAAY,CAAC;AAC9D,QAAI,UAAU,OAAW,OAAM,IAAI,MAAM,wDAAmD,GAAG,GAAG;AAClG,WAAO;AAAA,EACT,CAAC;AACH;AAEA,IAAM,iBAAgF;AAAA,EACpF,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,eAAe;AAAA,EACf,QAAQ;AACV;AAEA,SAAS,kBAAkB,OAAsC;AAC/D,QAAM,SAAS,QAAQ,MAAM,IAAI,UAAU,MAAM,WAAW,MAAM,IAAI;AACtE,QAAM,OAAO,MAAM,WAAW,eAAe,MAAM,SAAS,YAAY,CAAC,IAAI,SAAS,WAAW;AACjG,MAAI,CAAC,KAAM,OAAM,IAAI,MAAM,qEAAgE,MAAM,QAAQ,GAAG;AAG5G,MAAI,SAAS,YAAY,QAAQ;AAC/B,UAAM,IAAI;AAAA,MACR,uEAAuE,MAAM,QAAQ;AAAA,IACvF;AAAA,EACF;AACA,MAAI,SAAS,SAAU,QAAO,EAAE,eAAe,KAAK;AACpD,QAAM,UAAU,KAAK,MAAM,IAAI;AAC/B,QAAM,WAAW,UAAU,EAAE,MAAM,QAAQ,IAAI,CAAC;AAChD,QAAM,SAAsD,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ;AAAA,IACvF,cAAc,aAAa,EAAE;AAAA,IAC7B,GAAG;AAAA,EACL,EAAE;AACF,MAAI,MAAM,SAAS;AACjB,UAAM,CAAC,MAAM,EAAE,IAAI,MAAM,QAAQ,MAAM,GAAG;AAC1C,QAAI,CAAC,QAAQ,CAAC,GAAI,OAAM,IAAI,MAAM,6DAAwD,MAAM,OAAO,GAAG;AAC1G,UAAM,KAAK,EAAE,cAAc,aAAa,IAAI,GAAG,YAAY,aAAa,EAAE,GAAG,GAAG,SAAS,CAAC;AAAA,EAC5F;AACA,SAAO,EAAE,eAAe,UAAU,UAAU,MAAM,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACpF;AAQA,IAAM,sBAAsB,oBAAI,IAAI;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAOM,SAAS,mBACd,KACA,EAAE,SAAS,MAAM,IAA0B,CAAC,GACnB;AACzB,QAAM,YACJ,OAAO,OAAO,QAAQ,YAAY,CAAC,MAAM,QAAQ,GAAG,KAAK,UAAU,MAAO,IAA0B,OAAO;AAC7G,QAAM,OAAO,MAAM,QAAQ,SAAS,IAAI,YAAY,CAAC,SAAS;AAC9D,MAAI,KAAK,WAAW,GAAG;AACrB,UAAM,IAAI,MAAM,SAAS,KAAK,MAAM,qCAAgC;AAAA,EACtE;AACA,QAAM,OAAO,KAAK,CAAC;AACnB,MAAI,CAAC,QAAQ,OAAO,SAAS,YAAY,MAAM,QAAQ,IAAI,GAAG;AAC5D,UAAM,IAAI,MAAM,0CAA0C;AAAA,EAC5D;AAGA,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,IAAI,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,oBAAoB,IAAI,GAAG,KAAK,EAAE,UAAU,QAAQ,SAAS;AAAA,EACvG;AACF;AAEO,SAAS,qBACd,OACA,EAAE,SAAS,MAAM,IAA0B,CAAC,GAC8D;AAC1G,MAAI,MAAM,YAAY,MAAM,OAAO,cAAc,GAAG;AAClD,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,QAAM,aAAa,CAAC,UAAU,MAAM,OAAO,gBAAgB,IAAI,oBAAoB,KAAK,IAAI;AAC5F,QAAM,QAAQ,UAAU,KAAK;AAC7B,QAAM,YAAY,CAAC,UAAU,MAAM,OAAO,eAAe,IAAI,mBAAmB,OAAO,KAAK,IAAI;AAChG,QAAM,WAAW,YAAY,oBAAoB;AACjD,QAAM,WAAW,CAAC,aAAa,CAAC,UAAU,MAAM,OAAO,cAAc,KAAK,kBAAkB,KAAK,IAAI;AACrG,SAAO;AAAA,IACL,GAAI,MAAM,OAAO,EAAE,MAAM,MAAM,KAAK,IAAI,CAAC;AAAA,IACzC,GAAI,MAAM,SAAS,EAAE,QAAQ,MAAM,OAAO,YAAY,EAAE,IAAI,CAAC;AAAA,IAC7D,GAAI,aAAa,EAAE,iBAAiB,WAAW,IAAI,CAAC;AAAA,IACpD,GAAI,YAAY,EAAE,gBAAgB,UAAU,IAAI,CAAC;AAAA,IACjD,GAAI,WAAW,EAAE,eAAe,SAAS,IAAI,CAAC;AAAA,EAChD;AACF;;;AD9VA,IAAM,cAAc;AAEpB,IAAM,WAAW;AAAA,EACf,cAAc,EAAE,MAAM,UAAU,aAAa,8BAA8B;AAAA,EAC3E,MAAM,EAAE,MAAM,UAAU,aAAa,yDAAoD;AAAA,EACzF,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,KAAK;AAAA,IACH,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,gBAAgB,EAAE,MAAM,UAAU,aAAa,oEAAoE;AAAA,EACnH,aAAa,EAAE,MAAM,UAAU,aAAa,kEAAkE;AAAA,EAC9G,iBAAiB,EAAE,MAAM,UAAU,aAAa,6CAA6C;AAAA,EAC7F,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,IAAI,EAAE,MAAM,UAAU,aAAa,uEAAuE;AAAA,EAC1G,KAAK;AAAA,IACH,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,aAAa,EAAE,MAAM,UAAU,aAAa,6CAA6C;AAAA,EACzF,OAAO,EAAE,MAAM,UAAU,aAAa,6EAA6E;AAAA,EACnH,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,UAAU,EAAE,MAAM,UAAU,aAAa,kDAAkD;AAAA,EAC3F,IAAI,EAAE,MAAM,UAAU,aAAa,yDAAyD;AAAA,EAC5F,SAAS,EAAE,MAAM,UAAU,aAAa,yEAAyE;AAAA,EACjH,MAAM,EAAE,MAAM,UAAU,aAAa,qDAAqD;AAAA,EAC1F,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aACE;AAAA,EACJ;AACF;AAGA,SAAS,WACP,MAC0E;AAC1E,SAAO,OAAO,YAAY,OAAO,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK,UAAU,MAAM,CAAC,CAAC,CAAC;AACxG;AAEA,SAAS,WAAW,SAAwC,MAAc,QAA2B;AACnG,SAAO,eAAe,SAAS,MAAM,MAAM,EACxC,QAAQ,CAAC,UAAU,MAAM,MAAM,GAAG,CAAC,EACnC,IAAI,CAAC,UAAU,MAAM,KAAK,CAAC,EAC3B,OAAO,OAAO;AACnB;AAGO,SAAS,kBAAkB,MAA+B,SAAmD;AAClH,QAAM,OAAO,CAAC,QAAiB,OAAO,KAAK,GAAG,MAAM,YAAY,KAAK,GAAG,MAAM,KAAK,OAAO,KAAK,GAAG,CAAC,IAAI;AACvG,SAAO;AAAA,IACL,MAAM,KAAK,MAAM;AAAA,IACjB,QAAQ,KAAK,QAAQ;AAAA,IACrB,YAAY,KAAK,UAAU;AAAA,IAC3B,KAAK,WAAW,SAAS,OAAO,KAAK,GAAG;AAAA,IACxC,gBAAgB,WAAW,SAAS,gBAAgB,KAAK,cAAc,CAAC;AAAA,IACxE,aAAa,WAAW,SAAS,aAAa,KAAK,WAAW,CAAC;AAAA,IAC/D,iBAAiB,KAAK,eAAe;AAAA,IACrC,MAAM,eAAe,SAAS,QAAQ,KAAK,IAAI;AAAA,IAC/C,QAAQ,KAAK,QAAQ;AAAA,IACrB,UAAU,KAAK,aAAa;AAAA,IAC5B,QAAQ,KAAK,QAAQ;AAAA,IACrB,IAAI,KAAK,IAAI;AAAA,IACb,KAAK,KAAK,KAAK;AAAA,IACf,aAAa,KAAK,WAAW;AAAA,IAC7B,OAAO,KAAK,OAAO;AAAA,IACnB,mBAAmB,WAAW,SAAS,mBAAmB,KAAK,iBAAiB,CAAC;AAAA,IACjF,UAAU,KAAK,UAAU;AAAA,IACzB,IAAI,eAAe,SAAS,MAAM,KAAK,EAAE;AAAA,IACzC,SAAS,KAAK,SAAS;AAAA,IACvB,MAAM,WAAW,SAAS,QAAQ,KAAK,IAAI,EAAE,KAAK,GAAG,KAAK;AAAA,EAC5D;AACF;AAEA,SAAS,cAAc,OAAkB,QAA0C;AACjF,MAAI;AACF,WAAO,qBAAqB,OAAO,EAAE,OAAO,CAAC;AAAA,EAC/C,SAAS,KAAK;AACZ,wBAAoB,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC;AAAA,EACtE;AACF;AAEA,SAAS,aAAa,MAAe,QAA0C;AAC7E,MAAI,OAAO,SAAS,YAAY,KAAK,WAAW,GAAG;AACjD,WAAO,CAAC;AAAA,EACV;AACA,MAAI;AACF,WAAO,mBAAmB,KAAK,MAAM,aAAa,MAAM,MAAM,CAAC,GAAc,EAAE,OAAO,CAAC;AAAA,EACzF,SAAS,KAAK;AACZ,wBAAoB,GAAG,IAAI,KAAK,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CAAC,EAAE;AAAA,EACpF;AACF;AAGA,SAAS,YAAY,MAA+B,SAAwC,QAAiB;AAC3G,QAAM,OAAO,aAAa,KAAK,MAAM,MAAM;AAC3C,QAAM,QAAQ,kBAAkB,MAAM,OAAO;AAC7C,QAAM,WAAW,OAAO,KAAK,IAAI,EAAE,SAAS;AAC5C,QAAM,YAAY,WAAW,cAAc,OAAO,IAAI,IAAI,cAAc,OAAO,MAAM;AACrF,SAAO,EAAE,GAAG,MAAM,GAAG,UAAU;AACjC;AAEA,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM,WAAW,EAAE,GAAG,UAAU,QAAQ,EAAE,MAAM,UAAU,aAAa,gCAAgC,EAAE,CAAC;AAC5G,CAAC;AAEM,IAAM,qBAAqB,cAAc;AAAA,EAC9C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa,oCAAoC,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO9D;AAAA,EACA,MAAM,EAAE,GAAG,UAAU,QAAQ,EAAE,MAAM,UAAU,aAAa,gCAAgC,EAAE;AAAA,EAC9F,KAAK,OAAO,EAAE,MAAM,QAAQ,MAAM;AAChC,UAAM,YAAY,cAAc,IAA+B;AAC/D,UAAM,QAAQ,EAAE,MAAM,iBAAiB,WAAW,SAAS,YAAY,MAAM,SAAS,KAAK,EAAE,CAAC;AAAA,EAChG;AACF,CAAC;AAED,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,aAAa,WAAW,UAAU,KAAK,GAAG,GAAG,WAAW,QAAQ,EAAE;AACtG,CAAC;AAEM,IAAM,qBAAqB,cAAc;AAAA,EAC9C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa,6BAA6B,WAAW;AAAA;AAAA;AAAA,EAGvD;AAAA,EACA,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,aAAa,8BAA8B,UAAU,KAAK,GAAG,GAAG,SAAS;AAAA,EAC3G,KAAK,OAAO,EAAE,MAAM,QAAQ,MAAM;AAChC,UAAM,YAAY,cAAc,IAA+B;AAC/D,UAAM,SAAS,cAAc,MAAiC,MAAM;AACpE,UAAM,UAAU,YAAY,MAAM,SAAS,IAAI;AAC/C,QAAI,QAAQ,WAAW,WAAW;AAChC;AAAA,QACE;AAAA,MACF;AAAA,IACF;AACA,UAAM,QAAQ,EAAE,MAAM,iBAAiB,WAAW,QAAQ,QAAQ,CAAC;AAAA,EACrE;AACF,CAAC;AAED,IAAM,kBAAkB;AAAA,EACtB,QAAQ,EAAE,QAAQ,WAAW,MAAM,qDAAqD;AAAA,EACxF,SAAS,EAAE,QAAQ,YAAY,MAAM,kEAAkE;AAAA,EACvG,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,EACR;AACF;AAEA,SAAS,cAAc,MAAoC;AACzD,QAAM,EAAE,QAAQ,KAAK,IAAI,gBAAgB,IAAI;AAC7C,iBAAe;AAAA,IACb,SAAS,kBAAkB,IAAI;AAAA,IAC/B,aAAa,SAAS,IAAI,2BAA2B,IAAI;AAAA,IACzD,MAAM;AAAA,MACJ,IAAI,EAAE,MAAM,cAAc,aAAa,WAAW,UAAU,KAAK;AAAA,MACjE,cAAc,EAAE,MAAM,UAAU,aAAa,gCAAgC,UAAU,MAAM;AAAA,IAC/F;AAAA,EACF,CAAC;AACD,SAAO,cAAc;AAAA,IACnB,MAAM,EAAE,MAAM,aAAa,SAAS,IAAI,2BAA2B,IAAI,IAAI,WAAW,GAAG;AAAA,IACzF,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,aAAa,WAAW,UAAU,KAAK,GAAG,cAAc,SAAS,YAAY,EAAE;AAAA,IACjH,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,YAAM,YAAY,cAAc,IAA+B;AAC/D,YAAM,QAAQ;AAAA,QACZ,MAAM;AAAA,QACN;AAAA,QACA,QAAQ,cAAc,MAAiC,MAAM;AAAA,QAC7D,SAAS,EAAE,OAAO;AAAA,MACpB,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEO,IAAM,qBAAqB,cAAc,QAAQ;AACjD,IAAM,sBAAsB,cAAc,SAAS;AACnD,IAAM,qBAAqB,cAAc,QAAQ;AAExD,eAAe;AAAA,EACb,SAAS;AAAA,EACT,aACE;AAAA,EACF,MAAM;AAAA,IACJ,IAAI,EAAE,MAAM,cAAc,aAAa,WAAW,UAAU,KAAK;AAAA,IACjE,cAAc,EAAE,MAAM,UAAU,aAAa,gCAAgC,UAAU,MAAM;AAAA,EAC/F;AACF,CAAC;AAEM,IAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa,0CAA0C,WAAW;AAAA;AAAA;AAAA,EAGpE;AAAA,EACA,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,aAAa,WAAW,UAAU,KAAK,GAAG,cAAc,SAAS,YAAY,EAAE;AAAA,EACjH,KAAK,OAAO,EAAE,KAAK,MAAM;AACvB,UAAM,YAAY,cAAc,IAA+B;AAC/D,UAAM,SAAS,cAAc,MAAiC,MAAM;AACpE,QAAI,OAAO,WAAW,YAAY,GAAG;AACnC,0BAAoB,gGAA2F;AAAA,IACjH;AACA,UAAM,QAAQ,EAAE,MAAM,iBAAiB,WAAW,QAAQ,SAAS,EAAE,SAAS,KAAK,EAAE,CAAC;AAAA,EACxF;AACF,CAAC;","names":[]}