@koda-sl/baker-cli 0.539.0 → 0.540.0-dev.91934cfea

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 (852) hide show
  1. package/README.md +20 -2
  2. package/dist/account-MHMTVXMM.js +82 -0
  3. package/dist/account-T26J6HSJ.js +82 -0
  4. package/dist/account-reads-P2WXB3NZ.js +219 -0
  5. package/dist/account-users-HQBWXODR.js +64 -0
  6. package/dist/account-writes-QEZQCU46.js +68 -0
  7. package/dist/accounts-ODYGXLP6.js +80 -0
  8. package/dist/accounts-T3QOYCEZ.js +701 -0
  9. package/dist/actions-Z7R7A5A6.js +55 -0
  10. package/dist/activecampaign-OLQRKAGR.js +938 -0
  11. package/dist/ad-group-writes-MVQKICSC.js +172 -0
  12. package/dist/ad-groups-5OGD7PJ7.js +70 -0
  13. package/dist/ad-writes-OVD6EESQ.js +176 -0
  14. package/dist/add-DPSXPCM3.js +305 -0
  15. package/dist/add-XAEGJJSH.js +107 -0
  16. package/dist/ads-SCWCG2YI.js +79 -0
  17. package/dist/ads-UPTBNK7T.js +48 -0
  18. package/dist/advertisers-DMZKNX2A.js +123 -0
  19. package/dist/analytics-OWJRWSCB.js +2437 -0
  20. package/dist/analytics-T63LQGK2.js +447 -0
  21. package/dist/animate-HV2QJWVE.js +480 -0
  22. package/dist/assign-HO7FQKG3.js +80 -0
  23. package/dist/audience-size-4O3NRUKD.js +76 -0
  24. package/dist/audiences-6N5B7CA2.js +280 -0
  25. package/dist/audit-NI6FQRZK.js +154 -0
  26. package/dist/autocomplete-2VK3LRGH.js +114 -0
  27. package/dist/avatars-SGX4SEBA.js +38 -0
  28. package/dist/bid-pricing-Z4PV6BCK.js +103 -0
  29. package/dist/brand-IEL3DDX7.js +22 -0
  30. package/dist/brief-J6DENGHA.js +543 -0
  31. package/dist/campaign-groups-RFYBWXPO.js +99 -0
  32. package/dist/campaign-writes-TFRV62VN.js +176 -0
  33. package/dist/campaign-writes-YLV3HYNQ.js +168 -0
  34. package/dist/campaigns-G5KQ342J.js +113 -0
  35. package/dist/campaigns-KPUA4GP2.js +78 -0
  36. package/dist/campaigns-ZKPVMDU3.js +111 -0
  37. package/dist/canvas-BPSJVECE.js +46 -0
  38. package/dist/capabilities-T7EVTLBX.js +147 -0
  39. package/dist/catalog-JVBRY2U6.js +66 -0
  40. package/dist/catalogs-QYAAPTMV.js +130 -0
  41. package/dist/changes-2UFWG4T3.js +143 -0
  42. package/dist/chatgpt-KJAUJBRK.js +47 -0
  43. package/dist/chats-WCBO2ZTQ.js +442 -0
  44. package/dist/chats-WCBO2ZTQ.js.map +1 -0
  45. package/dist/check-FH4N5DBG.js +107 -0
  46. package/dist/chunk-2OCUXPWT.js +1919 -0
  47. package/dist/chunk-3HUAOQCY.js +319 -0
  48. package/dist/chunk-444B56AH.js +224 -0
  49. package/dist/chunk-5D2TVABH.js +91 -0
  50. package/dist/chunk-6BQBW5RE.js +297 -0
  51. package/dist/chunk-6OIKNJ7G.js +26 -0
  52. package/dist/chunk-7STPWZTM.js +61 -0
  53. package/dist/chunk-AUO4QNMI.js +148 -0
  54. package/dist/chunk-B6WOWVAA.js +285 -0
  55. package/dist/chunk-BEAQSULO.js +197 -0
  56. package/dist/chunk-BF32BRMX.js +98 -0
  57. package/dist/chunk-BNO3EFGR.js +4266 -0
  58. package/dist/chunk-BNO3EFGR.js.map +1 -0
  59. package/dist/chunk-CAFLQI3M.js +479 -0
  60. package/dist/chunk-DBLOEIJ2.js +5368 -0
  61. package/dist/chunk-DHYWRMWY.js +438 -0
  62. package/dist/chunk-DQIPDAPH.js +274 -0
  63. package/dist/chunk-EIGTUTT6.js +604 -0
  64. package/dist/chunk-EXQ43VBT.js +592 -0
  65. package/dist/chunk-F3CZFUXZ.js +3187 -0
  66. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  67. package/dist/chunk-GCFC2MNR.js +228 -0
  68. package/dist/chunk-H5P4XNTR.js +1646 -0
  69. package/dist/chunk-HH4FAKWI.js +275 -0
  70. package/dist/chunk-HMFIOE4P.js +63 -0
  71. package/dist/chunk-HSUPSA7N.js +89 -0
  72. package/dist/chunk-HXJTZJ7R.js +7743 -0
  73. package/dist/chunk-HXJTZJ7R.js.map +1 -0
  74. package/dist/chunk-HXLCETLB.js +3510 -0
  75. package/dist/chunk-HZH74JIM.js +91 -0
  76. package/dist/chunk-JEUGICMT.js +249 -0
  77. package/dist/chunk-JFZGNLZA.js +494 -0
  78. package/dist/chunk-K4CDJMFM.js +103 -0
  79. package/dist/chunk-KAUW3OFC.js +843 -0
  80. package/dist/chunk-KD7Y5PAV.js +163 -0
  81. package/dist/chunk-KEEXJ3PM.js +191 -0
  82. package/dist/chunk-KFHW5TCM.js +167 -0
  83. package/dist/chunk-KJB7U2WG.js +930 -0
  84. package/dist/chunk-LRHIRVBX.js +170 -0
  85. package/dist/chunk-MHRFRSQ6.js +676 -0
  86. package/dist/chunk-NIP6EWVK.js +142 -0
  87. package/dist/chunk-NOCMEK6R.js +377 -0
  88. package/dist/chunk-NQF5U6FX.js +150 -0
  89. package/dist/chunk-O43ZQ3JO.js +547 -0
  90. package/dist/chunk-O4LSJU3J.js +19 -0
  91. package/dist/chunk-PFVO7KC7.js +156 -0
  92. package/dist/chunk-Q6EF4BH2.js +392 -0
  93. package/dist/chunk-R6XSLSBI.js +207 -0
  94. package/dist/chunk-RAO7FTMY.js +64 -0
  95. package/dist/chunk-RHRAERM6.js +2209 -0
  96. package/dist/chunk-RM5T4MA6.js +783 -0
  97. package/dist/chunk-RTCRGYQL.js +387 -0
  98. package/dist/chunk-SFYVH3SZ.js +57 -0
  99. package/dist/chunk-SIKCVWM3.js +76 -0
  100. package/dist/chunk-SUCYXLJ6.js +910 -0
  101. package/dist/chunk-TAZLKHHL.js +1902 -0
  102. package/dist/chunk-TCYAJVDG.js +23 -0
  103. package/dist/chunk-UNLZ43RQ.js +203 -0
  104. package/dist/chunk-URPWZDJA.js +169 -0
  105. package/dist/chunk-VFXBT7JF.js +51 -0
  106. package/dist/chunk-W4NVTC6Q.js +66 -0
  107. package/dist/chunk-W5K6O3EO.js +455 -0
  108. package/dist/chunk-WM6JHUPY.js +5471 -0
  109. package/dist/chunk-WU3TOZ57.js +831 -0
  110. package/dist/chunk-XAHY53IO.js +857 -0
  111. package/dist/chunk-XMHTLWWE.js +225 -0
  112. package/dist/chunk-XPXHJ6EP.js +24026 -0
  113. package/dist/chunk-XPXHJ6EP.js.map +1 -0
  114. package/dist/chunk-Y3ESEQRI.js +46 -0
  115. package/dist/chunk-YAX5CGUY.js +638 -0
  116. package/dist/chunk-YRNLPGAV.js +344 -0
  117. package/dist/chunk-Z73HKL6X.js +8954 -0
  118. package/dist/chunk-ZCZJ3SQC.js +429 -0
  119. package/dist/chunk-ZJOXRK2G.js +1518 -0
  120. package/dist/chunk-ZPHHJPDG.js +131 -0
  121. package/dist/claim-JLJ4KHOA.js +200 -0
  122. package/dist/cli.js +32 -31
  123. package/dist/cli.js.map +1 -1
  124. package/dist/companies-HZ2DZBJF.js +198 -0
  125. package/dist/company-26TJ3ZHQ.js +308 -0
  126. package/dist/complete-EQZLWQLY.js +84 -0
  127. package/dist/connect-7JGPLBAF.js +45 -0
  128. package/dist/conversation-XS7GH2PD.js +96 -0
  129. package/dist/conversion-report-GK2FUT2R.js +127 -0
  130. package/dist/conversion-upload-command-Q7LZFFZL.js +439 -0
  131. package/dist/conversion-writes-STESFLTB.js +122 -0
  132. package/dist/conversions-DELC6FQO.js +140 -0
  133. package/dist/conversions-JBRU7CGB.js +78 -0
  134. package/dist/create-3RYVQ7ZQ.js +239 -0
  135. package/dist/create-GJQ2E3AZ.js +135 -0
  136. package/dist/create-VULOPTKC.js +210 -0
  137. package/dist/create-YN4A3PKV.js +62 -0
  138. package/dist/creatives-EJQRCVYY.js +223 -0
  139. package/dist/creatives-JTQY5UTX.js +58 -0
  140. package/dist/credentials-3TBM3TFS.js +290 -0
  141. package/dist/critique-HFOOB26B.js +232 -0
  142. package/dist/critique-IZEFC75M.js +1451 -0
  143. package/dist/crm-PQACQT6S.js +227 -0
  144. package/dist/crm-SSVNZPOH.js +323 -0
  145. package/dist/currency-HB3MFXLJ.js +88 -0
  146. package/dist/customers-AFXYG7FE.js +59 -0
  147. package/dist/delete-6QZYSR6K.js +57 -0
  148. package/dist/delete-SPC34ZFO.js +67 -0
  149. package/dist/delete-XR7O5N4X.js +69 -0
  150. package/dist/demographics-YLWGW7G6.js +141 -0
  151. package/dist/discard-XNPXWTBW.js +69 -0
  152. package/dist/discover-DLGO3VW6.js +172 -0
  153. package/dist/domain-LLD4U7OO.js +101 -0
  154. package/dist/download-UXDFM3ZV.js +172 -0
  155. package/dist/draft-4MKYX4VU.js +396 -0
  156. package/dist/draft-I7HIRQ6F.js +283 -0
  157. package/dist/draft-KPDFOAJ6.js +335 -0
  158. package/dist/draft-NHYUTQYP.js +220 -0
  159. package/dist/draft-OU4LP3EV.js +310 -0
  160. package/dist/engine/index.js +8 -8
  161. package/dist/experiments-DPPE7UEW.js +236 -0
  162. package/dist/facets-GSIF6AX3.js +117 -0
  163. package/dist/feedback-EJFWUGGA.js +115 -0
  164. package/dist/feedback-ME2IPOPJ.js +103 -0
  165. package/dist/feedback-ME2IPOPJ.js.map +1 -0
  166. package/dist/feedback-record-ALH4UE5G.js +269 -0
  167. package/dist/fetch-C6Q4YQEJ.js +179 -0
  168. package/dist/fit-UJGHAJFC.js +65 -0
  169. package/dist/flows-FCMGOLTF.js +250 -0
  170. package/dist/fonts-KAGIWNKZ.js +39 -0
  171. package/dist/forecast-3RFACQCU.js +121 -0
  172. package/dist/forecast-AODSMD7S.js +169 -0
  173. package/dist/funnel-DINYX53F.js +397 -0
  174. package/dist/generate-HSDSCKDW.js +263 -0
  175. package/dist/get-IDYK57H7.js +59 -0
  176. package/dist/get-OI4YRD3L.js +82 -0
  177. package/dist/google-FOZYYKNY.js +3267 -0
  178. package/dist/google-ads-4DOMH2UV.js +198 -0
  179. package/dist/history-HTJL2L5D.js +102 -0
  180. package/dist/history-OLVARKGD.js +153 -0
  181. package/dist/history-SHQVK5I7.js +69 -0
  182. package/dist/hubspot-IRH2GAAX.js +782 -0
  183. package/dist/ideas-4LKSORBG.js +45 -0
  184. package/dist/images-DCQIUJBT.js +92 -0
  185. package/dist/ingest-U7VAV7IM.js +123 -0
  186. package/dist/ingest-WO4EJMNI.js +27 -0
  187. package/dist/insights-UMPXHRKD.js +132 -0
  188. package/dist/inspect-XKZR36QA.js +192 -0
  189. package/dist/intent-NBP5IDND.js +95 -0
  190. package/dist/keyword-gap-67UJ2LDD.js +130 -0
  191. package/dist/keyword-metrics-6G3C32M3.js +200 -0
  192. package/dist/keywords-for-site-27X47XJQ.js +131 -0
  193. package/dist/landing-RPPXKFRU.js +28 -0
  194. package/dist/languages-TM7SHGRO.js +40 -0
  195. package/dist/leads-IZS3DRCO.js +115 -0
  196. package/dist/learn-HZEOU3CN.js +207 -0
  197. package/dist/line-item-writes-57ABY4A3.js +211 -0
  198. package/dist/line-items-J3IWQA66.js +107 -0
  199. package/dist/link-3H2PK2DD.js +67 -0
  200. package/dist/linkedin-SF75JMZT.js +1328 -0
  201. package/dist/linkedin-person-5YNH3RDX.js +139 -0
  202. package/dist/list-MVZM5WXU.js +306 -0
  203. package/dist/list-Q3I5ZABL.js +154 -0
  204. package/dist/list-W7NE3NNF.js +67 -0
  205. package/dist/locations-HAXZUHJP.js +40 -0
  206. package/dist/locations-JFBM4XBL.js +69 -0
  207. package/dist/log-MZU2J4OC.js +95 -0
  208. package/dist/make-VILXHWMX.js +1367 -0
  209. package/dist/map-MIDSERZT.js +436 -0
  210. package/dist/mcp-MEZSQTQS.js +729 -0
  211. package/dist/media-sources-RYWCWEIZ.js +35 -0
  212. package/dist/members-6XEW5STI.js +47 -0
  213. package/dist/metrics-XWHE4LYQ.js +152 -0
  214. package/dist/models-3C6BWHEC.js +155 -0
  215. package/dist/normalize-M6PR7JDG.js +144 -0
  216. package/dist/options-KTI2IDFT.js +125 -0
  217. package/dist/organization-WEFYQ3CV.js +949 -0
  218. package/dist/performance-FBKKECUS.js +27 -0
  219. package/dist/performance-K2AVEUZQ.js +5565 -0
  220. package/dist/pixels-PMPL63ON.js +62 -0
  221. package/dist/promoted-tweet-writes-7ELZBXE2.js +183 -0
  222. package/dist/promoted-tweets-QSTRB6F5.js +119 -0
  223. package/dist/publish-ZN36O7BG.js +344 -0
  224. package/dist/query-CTQGGPXW.js +62 -0
  225. package/dist/reddit-7EA5AWSS.js +29 -0
  226. package/dist/refresh-7F2QJYYV.js +97 -0
  227. package/dist/release-PPRR6DYB.js +63 -0
  228. package/dist/relevant-pages-NPUSAV3K.js +99 -0
  229. package/dist/remove-XIPDNTIY.js +53 -0
  230. package/dist/reopen-GZN3R2QV.js +66 -0
  231. package/dist/rerun-WDWQGRDM.js +96 -0
  232. package/dist/research-6DQSQCNK.js +265 -0
  233. package/dist/research-QIGBAAHS.js +72 -0
  234. package/dist/reset-IUKNG46S.js +57 -0
  235. package/dist/reset-QOTBQKTC.js +57 -0
  236. package/dist/resolve-6O2PNS53.js +124 -0
  237. package/dist/retry-DRC2TTV7.js +63 -0
  238. package/dist/retry-Y4BCINFT.js +65 -0
  239. package/dist/revenue-QQUQ7GU6.js +91 -0
  240. package/dist/rules-BUNOVMVJ.js +99 -0
  241. package/dist/rules-add-CDENNVBW.js +465 -0
  242. package/dist/run-PQ746XEE.js +69 -0
  243. package/dist/run-XNAIOT7R.js +71 -0
  244. package/dist/scaffold-ad-PHAB6GLN.js +1513 -0
  245. package/dist/scaffold-static-ad-IHDRTH6L.js +1011 -0
  246. package/dist/scaffold-video-LS2RVIAZ.js +885 -0
  247. package/dist/schedule-GETX5RGF.js +64 -0
  248. package/dist/scheduled-agents-KXYUHTLP.js +55 -0
  249. package/dist/schema-NGBW5YPB.js +135 -0
  250. package/dist/search-F4Q2AFF7.js +177 -0
  251. package/dist/select-4PJ6RWNC.js +110 -0
  252. package/dist/set-prompt-JLBXOTMG.js +199 -0
  253. package/dist/setup-links-D2LM5HYV.js +144 -0
  254. package/dist/shopify-HGDOKO3A.js +3958 -0
  255. package/dist/site-PBZYQUH6.js +180 -0
  256. package/dist/sources-MZC2DJE6.js +30 -0
  257. package/dist/sources-T74V2W45.js +457 -0
  258. package/dist/stale-JV6JLTGD.js +90 -0
  259. package/dist/status-QDK37PJG.js +65 -0
  260. package/dist/studio-C2UVCTDD.js +49 -0
  261. package/dist/sync-43UXJTKL.js +57 -0
  262. package/dist/sync-definition-2ZFQPGDO.js +70 -0
  263. package/dist/tags-H2KBFHX4.js +23 -0
  264. package/dist/tags-KU5L7ZBF.js +227 -0
  265. package/dist/tags-QG3XFTJD.js +26 -0
  266. package/dist/tags-S7OLVPI6.js +23 -0
  267. package/dist/tags-SFPZ7AT4.js +23 -0
  268. package/dist/targeting-criteria-MU4KEOW5.js +113 -0
  269. package/dist/targets-V6WKUMTX.js +106 -0
  270. package/dist/testimonials-DX25LR6G.js +32 -0
  271. package/dist/themes-32CUPT4M.js +95 -0
  272. package/dist/top-companies-SBMXYZRJ.js +111 -0
  273. package/dist/transcript-73MISAES.js +165 -0
  274. package/dist/translate-XDXRGPY5.js +603 -0
  275. package/dist/triggers-3K4NWQ2R.js +144 -0
  276. package/dist/unlink-QXT3S6CR.js +70 -0
  277. package/dist/unstage-UVQO46T7.js +88 -0
  278. package/dist/update-4NYP4T76.js +192 -0
  279. package/dist/update-FN46SSF6.js +155 -0
  280. package/dist/update-LI6TK56N.js +66 -0
  281. package/dist/update-N3KYD5NR.js +101 -0
  282. package/dist/upload-7XNKN6WA.js +130 -0
  283. package/dist/url-options-JJIA77MZ.js +131 -0
  284. package/dist/url-params-X77DEIN6.js +101 -0
  285. package/dist/validate-ZNGKO2T2.js +125 -0
  286. package/dist/videos-XEUD3OVY.js +41 -0
  287. package/dist/viewer-check-KIYNWVQW.js +83 -0
  288. package/dist/web-2MUEGVLM.js +143 -0
  289. package/dist/winning-ads-INF6U6YQ.js +86 -0
  290. package/dist/write-commands-4DSHZ3NZ.js +1525 -0
  291. package/dist/x-PSDLHAJQ.js +47 -0
  292. package/package.json +1 -1
  293. package/dist/account-LO57QU6O.js +0 -82
  294. package/dist/account-V5XHQY2D.js +0 -82
  295. package/dist/account-reads-CPL3HLZ5.js +0 -219
  296. package/dist/account-users-RF3VN6VL.js +0 -64
  297. package/dist/account-writes-MFKCVMMV.js +0 -68
  298. package/dist/accounts-DTHZLL3R.js +0 -701
  299. package/dist/accounts-SJ5MKHKE.js +0 -80
  300. package/dist/actions-LRJRQXC3.js +0 -55
  301. package/dist/activecampaign-DMFUWRD6.js +0 -938
  302. package/dist/ad-group-writes-WFYPFO7R.js +0 -172
  303. package/dist/ad-groups-IPY3TJUX.js +0 -70
  304. package/dist/ad-writes-LDNNN72V.js +0 -176
  305. package/dist/add-HSF5S544.js +0 -107
  306. package/dist/add-IOIY44HY.js +0 -305
  307. package/dist/ads-NTDJRTEG.js +0 -79
  308. package/dist/ads-XZ43D67L.js +0 -48
  309. package/dist/advertisers-T4AGXFN4.js +0 -123
  310. package/dist/analytics-MDIE5CPL.js +0 -2437
  311. package/dist/analytics-TLEWXYXV.js +0 -447
  312. package/dist/animate-CQON6SZE.js +0 -480
  313. package/dist/assign-N5PNZWUW.js +0 -80
  314. package/dist/audience-size-GMANWKU5.js +0 -76
  315. package/dist/audiences-KRI7E7FY.js +0 -280
  316. package/dist/audit-EGLLMYFY.js +0 -154
  317. package/dist/autocomplete-6DUDQLRT.js +0 -114
  318. package/dist/avatars-UZN75NVZ.js +0 -38
  319. package/dist/bid-pricing-SQERHWYU.js +0 -103
  320. package/dist/brand-XY7EVNPW.js +0 -22
  321. package/dist/brief-NMACLLA2.js +0 -543
  322. package/dist/campaign-groups-VWSLBQKJ.js +0 -99
  323. package/dist/campaign-writes-DAL4EFIV.js +0 -176
  324. package/dist/campaign-writes-FBIQOLRS.js +0 -168
  325. package/dist/campaigns-64JH3U6Z.js +0 -113
  326. package/dist/campaigns-KYI6WAXT.js +0 -111
  327. package/dist/campaigns-TKQDXU5H.js +0 -78
  328. package/dist/canvas-DTJM2LTE.js +0 -46
  329. package/dist/capabilities-O5UVQ4KK.js +0 -147
  330. package/dist/catalog-6CXOEKBI.js +0 -66
  331. package/dist/catalogs-ETVY5OZ5.js +0 -130
  332. package/dist/changes-2P2P4LAU.js +0 -143
  333. package/dist/chatgpt-GINMQJBI.js +0 -47
  334. package/dist/chats-NUO3CA4N.js +0 -384
  335. package/dist/chats-NUO3CA4N.js.map +0 -1
  336. package/dist/check-RRHOCY2U.js +0 -107
  337. package/dist/chunk-24SPBLU4.js +0 -1646
  338. package/dist/chunk-2AJ5UNOF.js +0 -131
  339. package/dist/chunk-2Y3VZILY.js +0 -98
  340. package/dist/chunk-3BOPIUO6.js +0 -163
  341. package/dist/chunk-3LH5ANM4.js +0 -7712
  342. package/dist/chunk-3LH5ANM4.js.map +0 -1
  343. package/dist/chunk-3RWSYI6N.js +0 -63
  344. package/dist/chunk-4PWC4KAK.js +0 -843
  345. package/dist/chunk-5MMAYAWR.js +0 -103
  346. package/dist/chunk-5VVXF3OS.js +0 -676
  347. package/dist/chunk-5Y3EEI52.js +0 -224
  348. package/dist/chunk-6EMVPPSQ.js +0 -89
  349. package/dist/chunk-77MDZIHK.js +0 -23
  350. package/dist/chunk-A5PQYKVO.js +0 -344
  351. package/dist/chunk-AA3WWPX2.js +0 -392
  352. package/dist/chunk-AL6373J7.js +0 -930
  353. package/dist/chunk-AMHVCMBW.js +0 -3510
  354. package/dist/chunk-BQYSBQZ3.js +0 -91
  355. package/dist/chunk-BYZQ43VI.js +0 -592
  356. package/dist/chunk-C54JXXV3.js +0 -24026
  357. package/dist/chunk-C54JXXV3.js.map +0 -1
  358. package/dist/chunk-C753PJBU.js +0 -91
  359. package/dist/chunk-CB7GZQVN.js +0 -249
  360. package/dist/chunk-CTBDVZ5E.js +0 -274
  361. package/dist/chunk-CV35AJYT.js +0 -57
  362. package/dist/chunk-EJBHZ7AQ.js +0 -387
  363. package/dist/chunk-EKQCHHZW.js +0 -319
  364. package/dist/chunk-FOD5VSHH.js +0 -51
  365. package/dist/chunk-FSLSISPI.js +0 -46
  366. package/dist/chunk-G523URK2.js +0 -438
  367. package/dist/chunk-G6KE737R.js +0 -377
  368. package/dist/chunk-GNZM7SWV.js +0 -156
  369. package/dist/chunk-GRXBD43G.js +0 -169
  370. package/dist/chunk-GT76FWES.js +0 -1919
  371. package/dist/chunk-GTIQUOYC.js +0 -148
  372. package/dist/chunk-GTV62WIS.js +0 -479
  373. package/dist/chunk-GY6N42PE.js +0 -142
  374. package/dist/chunk-H27R5IVQ.js +0 -64
  375. package/dist/chunk-HHQYP6RM.js +0 -783
  376. package/dist/chunk-HN7GK5UX.js +0 -910
  377. package/dist/chunk-I6W6FAUZ.js +0 -547
  378. package/dist/chunk-IJ5DWALA.js +0 -225
  379. package/dist/chunk-JAC6JVCI.js +0 -26
  380. package/dist/chunk-K5CEP7W4.js +0 -66
  381. package/dist/chunk-KJOEW2PI.js +0 -297
  382. package/dist/chunk-KSECMOHE.js +0 -857
  383. package/dist/chunk-KVBNUGQ6.js +0 -197
  384. package/dist/chunk-MCJ5I5LR.js +0 -3187
  385. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  386. package/dist/chunk-MZPS46OR.js +0 -76
  387. package/dist/chunk-N2MZLW6O.js +0 -170
  388. package/dist/chunk-NGXZQESA.js +0 -5471
  389. package/dist/chunk-NJIRVF2B.js +0 -8954
  390. package/dist/chunk-NNG4QCKJ.js +0 -207
  391. package/dist/chunk-NPF4KTRK.js +0 -191
  392. package/dist/chunk-NQ5O2NCJ.js +0 -5368
  393. package/dist/chunk-OU4TDC2P.js +0 -275
  394. package/dist/chunk-P7WISPGE.js +0 -61
  395. package/dist/chunk-R2VP7FK4.js +0 -831
  396. package/dist/chunk-RD63FPG6.js +0 -150
  397. package/dist/chunk-RFR7ZN3P.js +0 -604
  398. package/dist/chunk-RW32BYY3.js +0 -1518
  399. package/dist/chunk-SMDJW5W4.js +0 -19
  400. package/dist/chunk-THV7SMY6.js +0 -203
  401. package/dist/chunk-TI4UL56R.js +0 -4266
  402. package/dist/chunk-TI4UL56R.js.map +0 -1
  403. package/dist/chunk-TNQJDM2P.js +0 -1902
  404. package/dist/chunk-TQDZQT6U.js +0 -167
  405. package/dist/chunk-UC46M2KW.js +0 -494
  406. package/dist/chunk-UIPSSTMA.js +0 -228
  407. package/dist/chunk-VMUJ6JHR.js +0 -2209
  408. package/dist/chunk-VWKFQ4ZY.js +0 -285
  409. package/dist/chunk-WTYKTPZP.js +0 -455
  410. package/dist/chunk-XFMFZAWL.js +0 -429
  411. package/dist/chunk-YFIWCMVC.js +0 -638
  412. package/dist/claim-ZKKC5472.js +0 -200
  413. package/dist/companies-CJFQ63MC.js +0 -198
  414. package/dist/company-7K4EDRIN.js +0 -308
  415. package/dist/complete-ODOQLGSO.js +0 -84
  416. package/dist/connect-APAK3WAY.js +0 -45
  417. package/dist/conversation-B6V3VCT5.js +0 -96
  418. package/dist/conversion-report-JNWBTLA5.js +0 -127
  419. package/dist/conversion-upload-command-6OKMSO2T.js +0 -439
  420. package/dist/conversion-writes-2VOWP4RD.js +0 -122
  421. package/dist/conversions-D32UTEPH.js +0 -140
  422. package/dist/conversions-JGIBYLK5.js +0 -78
  423. package/dist/create-ALMXIVHA.js +0 -239
  424. package/dist/create-EUQYK2SH.js +0 -135
  425. package/dist/create-TOCR7EFZ.js +0 -62
  426. package/dist/create-VAGPIZTU.js +0 -210
  427. package/dist/creatives-62PV7BIF.js +0 -223
  428. package/dist/creatives-HUDKBUDS.js +0 -58
  429. package/dist/credentials-WCD4F225.js +0 -290
  430. package/dist/critique-KJXHSKLT.js +0 -1451
  431. package/dist/critique-OO6SORTA.js +0 -232
  432. package/dist/crm-5CYCCV34.js +0 -323
  433. package/dist/crm-YVRIT2RL.js +0 -227
  434. package/dist/currency-JDAVYMD3.js +0 -88
  435. package/dist/customers-FSOXPMOU.js +0 -59
  436. package/dist/delete-EEU6WJ6M.js +0 -67
  437. package/dist/delete-H7IWZGUZ.js +0 -69
  438. package/dist/delete-QXZFJNUS.js +0 -57
  439. package/dist/demographics-RM5PA54R.js +0 -141
  440. package/dist/discard-6XOYXNZ6.js +0 -69
  441. package/dist/discover-VEHKBNCY.js +0 -172
  442. package/dist/domain-X7MT3XUG.js +0 -101
  443. package/dist/download-YQYR5GUP.js +0 -172
  444. package/dist/draft-DUAFRL2G.js +0 -283
  445. package/dist/draft-FXMGEY3E.js +0 -220
  446. package/dist/draft-V7VGPJK4.js +0 -396
  447. package/dist/draft-XWHU5C5Z.js +0 -335
  448. package/dist/draft-YXGASP7M.js +0 -310
  449. package/dist/experiments-2XOC77Y7.js +0 -236
  450. package/dist/facets-7Q36JF2D.js +0 -117
  451. package/dist/feedback-WPV2RKJS.js +0 -115
  452. package/dist/feedback-record-UEWS4FZJ.js +0 -269
  453. package/dist/fetch-AARAG6UL.js +0 -179
  454. package/dist/fit-T4ALNNXL.js +0 -65
  455. package/dist/flows-PYPA2FM3.js +0 -250
  456. package/dist/fonts-H2GG2JXA.js +0 -39
  457. package/dist/forecast-LMSPNY6X.js +0 -121
  458. package/dist/forecast-UYBYSH3Y.js +0 -169
  459. package/dist/funnel-KIYPFPIY.js +0 -397
  460. package/dist/generate-QG7GX6WO.js +0 -263
  461. package/dist/get-IN6UXQRX.js +0 -59
  462. package/dist/get-ROETYEYF.js +0 -82
  463. package/dist/google-UQLYCYSX.js +0 -3267
  464. package/dist/google-ads-CBJZKTXG.js +0 -198
  465. package/dist/history-EUL7GBUK.js +0 -153
  466. package/dist/history-GTT55ZP7.js +0 -102
  467. package/dist/history-XOB23MLX.js +0 -69
  468. package/dist/hubspot-B6Z77JY6.js +0 -782
  469. package/dist/ideas-RVK4RNKN.js +0 -45
  470. package/dist/images-RGJZ6FJL.js +0 -92
  471. package/dist/ingest-7FHCKRYR.js +0 -27
  472. package/dist/ingest-GBWY2ZEP.js +0 -123
  473. package/dist/insights-7CQJOBWX.js +0 -132
  474. package/dist/inspect-RC6GKLIF.js +0 -192
  475. package/dist/intent-P75BDP4H.js +0 -95
  476. package/dist/keyword-gap-54F6CZLM.js +0 -130
  477. package/dist/keyword-metrics-PL5IYZGN.js +0 -200
  478. package/dist/keywords-for-site-4FMJ5IGN.js +0 -131
  479. package/dist/landing-24TVKWTP.js +0 -28
  480. package/dist/languages-PEGOE365.js +0 -40
  481. package/dist/leads-6TFBPYMM.js +0 -115
  482. package/dist/learn-4LGNFGWH.js +0 -207
  483. package/dist/line-item-writes-AOTRDB4L.js +0 -211
  484. package/dist/line-items-ERV3F2EI.js +0 -107
  485. package/dist/link-QZXI5YJP.js +0 -67
  486. package/dist/linkedin-4BKZ5KUE.js +0 -1328
  487. package/dist/linkedin-person-ZLXMOG2U.js +0 -139
  488. package/dist/list-7FB6764Q.js +0 -67
  489. package/dist/list-QHAYR2IQ.js +0 -154
  490. package/dist/list-UCQEHPIR.js +0 -306
  491. package/dist/locations-MXWGZIGU.js +0 -69
  492. package/dist/locations-SHYN5J4Q.js +0 -40
  493. package/dist/log-WPZRUMZU.js +0 -95
  494. package/dist/make-VCAS2M2W.js +0 -1367
  495. package/dist/map-5EQO2VXB.js +0 -436
  496. package/dist/mcp-CKOYL4IU.js +0 -729
  497. package/dist/media-sources-EDZ2PBJY.js +0 -35
  498. package/dist/members-E2AGJIU6.js +0 -47
  499. package/dist/metrics-25LYUEB7.js +0 -152
  500. package/dist/models-EU3NO4IY.js +0 -155
  501. package/dist/normalize-PHJT5CAD.js +0 -144
  502. package/dist/options-KFABOCWK.js +0 -125
  503. package/dist/organization-BP5DTWL7.js +0 -949
  504. package/dist/performance-C4M3GJPC.js +0 -27
  505. package/dist/performance-H3SJD3SN.js +0 -5565
  506. package/dist/pixels-NLH2PN6Q.js +0 -62
  507. package/dist/promoted-tweet-writes-ATWAKV6N.js +0 -183
  508. package/dist/promoted-tweets-TWQP3MDP.js +0 -119
  509. package/dist/publish-Q4W7MI7P.js +0 -344
  510. package/dist/query-SRJXJVDY.js +0 -62
  511. package/dist/reddit-JWZYSUAG.js +0 -29
  512. package/dist/refresh-VRBHP4AA.js +0 -97
  513. package/dist/release-OV4ZDCXG.js +0 -63
  514. package/dist/relevant-pages-VJHTUJMB.js +0 -99
  515. package/dist/remove-DBCSQSEP.js +0 -53
  516. package/dist/reopen-5ZOEKYQ5.js +0 -66
  517. package/dist/rerun-YMRW6BHM.js +0 -96
  518. package/dist/research-HUM6CF74.js +0 -265
  519. package/dist/research-M3QPWTYX.js +0 -72
  520. package/dist/reset-BPAFOW6M.js +0 -57
  521. package/dist/reset-WAY3BSZX.js +0 -57
  522. package/dist/resolve-AQ6UFEMN.js +0 -124
  523. package/dist/retry-3KYFTPXZ.js +0 -65
  524. package/dist/retry-XO54CIRK.js +0 -63
  525. package/dist/revenue-PPDMQO3H.js +0 -91
  526. package/dist/rules-4ENXG5XW.js +0 -99
  527. package/dist/rules-add-FTBOOE6L.js +0 -465
  528. package/dist/run-2ZRTKR7A.js +0 -69
  529. package/dist/run-UECCNQ63.js +0 -71
  530. package/dist/scaffold-ad-DFKFUOOZ.js +0 -1513
  531. package/dist/scaffold-static-ad-II3TUE5I.js +0 -1011
  532. package/dist/scaffold-video-IKVYICIY.js +0 -885
  533. package/dist/schedule-ERHKGQID.js +0 -64
  534. package/dist/scheduled-agents-ICXFV7NP.js +0 -55
  535. package/dist/schema-NUUZ3MG7.js +0 -135
  536. package/dist/search-B2APYHV6.js +0 -177
  537. package/dist/select-WVNPJDXP.js +0 -110
  538. package/dist/set-prompt-KHBDWDXA.js +0 -199
  539. package/dist/setup-links-R3FH7WK4.js +0 -144
  540. package/dist/shopify-34CFN6SG.js +0 -3958
  541. package/dist/site-H6AMVMIX.js +0 -180
  542. package/dist/sources-2VJMHUH7.js +0 -30
  543. package/dist/sources-S63224S7.js +0 -457
  544. package/dist/stale-6BEHWQZ7.js +0 -90
  545. package/dist/status-MCMOSDVX.js +0 -65
  546. package/dist/studio-4QOFG7MQ.js +0 -49
  547. package/dist/sync-WJCJHNET.js +0 -57
  548. package/dist/sync-definition-THVMBGJR.js +0 -70
  549. package/dist/tags-AGFUJ2BB.js +0 -227
  550. package/dist/tags-OPMPPJY2.js +0 -23
  551. package/dist/tags-VGJ76RJT.js +0 -26
  552. package/dist/tags-VOCMMZ75.js +0 -23
  553. package/dist/tags-WK6P5A4D.js +0 -23
  554. package/dist/targeting-criteria-KRIMZRVI.js +0 -113
  555. package/dist/targets-MCOEM4XQ.js +0 -106
  556. package/dist/testimonials-A2AFXSZV.js +0 -32
  557. package/dist/themes-JBX6W4SP.js +0 -95
  558. package/dist/top-companies-ESCRXLSK.js +0 -111
  559. package/dist/transcript-N2ZWN4CI.js +0 -165
  560. package/dist/translate-YGUYVOGA.js +0 -603
  561. package/dist/triggers-G4EW5XG6.js +0 -144
  562. package/dist/unlink-DRIVH2GT.js +0 -70
  563. package/dist/unstage-WUQV6QBV.js +0 -88
  564. package/dist/update-5GIAKABM.js +0 -66
  565. package/dist/update-COXCKREW.js +0 -101
  566. package/dist/update-NA4M4J5D.js +0 -155
  567. package/dist/update-T7PSOZES.js +0 -192
  568. package/dist/upload-IXVEJLZU.js +0 -130
  569. package/dist/url-options-JSRAMMEM.js +0 -131
  570. package/dist/url-params-IL2M2WZI.js +0 -101
  571. package/dist/validate-QAJJ7QCJ.js +0 -125
  572. package/dist/videos-I7PCC2EC.js +0 -41
  573. package/dist/viewer-check-PUAWVYWP.js +0 -83
  574. package/dist/web-O2MCPPB5.js +0 -143
  575. package/dist/winning-ads-FTMP4FUC.js +0 -86
  576. package/dist/write-commands-NKKNWQIM.js +0 -1525
  577. package/dist/x-FPRMRQLQ.js +0 -47
  578. /package/dist/{account-LO57QU6O.js.map → account-MHMTVXMM.js.map} +0 -0
  579. /package/dist/{account-V5XHQY2D.js.map → account-T26J6HSJ.js.map} +0 -0
  580. /package/dist/{account-reads-CPL3HLZ5.js.map → account-reads-P2WXB3NZ.js.map} +0 -0
  581. /package/dist/{account-users-RF3VN6VL.js.map → account-users-HQBWXODR.js.map} +0 -0
  582. /package/dist/{account-writes-MFKCVMMV.js.map → account-writes-QEZQCU46.js.map} +0 -0
  583. /package/dist/{accounts-SJ5MKHKE.js.map → accounts-ODYGXLP6.js.map} +0 -0
  584. /package/dist/{accounts-DTHZLL3R.js.map → accounts-T3QOYCEZ.js.map} +0 -0
  585. /package/dist/{actions-LRJRQXC3.js.map → actions-Z7R7A5A6.js.map} +0 -0
  586. /package/dist/{activecampaign-DMFUWRD6.js.map → activecampaign-OLQRKAGR.js.map} +0 -0
  587. /package/dist/{ad-group-writes-WFYPFO7R.js.map → ad-group-writes-MVQKICSC.js.map} +0 -0
  588. /package/dist/{ad-groups-IPY3TJUX.js.map → ad-groups-5OGD7PJ7.js.map} +0 -0
  589. /package/dist/{ad-writes-LDNNN72V.js.map → ad-writes-OVD6EESQ.js.map} +0 -0
  590. /package/dist/{add-IOIY44HY.js.map → add-DPSXPCM3.js.map} +0 -0
  591. /package/dist/{add-HSF5S544.js.map → add-XAEGJJSH.js.map} +0 -0
  592. /package/dist/{ads-NTDJRTEG.js.map → ads-SCWCG2YI.js.map} +0 -0
  593. /package/dist/{ads-XZ43D67L.js.map → ads-UPTBNK7T.js.map} +0 -0
  594. /package/dist/{advertisers-T4AGXFN4.js.map → advertisers-DMZKNX2A.js.map} +0 -0
  595. /package/dist/{analytics-MDIE5CPL.js.map → analytics-OWJRWSCB.js.map} +0 -0
  596. /package/dist/{analytics-TLEWXYXV.js.map → analytics-T63LQGK2.js.map} +0 -0
  597. /package/dist/{animate-CQON6SZE.js.map → animate-HV2QJWVE.js.map} +0 -0
  598. /package/dist/{assign-N5PNZWUW.js.map → assign-HO7FQKG3.js.map} +0 -0
  599. /package/dist/{audience-size-GMANWKU5.js.map → audience-size-4O3NRUKD.js.map} +0 -0
  600. /package/dist/{audiences-KRI7E7FY.js.map → audiences-6N5B7CA2.js.map} +0 -0
  601. /package/dist/{audit-EGLLMYFY.js.map → audit-NI6FQRZK.js.map} +0 -0
  602. /package/dist/{autocomplete-6DUDQLRT.js.map → autocomplete-2VK3LRGH.js.map} +0 -0
  603. /package/dist/{avatars-UZN75NVZ.js.map → avatars-SGX4SEBA.js.map} +0 -0
  604. /package/dist/{bid-pricing-SQERHWYU.js.map → bid-pricing-Z4PV6BCK.js.map} +0 -0
  605. /package/dist/{brand-XY7EVNPW.js.map → brand-IEL3DDX7.js.map} +0 -0
  606. /package/dist/{brief-NMACLLA2.js.map → brief-J6DENGHA.js.map} +0 -0
  607. /package/dist/{campaign-groups-VWSLBQKJ.js.map → campaign-groups-RFYBWXPO.js.map} +0 -0
  608. /package/dist/{campaign-writes-DAL4EFIV.js.map → campaign-writes-TFRV62VN.js.map} +0 -0
  609. /package/dist/{campaign-writes-FBIQOLRS.js.map → campaign-writes-YLV3HYNQ.js.map} +0 -0
  610. /package/dist/{campaigns-64JH3U6Z.js.map → campaigns-G5KQ342J.js.map} +0 -0
  611. /package/dist/{campaigns-TKQDXU5H.js.map → campaigns-KPUA4GP2.js.map} +0 -0
  612. /package/dist/{campaigns-KYI6WAXT.js.map → campaigns-ZKPVMDU3.js.map} +0 -0
  613. /package/dist/{canvas-DTJM2LTE.js.map → canvas-BPSJVECE.js.map} +0 -0
  614. /package/dist/{capabilities-O5UVQ4KK.js.map → capabilities-T7EVTLBX.js.map} +0 -0
  615. /package/dist/{catalog-6CXOEKBI.js.map → catalog-JVBRY2U6.js.map} +0 -0
  616. /package/dist/{catalogs-ETVY5OZ5.js.map → catalogs-QYAAPTMV.js.map} +0 -0
  617. /package/dist/{changes-2P2P4LAU.js.map → changes-2UFWG4T3.js.map} +0 -0
  618. /package/dist/{chatgpt-GINMQJBI.js.map → chatgpt-KJAUJBRK.js.map} +0 -0
  619. /package/dist/{check-RRHOCY2U.js.map → check-FH4N5DBG.js.map} +0 -0
  620. /package/dist/{chunk-GT76FWES.js.map → chunk-2OCUXPWT.js.map} +0 -0
  621. /package/dist/{chunk-EKQCHHZW.js.map → chunk-3HUAOQCY.js.map} +0 -0
  622. /package/dist/{chunk-5Y3EEI52.js.map → chunk-444B56AH.js.map} +0 -0
  623. /package/dist/{chunk-BQYSBQZ3.js.map → chunk-5D2TVABH.js.map} +0 -0
  624. /package/dist/{chunk-KJOEW2PI.js.map → chunk-6BQBW5RE.js.map} +0 -0
  625. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  626. /package/dist/{chunk-P7WISPGE.js.map → chunk-7STPWZTM.js.map} +0 -0
  627. /package/dist/{chunk-GTIQUOYC.js.map → chunk-AUO4QNMI.js.map} +0 -0
  628. /package/dist/{chunk-VWKFQ4ZY.js.map → chunk-B6WOWVAA.js.map} +0 -0
  629. /package/dist/{chunk-KVBNUGQ6.js.map → chunk-BEAQSULO.js.map} +0 -0
  630. /package/dist/{chunk-2Y3VZILY.js.map → chunk-BF32BRMX.js.map} +0 -0
  631. /package/dist/{chunk-GTV62WIS.js.map → chunk-CAFLQI3M.js.map} +0 -0
  632. /package/dist/{chunk-NQ5O2NCJ.js.map → chunk-DBLOEIJ2.js.map} +0 -0
  633. /package/dist/{chunk-G523URK2.js.map → chunk-DHYWRMWY.js.map} +0 -0
  634. /package/dist/{chunk-CTBDVZ5E.js.map → chunk-DQIPDAPH.js.map} +0 -0
  635. /package/dist/{chunk-RFR7ZN3P.js.map → chunk-EIGTUTT6.js.map} +0 -0
  636. /package/dist/{chunk-BYZQ43VI.js.map → chunk-EXQ43VBT.js.map} +0 -0
  637. /package/dist/{chunk-UIPSSTMA.js.map → chunk-GCFC2MNR.js.map} +0 -0
  638. /package/dist/{chunk-24SPBLU4.js.map → chunk-H5P4XNTR.js.map} +0 -0
  639. /package/dist/{chunk-OU4TDC2P.js.map → chunk-HH4FAKWI.js.map} +0 -0
  640. /package/dist/{chunk-3RWSYI6N.js.map → chunk-HMFIOE4P.js.map} +0 -0
  641. /package/dist/{chunk-6EMVPPSQ.js.map → chunk-HSUPSA7N.js.map} +0 -0
  642. /package/dist/{chunk-AMHVCMBW.js.map → chunk-HXLCETLB.js.map} +0 -0
  643. /package/dist/{chunk-C753PJBU.js.map → chunk-HZH74JIM.js.map} +0 -0
  644. /package/dist/{chunk-CB7GZQVN.js.map → chunk-JEUGICMT.js.map} +0 -0
  645. /package/dist/{chunk-UC46M2KW.js.map → chunk-JFZGNLZA.js.map} +0 -0
  646. /package/dist/{chunk-5MMAYAWR.js.map → chunk-K4CDJMFM.js.map} +0 -0
  647. /package/dist/{chunk-4PWC4KAK.js.map → chunk-KAUW3OFC.js.map} +0 -0
  648. /package/dist/{chunk-3BOPIUO6.js.map → chunk-KD7Y5PAV.js.map} +0 -0
  649. /package/dist/{chunk-NPF4KTRK.js.map → chunk-KEEXJ3PM.js.map} +0 -0
  650. /package/dist/{chunk-TQDZQT6U.js.map → chunk-KFHW5TCM.js.map} +0 -0
  651. /package/dist/{chunk-AL6373J7.js.map → chunk-KJB7U2WG.js.map} +0 -0
  652. /package/dist/{chunk-N2MZLW6O.js.map → chunk-LRHIRVBX.js.map} +0 -0
  653. /package/dist/{chunk-5VVXF3OS.js.map → chunk-MHRFRSQ6.js.map} +0 -0
  654. /package/dist/{chunk-GY6N42PE.js.map → chunk-NIP6EWVK.js.map} +0 -0
  655. /package/dist/{chunk-G6KE737R.js.map → chunk-NOCMEK6R.js.map} +0 -0
  656. /package/dist/{chunk-RD63FPG6.js.map → chunk-NQF5U6FX.js.map} +0 -0
  657. /package/dist/{chunk-I6W6FAUZ.js.map → chunk-O43ZQ3JO.js.map} +0 -0
  658. /package/dist/{chunk-SMDJW5W4.js.map → chunk-O4LSJU3J.js.map} +0 -0
  659. /package/dist/{chunk-GNZM7SWV.js.map → chunk-PFVO7KC7.js.map} +0 -0
  660. /package/dist/{chunk-AA3WWPX2.js.map → chunk-Q6EF4BH2.js.map} +0 -0
  661. /package/dist/{chunk-NNG4QCKJ.js.map → chunk-R6XSLSBI.js.map} +0 -0
  662. /package/dist/{chunk-H27R5IVQ.js.map → chunk-RAO7FTMY.js.map} +0 -0
  663. /package/dist/{chunk-VMUJ6JHR.js.map → chunk-RHRAERM6.js.map} +0 -0
  664. /package/dist/{chunk-HHQYP6RM.js.map → chunk-RM5T4MA6.js.map} +0 -0
  665. /package/dist/{chunk-EJBHZ7AQ.js.map → chunk-RTCRGYQL.js.map} +0 -0
  666. /package/dist/{chunk-CV35AJYT.js.map → chunk-SFYVH3SZ.js.map} +0 -0
  667. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  668. /package/dist/{chunk-HN7GK5UX.js.map → chunk-SUCYXLJ6.js.map} +0 -0
  669. /package/dist/{chunk-TNQJDM2P.js.map → chunk-TAZLKHHL.js.map} +0 -0
  670. /package/dist/{chunk-77MDZIHK.js.map → chunk-TCYAJVDG.js.map} +0 -0
  671. /package/dist/{chunk-THV7SMY6.js.map → chunk-UNLZ43RQ.js.map} +0 -0
  672. /package/dist/{chunk-GRXBD43G.js.map → chunk-URPWZDJA.js.map} +0 -0
  673. /package/dist/{chunk-FOD5VSHH.js.map → chunk-VFXBT7JF.js.map} +0 -0
  674. /package/dist/{chunk-K5CEP7W4.js.map → chunk-W4NVTC6Q.js.map} +0 -0
  675. /package/dist/{chunk-WTYKTPZP.js.map → chunk-W5K6O3EO.js.map} +0 -0
  676. /package/dist/{chunk-NGXZQESA.js.map → chunk-WM6JHUPY.js.map} +0 -0
  677. /package/dist/{chunk-R2VP7FK4.js.map → chunk-WU3TOZ57.js.map} +0 -0
  678. /package/dist/{chunk-KSECMOHE.js.map → chunk-XAHY53IO.js.map} +0 -0
  679. /package/dist/{chunk-IJ5DWALA.js.map → chunk-XMHTLWWE.js.map} +0 -0
  680. /package/dist/{chunk-FSLSISPI.js.map → chunk-Y3ESEQRI.js.map} +0 -0
  681. /package/dist/{chunk-YFIWCMVC.js.map → chunk-YAX5CGUY.js.map} +0 -0
  682. /package/dist/{chunk-A5PQYKVO.js.map → chunk-YRNLPGAV.js.map} +0 -0
  683. /package/dist/{chunk-NJIRVF2B.js.map → chunk-Z73HKL6X.js.map} +0 -0
  684. /package/dist/{chunk-XFMFZAWL.js.map → chunk-ZCZJ3SQC.js.map} +0 -0
  685. /package/dist/{chunk-RW32BYY3.js.map → chunk-ZJOXRK2G.js.map} +0 -0
  686. /package/dist/{chunk-2AJ5UNOF.js.map → chunk-ZPHHJPDG.js.map} +0 -0
  687. /package/dist/{claim-ZKKC5472.js.map → claim-JLJ4KHOA.js.map} +0 -0
  688. /package/dist/{companies-CJFQ63MC.js.map → companies-HZ2DZBJF.js.map} +0 -0
  689. /package/dist/{company-7K4EDRIN.js.map → company-26TJ3ZHQ.js.map} +0 -0
  690. /package/dist/{complete-ODOQLGSO.js.map → complete-EQZLWQLY.js.map} +0 -0
  691. /package/dist/{connect-APAK3WAY.js.map → connect-7JGPLBAF.js.map} +0 -0
  692. /package/dist/{conversation-B6V3VCT5.js.map → conversation-XS7GH2PD.js.map} +0 -0
  693. /package/dist/{conversion-report-JNWBTLA5.js.map → conversion-report-GK2FUT2R.js.map} +0 -0
  694. /package/dist/{conversion-upload-command-6OKMSO2T.js.map → conversion-upload-command-Q7LZFFZL.js.map} +0 -0
  695. /package/dist/{conversion-writes-2VOWP4RD.js.map → conversion-writes-STESFLTB.js.map} +0 -0
  696. /package/dist/{conversions-D32UTEPH.js.map → conversions-DELC6FQO.js.map} +0 -0
  697. /package/dist/{conversions-JGIBYLK5.js.map → conversions-JBRU7CGB.js.map} +0 -0
  698. /package/dist/{create-ALMXIVHA.js.map → create-3RYVQ7ZQ.js.map} +0 -0
  699. /package/dist/{create-EUQYK2SH.js.map → create-GJQ2E3AZ.js.map} +0 -0
  700. /package/dist/{create-VAGPIZTU.js.map → create-VULOPTKC.js.map} +0 -0
  701. /package/dist/{create-TOCR7EFZ.js.map → create-YN4A3PKV.js.map} +0 -0
  702. /package/dist/{creatives-62PV7BIF.js.map → creatives-EJQRCVYY.js.map} +0 -0
  703. /package/dist/{creatives-HUDKBUDS.js.map → creatives-JTQY5UTX.js.map} +0 -0
  704. /package/dist/{credentials-WCD4F225.js.map → credentials-3TBM3TFS.js.map} +0 -0
  705. /package/dist/{critique-OO6SORTA.js.map → critique-HFOOB26B.js.map} +0 -0
  706. /package/dist/{critique-KJXHSKLT.js.map → critique-IZEFC75M.js.map} +0 -0
  707. /package/dist/{crm-YVRIT2RL.js.map → crm-PQACQT6S.js.map} +0 -0
  708. /package/dist/{crm-5CYCCV34.js.map → crm-SSVNZPOH.js.map} +0 -0
  709. /package/dist/{currency-JDAVYMD3.js.map → currency-HB3MFXLJ.js.map} +0 -0
  710. /package/dist/{customers-FSOXPMOU.js.map → customers-AFXYG7FE.js.map} +0 -0
  711. /package/dist/{delete-QXZFJNUS.js.map → delete-6QZYSR6K.js.map} +0 -0
  712. /package/dist/{delete-EEU6WJ6M.js.map → delete-SPC34ZFO.js.map} +0 -0
  713. /package/dist/{delete-H7IWZGUZ.js.map → delete-XR7O5N4X.js.map} +0 -0
  714. /package/dist/{demographics-RM5PA54R.js.map → demographics-YLWGW7G6.js.map} +0 -0
  715. /package/dist/{discard-6XOYXNZ6.js.map → discard-XNPXWTBW.js.map} +0 -0
  716. /package/dist/{discover-VEHKBNCY.js.map → discover-DLGO3VW6.js.map} +0 -0
  717. /package/dist/{domain-X7MT3XUG.js.map → domain-LLD4U7OO.js.map} +0 -0
  718. /package/dist/{download-YQYR5GUP.js.map → download-UXDFM3ZV.js.map} +0 -0
  719. /package/dist/{draft-V7VGPJK4.js.map → draft-4MKYX4VU.js.map} +0 -0
  720. /package/dist/{draft-DUAFRL2G.js.map → draft-I7HIRQ6F.js.map} +0 -0
  721. /package/dist/{draft-XWHU5C5Z.js.map → draft-KPDFOAJ6.js.map} +0 -0
  722. /package/dist/{draft-FXMGEY3E.js.map → draft-NHYUTQYP.js.map} +0 -0
  723. /package/dist/{draft-YXGASP7M.js.map → draft-OU4LP3EV.js.map} +0 -0
  724. /package/dist/{experiments-2XOC77Y7.js.map → experiments-DPPE7UEW.js.map} +0 -0
  725. /package/dist/{facets-7Q36JF2D.js.map → facets-GSIF6AX3.js.map} +0 -0
  726. /package/dist/{feedback-WPV2RKJS.js.map → feedback-EJFWUGGA.js.map} +0 -0
  727. /package/dist/{feedback-record-UEWS4FZJ.js.map → feedback-record-ALH4UE5G.js.map} +0 -0
  728. /package/dist/{fetch-AARAG6UL.js.map → fetch-C6Q4YQEJ.js.map} +0 -0
  729. /package/dist/{fit-T4ALNNXL.js.map → fit-UJGHAJFC.js.map} +0 -0
  730. /package/dist/{flows-PYPA2FM3.js.map → flows-FCMGOLTF.js.map} +0 -0
  731. /package/dist/{fonts-H2GG2JXA.js.map → fonts-KAGIWNKZ.js.map} +0 -0
  732. /package/dist/{forecast-LMSPNY6X.js.map → forecast-3RFACQCU.js.map} +0 -0
  733. /package/dist/{forecast-UYBYSH3Y.js.map → forecast-AODSMD7S.js.map} +0 -0
  734. /package/dist/{funnel-KIYPFPIY.js.map → funnel-DINYX53F.js.map} +0 -0
  735. /package/dist/{generate-QG7GX6WO.js.map → generate-HSDSCKDW.js.map} +0 -0
  736. /package/dist/{get-IN6UXQRX.js.map → get-IDYK57H7.js.map} +0 -0
  737. /package/dist/{get-ROETYEYF.js.map → get-OI4YRD3L.js.map} +0 -0
  738. /package/dist/{google-UQLYCYSX.js.map → google-FOZYYKNY.js.map} +0 -0
  739. /package/dist/{google-ads-CBJZKTXG.js.map → google-ads-4DOMH2UV.js.map} +0 -0
  740. /package/dist/{history-GTT55ZP7.js.map → history-HTJL2L5D.js.map} +0 -0
  741. /package/dist/{history-EUL7GBUK.js.map → history-OLVARKGD.js.map} +0 -0
  742. /package/dist/{history-XOB23MLX.js.map → history-SHQVK5I7.js.map} +0 -0
  743. /package/dist/{hubspot-B6Z77JY6.js.map → hubspot-IRH2GAAX.js.map} +0 -0
  744. /package/dist/{ideas-RVK4RNKN.js.map → ideas-4LKSORBG.js.map} +0 -0
  745. /package/dist/{images-RGJZ6FJL.js.map → images-DCQIUJBT.js.map} +0 -0
  746. /package/dist/{ingest-GBWY2ZEP.js.map → ingest-U7VAV7IM.js.map} +0 -0
  747. /package/dist/{ingest-7FHCKRYR.js.map → ingest-WO4EJMNI.js.map} +0 -0
  748. /package/dist/{insights-7CQJOBWX.js.map → insights-UMPXHRKD.js.map} +0 -0
  749. /package/dist/{inspect-RC6GKLIF.js.map → inspect-XKZR36QA.js.map} +0 -0
  750. /package/dist/{intent-P75BDP4H.js.map → intent-NBP5IDND.js.map} +0 -0
  751. /package/dist/{keyword-gap-54F6CZLM.js.map → keyword-gap-67UJ2LDD.js.map} +0 -0
  752. /package/dist/{keyword-metrics-PL5IYZGN.js.map → keyword-metrics-6G3C32M3.js.map} +0 -0
  753. /package/dist/{keywords-for-site-4FMJ5IGN.js.map → keywords-for-site-27X47XJQ.js.map} +0 -0
  754. /package/dist/{landing-24TVKWTP.js.map → landing-RPPXKFRU.js.map} +0 -0
  755. /package/dist/{languages-PEGOE365.js.map → languages-TM7SHGRO.js.map} +0 -0
  756. /package/dist/{leads-6TFBPYMM.js.map → leads-IZS3DRCO.js.map} +0 -0
  757. /package/dist/{learn-4LGNFGWH.js.map → learn-HZEOU3CN.js.map} +0 -0
  758. /package/dist/{line-item-writes-AOTRDB4L.js.map → line-item-writes-57ABY4A3.js.map} +0 -0
  759. /package/dist/{line-items-ERV3F2EI.js.map → line-items-J3IWQA66.js.map} +0 -0
  760. /package/dist/{link-QZXI5YJP.js.map → link-3H2PK2DD.js.map} +0 -0
  761. /package/dist/{linkedin-4BKZ5KUE.js.map → linkedin-SF75JMZT.js.map} +0 -0
  762. /package/dist/{linkedin-person-ZLXMOG2U.js.map → linkedin-person-5YNH3RDX.js.map} +0 -0
  763. /package/dist/{list-UCQEHPIR.js.map → list-MVZM5WXU.js.map} +0 -0
  764. /package/dist/{list-QHAYR2IQ.js.map → list-Q3I5ZABL.js.map} +0 -0
  765. /package/dist/{list-7FB6764Q.js.map → list-W7NE3NNF.js.map} +0 -0
  766. /package/dist/{locations-SHYN5J4Q.js.map → locations-HAXZUHJP.js.map} +0 -0
  767. /package/dist/{locations-MXWGZIGU.js.map → locations-JFBM4XBL.js.map} +0 -0
  768. /package/dist/{log-WPZRUMZU.js.map → log-MZU2J4OC.js.map} +0 -0
  769. /package/dist/{make-VCAS2M2W.js.map → make-VILXHWMX.js.map} +0 -0
  770. /package/dist/{map-5EQO2VXB.js.map → map-MIDSERZT.js.map} +0 -0
  771. /package/dist/{mcp-CKOYL4IU.js.map → mcp-MEZSQTQS.js.map} +0 -0
  772. /package/dist/{media-sources-EDZ2PBJY.js.map → media-sources-RYWCWEIZ.js.map} +0 -0
  773. /package/dist/{members-E2AGJIU6.js.map → members-6XEW5STI.js.map} +0 -0
  774. /package/dist/{metrics-25LYUEB7.js.map → metrics-XWHE4LYQ.js.map} +0 -0
  775. /package/dist/{models-EU3NO4IY.js.map → models-3C6BWHEC.js.map} +0 -0
  776. /package/dist/{normalize-PHJT5CAD.js.map → normalize-M6PR7JDG.js.map} +0 -0
  777. /package/dist/{options-KFABOCWK.js.map → options-KTI2IDFT.js.map} +0 -0
  778. /package/dist/{organization-BP5DTWL7.js.map → organization-WEFYQ3CV.js.map} +0 -0
  779. /package/dist/{performance-C4M3GJPC.js.map → performance-FBKKECUS.js.map} +0 -0
  780. /package/dist/{performance-H3SJD3SN.js.map → performance-K2AVEUZQ.js.map} +0 -0
  781. /package/dist/{pixels-NLH2PN6Q.js.map → pixels-PMPL63ON.js.map} +0 -0
  782. /package/dist/{promoted-tweet-writes-ATWAKV6N.js.map → promoted-tweet-writes-7ELZBXE2.js.map} +0 -0
  783. /package/dist/{promoted-tweets-TWQP3MDP.js.map → promoted-tweets-QSTRB6F5.js.map} +0 -0
  784. /package/dist/{publish-Q4W7MI7P.js.map → publish-ZN36O7BG.js.map} +0 -0
  785. /package/dist/{query-SRJXJVDY.js.map → query-CTQGGPXW.js.map} +0 -0
  786. /package/dist/{reddit-JWZYSUAG.js.map → reddit-7EA5AWSS.js.map} +0 -0
  787. /package/dist/{refresh-VRBHP4AA.js.map → refresh-7F2QJYYV.js.map} +0 -0
  788. /package/dist/{release-OV4ZDCXG.js.map → release-PPRR6DYB.js.map} +0 -0
  789. /package/dist/{relevant-pages-VJHTUJMB.js.map → relevant-pages-NPUSAV3K.js.map} +0 -0
  790. /package/dist/{remove-DBCSQSEP.js.map → remove-XIPDNTIY.js.map} +0 -0
  791. /package/dist/{reopen-5ZOEKYQ5.js.map → reopen-GZN3R2QV.js.map} +0 -0
  792. /package/dist/{rerun-YMRW6BHM.js.map → rerun-WDWQGRDM.js.map} +0 -0
  793. /package/dist/{research-HUM6CF74.js.map → research-6DQSQCNK.js.map} +0 -0
  794. /package/dist/{research-M3QPWTYX.js.map → research-QIGBAAHS.js.map} +0 -0
  795. /package/dist/{reset-BPAFOW6M.js.map → reset-IUKNG46S.js.map} +0 -0
  796. /package/dist/{reset-WAY3BSZX.js.map → reset-QOTBQKTC.js.map} +0 -0
  797. /package/dist/{resolve-AQ6UFEMN.js.map → resolve-6O2PNS53.js.map} +0 -0
  798. /package/dist/{retry-XO54CIRK.js.map → retry-DRC2TTV7.js.map} +0 -0
  799. /package/dist/{retry-3KYFTPXZ.js.map → retry-Y4BCINFT.js.map} +0 -0
  800. /package/dist/{revenue-PPDMQO3H.js.map → revenue-QQUQ7GU6.js.map} +0 -0
  801. /package/dist/{rules-4ENXG5XW.js.map → rules-BUNOVMVJ.js.map} +0 -0
  802. /package/dist/{rules-add-FTBOOE6L.js.map → rules-add-CDENNVBW.js.map} +0 -0
  803. /package/dist/{run-2ZRTKR7A.js.map → run-PQ746XEE.js.map} +0 -0
  804. /package/dist/{run-UECCNQ63.js.map → run-XNAIOT7R.js.map} +0 -0
  805. /package/dist/{scaffold-ad-DFKFUOOZ.js.map → scaffold-ad-PHAB6GLN.js.map} +0 -0
  806. /package/dist/{scaffold-static-ad-II3TUE5I.js.map → scaffold-static-ad-IHDRTH6L.js.map} +0 -0
  807. /package/dist/{scaffold-video-IKVYICIY.js.map → scaffold-video-LS2RVIAZ.js.map} +0 -0
  808. /package/dist/{schedule-ERHKGQID.js.map → schedule-GETX5RGF.js.map} +0 -0
  809. /package/dist/{scheduled-agents-ICXFV7NP.js.map → scheduled-agents-KXYUHTLP.js.map} +0 -0
  810. /package/dist/{schema-NUUZ3MG7.js.map → schema-NGBW5YPB.js.map} +0 -0
  811. /package/dist/{search-B2APYHV6.js.map → search-F4Q2AFF7.js.map} +0 -0
  812. /package/dist/{select-WVNPJDXP.js.map → select-4PJ6RWNC.js.map} +0 -0
  813. /package/dist/{set-prompt-KHBDWDXA.js.map → set-prompt-JLBXOTMG.js.map} +0 -0
  814. /package/dist/{setup-links-R3FH7WK4.js.map → setup-links-D2LM5HYV.js.map} +0 -0
  815. /package/dist/{shopify-34CFN6SG.js.map → shopify-HGDOKO3A.js.map} +0 -0
  816. /package/dist/{site-H6AMVMIX.js.map → site-PBZYQUH6.js.map} +0 -0
  817. /package/dist/{sources-2VJMHUH7.js.map → sources-MZC2DJE6.js.map} +0 -0
  818. /package/dist/{sources-S63224S7.js.map → sources-T74V2W45.js.map} +0 -0
  819. /package/dist/{stale-6BEHWQZ7.js.map → stale-JV6JLTGD.js.map} +0 -0
  820. /package/dist/{status-MCMOSDVX.js.map → status-QDK37PJG.js.map} +0 -0
  821. /package/dist/{studio-4QOFG7MQ.js.map → studio-C2UVCTDD.js.map} +0 -0
  822. /package/dist/{sync-WJCJHNET.js.map → sync-43UXJTKL.js.map} +0 -0
  823. /package/dist/{sync-definition-THVMBGJR.js.map → sync-definition-2ZFQPGDO.js.map} +0 -0
  824. /package/dist/{tags-VOCMMZ75.js.map → tags-H2KBFHX4.js.map} +0 -0
  825. /package/dist/{tags-AGFUJ2BB.js.map → tags-KU5L7ZBF.js.map} +0 -0
  826. /package/dist/{tags-VGJ76RJT.js.map → tags-QG3XFTJD.js.map} +0 -0
  827. /package/dist/{tags-OPMPPJY2.js.map → tags-S7OLVPI6.js.map} +0 -0
  828. /package/dist/{tags-WK6P5A4D.js.map → tags-SFPZ7AT4.js.map} +0 -0
  829. /package/dist/{targeting-criteria-KRIMZRVI.js.map → targeting-criteria-MU4KEOW5.js.map} +0 -0
  830. /package/dist/{targets-MCOEM4XQ.js.map → targets-V6WKUMTX.js.map} +0 -0
  831. /package/dist/{testimonials-A2AFXSZV.js.map → testimonials-DX25LR6G.js.map} +0 -0
  832. /package/dist/{themes-JBX6W4SP.js.map → themes-32CUPT4M.js.map} +0 -0
  833. /package/dist/{top-companies-ESCRXLSK.js.map → top-companies-SBMXYZRJ.js.map} +0 -0
  834. /package/dist/{transcript-N2ZWN4CI.js.map → transcript-73MISAES.js.map} +0 -0
  835. /package/dist/{translate-YGUYVOGA.js.map → translate-XDXRGPY5.js.map} +0 -0
  836. /package/dist/{triggers-G4EW5XG6.js.map → triggers-3K4NWQ2R.js.map} +0 -0
  837. /package/dist/{unlink-DRIVH2GT.js.map → unlink-QXT3S6CR.js.map} +0 -0
  838. /package/dist/{unstage-WUQV6QBV.js.map → unstage-UVQO46T7.js.map} +0 -0
  839. /package/dist/{update-T7PSOZES.js.map → update-4NYP4T76.js.map} +0 -0
  840. /package/dist/{update-NA4M4J5D.js.map → update-FN46SSF6.js.map} +0 -0
  841. /package/dist/{update-5GIAKABM.js.map → update-LI6TK56N.js.map} +0 -0
  842. /package/dist/{update-COXCKREW.js.map → update-N3KYD5NR.js.map} +0 -0
  843. /package/dist/{upload-IXVEJLZU.js.map → upload-7XNKN6WA.js.map} +0 -0
  844. /package/dist/{url-options-JSRAMMEM.js.map → url-options-JJIA77MZ.js.map} +0 -0
  845. /package/dist/{url-params-IL2M2WZI.js.map → url-params-X77DEIN6.js.map} +0 -0
  846. /package/dist/{validate-QAJJ7QCJ.js.map → validate-ZNGKO2T2.js.map} +0 -0
  847. /package/dist/{videos-I7PCC2EC.js.map → videos-XEUD3OVY.js.map} +0 -0
  848. /package/dist/{viewer-check-PUAWVYWP.js.map → viewer-check-KIYNWVQW.js.map} +0 -0
  849. /package/dist/{web-O2MCPPB5.js.map → web-2MUEGVLM.js.map} +0 -0
  850. /package/dist/{winning-ads-FTMP4FUC.js.map → winning-ads-INF6U6YQ.js.map} +0 -0
  851. /package/dist/{write-commands-NKKNWQIM.js.map → write-commands-4DSHZ3NZ.js.map} +0 -0
  852. /package/dist/{x-FPRMRQLQ.js.map → x-PSDLHAJQ.js.map} +0 -0
@@ -0,0 +1,46 @@
1
+ import {
2
+ RENDER_REVIEW_MODEL,
3
+ askAboutImages,
4
+ buildRulesReviewPrompt,
5
+ classifyRuleFindings,
6
+ reviewedRules,
7
+ rulesSystem
8
+ } from "./chunk-KAUW3OFC.js";
9
+
10
+ // src/engine/nodes/local/lib/confirm-blocking.ts
11
+ var cutByFrame = (f) => f.kind?.defect === "cut";
12
+ async function confirmBlocking(findings, stills, formats, ask) {
13
+ const claims = findings.filter((f) => f.severity === "blocking" && !cutByFrame(f));
14
+ if (claims.length === 0 || stills.length === 0) return [...findings];
15
+ const prompt = [
16
+ `These are the finished sizes of one ad, in order: ${formats.map((f, i) => `Image ${i + 1} is the ${f}`).join("; ")}.`,
17
+ "A reviewer reported each claim below. Look again at the size each one names (and, for a claim comparing sizes, at the others) and answer true only when the defect is plainly there for someone looking at it on a phone.",
18
+ "Answer false when the thing is not there, when it is an ordinary part of the scene (a second house, a neighbour's roof, a reflection), or when the sizes it compares show the same thing.",
19
+ ...claims.map((c, i) => `${i + 1}. ${c.what}`),
20
+ `Reply with only this JSON: {"answers":[true|false, ...]}, one answer per claim, in order.`
21
+ ].join("\n");
22
+ const answer = await ask([...stills], prompt).catch(() => null);
23
+ const answers = answer?.answers;
24
+ if (!Array.isArray(answers) || answers.length !== claims.length) return [...findings];
25
+ const unconfirmed = new Set(claims.filter((_, i) => answers[i] === false));
26
+ return findings.map((f) => unconfirmed.has(f) ? { ...f, severity: "warning" } : f);
27
+ }
28
+
29
+ // src/engine/nodes/local/lib/rules-review.ts
30
+ var RULES_REVIEW_TIMEOUT_MS = 12e4;
31
+ async function reviewAgainstRules(opts) {
32
+ const rules = reviewedRules(opts.rules);
33
+ if (rules.length === 0 || opts.stills.length === 0) return [];
34
+ const system = rulesSystem(rules);
35
+ const ask = (images, prompt) => askAboutImages(RENDER_REVIEW_MODEL, images, prompt, opts.onSpend, RULES_REVIEW_TIMEOUT_MS, void 0, system);
36
+ const answer = await ask([...opts.stills], buildRulesReviewPrompt({ formats: opts.formats, rules }));
37
+ if (answer === null) return null;
38
+ return await confirmBlocking(classifyRuleFindings(answer, rules), opts.stills, opts.formats, ask);
39
+ }
40
+
41
+ export {
42
+ cutByFrame,
43
+ confirmBlocking,
44
+ reviewAgainstRules
45
+ };
46
+ //# sourceMappingURL=chunk-Y3ESEQRI.js.map
@@ -0,0 +1,638 @@
1
+ import {
2
+ AD_PLATFORMS
3
+ } from "./chunk-F3CZFUXZ.js";
4
+ import {
5
+ staticFormatPatternSchema
6
+ } from "./chunk-TRXGJZDL.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-YAX5CGUY.js.map