@koda-sl/baker-cli 0.514.0 → 0.515.0-dev.8df53bffe

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 (854) hide show
  1. package/README.md +19 -0
  2. package/dist/account-QX4G4BJ7.js +82 -0
  3. package/dist/account-UFYZS3K6.js +82 -0
  4. package/dist/account-reads-FOEVPWDP.js +219 -0
  5. package/dist/account-users-UTIF7MIT.js +64 -0
  6. package/dist/account-writes-QAQXRIEY.js +68 -0
  7. package/dist/accounts-JK3OAS5U.js +701 -0
  8. package/dist/accounts-OE33CKWD.js +80 -0
  9. package/dist/actions-QZDSLFFK.js +55 -0
  10. package/dist/activecampaign-U6TKRR45.js +938 -0
  11. package/dist/ad-group-writes-XY5JYTKT.js +172 -0
  12. package/dist/ad-groups-YEO5ZS5U.js +70 -0
  13. package/dist/ad-writes-XRCPK4SP.js +176 -0
  14. package/dist/add-2EF7S4NK.js +305 -0
  15. package/dist/add-YCJ6RXPG.js +107 -0
  16. package/dist/ads-AYJAYLFR.js +48 -0
  17. package/dist/ads-H7H7H2CM.js +79 -0
  18. package/dist/advertisers-JLSU3G35.js +123 -0
  19. package/dist/analytics-ADIWEM6G.js +2437 -0
  20. package/dist/analytics-XB6FRNVJ.js +447 -0
  21. package/dist/animate-HRWFVE2N.js +480 -0
  22. package/dist/assign-IWZ2OPFL.js +80 -0
  23. package/dist/audience-size-P5L6MZ4C.js +76 -0
  24. package/dist/audiences-XKERWKKE.js +280 -0
  25. package/dist/audit-SEADLC6F.js +154 -0
  26. package/dist/autocomplete-AJQBJS5R.js +114 -0
  27. package/dist/avatars-4HCGWBOL.js +38 -0
  28. package/dist/bid-pricing-NWSUO3VM.js +103 -0
  29. package/dist/brand-C6OB6Q4U.js +22 -0
  30. package/dist/brief-LCWWQ4OC.js +543 -0
  31. package/dist/campaign-groups-PH64UXZJ.js +99 -0
  32. package/dist/campaign-writes-BN3EGDK5.js +168 -0
  33. package/dist/campaign-writes-CLV5ZSUK.js +176 -0
  34. package/dist/campaigns-5XRY27JZ.js +78 -0
  35. package/dist/campaigns-JF4TYYUP.js +113 -0
  36. package/dist/campaigns-ZYU4BXDP.js +111 -0
  37. package/dist/canvas-AI34UBGU.js +46 -0
  38. package/dist/capabilities-TRHAPTUU.js +147 -0
  39. package/dist/catalog-ZY3MFT55.js +65 -0
  40. package/dist/catalogs-6XLBWAUS.js +130 -0
  41. package/dist/changes-OOUVQDBY.js +135 -0
  42. package/dist/chatgpt-NAXIFWXV.js +47 -0
  43. package/dist/chats-I5RHBRS5.js +279 -0
  44. package/dist/check-3E64VBUE.js +107 -0
  45. package/dist/chunk-3CHYJYSS.js +319 -0
  46. package/dist/chunk-3G3GC5N4.js +429 -0
  47. package/dist/chunk-3M45PYU7.js +274 -0
  48. package/dist/chunk-3QHXF3QI.js +23 -0
  49. package/dist/chunk-3XPHUMLJ.js +3868 -0
  50. package/dist/chunk-45EERHDB.js +783 -0
  51. package/dist/chunk-4FGTANFK.js +387 -0
  52. package/dist/chunk-4IHWT7PH.js +167 -0
  53. package/dist/chunk-4LF4AYPT.js +846 -0
  54. package/dist/chunk-5JJD33Y2.js +455 -0
  55. package/dist/chunk-5K4QYYOJ.js +831 -0
  56. package/dist/chunk-5LJ6E4YU.js +163 -0
  57. package/dist/chunk-5T73MMBL.js +275 -0
  58. package/dist/chunk-64MAHLTK.js +363 -0
  59. package/dist/chunk-6OIKNJ7G.js +26 -0
  60. package/dist/chunk-6ZFSDYWV.js +131 -0
  61. package/dist/chunk-7I6ZVBLM.js +358 -0
  62. package/dist/chunk-AN4OEQXE.js +122 -0
  63. package/dist/chunk-AULSX5ZA.js +5368 -0
  64. package/dist/chunk-AVYUFJQQ.js +46 -0
  65. package/dist/chunk-B4YF7VQF.js +97 -0
  66. package/dist/chunk-BDOYNGUL.js +98 -0
  67. package/dist/chunk-BJOK7QD4.js +207 -0
  68. package/dist/chunk-CMCGFSUS.js +197 -0
  69. package/dist/chunk-DMJUIUAL.js +676 -0
  70. package/dist/chunk-DUCUOZLS.js +225 -0
  71. package/dist/chunk-EW7JSTRZ.js +24026 -0
  72. package/dist/chunk-EW7JSTRZ.js.map +1 -0
  73. package/dist/chunk-F3CZFUXZ.js +3187 -0
  74. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  75. package/dist/chunk-FJZYOVSW.js +843 -0
  76. package/dist/chunk-FKP4ECJY.js +19 -0
  77. package/dist/chunk-GAYRBIEF.js +712 -0
  78. package/dist/chunk-GAYRBIEF.js.map +1 -0
  79. package/dist/chunk-GNMEOU46.js +8954 -0
  80. package/dist/chunk-GYKYXWUQ.js +156 -0
  81. package/dist/chunk-GYPLRU4Y.js +297 -0
  82. package/dist/chunk-I43ZEWJQ.js +285 -0
  83. package/dist/chunk-IZABTTW5.js +228 -0
  84. package/dist/chunk-K7IE6UYV.js +1646 -0
  85. package/dist/chunk-KH5YHHJV.js +604 -0
  86. package/dist/chunk-KMY7AD3N.js +51 -0
  87. package/dist/chunk-KPCHWDJM.js +8914 -0
  88. package/dist/chunk-KTZCLJ2D.js +148 -0
  89. package/dist/chunk-MKUA54QE.js +638 -0
  90. package/dist/chunk-MTV2RSGY.js +63 -0
  91. package/dist/chunk-MUS2UTWU.js +4254 -0
  92. package/dist/chunk-MUS2UTWU.js.map +1 -0
  93. package/dist/chunk-N2QX57K3.js +392 -0
  94. package/dist/chunk-NEYWS2DQ.js +479 -0
  95. package/dist/chunk-NZ34KM46.js +7211 -0
  96. package/dist/chunk-OTC6UMJ2.js +191 -0
  97. package/dist/chunk-OUY2IAWL.js +224 -0
  98. package/dist/chunk-PJXNCRMR.js +344 -0
  99. package/dist/chunk-PYQ3GF7R.js +91 -0
  100. package/dist/chunk-Q3EIVZAR.js +170 -0
  101. package/dist/chunk-QHZE62GP.js +1919 -0
  102. package/dist/chunk-RGR6TSTJ.js +103 -0
  103. package/dist/chunk-SAAXU7QR.js +203 -0
  104. package/dist/chunk-SHTKLRI6.js +66 -0
  105. package/dist/chunk-SIKCVWM3.js +76 -0
  106. package/dist/chunk-SSXG53CZ.js +89 -0
  107. package/dist/chunk-TBWAM577.js +547 -0
  108. package/dist/chunk-TGPGQTZA.js +169 -0
  109. package/dist/chunk-UMIX2BMM.js +1518 -0
  110. package/dist/chunk-URMAEVZO.js +150 -0
  111. package/dist/chunk-VBO3ZVUU.js +61 -0
  112. package/dist/chunk-VFLYMHTO.js +592 -0
  113. package/dist/chunk-VGYIVXIZ.js +249 -0
  114. package/dist/chunk-VIB7R533.js +57 -0
  115. package/dist/chunk-WVWLPXBO.js +910 -0
  116. package/dist/chunk-XEH5XAP6.js +494 -0
  117. package/dist/chunk-XEOKVL4E.js +142 -0
  118. package/dist/chunk-XOGQJYXH.js +64 -0
  119. package/dist/chunk-XUXRA7IB.js +942 -0
  120. package/dist/claim-FIK2YTLM.js +200 -0
  121. package/dist/cli.js +34 -33
  122. package/dist/cli.js.map +1 -1
  123. package/dist/companies-KMMV6EJW.js +198 -0
  124. package/dist/company-B54URPJG.js +308 -0
  125. package/dist/complete-PPCWEXS3.js +84 -0
  126. package/dist/connect-IAXSZPGA.js +45 -0
  127. package/dist/conversation-KHTZBGX2.js +96 -0
  128. package/dist/conversion-report-U66HW6JM.js +127 -0
  129. package/dist/conversion-upload-command-IHFKVX2M.js +439 -0
  130. package/dist/conversion-writes-RSGDOAET.js +122 -0
  131. package/dist/conversions-BVOL43W4.js +78 -0
  132. package/dist/conversions-SUMZAV2T.js +140 -0
  133. package/dist/create-732HQL3C.js +210 -0
  134. package/dist/create-TFR6R2KF.js +239 -0
  135. package/dist/create-UC57ULRL.js +62 -0
  136. package/dist/create-UL2OYXOA.js +135 -0
  137. package/dist/creatives-BZEVJ6ER.js +58 -0
  138. package/dist/creatives-FU3YELGU.js +223 -0
  139. package/dist/credentials-AYV5YQE4.js +290 -0
  140. package/dist/critique-FKIJB72I.js +1451 -0
  141. package/dist/critique-IQYNDXCN.js +232 -0
  142. package/dist/crm-ILQMNJPX.js +323 -0
  143. package/dist/crm-MQQRBITZ.js +227 -0
  144. package/dist/currency-CGKO5GKH.js +88 -0
  145. package/dist/customers-NKKU6S7G.js +59 -0
  146. package/dist/delete-2TCCNRMH.js +57 -0
  147. package/dist/delete-HCZTISBT.js +69 -0
  148. package/dist/delete-UIKB5ZXS.js +67 -0
  149. package/dist/demographics-ABZODD45.js +141 -0
  150. package/dist/discard-V3K5PZ4W.js +69 -0
  151. package/dist/discover-VM3O7CQM.js +172 -0
  152. package/dist/domain-A66DHOTQ.js +101 -0
  153. package/dist/download-LSAZD5JO.js +172 -0
  154. package/dist/draft-5UUJC675.js +335 -0
  155. package/dist/draft-BATA5CVI.js +283 -0
  156. package/dist/draft-CRDBU6LF.js +308 -0
  157. package/dist/draft-P7IDMXWR.js +310 -0
  158. package/dist/draft-YBNL4ZZA.js +220 -0
  159. package/dist/engine/index.js +7 -7
  160. package/dist/experiments-MLLTHMMS.js +236 -0
  161. package/dist/facets-KSHR3MBE.js +117 -0
  162. package/dist/feedback-4GCPXZSI.js +111 -0
  163. package/dist/feedback-record-VEFHUIUJ.js +265 -0
  164. package/dist/fetch-42QL56JC.js +179 -0
  165. package/dist/fit-Q5GRVF2O.js +65 -0
  166. package/dist/flows-M3WBZQET.js +250 -0
  167. package/dist/fonts-GD4YRXQU.js +39 -0
  168. package/dist/forecast-HT46MFL4.js +121 -0
  169. package/dist/forecast-ONVS2QAI.js +169 -0
  170. package/dist/funnel-76BAD64Q.js +397 -0
  171. package/dist/generate-VBEY3N3L.js +263 -0
  172. package/dist/get-4KFAO475.js +82 -0
  173. package/dist/get-QV5NIADE.js +59 -0
  174. package/dist/google-7EZP7I6J.js +3267 -0
  175. package/dist/google-ads-J7WHTJO4.js +198 -0
  176. package/dist/history-EULKWQUS.js +136 -0
  177. package/dist/history-FEBJHFHJ.js +69 -0
  178. package/dist/history-RDVV7KBN.js +102 -0
  179. package/dist/hubspot-A3RQNMYN.js +782 -0
  180. package/dist/ideas-WX7EBPSF.js +45 -0
  181. package/dist/images-4AXF4LAC.js +92 -0
  182. package/dist/ingest-AM5YDTRH.js +110 -0
  183. package/dist/ingest-C3M4GUO6.js +26 -0
  184. package/dist/insights-UTCMSWSC.js +132 -0
  185. package/dist/inspect-DWCLRZGR.js +192 -0
  186. package/dist/intent-ZMYMFGB4.js +95 -0
  187. package/dist/keyword-gap-XSJO2R77.js +130 -0
  188. package/dist/keyword-metrics-M46FCTAS.js +200 -0
  189. package/dist/keywords-for-site-XNSLX7EA.js +131 -0
  190. package/dist/landing-MUNYZQNA.js +28 -0
  191. package/dist/languages-DIQ3OG3E.js +40 -0
  192. package/dist/lead-routes-57PUNPAS.js +698 -0
  193. package/dist/lead-routes-57PUNPAS.js.map +1 -0
  194. package/dist/leads-LAATTW5G.js +115 -0
  195. package/dist/learn-3GLY4G3H.js +207 -0
  196. package/dist/line-item-writes-XJTTA3X5.js +211 -0
  197. package/dist/line-items-JR25T2C5.js +107 -0
  198. package/dist/link-7DSLIF3I.js +67 -0
  199. package/dist/linkedin-W5BJ6HEH.js +1316 -0
  200. package/dist/linkedin-person-2ZYSOHYR.js +139 -0
  201. package/dist/list-3653DIYB.js +67 -0
  202. package/dist/list-G66HVYCR.js +306 -0
  203. package/dist/list-Z4M53MS5.js +154 -0
  204. package/dist/locations-HTVYJSDJ.js +40 -0
  205. package/dist/locations-M2B5XDU4.js +69 -0
  206. package/dist/log-2RJU5BOW.js +95 -0
  207. package/dist/make-MJ6JMU5T.js +1370 -0
  208. package/dist/map-27IPOBY6.js +436 -0
  209. package/dist/mcp-TFQTME4P.js +717 -0
  210. package/dist/media-sources-P246GM7W.js +35 -0
  211. package/dist/members-KOKBTUC2.js +47 -0
  212. package/dist/metrics-WYWUX6Y5.js +152 -0
  213. package/dist/models-HJ7Y55AH.js +155 -0
  214. package/dist/normalize-GXBUNTYJ.js +144 -0
  215. package/dist/options-MA25RNXF.js +125 -0
  216. package/dist/organization-NLEVNGKQ.js +949 -0
  217. package/dist/performance-34EUP5KL.js +5541 -0
  218. package/dist/performance-J3DLNI2W.js +27 -0
  219. package/dist/pixels-THEGYRXT.js +62 -0
  220. package/dist/promoted-tweet-writes-SBXWKO23.js +183 -0
  221. package/dist/promoted-tweets-W42FNWS7.js +119 -0
  222. package/dist/publish-YG76GOA7.js +344 -0
  223. package/dist/query-IQICLABN.js +62 -0
  224. package/dist/reddit-X4CERXYF.js +29 -0
  225. package/dist/refresh-A36GA7JN.js +97 -0
  226. package/dist/release-3NCMZIDI.js +63 -0
  227. package/dist/relevant-pages-UDDQOYLD.js +99 -0
  228. package/dist/remove-6LE3XNRG.js +53 -0
  229. package/dist/reopen-XLADJ2UU.js +66 -0
  230. package/dist/rerun-QVMFJZA2.js +95 -0
  231. package/dist/research-D5UUJF74.js +72 -0
  232. package/dist/research-QCI5ISUE.js +265 -0
  233. package/dist/reset-DD37KDXQ.js +57 -0
  234. package/dist/reset-FLZPKY2N.js +57 -0
  235. package/dist/resolve-KRKIJKT7.js +124 -0
  236. package/dist/retry-ALXYEKFV.js +65 -0
  237. package/dist/retry-MIXKW4EW.js +63 -0
  238. package/dist/revenue-UBZUTSXN.js +91 -0
  239. package/dist/rules-SO6P44B6.js +99 -0
  240. package/dist/rules-add-XN3BZKFO.js +465 -0
  241. package/dist/run-K2DOMOAN.js +69 -0
  242. package/dist/run-T7XAH2W5.js +70 -0
  243. package/dist/scaffold-ad-TWIT7R4U.js +1516 -0
  244. package/dist/scaffold-static-ad-GPJKOGOI.js +1015 -0
  245. package/dist/scaffold-video-7BQNOJ4S.js +888 -0
  246. package/dist/schedule-UTRVEWPE.js +64 -0
  247. package/dist/scheduled-agents-ZGCUZ6SB.js +55 -0
  248. package/dist/schema-D6BMZAPB.js +69 -0
  249. package/dist/schema-DSMF6ELE.js +135 -0
  250. package/dist/search-2P72GSKY.js +177 -0
  251. package/dist/select-N7VWQ2ZQ.js +106 -0
  252. package/dist/set-prompt-3N3HMHT6.js +198 -0
  253. package/dist/setup-links-I5RFZTS4.js +144 -0
  254. package/dist/shopify-LXSR37XI.js +3958 -0
  255. package/dist/site-AI3BFWRK.js +180 -0
  256. package/dist/sources-AOF2YDYX.js +457 -0
  257. package/dist/sources-DVMJEXEX.js +30 -0
  258. package/dist/stale-P4GGOLIB.js +76 -0
  259. package/dist/status-O25MXHU4.js +65 -0
  260. package/dist/studio-5Z4NMA4K.js +49 -0
  261. package/dist/sync-2AI7LKKN.js +57 -0
  262. package/dist/sync-definition-F3CXG6KG.js +69 -0
  263. package/dist/tags-SEZ2CQJM.js +26 -0
  264. package/dist/tags-TJDZXOXS.js +227 -0
  265. package/dist/tags-YSC7ZILI.js +23 -0
  266. package/dist/tags-Z6EALYOS.js +23 -0
  267. package/dist/tags-ZXSVW6XO.js +23 -0
  268. package/dist/targeting-criteria-AU5CSMAU.js +113 -0
  269. package/dist/targets-IOIH5JYS.js +106 -0
  270. package/dist/testimonials-Y6PUV6AL.js +32 -0
  271. package/dist/themes-PGPIAKAO.js +95 -0
  272. package/dist/top-companies-FSITN3ZR.js +111 -0
  273. package/dist/transcript-CGPX7Y37.js +165 -0
  274. package/dist/translate-QCBMGOKR.js +609 -0
  275. package/dist/triggers-MONMZSKT.js +144 -0
  276. package/dist/unlink-I7QFQQKO.js +70 -0
  277. package/dist/unstage-JXG5AU5Q.js +88 -0
  278. package/dist/update-BVZGM54I.js +66 -0
  279. package/dist/update-EI2BHUM2.js +101 -0
  280. package/dist/update-RZSV4NYP.js +155 -0
  281. package/dist/update-WLDNOZ5U.js +192 -0
  282. package/dist/upload-BP3YEQSF.js +129 -0
  283. package/dist/url-options-63DED6CR.js +131 -0
  284. package/dist/url-params-TRFI2PMD.js +101 -0
  285. package/dist/validate-SNCR25A7.js +122 -0
  286. package/dist/videos-SVZV5YYC.js +41 -0
  287. package/dist/viewer-check-LUAEGV6H.js +83 -0
  288. package/dist/web-MJQEK7BB.js +143 -0
  289. package/dist/winning-ads-KNLJHHCO.js +86 -0
  290. package/dist/write-commands-NVCX7IAU.js +1502 -0
  291. package/dist/x-ZQNHYIDU.js +47 -0
  292. package/package.json +1 -1
  293. package/dist/account-D6LEVVWT.js +0 -82
  294. package/dist/account-SGK3IJ6N.js +0 -82
  295. package/dist/account-reads-2MSUVG46.js +0 -219
  296. package/dist/account-users-MHC7AD6K.js +0 -64
  297. package/dist/account-writes-QQQC54WC.js +0 -68
  298. package/dist/accounts-2O6I7YBN.js +0 -80
  299. package/dist/accounts-QNE5QWBG.js +0 -701
  300. package/dist/actions-D7OWCP36.js +0 -55
  301. package/dist/activecampaign-LBS4M4C4.js +0 -938
  302. package/dist/ad-group-writes-CJTTUUIT.js +0 -172
  303. package/dist/ad-groups-HLGSVH74.js +0 -70
  304. package/dist/ad-writes-3UE3U7VE.js +0 -176
  305. package/dist/add-HFQB2NTU.js +0 -107
  306. package/dist/add-IUYE5H6A.js +0 -305
  307. package/dist/ads-HLUJB5SQ.js +0 -48
  308. package/dist/ads-PYNDMHUD.js +0 -79
  309. package/dist/advertisers-XXM6POO5.js +0 -123
  310. package/dist/analytics-AULKYNNT.js +0 -447
  311. package/dist/analytics-DNDTC643.js +0 -2437
  312. package/dist/animate-2BMHZ4FM.js +0 -480
  313. package/dist/assign-2GQVQKKO.js +0 -80
  314. package/dist/audience-size-C3YHQPZB.js +0 -76
  315. package/dist/audiences-M3A3QK52.js +0 -280
  316. package/dist/audit-FLPJ7GTE.js +0 -154
  317. package/dist/autocomplete-ZYMHHV7E.js +0 -114
  318. package/dist/avatars-WZ2JDMHH.js +0 -38
  319. package/dist/bid-pricing-H3M63PTW.js +0 -103
  320. package/dist/brand-IZTTBZII.js +0 -22
  321. package/dist/brief-OPQ7ICOY.js +0 -543
  322. package/dist/campaign-groups-IQSDKOVI.js +0 -99
  323. package/dist/campaign-writes-APAAV4ZU.js +0 -168
  324. package/dist/campaign-writes-BN4PZP4Z.js +0 -176
  325. package/dist/campaigns-4Y3JQC2U.js +0 -111
  326. package/dist/campaigns-GA34MEN2.js +0 -78
  327. package/dist/campaigns-K2FVD3XW.js +0 -113
  328. package/dist/canvas-IQ753Q2O.js +0 -46
  329. package/dist/capabilities-ZITW4RF7.js +0 -147
  330. package/dist/catalog-TZLU5NWI.js +0 -65
  331. package/dist/catalogs-ZR7DECMG.js +0 -130
  332. package/dist/changes-VWKTM27U.js +0 -135
  333. package/dist/chatgpt-OPOD2WHB.js +0 -47
  334. package/dist/chats-AL2SYBJO.js +0 -279
  335. package/dist/check-U2YLRD6H.js +0 -107
  336. package/dist/chunk-2GYCWRF3.js +0 -170
  337. package/dist/chunk-2L7F7KR4.js +0 -61
  338. package/dist/chunk-3YJNSUNF.js +0 -131
  339. package/dist/chunk-44ZRCSR7.js +0 -228
  340. package/dist/chunk-46YLDIQG.js +0 -4254
  341. package/dist/chunk-46YLDIQG.js.map +0 -1
  342. package/dist/chunk-4EDWXZ3I.js +0 -363
  343. package/dist/chunk-4FFBGR5L.js +0 -66
  344. package/dist/chunk-4UZUUSVL.js +0 -592
  345. package/dist/chunk-4XHCEYHI.js +0 -831
  346. package/dist/chunk-4Z6PVR3M.js +0 -479
  347. package/dist/chunk-5Y5FZV2W.js +0 -122
  348. package/dist/chunk-6HJXLGDV.js +0 -392
  349. package/dist/chunk-6KWEF6HF.js +0 -8914
  350. package/dist/chunk-6S5CWGDA.js +0 -429
  351. package/dist/chunk-6VYROVWO.js +0 -494
  352. package/dist/chunk-7HZSORAB.js +0 -843
  353. package/dist/chunk-A3IQAONL.js +0 -638
  354. package/dist/chunk-AQRXXC6E.js +0 -319
  355. package/dist/chunk-ARBXT73X.js +0 -387
  356. package/dist/chunk-ASRS37QE.js +0 -710
  357. package/dist/chunk-ASRS37QE.js.map +0 -1
  358. package/dist/chunk-BEZHQIEI.js +0 -97
  359. package/dist/chunk-BFURWHVR.js +0 -547
  360. package/dist/chunk-BX6B25KK.js +0 -358
  361. package/dist/chunk-DSCEXBDR.js +0 -676
  362. package/dist/chunk-F4YQ5PVR.js +0 -1518
  363. package/dist/chunk-FFG2OYVV.js +0 -64
  364. package/dist/chunk-FLWDFPXE.js +0 -23
  365. package/dist/chunk-FRNBRN2C.js +0 -1646
  366. package/dist/chunk-GE3VT3CA.js +0 -51
  367. package/dist/chunk-GW2WRZZA.js +0 -24026
  368. package/dist/chunk-GW2WRZZA.js.map +0 -1
  369. package/dist/chunk-HGBJQGO5.js +0 -142
  370. package/dist/chunk-HML3VQIW.js +0 -225
  371. package/dist/chunk-I7AYMJZA.js +0 -783
  372. package/dist/chunk-IRM273C7.js +0 -207
  373. package/dist/chunk-IWKD56AY.js +0 -156
  374. package/dist/chunk-JAC6JVCI.js +0 -26
  375. package/dist/chunk-JLAQWMVF.js +0 -3868
  376. package/dist/chunk-K6NULQN7.js +0 -57
  377. package/dist/chunk-L2BRAC2J.js +0 -19
  378. package/dist/chunk-LGMI4LSY.js +0 -455
  379. package/dist/chunk-LRV6M2WB.js +0 -1919
  380. package/dist/chunk-MCJ5I5LR.js +0 -3187
  381. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  382. package/dist/chunk-MVD7QIXI.js +0 -46
  383. package/dist/chunk-MZPS46OR.js +0 -76
  384. package/dist/chunk-OG47L5GG.js +0 -275
  385. package/dist/chunk-OR6KVLI5.js +0 -169
  386. package/dist/chunk-PC3FJEZH.js +0 -7211
  387. package/dist/chunk-PX3PUDK7.js +0 -167
  388. package/dist/chunk-QIOFOD4K.js +0 -344
  389. package/dist/chunk-R2SYF5FC.js +0 -249
  390. package/dist/chunk-RTH2I55B.js +0 -942
  391. package/dist/chunk-S6VFDNSQ.js +0 -63
  392. package/dist/chunk-SG2TDQEE.js +0 -150
  393. package/dist/chunk-SWN6OHXG.js +0 -148
  394. package/dist/chunk-T3P6O2VU.js +0 -89
  395. package/dist/chunk-TX7CQTD4.js +0 -5368
  396. package/dist/chunk-TXDE2QJ3.js +0 -604
  397. package/dist/chunk-UDIEKCIR.js +0 -203
  398. package/dist/chunk-UKSSNYLU.js +0 -98
  399. package/dist/chunk-USCADMM3.js +0 -163
  400. package/dist/chunk-UUGISMNE.js +0 -910
  401. package/dist/chunk-VDPOCAQ2.js +0 -197
  402. package/dist/chunk-VEJ3QX6M.js +0 -103
  403. package/dist/chunk-VFJB7OG6.js +0 -91
  404. package/dist/chunk-VRIPVLE7.js +0 -8954
  405. package/dist/chunk-WFY7KSHB.js +0 -274
  406. package/dist/chunk-XHQYFNNK.js +0 -846
  407. package/dist/chunk-YILZR3XI.js +0 -224
  408. package/dist/chunk-YJFLXOH4.js +0 -191
  409. package/dist/chunk-YNYAT2TZ.js +0 -285
  410. package/dist/chunk-YWHZYR6S.js +0 -297
  411. package/dist/claim-GOLUTAJ3.js +0 -200
  412. package/dist/companies-4AJJGTMC.js +0 -198
  413. package/dist/company-MOSPLRZJ.js +0 -308
  414. package/dist/complete-777BDV45.js +0 -84
  415. package/dist/connect-3YY7MF3I.js +0 -45
  416. package/dist/conversation-KROMHDHK.js +0 -96
  417. package/dist/conversion-report-JZHI2IHY.js +0 -127
  418. package/dist/conversion-upload-command-7RSZ5ZQU.js +0 -439
  419. package/dist/conversion-writes-SNCLQDXQ.js +0 -122
  420. package/dist/conversions-43EYP2W2.js +0 -140
  421. package/dist/conversions-EUOWILCQ.js +0 -78
  422. package/dist/create-3WOZO2XT.js +0 -239
  423. package/dist/create-7IFYLX7P.js +0 -210
  424. package/dist/create-FOHIQC3E.js +0 -62
  425. package/dist/create-UWQSQTK6.js +0 -135
  426. package/dist/creatives-2DR3QHJW.js +0 -58
  427. package/dist/creatives-KUO67WYA.js +0 -223
  428. package/dist/credentials-IP4L37XP.js +0 -290
  429. package/dist/critique-LGDNMLBL.js +0 -232
  430. package/dist/critique-LJMFAURK.js +0 -1451
  431. package/dist/crm-BNYW7PF7.js +0 -323
  432. package/dist/crm-J53V2QTN.js +0 -227
  433. package/dist/currency-X7Y6TSLF.js +0 -88
  434. package/dist/customers-663K2OCP.js +0 -59
  435. package/dist/delete-5W3YVA4L.js +0 -67
  436. package/dist/delete-6U7E6YUW.js +0 -57
  437. package/dist/delete-G4NY6ZG6.js +0 -69
  438. package/dist/demographics-4Y5LTCU4.js +0 -141
  439. package/dist/discard-RKCZNKMN.js +0 -69
  440. package/dist/discover-6DORQWXY.js +0 -172
  441. package/dist/domain-PLA2O4FW.js +0 -101
  442. package/dist/download-4EFLVSA4.js +0 -172
  443. package/dist/draft-4V7W5DV2.js +0 -310
  444. package/dist/draft-HY3U2GHU.js +0 -283
  445. package/dist/draft-JMNAGW7C.js +0 -220
  446. package/dist/draft-R6EKORNS.js +0 -308
  447. package/dist/draft-TRPQCJ4B.js +0 -335
  448. package/dist/experiments-4V242DG2.js +0 -236
  449. package/dist/facets-WXJ2MCU6.js +0 -117
  450. package/dist/feedback-IRSRPXV6.js +0 -111
  451. package/dist/feedback-record-DT3R4NA3.js +0 -265
  452. package/dist/fetch-YLQP5VQL.js +0 -179
  453. package/dist/fit-BEFCY2B4.js +0 -65
  454. package/dist/flows-FDMF3F3P.js +0 -250
  455. package/dist/fonts-C6XN5667.js +0 -39
  456. package/dist/forecast-BTPIXEQ5.js +0 -169
  457. package/dist/forecast-ZTXZD3HD.js +0 -121
  458. package/dist/funnel-7KOEX7YM.js +0 -397
  459. package/dist/generate-NWHPM2GQ.js +0 -263
  460. package/dist/get-KBSKPTAV.js +0 -59
  461. package/dist/get-OSVQVMP6.js +0 -82
  462. package/dist/google-M6BJ22UL.js +0 -3267
  463. package/dist/google-ads-XCJVAXWF.js +0 -198
  464. package/dist/history-3NTM5SFN.js +0 -69
  465. package/dist/history-4TN2A6BL.js +0 -136
  466. package/dist/history-5IWW2X33.js +0 -102
  467. package/dist/hubspot-HMVSRJQZ.js +0 -782
  468. package/dist/ideas-M66FU45H.js +0 -45
  469. package/dist/images-MM5OPUKV.js +0 -92
  470. package/dist/ingest-GU3WEBN3.js +0 -110
  471. package/dist/ingest-KMLYCFF4.js +0 -26
  472. package/dist/insights-CQCWOCIT.js +0 -132
  473. package/dist/inspect-4JO2J3D6.js +0 -192
  474. package/dist/intent-YCQCUCV3.js +0 -95
  475. package/dist/keyword-gap-PUSF7EKY.js +0 -130
  476. package/dist/keyword-metrics-JXBM22ZD.js +0 -200
  477. package/dist/keywords-for-site-OAYA7KP7.js +0 -131
  478. package/dist/landing-OZU5RRFV.js +0 -28
  479. package/dist/languages-SLFV73GE.js +0 -40
  480. package/dist/leads-Q7APIJRQ.js +0 -115
  481. package/dist/learn-NBBJRMVZ.js +0 -207
  482. package/dist/line-item-writes-X3L5NQEH.js +0 -211
  483. package/dist/line-items-NJMEPEF5.js +0 -107
  484. package/dist/link-WZSNUQQ2.js +0 -67
  485. package/dist/linkedin-55PAID62.js +0 -1316
  486. package/dist/linkedin-person-MVRI7LLC.js +0 -139
  487. package/dist/list-6S54IAUX.js +0 -67
  488. package/dist/list-QRJ4E3SC.js +0 -154
  489. package/dist/list-RZUDFLJN.js +0 -306
  490. package/dist/locations-T2OMP6QN.js +0 -40
  491. package/dist/locations-W3VOYBWL.js +0 -69
  492. package/dist/log-53SAPZZ3.js +0 -95
  493. package/dist/make-ZF3YIMKW.js +0 -1370
  494. package/dist/map-J37QFJSV.js +0 -436
  495. package/dist/mcp-YRIFPYNU.js +0 -717
  496. package/dist/media-sources-EQI3U4TC.js +0 -35
  497. package/dist/members-GYVMSCKL.js +0 -47
  498. package/dist/metrics-4YVJHYRI.js +0 -152
  499. package/dist/models-JQEPSPNQ.js +0 -155
  500. package/dist/normalize-MFN3WCH5.js +0 -144
  501. package/dist/options-DLHDHO7H.js +0 -125
  502. package/dist/organization-C2VOA2SD.js +0 -949
  503. package/dist/performance-NIF3CESZ.js +0 -27
  504. package/dist/performance-T6TBVHVU.js +0 -5541
  505. package/dist/pixels-LQAJOZIM.js +0 -62
  506. package/dist/promoted-tweet-writes-Y6BBOWDL.js +0 -183
  507. package/dist/promoted-tweets-RJT53DRM.js +0 -119
  508. package/dist/publish-IOTMJCCY.js +0 -344
  509. package/dist/query-XZMDGRO5.js +0 -62
  510. package/dist/reddit-JIHMAKAQ.js +0 -29
  511. package/dist/refresh-OQZ263CS.js +0 -97
  512. package/dist/release-4CHFURO3.js +0 -63
  513. package/dist/relevant-pages-FS7GBVXK.js +0 -99
  514. package/dist/remove-IJQPHPDI.js +0 -53
  515. package/dist/reopen-YTLPVKUR.js +0 -66
  516. package/dist/rerun-C7NB7B35.js +0 -95
  517. package/dist/research-PNBACCCP.js +0 -72
  518. package/dist/research-TLHNPK3O.js +0 -265
  519. package/dist/reset-JVLW7HA2.js +0 -57
  520. package/dist/reset-Y6FXLAQE.js +0 -57
  521. package/dist/resolve-YLRESES5.js +0 -124
  522. package/dist/retry-3V3IGDRR.js +0 -65
  523. package/dist/retry-AEKQLQMP.js +0 -63
  524. package/dist/revenue-E4GQIOUY.js +0 -91
  525. package/dist/rules-34BQAWU3.js +0 -99
  526. package/dist/rules-add-CM5XUYNS.js +0 -465
  527. package/dist/run-MD64RDHZ.js +0 -69
  528. package/dist/run-QCNRR3CA.js +0 -70
  529. package/dist/scaffold-ad-NADPY3CB.js +0 -1516
  530. package/dist/scaffold-static-ad-5YEYYVYH.js +0 -1015
  531. package/dist/scaffold-video-W7DF2CBJ.js +0 -888
  532. package/dist/schedule-CTRRF6TS.js +0 -64
  533. package/dist/scheduled-agents-OXYAVSIE.js +0 -55
  534. package/dist/schema-6Y3IXFDC.js +0 -69
  535. package/dist/schema-BEUYOGSW.js +0 -135
  536. package/dist/search-GFJKWPKN.js +0 -177
  537. package/dist/select-S72CCL57.js +0 -106
  538. package/dist/set-prompt-YYFDRXRI.js +0 -198
  539. package/dist/setup-links-D4JJLESN.js +0 -144
  540. package/dist/shopify-T4UWFIQC.js +0 -3958
  541. package/dist/site-BBZAUZA3.js +0 -180
  542. package/dist/sources-BUPV7H7F.js +0 -457
  543. package/dist/sources-FLUGHSVP.js +0 -30
  544. package/dist/stale-HP54JS5X.js +0 -76
  545. package/dist/status-CLSWQFCQ.js +0 -65
  546. package/dist/studio-T5L7UEX6.js +0 -49
  547. package/dist/sync-4YTVVEVC.js +0 -57
  548. package/dist/sync-definition-OGQ5XTQE.js +0 -69
  549. package/dist/tags-CZTRQNXV.js +0 -26
  550. package/dist/tags-FDQXWTCQ.js +0 -23
  551. package/dist/tags-R67DKRZ6.js +0 -23
  552. package/dist/tags-SA2LU6AW.js +0 -227
  553. package/dist/tags-ZOXX6VRE.js +0 -23
  554. package/dist/targeting-criteria-AQYXVSGN.js +0 -113
  555. package/dist/targets-UUVCEG3F.js +0 -106
  556. package/dist/testimonials-G3OCNPBY.js +0 -32
  557. package/dist/themes-FEVYZZCW.js +0 -95
  558. package/dist/top-companies-BQGWKYUK.js +0 -111
  559. package/dist/transcript-U46AEOEI.js +0 -165
  560. package/dist/translate-AS7JVKYM.js +0 -609
  561. package/dist/triggers-ECRBPYYF.js +0 -144
  562. package/dist/unlink-VDNCSRJV.js +0 -70
  563. package/dist/unstage-ATDXUYP2.js +0 -88
  564. package/dist/update-FJ6TBV3E.js +0 -101
  565. package/dist/update-HDBJCSTI.js +0 -66
  566. package/dist/update-U43DJRGV.js +0 -155
  567. package/dist/update-Z7TIUBMJ.js +0 -192
  568. package/dist/upload-LXCFSRIU.js +0 -129
  569. package/dist/url-options-Z4BQBEMI.js +0 -131
  570. package/dist/url-params-J7RKP5RB.js +0 -101
  571. package/dist/validate-VR3HEOMJ.js +0 -122
  572. package/dist/videos-36AXDUGZ.js +0 -41
  573. package/dist/viewer-check-6HL4OUQY.js +0 -83
  574. package/dist/web-7BRJRQX7.js +0 -143
  575. package/dist/winning-ads-GMM5W2O4.js +0 -86
  576. package/dist/write-commands-IM5DPG3R.js +0 -1502
  577. package/dist/x-HGFAL3NY.js +0 -47
  578. /package/dist/{account-SGK3IJ6N.js.map → account-QX4G4BJ7.js.map} +0 -0
  579. /package/dist/{account-D6LEVVWT.js.map → account-UFYZS3K6.js.map} +0 -0
  580. /package/dist/{account-reads-2MSUVG46.js.map → account-reads-FOEVPWDP.js.map} +0 -0
  581. /package/dist/{account-users-MHC7AD6K.js.map → account-users-UTIF7MIT.js.map} +0 -0
  582. /package/dist/{account-writes-QQQC54WC.js.map → account-writes-QAQXRIEY.js.map} +0 -0
  583. /package/dist/{accounts-QNE5QWBG.js.map → accounts-JK3OAS5U.js.map} +0 -0
  584. /package/dist/{accounts-2O6I7YBN.js.map → accounts-OE33CKWD.js.map} +0 -0
  585. /package/dist/{actions-D7OWCP36.js.map → actions-QZDSLFFK.js.map} +0 -0
  586. /package/dist/{activecampaign-LBS4M4C4.js.map → activecampaign-U6TKRR45.js.map} +0 -0
  587. /package/dist/{ad-group-writes-CJTTUUIT.js.map → ad-group-writes-XY5JYTKT.js.map} +0 -0
  588. /package/dist/{ad-groups-HLGSVH74.js.map → ad-groups-YEO5ZS5U.js.map} +0 -0
  589. /package/dist/{ad-writes-3UE3U7VE.js.map → ad-writes-XRCPK4SP.js.map} +0 -0
  590. /package/dist/{add-IUYE5H6A.js.map → add-2EF7S4NK.js.map} +0 -0
  591. /package/dist/{add-HFQB2NTU.js.map → add-YCJ6RXPG.js.map} +0 -0
  592. /package/dist/{ads-HLUJB5SQ.js.map → ads-AYJAYLFR.js.map} +0 -0
  593. /package/dist/{ads-PYNDMHUD.js.map → ads-H7H7H2CM.js.map} +0 -0
  594. /package/dist/{advertisers-XXM6POO5.js.map → advertisers-JLSU3G35.js.map} +0 -0
  595. /package/dist/{analytics-DNDTC643.js.map → analytics-ADIWEM6G.js.map} +0 -0
  596. /package/dist/{analytics-AULKYNNT.js.map → analytics-XB6FRNVJ.js.map} +0 -0
  597. /package/dist/{animate-2BMHZ4FM.js.map → animate-HRWFVE2N.js.map} +0 -0
  598. /package/dist/{assign-2GQVQKKO.js.map → assign-IWZ2OPFL.js.map} +0 -0
  599. /package/dist/{audience-size-C3YHQPZB.js.map → audience-size-P5L6MZ4C.js.map} +0 -0
  600. /package/dist/{audiences-M3A3QK52.js.map → audiences-XKERWKKE.js.map} +0 -0
  601. /package/dist/{audit-FLPJ7GTE.js.map → audit-SEADLC6F.js.map} +0 -0
  602. /package/dist/{autocomplete-ZYMHHV7E.js.map → autocomplete-AJQBJS5R.js.map} +0 -0
  603. /package/dist/{avatars-WZ2JDMHH.js.map → avatars-4HCGWBOL.js.map} +0 -0
  604. /package/dist/{bid-pricing-H3M63PTW.js.map → bid-pricing-NWSUO3VM.js.map} +0 -0
  605. /package/dist/{brand-IZTTBZII.js.map → brand-C6OB6Q4U.js.map} +0 -0
  606. /package/dist/{brief-OPQ7ICOY.js.map → brief-LCWWQ4OC.js.map} +0 -0
  607. /package/dist/{campaign-groups-IQSDKOVI.js.map → campaign-groups-PH64UXZJ.js.map} +0 -0
  608. /package/dist/{campaign-writes-APAAV4ZU.js.map → campaign-writes-BN3EGDK5.js.map} +0 -0
  609. /package/dist/{campaign-writes-BN4PZP4Z.js.map → campaign-writes-CLV5ZSUK.js.map} +0 -0
  610. /package/dist/{campaigns-GA34MEN2.js.map → campaigns-5XRY27JZ.js.map} +0 -0
  611. /package/dist/{campaigns-K2FVD3XW.js.map → campaigns-JF4TYYUP.js.map} +0 -0
  612. /package/dist/{campaigns-4Y3JQC2U.js.map → campaigns-ZYU4BXDP.js.map} +0 -0
  613. /package/dist/{canvas-IQ753Q2O.js.map → canvas-AI34UBGU.js.map} +0 -0
  614. /package/dist/{capabilities-ZITW4RF7.js.map → capabilities-TRHAPTUU.js.map} +0 -0
  615. /package/dist/{catalog-TZLU5NWI.js.map → catalog-ZY3MFT55.js.map} +0 -0
  616. /package/dist/{catalogs-ZR7DECMG.js.map → catalogs-6XLBWAUS.js.map} +0 -0
  617. /package/dist/{changes-VWKTM27U.js.map → changes-OOUVQDBY.js.map} +0 -0
  618. /package/dist/{chatgpt-OPOD2WHB.js.map → chatgpt-NAXIFWXV.js.map} +0 -0
  619. /package/dist/{chats-AL2SYBJO.js.map → chats-I5RHBRS5.js.map} +0 -0
  620. /package/dist/{check-U2YLRD6H.js.map → check-3E64VBUE.js.map} +0 -0
  621. /package/dist/{chunk-AQRXXC6E.js.map → chunk-3CHYJYSS.js.map} +0 -0
  622. /package/dist/{chunk-6S5CWGDA.js.map → chunk-3G3GC5N4.js.map} +0 -0
  623. /package/dist/{chunk-WFY7KSHB.js.map → chunk-3M45PYU7.js.map} +0 -0
  624. /package/dist/{chunk-FLWDFPXE.js.map → chunk-3QHXF3QI.js.map} +0 -0
  625. /package/dist/{chunk-JLAQWMVF.js.map → chunk-3XPHUMLJ.js.map} +0 -0
  626. /package/dist/{chunk-I7AYMJZA.js.map → chunk-45EERHDB.js.map} +0 -0
  627. /package/dist/{chunk-ARBXT73X.js.map → chunk-4FGTANFK.js.map} +0 -0
  628. /package/dist/{chunk-PX3PUDK7.js.map → chunk-4IHWT7PH.js.map} +0 -0
  629. /package/dist/{chunk-XHQYFNNK.js.map → chunk-4LF4AYPT.js.map} +0 -0
  630. /package/dist/{chunk-LGMI4LSY.js.map → chunk-5JJD33Y2.js.map} +0 -0
  631. /package/dist/{chunk-4XHCEYHI.js.map → chunk-5K4QYYOJ.js.map} +0 -0
  632. /package/dist/{chunk-USCADMM3.js.map → chunk-5LJ6E4YU.js.map} +0 -0
  633. /package/dist/{chunk-OG47L5GG.js.map → chunk-5T73MMBL.js.map} +0 -0
  634. /package/dist/{chunk-4EDWXZ3I.js.map → chunk-64MAHLTK.js.map} +0 -0
  635. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  636. /package/dist/{chunk-3YJNSUNF.js.map → chunk-6ZFSDYWV.js.map} +0 -0
  637. /package/dist/{chunk-BX6B25KK.js.map → chunk-7I6ZVBLM.js.map} +0 -0
  638. /package/dist/{chunk-5Y5FZV2W.js.map → chunk-AN4OEQXE.js.map} +0 -0
  639. /package/dist/{chunk-TX7CQTD4.js.map → chunk-AULSX5ZA.js.map} +0 -0
  640. /package/dist/{chunk-MVD7QIXI.js.map → chunk-AVYUFJQQ.js.map} +0 -0
  641. /package/dist/{chunk-BEZHQIEI.js.map → chunk-B4YF7VQF.js.map} +0 -0
  642. /package/dist/{chunk-UKSSNYLU.js.map → chunk-BDOYNGUL.js.map} +0 -0
  643. /package/dist/{chunk-IRM273C7.js.map → chunk-BJOK7QD4.js.map} +0 -0
  644. /package/dist/{chunk-VDPOCAQ2.js.map → chunk-CMCGFSUS.js.map} +0 -0
  645. /package/dist/{chunk-DSCEXBDR.js.map → chunk-DMJUIUAL.js.map} +0 -0
  646. /package/dist/{chunk-HML3VQIW.js.map → chunk-DUCUOZLS.js.map} +0 -0
  647. /package/dist/{chunk-7HZSORAB.js.map → chunk-FJZYOVSW.js.map} +0 -0
  648. /package/dist/{chunk-L2BRAC2J.js.map → chunk-FKP4ECJY.js.map} +0 -0
  649. /package/dist/{chunk-VRIPVLE7.js.map → chunk-GNMEOU46.js.map} +0 -0
  650. /package/dist/{chunk-IWKD56AY.js.map → chunk-GYKYXWUQ.js.map} +0 -0
  651. /package/dist/{chunk-YWHZYR6S.js.map → chunk-GYPLRU4Y.js.map} +0 -0
  652. /package/dist/{chunk-YNYAT2TZ.js.map → chunk-I43ZEWJQ.js.map} +0 -0
  653. /package/dist/{chunk-44ZRCSR7.js.map → chunk-IZABTTW5.js.map} +0 -0
  654. /package/dist/{chunk-FRNBRN2C.js.map → chunk-K7IE6UYV.js.map} +0 -0
  655. /package/dist/{chunk-TXDE2QJ3.js.map → chunk-KH5YHHJV.js.map} +0 -0
  656. /package/dist/{chunk-GE3VT3CA.js.map → chunk-KMY7AD3N.js.map} +0 -0
  657. /package/dist/{chunk-6KWEF6HF.js.map → chunk-KPCHWDJM.js.map} +0 -0
  658. /package/dist/{chunk-SWN6OHXG.js.map → chunk-KTZCLJ2D.js.map} +0 -0
  659. /package/dist/{chunk-A3IQAONL.js.map → chunk-MKUA54QE.js.map} +0 -0
  660. /package/dist/{chunk-S6VFDNSQ.js.map → chunk-MTV2RSGY.js.map} +0 -0
  661. /package/dist/{chunk-6HJXLGDV.js.map → chunk-N2QX57K3.js.map} +0 -0
  662. /package/dist/{chunk-4Z6PVR3M.js.map → chunk-NEYWS2DQ.js.map} +0 -0
  663. /package/dist/{chunk-PC3FJEZH.js.map → chunk-NZ34KM46.js.map} +0 -0
  664. /package/dist/{chunk-YJFLXOH4.js.map → chunk-OTC6UMJ2.js.map} +0 -0
  665. /package/dist/{chunk-YILZR3XI.js.map → chunk-OUY2IAWL.js.map} +0 -0
  666. /package/dist/{chunk-QIOFOD4K.js.map → chunk-PJXNCRMR.js.map} +0 -0
  667. /package/dist/{chunk-VFJB7OG6.js.map → chunk-PYQ3GF7R.js.map} +0 -0
  668. /package/dist/{chunk-2GYCWRF3.js.map → chunk-Q3EIVZAR.js.map} +0 -0
  669. /package/dist/{chunk-LRV6M2WB.js.map → chunk-QHZE62GP.js.map} +0 -0
  670. /package/dist/{chunk-VEJ3QX6M.js.map → chunk-RGR6TSTJ.js.map} +0 -0
  671. /package/dist/{chunk-UDIEKCIR.js.map → chunk-SAAXU7QR.js.map} +0 -0
  672. /package/dist/{chunk-4FFBGR5L.js.map → chunk-SHTKLRI6.js.map} +0 -0
  673. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  674. /package/dist/{chunk-T3P6O2VU.js.map → chunk-SSXG53CZ.js.map} +0 -0
  675. /package/dist/{chunk-BFURWHVR.js.map → chunk-TBWAM577.js.map} +0 -0
  676. /package/dist/{chunk-OR6KVLI5.js.map → chunk-TGPGQTZA.js.map} +0 -0
  677. /package/dist/{chunk-F4YQ5PVR.js.map → chunk-UMIX2BMM.js.map} +0 -0
  678. /package/dist/{chunk-SG2TDQEE.js.map → chunk-URMAEVZO.js.map} +0 -0
  679. /package/dist/{chunk-2L7F7KR4.js.map → chunk-VBO3ZVUU.js.map} +0 -0
  680. /package/dist/{chunk-4UZUUSVL.js.map → chunk-VFLYMHTO.js.map} +0 -0
  681. /package/dist/{chunk-R2SYF5FC.js.map → chunk-VGYIVXIZ.js.map} +0 -0
  682. /package/dist/{chunk-K6NULQN7.js.map → chunk-VIB7R533.js.map} +0 -0
  683. /package/dist/{chunk-UUGISMNE.js.map → chunk-WVWLPXBO.js.map} +0 -0
  684. /package/dist/{chunk-6VYROVWO.js.map → chunk-XEH5XAP6.js.map} +0 -0
  685. /package/dist/{chunk-HGBJQGO5.js.map → chunk-XEOKVL4E.js.map} +0 -0
  686. /package/dist/{chunk-FFG2OYVV.js.map → chunk-XOGQJYXH.js.map} +0 -0
  687. /package/dist/{chunk-RTH2I55B.js.map → chunk-XUXRA7IB.js.map} +0 -0
  688. /package/dist/{claim-GOLUTAJ3.js.map → claim-FIK2YTLM.js.map} +0 -0
  689. /package/dist/{companies-4AJJGTMC.js.map → companies-KMMV6EJW.js.map} +0 -0
  690. /package/dist/{company-MOSPLRZJ.js.map → company-B54URPJG.js.map} +0 -0
  691. /package/dist/{complete-777BDV45.js.map → complete-PPCWEXS3.js.map} +0 -0
  692. /package/dist/{connect-3YY7MF3I.js.map → connect-IAXSZPGA.js.map} +0 -0
  693. /package/dist/{conversation-KROMHDHK.js.map → conversation-KHTZBGX2.js.map} +0 -0
  694. /package/dist/{conversion-report-JZHI2IHY.js.map → conversion-report-U66HW6JM.js.map} +0 -0
  695. /package/dist/{conversion-upload-command-7RSZ5ZQU.js.map → conversion-upload-command-IHFKVX2M.js.map} +0 -0
  696. /package/dist/{conversion-writes-SNCLQDXQ.js.map → conversion-writes-RSGDOAET.js.map} +0 -0
  697. /package/dist/{conversions-EUOWILCQ.js.map → conversions-BVOL43W4.js.map} +0 -0
  698. /package/dist/{conversions-43EYP2W2.js.map → conversions-SUMZAV2T.js.map} +0 -0
  699. /package/dist/{create-7IFYLX7P.js.map → create-732HQL3C.js.map} +0 -0
  700. /package/dist/{create-3WOZO2XT.js.map → create-TFR6R2KF.js.map} +0 -0
  701. /package/dist/{create-FOHIQC3E.js.map → create-UC57ULRL.js.map} +0 -0
  702. /package/dist/{create-UWQSQTK6.js.map → create-UL2OYXOA.js.map} +0 -0
  703. /package/dist/{creatives-2DR3QHJW.js.map → creatives-BZEVJ6ER.js.map} +0 -0
  704. /package/dist/{creatives-KUO67WYA.js.map → creatives-FU3YELGU.js.map} +0 -0
  705. /package/dist/{credentials-IP4L37XP.js.map → credentials-AYV5YQE4.js.map} +0 -0
  706. /package/dist/{critique-LJMFAURK.js.map → critique-FKIJB72I.js.map} +0 -0
  707. /package/dist/{critique-LGDNMLBL.js.map → critique-IQYNDXCN.js.map} +0 -0
  708. /package/dist/{crm-BNYW7PF7.js.map → crm-ILQMNJPX.js.map} +0 -0
  709. /package/dist/{crm-J53V2QTN.js.map → crm-MQQRBITZ.js.map} +0 -0
  710. /package/dist/{currency-X7Y6TSLF.js.map → currency-CGKO5GKH.js.map} +0 -0
  711. /package/dist/{customers-663K2OCP.js.map → customers-NKKU6S7G.js.map} +0 -0
  712. /package/dist/{delete-6U7E6YUW.js.map → delete-2TCCNRMH.js.map} +0 -0
  713. /package/dist/{delete-G4NY6ZG6.js.map → delete-HCZTISBT.js.map} +0 -0
  714. /package/dist/{delete-5W3YVA4L.js.map → delete-UIKB5ZXS.js.map} +0 -0
  715. /package/dist/{demographics-4Y5LTCU4.js.map → demographics-ABZODD45.js.map} +0 -0
  716. /package/dist/{discard-RKCZNKMN.js.map → discard-V3K5PZ4W.js.map} +0 -0
  717. /package/dist/{discover-6DORQWXY.js.map → discover-VM3O7CQM.js.map} +0 -0
  718. /package/dist/{domain-PLA2O4FW.js.map → domain-A66DHOTQ.js.map} +0 -0
  719. /package/dist/{download-4EFLVSA4.js.map → download-LSAZD5JO.js.map} +0 -0
  720. /package/dist/{draft-TRPQCJ4B.js.map → draft-5UUJC675.js.map} +0 -0
  721. /package/dist/{draft-HY3U2GHU.js.map → draft-BATA5CVI.js.map} +0 -0
  722. /package/dist/{draft-R6EKORNS.js.map → draft-CRDBU6LF.js.map} +0 -0
  723. /package/dist/{draft-4V7W5DV2.js.map → draft-P7IDMXWR.js.map} +0 -0
  724. /package/dist/{draft-JMNAGW7C.js.map → draft-YBNL4ZZA.js.map} +0 -0
  725. /package/dist/{experiments-4V242DG2.js.map → experiments-MLLTHMMS.js.map} +0 -0
  726. /package/dist/{facets-WXJ2MCU6.js.map → facets-KSHR3MBE.js.map} +0 -0
  727. /package/dist/{feedback-IRSRPXV6.js.map → feedback-4GCPXZSI.js.map} +0 -0
  728. /package/dist/{feedback-record-DT3R4NA3.js.map → feedback-record-VEFHUIUJ.js.map} +0 -0
  729. /package/dist/{fetch-YLQP5VQL.js.map → fetch-42QL56JC.js.map} +0 -0
  730. /package/dist/{fit-BEFCY2B4.js.map → fit-Q5GRVF2O.js.map} +0 -0
  731. /package/dist/{flows-FDMF3F3P.js.map → flows-M3WBZQET.js.map} +0 -0
  732. /package/dist/{fonts-C6XN5667.js.map → fonts-GD4YRXQU.js.map} +0 -0
  733. /package/dist/{forecast-ZTXZD3HD.js.map → forecast-HT46MFL4.js.map} +0 -0
  734. /package/dist/{forecast-BTPIXEQ5.js.map → forecast-ONVS2QAI.js.map} +0 -0
  735. /package/dist/{funnel-7KOEX7YM.js.map → funnel-76BAD64Q.js.map} +0 -0
  736. /package/dist/{generate-NWHPM2GQ.js.map → generate-VBEY3N3L.js.map} +0 -0
  737. /package/dist/{get-OSVQVMP6.js.map → get-4KFAO475.js.map} +0 -0
  738. /package/dist/{get-KBSKPTAV.js.map → get-QV5NIADE.js.map} +0 -0
  739. /package/dist/{google-M6BJ22UL.js.map → google-7EZP7I6J.js.map} +0 -0
  740. /package/dist/{google-ads-XCJVAXWF.js.map → google-ads-J7WHTJO4.js.map} +0 -0
  741. /package/dist/{history-4TN2A6BL.js.map → history-EULKWQUS.js.map} +0 -0
  742. /package/dist/{history-3NTM5SFN.js.map → history-FEBJHFHJ.js.map} +0 -0
  743. /package/dist/{history-5IWW2X33.js.map → history-RDVV7KBN.js.map} +0 -0
  744. /package/dist/{hubspot-HMVSRJQZ.js.map → hubspot-A3RQNMYN.js.map} +0 -0
  745. /package/dist/{ideas-M66FU45H.js.map → ideas-WX7EBPSF.js.map} +0 -0
  746. /package/dist/{images-MM5OPUKV.js.map → images-4AXF4LAC.js.map} +0 -0
  747. /package/dist/{ingest-GU3WEBN3.js.map → ingest-AM5YDTRH.js.map} +0 -0
  748. /package/dist/{ingest-KMLYCFF4.js.map → ingest-C3M4GUO6.js.map} +0 -0
  749. /package/dist/{insights-CQCWOCIT.js.map → insights-UTCMSWSC.js.map} +0 -0
  750. /package/dist/{inspect-4JO2J3D6.js.map → inspect-DWCLRZGR.js.map} +0 -0
  751. /package/dist/{intent-YCQCUCV3.js.map → intent-ZMYMFGB4.js.map} +0 -0
  752. /package/dist/{keyword-gap-PUSF7EKY.js.map → keyword-gap-XSJO2R77.js.map} +0 -0
  753. /package/dist/{keyword-metrics-JXBM22ZD.js.map → keyword-metrics-M46FCTAS.js.map} +0 -0
  754. /package/dist/{keywords-for-site-OAYA7KP7.js.map → keywords-for-site-XNSLX7EA.js.map} +0 -0
  755. /package/dist/{landing-OZU5RRFV.js.map → landing-MUNYZQNA.js.map} +0 -0
  756. /package/dist/{languages-SLFV73GE.js.map → languages-DIQ3OG3E.js.map} +0 -0
  757. /package/dist/{leads-Q7APIJRQ.js.map → leads-LAATTW5G.js.map} +0 -0
  758. /package/dist/{learn-NBBJRMVZ.js.map → learn-3GLY4G3H.js.map} +0 -0
  759. /package/dist/{line-item-writes-X3L5NQEH.js.map → line-item-writes-XJTTA3X5.js.map} +0 -0
  760. /package/dist/{line-items-NJMEPEF5.js.map → line-items-JR25T2C5.js.map} +0 -0
  761. /package/dist/{link-WZSNUQQ2.js.map → link-7DSLIF3I.js.map} +0 -0
  762. /package/dist/{linkedin-55PAID62.js.map → linkedin-W5BJ6HEH.js.map} +0 -0
  763. /package/dist/{linkedin-person-MVRI7LLC.js.map → linkedin-person-2ZYSOHYR.js.map} +0 -0
  764. /package/dist/{list-6S54IAUX.js.map → list-3653DIYB.js.map} +0 -0
  765. /package/dist/{list-RZUDFLJN.js.map → list-G66HVYCR.js.map} +0 -0
  766. /package/dist/{list-QRJ4E3SC.js.map → list-Z4M53MS5.js.map} +0 -0
  767. /package/dist/{locations-T2OMP6QN.js.map → locations-HTVYJSDJ.js.map} +0 -0
  768. /package/dist/{locations-W3VOYBWL.js.map → locations-M2B5XDU4.js.map} +0 -0
  769. /package/dist/{log-53SAPZZ3.js.map → log-2RJU5BOW.js.map} +0 -0
  770. /package/dist/{make-ZF3YIMKW.js.map → make-MJ6JMU5T.js.map} +0 -0
  771. /package/dist/{map-J37QFJSV.js.map → map-27IPOBY6.js.map} +0 -0
  772. /package/dist/{mcp-YRIFPYNU.js.map → mcp-TFQTME4P.js.map} +0 -0
  773. /package/dist/{media-sources-EQI3U4TC.js.map → media-sources-P246GM7W.js.map} +0 -0
  774. /package/dist/{members-GYVMSCKL.js.map → members-KOKBTUC2.js.map} +0 -0
  775. /package/dist/{metrics-4YVJHYRI.js.map → metrics-WYWUX6Y5.js.map} +0 -0
  776. /package/dist/{models-JQEPSPNQ.js.map → models-HJ7Y55AH.js.map} +0 -0
  777. /package/dist/{normalize-MFN3WCH5.js.map → normalize-GXBUNTYJ.js.map} +0 -0
  778. /package/dist/{options-DLHDHO7H.js.map → options-MA25RNXF.js.map} +0 -0
  779. /package/dist/{organization-C2VOA2SD.js.map → organization-NLEVNGKQ.js.map} +0 -0
  780. /package/dist/{performance-T6TBVHVU.js.map → performance-34EUP5KL.js.map} +0 -0
  781. /package/dist/{performance-NIF3CESZ.js.map → performance-J3DLNI2W.js.map} +0 -0
  782. /package/dist/{pixels-LQAJOZIM.js.map → pixels-THEGYRXT.js.map} +0 -0
  783. /package/dist/{promoted-tweet-writes-Y6BBOWDL.js.map → promoted-tweet-writes-SBXWKO23.js.map} +0 -0
  784. /package/dist/{promoted-tweets-RJT53DRM.js.map → promoted-tweets-W42FNWS7.js.map} +0 -0
  785. /package/dist/{publish-IOTMJCCY.js.map → publish-YG76GOA7.js.map} +0 -0
  786. /package/dist/{query-XZMDGRO5.js.map → query-IQICLABN.js.map} +0 -0
  787. /package/dist/{reddit-JIHMAKAQ.js.map → reddit-X4CERXYF.js.map} +0 -0
  788. /package/dist/{refresh-OQZ263CS.js.map → refresh-A36GA7JN.js.map} +0 -0
  789. /package/dist/{release-4CHFURO3.js.map → release-3NCMZIDI.js.map} +0 -0
  790. /package/dist/{relevant-pages-FS7GBVXK.js.map → relevant-pages-UDDQOYLD.js.map} +0 -0
  791. /package/dist/{remove-IJQPHPDI.js.map → remove-6LE3XNRG.js.map} +0 -0
  792. /package/dist/{reopen-YTLPVKUR.js.map → reopen-XLADJ2UU.js.map} +0 -0
  793. /package/dist/{rerun-C7NB7B35.js.map → rerun-QVMFJZA2.js.map} +0 -0
  794. /package/dist/{research-PNBACCCP.js.map → research-D5UUJF74.js.map} +0 -0
  795. /package/dist/{research-TLHNPK3O.js.map → research-QCI5ISUE.js.map} +0 -0
  796. /package/dist/{reset-Y6FXLAQE.js.map → reset-DD37KDXQ.js.map} +0 -0
  797. /package/dist/{reset-JVLW7HA2.js.map → reset-FLZPKY2N.js.map} +0 -0
  798. /package/dist/{resolve-YLRESES5.js.map → resolve-KRKIJKT7.js.map} +0 -0
  799. /package/dist/{retry-3V3IGDRR.js.map → retry-ALXYEKFV.js.map} +0 -0
  800. /package/dist/{retry-AEKQLQMP.js.map → retry-MIXKW4EW.js.map} +0 -0
  801. /package/dist/{revenue-E4GQIOUY.js.map → revenue-UBZUTSXN.js.map} +0 -0
  802. /package/dist/{rules-34BQAWU3.js.map → rules-SO6P44B6.js.map} +0 -0
  803. /package/dist/{rules-add-CM5XUYNS.js.map → rules-add-XN3BZKFO.js.map} +0 -0
  804. /package/dist/{run-MD64RDHZ.js.map → run-K2DOMOAN.js.map} +0 -0
  805. /package/dist/{run-QCNRR3CA.js.map → run-T7XAH2W5.js.map} +0 -0
  806. /package/dist/{scaffold-ad-NADPY3CB.js.map → scaffold-ad-TWIT7R4U.js.map} +0 -0
  807. /package/dist/{scaffold-static-ad-5YEYYVYH.js.map → scaffold-static-ad-GPJKOGOI.js.map} +0 -0
  808. /package/dist/{scaffold-video-W7DF2CBJ.js.map → scaffold-video-7BQNOJ4S.js.map} +0 -0
  809. /package/dist/{schedule-CTRRF6TS.js.map → schedule-UTRVEWPE.js.map} +0 -0
  810. /package/dist/{scheduled-agents-OXYAVSIE.js.map → scheduled-agents-ZGCUZ6SB.js.map} +0 -0
  811. /package/dist/{schema-6Y3IXFDC.js.map → schema-D6BMZAPB.js.map} +0 -0
  812. /package/dist/{schema-BEUYOGSW.js.map → schema-DSMF6ELE.js.map} +0 -0
  813. /package/dist/{search-GFJKWPKN.js.map → search-2P72GSKY.js.map} +0 -0
  814. /package/dist/{select-S72CCL57.js.map → select-N7VWQ2ZQ.js.map} +0 -0
  815. /package/dist/{set-prompt-YYFDRXRI.js.map → set-prompt-3N3HMHT6.js.map} +0 -0
  816. /package/dist/{setup-links-D4JJLESN.js.map → setup-links-I5RFZTS4.js.map} +0 -0
  817. /package/dist/{shopify-T4UWFIQC.js.map → shopify-LXSR37XI.js.map} +0 -0
  818. /package/dist/{site-BBZAUZA3.js.map → site-AI3BFWRK.js.map} +0 -0
  819. /package/dist/{sources-BUPV7H7F.js.map → sources-AOF2YDYX.js.map} +0 -0
  820. /package/dist/{sources-FLUGHSVP.js.map → sources-DVMJEXEX.js.map} +0 -0
  821. /package/dist/{stale-HP54JS5X.js.map → stale-P4GGOLIB.js.map} +0 -0
  822. /package/dist/{status-CLSWQFCQ.js.map → status-O25MXHU4.js.map} +0 -0
  823. /package/dist/{studio-T5L7UEX6.js.map → studio-5Z4NMA4K.js.map} +0 -0
  824. /package/dist/{sync-4YTVVEVC.js.map → sync-2AI7LKKN.js.map} +0 -0
  825. /package/dist/{sync-definition-OGQ5XTQE.js.map → sync-definition-F3CXG6KG.js.map} +0 -0
  826. /package/dist/{tags-CZTRQNXV.js.map → tags-SEZ2CQJM.js.map} +0 -0
  827. /package/dist/{tags-SA2LU6AW.js.map → tags-TJDZXOXS.js.map} +0 -0
  828. /package/dist/{tags-R67DKRZ6.js.map → tags-YSC7ZILI.js.map} +0 -0
  829. /package/dist/{tags-ZOXX6VRE.js.map → tags-Z6EALYOS.js.map} +0 -0
  830. /package/dist/{tags-FDQXWTCQ.js.map → tags-ZXSVW6XO.js.map} +0 -0
  831. /package/dist/{targeting-criteria-AQYXVSGN.js.map → targeting-criteria-AU5CSMAU.js.map} +0 -0
  832. /package/dist/{targets-UUVCEG3F.js.map → targets-IOIH5JYS.js.map} +0 -0
  833. /package/dist/{testimonials-G3OCNPBY.js.map → testimonials-Y6PUV6AL.js.map} +0 -0
  834. /package/dist/{themes-FEVYZZCW.js.map → themes-PGPIAKAO.js.map} +0 -0
  835. /package/dist/{top-companies-BQGWKYUK.js.map → top-companies-FSITN3ZR.js.map} +0 -0
  836. /package/dist/{transcript-U46AEOEI.js.map → transcript-CGPX7Y37.js.map} +0 -0
  837. /package/dist/{translate-AS7JVKYM.js.map → translate-QCBMGOKR.js.map} +0 -0
  838. /package/dist/{triggers-ECRBPYYF.js.map → triggers-MONMZSKT.js.map} +0 -0
  839. /package/dist/{unlink-VDNCSRJV.js.map → unlink-I7QFQQKO.js.map} +0 -0
  840. /package/dist/{unstage-ATDXUYP2.js.map → unstage-JXG5AU5Q.js.map} +0 -0
  841. /package/dist/{update-HDBJCSTI.js.map → update-BVZGM54I.js.map} +0 -0
  842. /package/dist/{update-FJ6TBV3E.js.map → update-EI2BHUM2.js.map} +0 -0
  843. /package/dist/{update-U43DJRGV.js.map → update-RZSV4NYP.js.map} +0 -0
  844. /package/dist/{update-Z7TIUBMJ.js.map → update-WLDNOZ5U.js.map} +0 -0
  845. /package/dist/{upload-LXCFSRIU.js.map → upload-BP3YEQSF.js.map} +0 -0
  846. /package/dist/{url-options-Z4BQBEMI.js.map → url-options-63DED6CR.js.map} +0 -0
  847. /package/dist/{url-params-J7RKP5RB.js.map → url-params-TRFI2PMD.js.map} +0 -0
  848. /package/dist/{validate-VR3HEOMJ.js.map → validate-SNCR25A7.js.map} +0 -0
  849. /package/dist/{videos-36AXDUGZ.js.map → videos-SVZV5YYC.js.map} +0 -0
  850. /package/dist/{viewer-check-6HL4OUQY.js.map → viewer-check-LUAEGV6H.js.map} +0 -0
  851. /package/dist/{web-7BRJRQX7.js.map → web-MJQEK7BB.js.map} +0 -0
  852. /package/dist/{winning-ads-GMM5W2O4.js.map → winning-ads-KNLJHHCO.js.map} +0 -0
  853. /package/dist/{write-commands-IM5DPG3R.js.map → write-commands-NVCX7IAU.js.map} +0 -0
  854. /package/dist/{x-HGFAL3NY.js.map → x-ZQNHYIDU.js.map} +0 -0
@@ -0,0 +1,638 @@
1
+ import {
2
+ AD_PLATFORMS
3
+ } from "./chunk-F3CZFUXZ.js";
4
+ import {
5
+ staticFormatPatternSchema
6
+ } from "./chunk-Q7US4OOA.js";
7
+
8
+ // src/engine/creative-rules/schema.ts
9
+ import { z } from "zod";
10
+ var RULE_STRENGTHS = ["never", "must", "prefer"];
11
+ var RULE_APPLIES = ["copy", "picture", "cast", "logo", "voice", "sound", "subtitles", "any"];
12
+ var RULE_KINDS = ["static", "video"];
13
+ var RULE_SOURCE_KINDS = ["feedback", "user", "brand-import", "brand"];
14
+ var phrase = z.string().trim().min(1).max(120);
15
+ var Phrases = z.array(z.unknown()).transform((list) => list.flatMap((p) => phrase.safeParse(p).success ? [String(p).trim()] : []));
16
+
17
+ // src/engine/copy-tells/rule-tells.ts
18
+ var SOFT = /* @__PURE__ */ new Set([
19
+ ".",
20
+ ",",
21
+ ";",
22
+ ":",
23
+ "!",
24
+ "?",
25
+ "\xA1",
26
+ "\xBF",
27
+ '"',
28
+ "'",
29
+ "\u201C",
30
+ "\u201D",
31
+ "\u2018",
32
+ "\u2019",
33
+ "\xAB",
34
+ "\xBB",
35
+ "(",
36
+ ")",
37
+ "[",
38
+ "]",
39
+ "{",
40
+ "}",
41
+ "\u2026",
42
+ "-",
43
+ "/",
44
+ "*",
45
+ "_"
46
+ ]);
47
+ function fold(text2, keepCase) {
48
+ const plain = text2.normalize("NFKD").replace(new RegExp("\\p{M}", "gu"), "").replace(/ß/g, "ss").replace(/ẞ/g, "SS");
49
+ return keepCase ? plain : plain.toLowerCase();
50
+ }
51
+ function tokens(text2, keepCase, marks = false) {
52
+ const all = fold(text2, keepCase).match(/[\p{L}\p{N}]+|[^\s\p{L}\p{N}]/gu) ?? [];
53
+ return marks ? all : all.filter((t) => !SOFT.has(t));
54
+ }
55
+ function onlyMarks(phrase2, keepCase) {
56
+ return tokens(phrase2, keepCase).length === 0 && tokens(phrase2, keepCase, true).length > 0;
57
+ }
58
+ function positions(words, phrase2) {
59
+ if (phrase2.length === 0) return [];
60
+ const at = [];
61
+ for (let i = 0; i + phrase2.length <= words.length; i++) {
62
+ if (phrase2.every((w, j) => words[i + j] === w)) at.push(i);
63
+ }
64
+ return at;
65
+ }
66
+ function aboutCase(check) {
67
+ const phrases = [...check.forbid ?? [], ...check.allow ?? [], ...check.require ?? []];
68
+ return phrases.some(
69
+ (a, i) => phrases.some((b, j) => i !== j && a !== b && fold(a, false) === fold(b, false) && fold(a, true) !== fold(b, true))
70
+ );
71
+ }
72
+ function sameLanguage(rule, language) {
73
+ const ruleLanguage = rule.scope.language;
74
+ if (!ruleLanguage) return true;
75
+ if (!language) return false;
76
+ const primary = (tag) => tag.toLowerCase().split(/[-_]/)[0];
77
+ return primary(ruleLanguage) === primary(language);
78
+ }
79
+ function forbiddenIn(line, check, keepCase) {
80
+ for (const banned of check.forbid ?? []) {
81
+ const marks = onlyMarks(banned, keepCase);
82
+ const words = tokens(line, keepCase, marks);
83
+ const allowed = (check.allow ?? []).flatMap((a) => {
84
+ const allow = tokens(a, keepCase, marks);
85
+ return positions(words, allow).map((start) => [start, start + allow.length]);
86
+ });
87
+ const phrase2 = tokens(banned, keepCase, marks);
88
+ const free = positions(words, phrase2).some(
89
+ (start) => !allowed.some(([from, to]) => start >= from && start + phrase2.length <= to)
90
+ );
91
+ if (free) return banned;
92
+ }
93
+ return null;
94
+ }
95
+ function tellsOf(rule, lines) {
96
+ const check = rule.check;
97
+ if (!check) return [];
98
+ const keepCase = aboutCase(check);
99
+ const base = {
100
+ rule: rule.id,
101
+ strength: rule.strength,
102
+ text: rule.text,
103
+ ...rule.source.quote ? { quote: rule.source.quote } : {}
104
+ };
105
+ const forbidden = lines.flatMap((line) => {
106
+ const phrase2 = forbiddenIn(line, check, keepCase);
107
+ return phrase2 ? [{ ...base, kind: "forbidden", phrase: phrase2, line }] : [];
108
+ });
109
+ const missing = (check.require ?? []).flatMap((required) => {
110
+ const marks = onlyMarks(required, keepCase);
111
+ const phrase2 = tokens(required, keepCase, marks);
112
+ const said = lines.some((line) => positions(tokens(line, keepCase, marks), phrase2).length > 0);
113
+ return said ? [] : [{ ...base, kind: "missing", phrase: required }];
114
+ });
115
+ return [...forbidden, ...missing];
116
+ }
117
+ function ruleTells(lines, rules, language) {
118
+ return rules.filter((rule) => rule.strength !== "prefer" && sameLanguage(rule, language)).flatMap((rule) => tellsOf(rule, lines));
119
+ }
120
+
121
+ // src/commands/creatives/ideas-model.ts
122
+ import { parse as parseYaml, YAMLParseError } from "yaml";
123
+ var IDEA_ANGLES = [
124
+ "pain_relief",
125
+ "aspiration",
126
+ "status",
127
+ "fear",
128
+ "FOMO",
129
+ "identity",
130
+ "contrarian",
131
+ "education",
132
+ "novelty",
133
+ "authority",
134
+ "community",
135
+ "transformation",
136
+ "convenience",
137
+ "save_money",
138
+ "save_time",
139
+ "save_effort",
140
+ "named_enemy",
141
+ "objection_crusher",
142
+ "villain_democratization",
143
+ "commiseration",
144
+ "recognition_mirror",
145
+ "flipped_idiom"
146
+ ];
147
+ var IDEA_VIDEO_FORMATS = [
148
+ "video_ugc",
149
+ "video_founder",
150
+ "video_testimonial",
151
+ "video_demo",
152
+ "video_screen_recording",
153
+ "video_explainer",
154
+ "video_motion_graphics"
155
+ ];
156
+ var IDEA_FORMATS = [...staticFormatPatternSchema.options, ...IDEA_VIDEO_FORMATS];
157
+ var AWARENESS_STAGES = ["unaware", "problem_aware", "solution_aware", "product_aware", "most_aware"];
158
+ var EVIDENCE_LEVELS = ["observed", "interpreted", "hypothesized", "generated"];
159
+ var IDEA_STATUSES = ["idea", "built", "testing", "winner", "failed", "inconclusive", "retired"];
160
+ var FRONTMATTER = /^---\r?\n([\s\S]*?)\r?\n---/;
161
+ function frontmatterOf(markdown) {
162
+ const block = FRONTMATTER.exec(markdown)?.[1];
163
+ if (block === void 0) return null;
164
+ try {
165
+ const parsed = parseYaml(block);
166
+ return parsed !== null && typeof parsed === "object" && !Array.isArray(parsed) ? parsed : null;
167
+ } catch {
168
+ return null;
169
+ }
170
+ }
171
+ function frontmatterError(markdown) {
172
+ const block = FRONTMATTER.exec(markdown)?.[1];
173
+ if (block === void 0) return null;
174
+ try {
175
+ parseYaml(block);
176
+ return null;
177
+ } catch (e) {
178
+ const line = e instanceof YAMLParseError ? e.linePos?.[0]?.line : void 0;
179
+ const at = line ? ` at line ${line} (\`${block.split(/\r?\n/)[line - 1]?.trim() ?? ""}\`)` : "";
180
+ return `the frontmatter is not valid YAML${at}: put each text value wholly in double quotes, with any quote inside it as \\" or as single quotes`;
181
+ }
182
+ }
183
+ function text(value) {
184
+ if (typeof value === "string") return value.trim() || void 0;
185
+ if (typeof value === "number") return String(value);
186
+ return void 0;
187
+ }
188
+ function oneOf(values, value) {
189
+ return typeof value === "string" && values.includes(value) ? value : void 0;
190
+ }
191
+ var CHECKABLE_SOURCE = /^(?:https?:\/\/\S+|[a-z_]+:[\w-]+)$/i;
192
+ function evidenceStatus(stated, source) {
193
+ if (stated !== "observed") return stated;
194
+ return CHECKABLE_SOURCE.test(source) ? "observed" : "interpreted";
195
+ }
196
+ function parseInsight(id, markdown) {
197
+ const fm = frontmatterOf(markdown);
198
+ const quote = text(fm?.quote);
199
+ const source = text(fm?.source);
200
+ if (!fm || !quote || !source) return null;
201
+ const force = text(fm.force);
202
+ const persona = text(fm.persona);
203
+ const sourceKind = text(fm.sourceKind);
204
+ const author = markdown.replace(/^---[\s\S]*?\n---/, "").match(/\bby ([\p{Lu}][\p{L}'’-]*\.?(?: [\p{Lu}][\p{L}'’-]*\.?)?)/u)?.[1]?.replace(new RegExp("(\\p{L}{2,})\\.$", "u"), "$1");
205
+ return {
206
+ id,
207
+ type: text(fm.type) ?? "other",
208
+ quote,
209
+ source,
210
+ status: evidenceStatus(oneOf(EVIDENCE_LEVELS, fm.status) ?? "observed", source),
211
+ ...sourceKind ? { sourceKind } : {},
212
+ ...force ? { force } : {},
213
+ ...persona ? { persona } : {},
214
+ ...author ? { author } : {}
215
+ };
216
+ }
217
+ function evidenceList(value) {
218
+ if (Array.isArray(value)) return value.flatMap((e) => text(e) ? [String(text(e))] : []);
219
+ const single = text(value);
220
+ return single ? [single] : [];
221
+ }
222
+ function fieldProblems(f) {
223
+ const problems = [];
224
+ if (!f.who) problems.push("who is missing: the persona it is for");
225
+ if (!f.message)
226
+ problems.push(
227
+ "message is missing: the one promise a stranger should get, what is offered and what changes for them"
228
+ );
229
+ if (!f.why) problems.push("why is missing: the brief finding it answers");
230
+ if (!f.awareness) {
231
+ const written = f.awarenessWritten ? `"${f.awarenessWritten}" ` : "";
232
+ problems.push(`awareness ${written}must be one of ${AWARENESS_STAGES.join(", ")}`);
233
+ }
234
+ if (!(f.angle && IDEA_ANGLES.includes(f.angle)))
235
+ problems.push(`angle ${f.angle ? `"${f.angle}" ` : ""}must be one of ${IDEA_ANGLES.join(", ")}`);
236
+ if (f.format && !IDEA_FORMATS.includes(f.format))
237
+ problems.push(`format "${f.format}" must be one of ${IDEA_FORMATS.join(", ")}`);
238
+ if (!f.format && !f.shows)
239
+ problems.push(
240
+ "shows is missing: what the scroller sees in the first second that makes the message land (a before/after, a reaction, the product doing it, a real review, the pain itself); the proven ad is searched by it"
241
+ );
242
+ return [...problems, ...platformProblems(f.platforms)];
243
+ }
244
+ function platformProblems(platforms) {
245
+ const unknown = (platforms ?? []).filter((p) => !AD_PLATFORMS.includes(p));
246
+ return unknown.length > 0 ? [`platforms ${unknown.map((p) => `"${p}"`).join(", ")} must be among ${AD_PLATFORMS.join(", ")}`] : [];
247
+ }
248
+ function platformList(value) {
249
+ const list = (Array.isArray(value) ? value : value === void 0 || value === null ? [] : [value]).map((v) => text(v)).filter((v) => v !== void 0);
250
+ return list.length > 0 ? list : void 0;
251
+ }
252
+ function parseIdea(id, markdown) {
253
+ const unparsable = frontmatterError(markdown);
254
+ if (unparsable) return { problems: [unparsable] };
255
+ const fm = frontmatterOf(markdown) ?? {};
256
+ const f = {
257
+ who: text(fm.who),
258
+ message: text(fm.message),
259
+ why: text(fm.why),
260
+ angle: text(fm.angle),
261
+ shows: text(fm.shows),
262
+ format: text(fm.format),
263
+ awareness: oneOf(AWARENESS_STAGES, fm.awareness),
264
+ awarenessWritten: text(fm.awareness),
265
+ platforms: platformList(fm.platforms)
266
+ };
267
+ const problems = fieldProblems(f);
268
+ const { who, message, why, angle, shows, format, awareness } = f;
269
+ if (problems.length > 0 || !who || !message || !why || !awareness || !angle) return { problems };
270
+ const product = text(fm.product);
271
+ return {
272
+ idea: {
273
+ id,
274
+ who,
275
+ message,
276
+ evidence: evidenceList(fm.evidence),
277
+ awareness,
278
+ angle,
279
+ ...shows ? { shows } : {},
280
+ ...format ? { format } : {},
281
+ job: fm.job === "closer" ? "closer" : "opener",
282
+ why,
283
+ status: oneOf(IDEA_STATUSES, fm.status) ?? "idea",
284
+ ...product ? { product } : {},
285
+ ...f.platforms ? { platforms: f.platforms } : {}
286
+ },
287
+ problems
288
+ };
289
+ }
290
+ var EVIDENCE_WEIGHT = {
291
+ observed: 3,
292
+ interpreted: 2,
293
+ hypothesized: 1,
294
+ generated: 0,
295
+ explore: 0
296
+ };
297
+ var LIVE_STATUSES = ["built", "testing", "winner"];
298
+ function claimsOf(message) {
299
+ return [...message.matchAll(/\d[\d.,]*\s?(?:%|€|\$|£|x\b|k\b)?/gi)].map((m) => m[0].trim());
300
+ }
301
+ function figureOf(claim) {
302
+ return claim.replace(/[^\d]/g, "");
303
+ }
304
+ function figuresIn(text2) {
305
+ return new Set([...text2.matchAll(/\d(?:[\d.,]*\d)?/g)].map((m) => figureOf(m[0])));
306
+ }
307
+ function normalize(value) {
308
+ return value.toLowerCase().replace(/\s+/g, " ").trim();
309
+ }
310
+ function pictureOf(idea) {
311
+ return idea.format ?? normalize(idea.shows ?? "");
312
+ }
313
+ function sentencesOf(message) {
314
+ return message.split(/[.!?]+(?:\s|$)/).filter((s) => s.trim().length > 0).length;
315
+ }
316
+ var SAME_WORDS = (a, b) => normalize(a) === normalize(b);
317
+ function repeatedFailure(idea, failed, sameMessage) {
318
+ const lost = failed.find(
319
+ (f) => f.id !== idea.id && (sameMessage(f.message, idea.message) || f.angle === idea.angle && pictureOf(f) === pictureOf(idea))
320
+ );
321
+ return lost ? [`says what "${lost.id}" said, and that idea failed in the account: change the message, not just the picture`] : [];
322
+ }
323
+ function likelyMeant(id, insights) {
324
+ const words = (text2) => new Set(
325
+ text2.toLowerCase().split(/[^\p{L}\p{N}]+/u).filter((w) => w.length >= 3)
326
+ );
327
+ const wanted = words(id);
328
+ let best;
329
+ for (const insight of insights.values()) {
330
+ const said = words(`${insight.id} ${insight.quote}`);
331
+ const shared = [...wanted].filter((w) => said.has(w)).length;
332
+ if (shared > 0 && shared > (best?.shared ?? 0)) best = { id: insight.id, shared };
333
+ }
334
+ return best?.id;
335
+ }
336
+ function backingOf(idea, insights, problems) {
337
+ const backing = idea.evidence.flatMap((id) => {
338
+ const insight = insights.get(id);
339
+ if (!insight) {
340
+ const meant = likelyMeant(id, insights);
341
+ problems.push(
342
+ `evidence "${id}" is not in src/content/insights/: ${meant ? `did you mean "${meant}"? ` : ""}name an insight on file by its id, or leave it out`
343
+ );
344
+ }
345
+ return insight ? [insight] : [];
346
+ });
347
+ return [...backing].sort((a, b) => EVIDENCE_WEIGHT[b.status] - EVIDENCE_WEIGHT[a.status])[0];
348
+ }
349
+ function unsourcedClaims(text2, corpusFigures) {
350
+ return claimsOf(text2).filter((claim) => {
351
+ const figure = figureOf(claim);
352
+ return figure !== "" && !corpusFigures.has(figure);
353
+ });
354
+ }
355
+ function productProblems(idea, ctx) {
356
+ const read = idea.product ? ctx.products.get(idea.product) : void 0;
357
+ const unread = idea.product && (!read || "error" in read) ? [
358
+ `product "${idea.product}" is not a product of the connected store${read && "error" in read ? ` (${read.error})` : ""}: name it by the handle \`baker shopify products --search\` gives, or remove product`
359
+ ] : [];
360
+ const figures = read && "record" in read ? /* @__PURE__ */ new Set([...ctx.corpusFigures, ...figuresIn(read.record)]) : ctx.corpusFigures;
361
+ return [...unread, ...claimProblems(idea.message, { ...ctx, corpusFigures: figures })];
362
+ }
363
+ function whyNotBacking(insight) {
364
+ const named = `the insight "${insight.id}"`;
365
+ if (fromMarket(insight))
366
+ return `${named}, what someone in the market said, not our customer: it is never our claim; drop it`;
367
+ if (insight.status === "hypothesized" || insight.status === "generated")
368
+ return `${named}, a ${insight.status} reading, not a customer's words: source it or drop it`;
369
+ if (!CHECKABLE_SOURCE.test(insight.source))
370
+ return `${named}, which cites no link a reader can open (its source: "${insight.source}"): give it its link, or drop the figure`;
371
+ return `${named}, a statistic about people rather than a customer's words: it cannot stand behind our claim; drop it`;
372
+ }
373
+ function claimProblems(message, ctx) {
374
+ return unsourcedClaims(message, ctx.corpusFigures).map((claim) => {
375
+ const figure = figureOf(claim);
376
+ const holder = [...ctx.insights.values()].find((insight) => figuresIn(insight.quote).has(figure));
377
+ return holder ? `"${claim}" is in ${whyNotBacking(holder)}` : `"${claim}" is in no customer quote, COMPANY.md, Knowledge entry or store product the idea names: if it is a store product's price, name the product in the idea's \`product\` (its handle); otherwise drop it, or ask the user and record it in the Knowledge once they confirm it, citing them; never write it into the Knowledge or COMPANY.md yourself to pass this check`;
378
+ });
379
+ }
380
+ var MARKET_SOURCES = ["reddit", "forum", "web"];
381
+ var TESTIMONIAL_FORMATS = ["review_screenshot", "testimonial_quote", "video_testimonial"];
382
+ function fromMarket(insight) {
383
+ return insight?.sourceKind !== void 0 && MARKET_SOURCES.includes(insight.sourceKind);
384
+ }
385
+ function sourcesClaims(insight) {
386
+ return insight.status === "observed" && !fromMarket(insight);
387
+ }
388
+ function borrowedProof(idea, insights) {
389
+ return idea.evidence.find((id) => {
390
+ const insight = insights.get(id);
391
+ return fromMarket(insight) && insight?.type === "proof";
392
+ });
393
+ }
394
+ function fakeReviewProblem(idea, insights) {
395
+ if (!idea.format || !TESTIMONIAL_FORMATS.includes(idea.format)) return [];
396
+ const cited = idea.evidence.flatMap((id) => insights.get(id) ?? []);
397
+ if (cited.length === 0 || !cited.every(fromMarket)) return [];
398
+ return [
399
+ `${idea.format} needs a quote from our own customer (a review, testimonial, call or survey); every one cited was said by someone in the market. Pick another format, or cite our own customer`
400
+ ];
401
+ }
402
+ function warningsOf(idea, evidence, personas, insights) {
403
+ const warnings = [];
404
+ const video = IDEA_VIDEO_FORMATS.includes(idea.format ?? "");
405
+ if (idea.status === "idea" && !video && !idea.shows)
406
+ warnings.push(
407
+ "say what it shows (`shows`): what the scroller sees in the first second that lands the message; the proven ad is searched by it, and without it by what the company sells"
408
+ );
409
+ const borrowed = borrowedProof(idea, insights);
410
+ if (borrowed) {
411
+ warnings.push(
412
+ `"${borrowed}" was said by someone in the market, not a customer of ours: use their words for the problem, never show it as our review, testimonial or result`
413
+ );
414
+ }
415
+ if (sentencesOf(idea.message) > 1 || idea.message.split(/\s+/).length > 25) {
416
+ warnings.push(
417
+ 'the message says more than one thing: keep one promise that still names what is offered ("a free roof survey that shows your real saving", never a slogan like "the numbers, explained"), the rest goes to the ad text'
418
+ );
419
+ }
420
+ if (personas.length > 0 && !personas.includes(idea.who)) {
421
+ warnings.push(`who "${idea.who}" is not a persona in the Knowledge (${personas.join(", ")})`);
422
+ }
423
+ if (evidence === "explore") {
424
+ warnings.push("no customer evidence: an explore bet. `baker research customers` may find some");
425
+ }
426
+ return warnings;
427
+ }
428
+ function checkOne(idea, ctx) {
429
+ const problems = [];
430
+ const best = backingOf(idea, ctx.insights, problems);
431
+ const evidence = best?.status ?? "explore";
432
+ problems.push(
433
+ ...productProblems(idea, ctx),
434
+ ...fakeReviewProblem(idea, ctx.insights),
435
+ ...ruleTells([idea.message], ctx.rules, ctx.language).filter((t) => t.kind === "forbidden").map((t) => `The message says "${t.phrase}": ${t.rule} (${t.strength}) \u2014 ${t.text}`)
436
+ );
437
+ const duplicate = ctx.duplicateOf.get(idea.id);
438
+ if (duplicate) {
439
+ problems.push(
440
+ `same angle and the same picture (format or what it shows), or the same message, as "${duplicate}": to the platform it is the same ad. Change the angle or what it shows`
441
+ );
442
+ }
443
+ const gaps = [];
444
+ if (!ctx.covered.has(idea.awareness)) gaps.push(`no live ad speaks to ${idea.awareness} people`);
445
+ if (idea.job === "closer" && ctx.closersLive === 0) gaps.push("no live ad closes warm people");
446
+ return {
447
+ id: idea.id,
448
+ status: idea.status,
449
+ message: idea.message,
450
+ evidence,
451
+ ...best ? { quote: best.quote } : {},
452
+ awareness: idea.awareness,
453
+ angle: idea.angle,
454
+ ...idea.shows ? { shows: idea.shows } : {},
455
+ ...idea.format ? { format: idea.format } : {},
456
+ ...idea.platforms ? { platforms: idea.platforms } : {},
457
+ problems,
458
+ warnings: [
459
+ ...warningsOf(idea, evidence, ctx.personas, ctx.insights),
460
+ ...repeatedFailure(idea, ctx.failed, ctx.sameMessage)
461
+ ],
462
+ gaps,
463
+ score: EVIDENCE_WEIGHT[evidence] + gaps.length - (problems.length > 0 ? 10 : 0)
464
+ };
465
+ }
466
+ function duplicatesOf(ideas, insights) {
467
+ const active = ideas.filter((i) => i.status !== "retired" && i.status !== "failed");
468
+ const strength = (idea) => Math.max(0, ...idea.evidence.map((id) => EVIDENCE_WEIGHT[insights.get(id)?.status ?? "explore"]));
469
+ const position = new Map(ideas.map((idea, index) => [idea.id, index]));
470
+ const order = [...active].sort(
471
+ (a, b) => Number(LIVE_STATUSES.includes(b.status)) - Number(LIVE_STATUSES.includes(a.status)) || strength(b) - strength(a) || (position.get(a.id) ?? 0) - (position.get(b.id) ?? 0)
472
+ );
473
+ const seenPairs = /* @__PURE__ */ new Map();
474
+ const seenMessages = /* @__PURE__ */ new Map();
475
+ const duplicateOf = /* @__PURE__ */ new Map();
476
+ for (const idea of order) {
477
+ const pair = `${idea.angle}\xD7${pictureOf(idea)}`;
478
+ const message = normalize(idea.message);
479
+ const earlier = seenPairs.get(pair) ?? seenMessages.get(message);
480
+ if (earlier) duplicateOf.set(idea.id, earlier);
481
+ if (!seenPairs.has(pair)) seenPairs.set(pair, idea.id);
482
+ if (!seenMessages.has(message)) seenMessages.set(message, idea.id);
483
+ }
484
+ return duplicateOf;
485
+ }
486
+ function checkIdeas(input) {
487
+ const insights = new Map(input.insights.map((insight) => [insight.id, insight]));
488
+ const ownQuotes = input.insights.filter(sourcesClaims).map((i) => i.quote);
489
+ const corpusFigures = figuresIn(`${input.knowledge}
490
+ ${ownQuotes.join("\n")}`);
491
+ const covered = new Set(input.coveredAwareness);
492
+ const duplicateOf = duplicatesOf(input.ideas, insights);
493
+ const checks = input.ideas.map(
494
+ (idea) => checkOne(idea, {
495
+ insights,
496
+ corpusFigures,
497
+ covered,
498
+ duplicateOf,
499
+ personas: input.personas,
500
+ closersLive: input.closersLive,
501
+ failed: input.ideas.filter((i) => i.status === "failed"),
502
+ sameMessage: input.sameMessage ?? SAME_WORDS,
503
+ products: input.products ?? /* @__PURE__ */ new Map(),
504
+ rules: input.rules ?? [],
505
+ language: input.language
506
+ })
507
+ );
508
+ const toBuild = (c) => c.status === "idea";
509
+ return checks.sort(
510
+ (a, b) => Number(toBuild(b)) - Number(toBuild(a)) || b.score - a.score || a.id.localeCompare(b.id)
511
+ );
512
+ }
513
+
514
+ // src/engine/creative-rules/read.ts
515
+ import { createHash } from "crypto";
516
+ import { readdir, readFile } from "fs/promises";
517
+ import path from "path";
518
+ import { z as z2 } from "zod";
519
+ var RULES_DIR = path.join("src", "content", "creative-rules");
520
+ var optionalText = z2.string().trim().min(1).max(2e3).optional().catch(void 0);
521
+ var optionalPhrases = Phrases.optional().catch(void 0);
522
+ var dateText = z2.union([z2.string(), z2.date().transform((d) => d.toISOString().slice(0, 10))]).pipe(z2.string().trim().min(1)).optional().catch(void 0);
523
+ var Frontmatter = z2.object({
524
+ strength: z2.enum(RULE_STRENGTHS).catch("must"),
525
+ applies: z2.enum(RULE_APPLIES).catch("any"),
526
+ scope: z2.object({
527
+ kinds: z2.array(z2.enum(RULE_KINDS)).optional().catch(void 0),
528
+ products: optionalPhrases,
529
+ platforms: optionalPhrases,
530
+ language: z2.string().trim().min(2).max(10).optional().catch(void 0)
531
+ }).catch({}),
532
+ check: z2.object({
533
+ forbid: optionalPhrases,
534
+ require: optionalPhrases,
535
+ allow: optionalPhrases,
536
+ people: z2.literal("real").optional().catch(void 0)
537
+ }).optional().catch(void 0),
538
+ source: z2.object({
539
+ kind: z2.enum(RULE_SOURCE_KINDS).catch("user"),
540
+ feedbackId: optionalText,
541
+ runId: optionalText,
542
+ slug: optionalText,
543
+ quote: optionalText,
544
+ date: dateText
545
+ }).catch({ kind: "user" }),
546
+ status: z2.enum(["active", "retired"]).catch("active"),
547
+ retiredBy: optionalText
548
+ });
549
+ function defined(value) {
550
+ return Object.fromEntries(
551
+ Object.entries(value).filter(([, v]) => v !== void 0 && !(Array.isArray(v) && v.length === 0))
552
+ );
553
+ }
554
+ function bodyOf(markdown) {
555
+ const body = markdown.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/, "").trim();
556
+ const paragraphs = body.split(/\r?\n\s*\r?\n/).map((p) => p.trim()).filter(Boolean);
557
+ const why = paragraphs.find((p) => /^(?:why|por qué|porque)\s*:/i.test(p));
558
+ const text2 = paragraphs.find((p) => p !== why && !p.startsWith("#"));
559
+ return { ...text2 ? { text: text2 } : {}, ...why ? { why: why.replace(/^[^:]+:\s*/, "") } : {} };
560
+ }
561
+ function parseRuleFile(id, markdown) {
562
+ const { text: text2, why } = bodyOf(markdown);
563
+ if (!text2) return null;
564
+ const fm = Frontmatter.parse(frontmatterOf(markdown) ?? {});
565
+ const check = fm.check ? defined(fm.check) : void 0;
566
+ return {
567
+ id,
568
+ origin: "learned",
569
+ strength: fm.strength,
570
+ applies: fm.applies,
571
+ scope: defined(fm.scope),
572
+ ...check && Object.keys(check).length > 0 ? { check } : {},
573
+ text: text2,
574
+ ...why ? { why } : {},
575
+ source: defined(fm.source),
576
+ status: fm.status,
577
+ ...fm.retiredBy ? { retiredBy: fm.retiredBy } : {}
578
+ };
579
+ }
580
+ async function readLearnedRules(root) {
581
+ const dir = path.join(root, RULES_DIR);
582
+ const files = (await readdir(dir).catch(() => [])).filter((f) => f.endsWith(".md")).sort();
583
+ const rules = await Promise.all(
584
+ files.map(
585
+ async (file) => parseRuleFile(file.replace(/\.md$/, ""), await readFile(path.join(dir, file), "utf8").catch(() => ""))
586
+ )
587
+ );
588
+ return rules.filter((r) => r !== null);
589
+ }
590
+ var declaredId = (text2) => `brand-${createHash("sha256").update(text2.trim()).digest("hex").slice(0, 8)}`;
591
+ function shownBothWays(text2, phrase2, allow) {
592
+ const fold2 = (s) => s.normalize("NFKD").replace(new RegExp("\\p{M}", "gu"), "").toLowerCase();
593
+ const said = fold2(text2).split(fold2(phrase2)).length - 1;
594
+ return said > 1 && !(allow ?? []).some((a) => fold2(a).includes(fold2(phrase2)));
595
+ }
596
+ var BARE_SHORT_WORD = new RegExp("^\\p{L}{1,2}$", "u");
597
+ function declaredRules(rules) {
598
+ return rules.map(({ text: text2, strength, applies, forbid, allow }) => {
599
+ const checked = forbid?.filter((p) => !BARE_SHORT_WORD.test(p.trim()) && !shownBothWays(text2, p, allow));
600
+ const check = defined({ forbid: checked, ...checked?.length ? { allow } : {} });
601
+ return {
602
+ id: declaredId(text2),
603
+ origin: "declared",
604
+ strength,
605
+ applies,
606
+ scope: {},
607
+ ...Object.keys(check).length > 0 ? { check } : {},
608
+ text: text2,
609
+ source: { kind: "brand" },
610
+ status: "active"
611
+ };
612
+ });
613
+ }
614
+
615
+ export {
616
+ RULE_STRENGTHS,
617
+ RULE_APPLIES,
618
+ RULE_KINDS,
619
+ Phrases,
620
+ ruleTells,
621
+ IDEA_ANGLES,
622
+ IDEA_VIDEO_FORMATS,
623
+ IDEA_FORMATS,
624
+ AWARENESS_STAGES,
625
+ frontmatterOf,
626
+ parseInsight,
627
+ parseIdea,
628
+ figuresIn,
629
+ SAME_WORDS,
630
+ unsourcedClaims,
631
+ sourcesClaims,
632
+ checkIdeas,
633
+ RULES_DIR,
634
+ parseRuleFile,
635
+ readLearnedRules,
636
+ declaredRules
637
+ };
638
+ //# sourceMappingURL=chunk-MKUA54QE.js.map
@@ -0,0 +1,63 @@
1
+ import {
2
+ sheetDelimiter,
3
+ targetAccountsFrom
4
+ } from "./chunk-45EERHDB.js";
5
+
6
+ // src/commands/accounts/targets.ts
7
+ import { parse } from "csv-parse/sync";
8
+ var COLUMN_OF_HEADER = {
9
+ domain: "domain",
10
+ website: "domain",
11
+ url: "domain",
12
+ companydomain: "domain",
13
+ companywebsite: "domain",
14
+ name: "name",
15
+ company: "name",
16
+ companyname: "name",
17
+ account: "name",
18
+ accountname: "name",
19
+ tier: "tier"
20
+ };
21
+ var headerKey = (header) => header.toLowerCase().replace(/[\s_-]+/g, "");
22
+ function csvEntries(text) {
23
+ const rows = parse(text, {
24
+ bom: true,
25
+ columns: true,
26
+ delimiter: sheetDelimiter(text),
27
+ skip_empty_lines: true,
28
+ relax_column_count: true,
29
+ trim: true
30
+ });
31
+ const columns = Object.keys(rows[0] ?? {}).flatMap((header) => {
32
+ const field = COLUMN_OF_HEADER[headerKey(header)];
33
+ return field ? [[header, field]] : [];
34
+ });
35
+ if (!columns.some(([, field]) => field === "domain")) {
36
+ throw new Error(
37
+ `The file has no domain column (found: ${Object.keys(rows[0] ?? {}).join(", ") || "nothing"}). Name one "domain" or "website".`
38
+ );
39
+ }
40
+ return rows.map((row) => {
41
+ const entry = {};
42
+ for (const [header, field] of columns) entry[field] ??= row[header] ?? "";
43
+ return entry;
44
+ });
45
+ }
46
+ function jsonEntries(text) {
47
+ const parsed = JSON.parse(text);
48
+ if (!Array.isArray(parsed)) {
49
+ throw new Error('The JSON file must be an array: ["acme.com", \u2026] or [{"domain": "acme.com", "tier": 1}, \u2026].');
50
+ }
51
+ return parsed.map(
52
+ (item) => typeof item === "string" ? { domain: item } : typeof item === "object" && item !== null ? item : {}
53
+ );
54
+ }
55
+ function readTargetsFile(path, text) {
56
+ const entries = path.toLowerCase().endsWith(".json") ? jsonEntries(text) : csvEntries(text);
57
+ return targetAccountsFrom(entries);
58
+ }
59
+
60
+ export {
61
+ readTargetsFile
62
+ };
63
+ //# sourceMappingURL=chunk-MTV2RSGY.js.map