@koda-sl/baker-cli 0.536.0 → 0.538.0-dev.fc2958a1d

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 (1523) hide show
  1. package/README.md +8 -4
  2. package/dist/account-2RNYGT6E.js +82 -0
  3. package/dist/account-3IA3PYDJ.js +139 -0
  4. package/dist/account-T26J6HSJ.js +82 -0
  5. package/dist/account-assets-BVEEUGDA.js +290 -0
  6. package/dist/account-level-J37UFQY6.js +611 -0
  7. package/dist/account-reads-P2WXB3NZ.js +219 -0
  8. package/dist/account-users-REWJY2TN.js +64 -0
  9. package/dist/account-writes-QEZQCU46.js +68 -0
  10. package/dist/accounts-FX6V37GX.js +115 -0
  11. package/dist/accounts-GXJPLMHU.js +114 -0
  12. package/dist/accounts-HNZWMTRM.js +76 -0
  13. package/dist/accounts-MJ7AGPOW.js +701 -0
  14. package/dist/accounts-PGSNRUNV.js +80 -0
  15. package/dist/actions-NGBCTPNG.js +55 -0
  16. package/dist/active-entities-YIOKHGWY.js +103 -0
  17. package/dist/activecampaign-ASE4IVTD.js +938 -0
  18. package/dist/activities-FXYVPCRJ.js +75 -0
  19. package/dist/ad-group-writes-MVQKICSC.js +172 -0
  20. package/dist/ad-groups-5OGD7PJ7.js +70 -0
  21. package/dist/ad-writes-OVD6EESQ.js +176 -0
  22. package/dist/add-3EEREVFI.js +80 -0
  23. package/dist/add-FGB7KM6P.js +148 -0
  24. package/dist/add-FKINXOC2.js +97 -0
  25. package/dist/add-MTYT3Q4T.js +81 -0
  26. package/dist/add-QBEF2C7Z.js +107 -0
  27. package/dist/add-YJP43JWJ.js +305 -0
  28. package/dist/add-accounts-WCDQRXRO.js +91 -0
  29. package/dist/ads-4O4TPDAU.js +120 -0
  30. package/dist/ads-GF7QLKBX.js +48 -0
  31. package/dist/ads-SCWCG2YI.js +79 -0
  32. package/dist/ads-YRV2YERG.js +128 -0
  33. package/dist/adsets-OVFVN5NX.js +182 -0
  34. package/dist/advertisers-663V2F2T.js +125 -0
  35. package/dist/advertisers-SUZT4NRJ.js +123 -0
  36. package/dist/analytics-NJBF3U54.js +2437 -0
  37. package/dist/analytics-PI6SXDW4.js +447 -0
  38. package/dist/animate-HV2QJWVE.js +480 -0
  39. package/dist/approved-RFZLJZJH.js +73 -0
  40. package/dist/asset-writes-ZMSJSFTD.js +50 -0
  41. package/dist/assign-6YG56OCM.js +80 -0
  42. package/dist/audience-size-5X3BHQ6Q.js +76 -0
  43. package/dist/audience-writes-BUWFC5W4.js +327 -0
  44. package/dist/audiences-6N5B7CA2.js +280 -0
  45. package/dist/audiences-GD2EPPJJ.js +85 -0
  46. package/dist/audiences-O464BZ6J.js +86 -0
  47. package/dist/audiences-O464BZ6J.js.map +1 -0
  48. package/dist/audit-DQYC4R74.js +88 -0
  49. package/dist/audit-PLXF2NAS.js +154 -0
  50. package/dist/autocomplete-YJSDRTMT.js +114 -0
  51. package/dist/avatars-BDQWTQKY.js +38 -0
  52. package/dist/bid-pricing-BUNOVWUB.js +103 -0
  53. package/dist/brand-MHFSUXWN.js +22 -0
  54. package/dist/brief-A5AEZBZL.js +543 -0
  55. package/dist/businesses-IPSDIWUU.js +54 -0
  56. package/dist/businesses-IPSDIWUU.js.map +1 -0
  57. package/dist/campaign-groups-UYNINWXX.js +99 -0
  58. package/dist/campaign-writes-RCA52SAP.js +168 -0
  59. package/dist/campaign-writes-TFRV62VN.js +176 -0
  60. package/dist/campaigns-CIQIZ46G.js +113 -0
  61. package/dist/campaigns-EETR5UJR.js +111 -0
  62. package/dist/campaigns-KPUA4GP2.js +78 -0
  63. package/dist/campaigns-N75G2BDU.js +130 -0
  64. package/dist/canvas-M3RXWJ2T.js +46 -0
  65. package/dist/capabilities-XFLST37G.js +147 -0
  66. package/dist/cards-TTQTPLCO.js +85 -0
  67. package/dist/catalog-JVBRY2U6.js +66 -0
  68. package/dist/catalogs-LI7NG57R.js +781 -0
  69. package/dist/catalogs-QYAAPTMV.js +130 -0
  70. package/dist/changes-Y4NAQ2IV.js +135 -0
  71. package/dist/chatgpt-KJAUJBRK.js +47 -0
  72. package/dist/chats-5BNHZWO7.js +384 -0
  73. package/dist/check-ESD3QPIZ.js +107 -0
  74. package/dist/chunk-2EVHGBQY.js +319 -0
  75. package/dist/chunk-2JFCDUZO.js +156 -0
  76. package/dist/chunk-2MAQKELK.js +494 -0
  77. package/dist/chunk-2OCUXPWT.js +1919 -0
  78. package/dist/chunk-35FLLWSQ.js +100 -0
  79. package/dist/chunk-3ANPDWU7.js +438 -0
  80. package/dist/chunk-3C3IR2F6.js +2209 -0
  81. package/dist/chunk-3GMJEM4C.js +377 -0
  82. package/dist/chunk-3PG7O3ZW.js +52 -0
  83. package/dist/chunk-4GQJOHJY.js +69 -0
  84. package/dist/chunk-4OY6SHHM.js +35 -0
  85. package/dist/chunk-4QLVMG63.js +191 -0
  86. package/dist/chunk-4YWSFFOP.js +831 -0
  87. package/dist/chunk-5JG77PP3.js +57 -0
  88. package/dist/chunk-5TWI6FFY.js +344 -0
  89. package/dist/chunk-65HTWFKN.js +224 -0
  90. package/dist/chunk-6KWPAPFL.js +714 -0
  91. package/dist/chunk-6OIKNJ7G.js +26 -0
  92. package/dist/chunk-6RUHIXVA.js +455 -0
  93. package/dist/chunk-6X4XAANZ.js +191 -0
  94. package/dist/chunk-6Z32HS4D.js +91 -0
  95. package/dist/chunk-7MK4TND6.js +163 -0
  96. package/dist/chunk-7ZYXRMSM.js +188 -0
  97. package/dist/chunk-AUO4QNMI.js +148 -0
  98. package/dist/chunk-AXSSATJW.js +1744 -0
  99. package/dist/chunk-B52GKPH2.js +106 -0
  100. package/dist/chunk-B6WOWVAA.js +285 -0
  101. package/dist/chunk-BBGKZJXP.js +69 -0
  102. package/dist/chunk-BF32BRMX.js +98 -0
  103. package/dist/chunk-BIFK5OGB.js +249 -0
  104. package/dist/chunk-BNO3EFGR.js +4266 -0
  105. package/dist/chunk-BNO3EFGR.js.map +1 -0
  106. package/dist/chunk-BUXPBPAP.js +142 -0
  107. package/dist/chunk-C35UMKYG.js +229 -0
  108. package/dist/chunk-CDRS2QAP.js +392 -0
  109. package/dist/chunk-CFVVZKSU.js +387 -0
  110. package/dist/chunk-CM2LECNX.js +136 -0
  111. package/dist/chunk-D2F73AUY.js +64 -0
  112. package/dist/chunk-D3KWV63D.js +19 -0
  113. package/dist/chunk-D5LV3ECR.js +23 -0
  114. package/dist/chunk-DBLOEIJ2.js +5368 -0
  115. package/dist/chunk-DNRXEP4A.js +296 -0
  116. package/dist/chunk-DQIPDAPH.js +274 -0
  117. package/dist/chunk-DR4TIYTE.js +45 -0
  118. package/dist/chunk-EAHBTBVR.js +324 -0
  119. package/dist/chunk-EFBJ35ZS.js +930 -0
  120. package/dist/chunk-ELAYD7O3.js +215 -0
  121. package/dist/chunk-EMXBMLQ4.js +91 -0
  122. package/dist/chunk-EZVRXFCC.js +169 -0
  123. package/dist/chunk-F3CZFUXZ.js +3187 -0
  124. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  125. package/dist/chunk-FRUOWEWZ.js +97 -0
  126. package/dist/chunk-GCFC2MNR.js +228 -0
  127. package/dist/chunk-GQ4D3BT6.js +207 -0
  128. package/dist/chunk-HMFIOE4P.js +63 -0
  129. package/dist/chunk-HXLCETLB.js +3510 -0
  130. package/dist/chunk-ITKTTDC2.js +225 -0
  131. package/dist/chunk-JD4DSJPT.js +76 -0
  132. package/dist/chunk-JQSN5K5B.js +94 -0
  133. package/dist/chunk-JUFABKU4.js +73 -0
  134. package/dist/chunk-JZ6XRIXG.js +846 -0
  135. package/dist/chunk-KAJXOGQ2.js +58 -0
  136. package/dist/chunk-KAUW3OFC.js +843 -0
  137. package/dist/chunk-KDDHMKTU.js +217 -0
  138. package/dist/chunk-KFHW5TCM.js +167 -0
  139. package/dist/chunk-KG7WIVNG.js +111 -0
  140. package/dist/chunk-LBIF6FJY.js +476 -0
  141. package/dist/chunk-LXV2U4MI.js +25 -0
  142. package/dist/chunk-M7FP7DKN.js +39 -0
  143. package/dist/chunk-MFAFGQ7Z.js +200 -0
  144. package/dist/chunk-MHRFRSQ6.js +676 -0
  145. package/dist/chunk-MM6CCIL7.js +166 -0
  146. package/dist/chunk-MQZXGTGI.js +479 -0
  147. package/dist/chunk-MWJNFGV6.js +42 -0
  148. package/dist/chunk-NNNMTRGI.js +547 -0
  149. package/dist/chunk-NQF5U6FX.js +150 -0
  150. package/dist/chunk-NRMJWNX3.js +97 -0
  151. package/dist/chunk-OROWRGRJ.js +170 -0
  152. package/dist/chunk-OTGHCGLW.js +125 -0
  153. package/dist/chunk-OWJGBIQ2.js +1646 -0
  154. package/dist/chunk-OYYAR5TD.js +333 -0
  155. package/dist/chunk-PAU4VS7H.js +103 -0
  156. package/dist/chunk-PEGRQV66.js +106 -0
  157. package/dist/chunk-PQN4PIC6.js +76 -0
  158. package/dist/chunk-PTGC7CVG.js +429 -0
  159. package/dist/chunk-RAO7FTMY.js +64 -0
  160. package/dist/chunk-RGSSKOTZ.js +56 -0
  161. package/dist/chunk-RM5T4MA6.js +783 -0
  162. package/dist/chunk-RP2PU3CA.js +275 -0
  163. package/dist/chunk-RSKU45CU.js +89 -0
  164. package/dist/chunk-S4JAHRIW.js +139 -0
  165. package/dist/chunk-S6KZ4GDL.js +207 -0
  166. package/dist/chunk-SA6XZ3FP.js +1902 -0
  167. package/dist/chunk-SBSFCKOC.js +149 -0
  168. package/dist/chunk-SIKCVWM3.js +76 -0
  169. package/dist/chunk-SPQHISWX.js +8954 -0
  170. package/dist/chunk-SQVT243W.js +51 -0
  171. package/dist/chunk-T267DS5U.js +297 -0
  172. package/dist/chunk-TFN7L5H3.js +66 -0
  173. package/dist/chunk-TRXGJZDL.js +2503 -0
  174. package/dist/chunk-TRXGJZDL.js.map +1 -0
  175. package/dist/chunk-U4CYQMG5.js +138 -0
  176. package/dist/chunk-UMQCYEAL.js +98 -0
  177. package/dist/chunk-UQKDP46G.js +197 -0
  178. package/dist/chunk-UT4OM34H.js +46 -0
  179. package/dist/chunk-UVVOG5A7.js +61 -0
  180. package/dist/chunk-UZGZS35I.js +592 -0
  181. package/dist/chunk-VPHHCOYS.js +544 -0
  182. package/dist/chunk-W3PJ7V4W.js +84 -0
  183. package/dist/chunk-W7BORINM.js +66 -0
  184. package/dist/chunk-WI3TCYEA.js +74 -0
  185. package/dist/chunk-WM6JHUPY.js +5471 -0
  186. package/dist/chunk-WQQ7SH3M.js +84 -0
  187. package/dist/chunk-WTODFKZR.js +219 -0
  188. package/dist/chunk-XBMZNFN7.js +203 -0
  189. package/dist/chunk-XHW24Q5Q.js +910 -0
  190. package/dist/chunk-XMHTLWWE.js +225 -0
  191. package/dist/chunk-XPXHJ6EP.js +24026 -0
  192. package/dist/chunk-XPXHJ6EP.js.map +1 -0
  193. package/dist/chunk-XXS6SUVM.js +7712 -0
  194. package/dist/chunk-Y3ESEQRI.js +46 -0
  195. package/dist/chunk-YAX5CGUY.js +638 -0
  196. package/dist/chunk-Z4BU2JVK.js +287 -0
  197. package/dist/chunk-ZCN2XUPQ.js +604 -0
  198. package/dist/chunk-ZI7CLQB5.js +26 -0
  199. package/dist/chunk-ZJOXRK2G.js +1518 -0
  200. package/dist/chunk-ZPF253G5.js +75 -0
  201. package/dist/chunk-ZPHHJPDG.js +131 -0
  202. package/dist/claim-NM5T33W6.js +200 -0
  203. package/dist/cli.js +307 -46
  204. package/dist/cli.js.map +1 -1
  205. package/dist/client-SZ4N5NCP.js +19 -0
  206. package/dist/code-RZXUOVH3.js +76 -0
  207. package/dist/companies-VBNBS6LR.js +198 -0
  208. package/dist/company-3KOV3TJT.js +308 -0
  209. package/dist/complete-TVY4F5YX.js +84 -0
  210. package/dist/config-7RX352G2.js +88 -0
  211. package/dist/connect-W6H3DT2C.js +45 -0
  212. package/dist/content-BOERUNX4.js +85 -0
  213. package/dist/conversation-LCGWNPUG.js +96 -0
  214. package/dist/conversion-report-GK2FUT2R.js +127 -0
  215. package/dist/conversion-upload-command-Q7LZFFZL.js +439 -0
  216. package/dist/conversion-writes-STESFLTB.js +122 -0
  217. package/dist/conversions-D2RPIL3I.js +140 -0
  218. package/dist/conversions-JBRU7CGB.js +78 -0
  219. package/dist/copy-writes-PVWZEU4S.js +170 -0
  220. package/dist/countries-Z4IQIMWQ.js +82 -0
  221. package/dist/create-DHIXUD4Q.js +135 -0
  222. package/dist/create-OW2BLTBE.js +239 -0
  223. package/dist/create-TYG5SAQE.js +210 -0
  224. package/dist/create-XGDJKMDB.js +62 -0
  225. package/dist/creatives-3ZPFUAKL.js +58 -0
  226. package/dist/creatives-HRA4X22I.js +89 -0
  227. package/dist/creatives-HRA4X22I.js.map +1 -0
  228. package/dist/creatives-PN6EQYVU.js +223 -0
  229. package/dist/credentials-AVRHDGM5.js +290 -0
  230. package/dist/critique-76EMERXI.js +1451 -0
  231. package/dist/critique-SZSKQYUL.js +232 -0
  232. package/dist/crm-4O65STFF.js +227 -0
  233. package/dist/crm-JMIIB55O.js +323 -0
  234. package/dist/crop-JRVHX3PX.js +113 -0
  235. package/dist/currency-HQW6FJS5.js +88 -0
  236. package/dist/custom-conversions-OVUDN3HH.js +128 -0
  237. package/dist/custom-conversions-OVUDN3HH.js.map +1 -0
  238. package/dist/customers-GV3AD6B6.js +59 -0
  239. package/dist/decide-MPNAZFAK.js +199 -0
  240. package/dist/delete-CJGW5MKC.js +69 -0
  241. package/dist/delete-FWPYWUNU.js +85 -0
  242. package/dist/delete-ISAOQTI5.js +57 -0
  243. package/dist/delete-JPSIBQXR.js +71 -0
  244. package/dist/delete-RLLRUSGR.js +69 -0
  245. package/dist/delete-WFF5EVIL.js +67 -0
  246. package/dist/demographics-XSMD6KI4.js +141 -0
  247. package/dist/describe-OUYPLJJE.js +97 -0
  248. package/dist/describe-XQGFIM2Z.js +97 -0
  249. package/dist/dimensions-MMVCXOFJ.js +101 -0
  250. package/dist/discard-B5QMX35Q.js +69 -0
  251. package/dist/discover-DLGO3VW6.js +172 -0
  252. package/dist/discover-Z6NS3BP6.js +93 -0
  253. package/dist/domain-WA4HAHCE.js +101 -0
  254. package/dist/download-3JW2NTQZ.js +299 -0
  255. package/dist/download-67IB5DPC.js +172 -0
  256. package/dist/draft-4MKYX4VU.js +396 -0
  257. package/dist/draft-DSWC37IW.js +103 -0
  258. package/dist/draft-I7HIRQ6F.js +283 -0
  259. package/dist/draft-KWXV5YOG.js +240 -0
  260. package/dist/draft-NXGJ3DD4.js +220 -0
  261. package/dist/draft-P73N5PT4.js +310 -0
  262. package/dist/draft-QAPMXYBR.js +335 -0
  263. package/dist/draft-UMNPM5KA.js +100 -0
  264. package/dist/engine/index.js +15 -15
  265. package/dist/env-O2JJK34F.js +53 -0
  266. package/dist/experiment-2TTMKPVC.js +1397 -0
  267. package/dist/experiments-YEI3HSBU.js +236 -0
  268. package/dist/export-LRPJXAFA.js +168 -0
  269. package/dist/extract-7IAAZ6RS.js +121 -0
  270. package/dist/extract-7IAAZ6RS.js.map +1 -0
  271. package/dist/facets-EQLEOMDT.js +117 -0
  272. package/dist/favorites-UXNAI5XW.js +178 -0
  273. package/dist/feed-OTUTIGJ6.js +177 -0
  274. package/dist/feedback-JNSHN7DE.js +115 -0
  275. package/dist/feedback-record-JV43NSJI.js +269 -0
  276. package/dist/fetch-AG7JJ4BI.js +139 -0
  277. package/dist/fetch-O4EYJVMN.js +179 -0
  278. package/dist/find-JH5OMTGJ.js +143 -0
  279. package/dist/fit-7N7AHYQF.js +65 -0
  280. package/dist/flows-DTZGIGZS.js +250 -0
  281. package/dist/follow-WHLTIJPM.js +94 -0
  282. package/dist/follow-competitors-DO7RVQXT.js +112 -0
  283. package/dist/following-ZL34FZ32.js +113 -0
  284. package/dist/fonts-TYDQXRIU.js +39 -0
  285. package/dist/forecast-AODSMD7S.js +169 -0
  286. package/dist/forecast-VO7XY46L.js +121 -0
  287. package/dist/funding-55XBHYY6.js +85 -0
  288. package/dist/funnel-CV4DZXUS.js +397 -0
  289. package/dist/ga4-WIOBF5HW.js +55 -0
  290. package/dist/generate-HSDSCKDW.js +263 -0
  291. package/dist/get-4S4XRZ2J.js +82 -0
  292. package/dist/get-FDZZEB5R.js +59 -0
  293. package/dist/get-IGXC3JQ5.js +92 -0
  294. package/dist/get-P5Z274DM.js +38 -0
  295. package/dist/get-QA333Q5J.js +62 -0
  296. package/dist/get-TXVHONYI.js +59 -0
  297. package/dist/get-WEWFUNWZ.js +56 -0
  298. package/dist/get-Z46N7LBR.js +66 -0
  299. package/dist/gif-TD37CRTZ.js +110 -0
  300. package/dist/gif-TD37CRTZ.js.map +1 -0
  301. package/dist/google-6A3YLR3K.js +144 -0
  302. package/dist/google-6A3YLR3K.js.map +1 -0
  303. package/dist/google-DPBZJ3TV.js +3267 -0
  304. package/dist/google-ads-EPFX2NA4.js +198 -0
  305. package/dist/group-6ENUPDYO.js +43 -0
  306. package/dist/group-EYF34B3P.js +43 -0
  307. package/dist/gsc-KDE2DTH2.js +30 -0
  308. package/dist/history-7UJW5TRO.js +102 -0
  309. package/dist/history-JCLXT3AO.js +136 -0
  310. package/dist/history-SHQVK5I7.js +69 -0
  311. package/dist/hubspot-J6372OWH.js +782 -0
  312. package/dist/icon-N77IGSXP.js +137 -0
  313. package/dist/ideas-TKMMQ557.js +45 -0
  314. package/dist/images-J7LJETPR.js +92 -0
  315. package/dist/improve-BKFZOBXI.js +86 -0
  316. package/dist/ingest-LVAH5OF5.js +123 -0
  317. package/dist/ingest-UBP7TEXU.js +27 -0
  318. package/dist/insights-UMPXHRKD.js +132 -0
  319. package/dist/insights-UOO6OK3U.js +439 -0
  320. package/dist/insights-UOO6OK3U.js.map +1 -0
  321. package/dist/inspect-22G3OPFK.js +192 -0
  322. package/dist/inspiration-SQUEBO2K.js +53 -0
  323. package/dist/instant-experiences-3E6RRUHF.js +263 -0
  324. package/dist/instant-experiences-3E6RRUHF.js.map +1 -0
  325. package/dist/intent-NBP5IDND.js +95 -0
  326. package/dist/job-B6UEZLTA.js +202 -0
  327. package/dist/job-create-WM27NOGZ.js +109 -0
  328. package/dist/job-status-6V7DVVYL.js +74 -0
  329. package/dist/keep-ACLZB7KL.js +78 -0
  330. package/dist/keyword-gap-67UJ2LDD.js +130 -0
  331. package/dist/keyword-metrics-QP5ZNOC6.js +200 -0
  332. package/dist/keywords-for-site-QTE332T7.js +131 -0
  333. package/dist/knowledge-5VEMAHG7.js +195 -0
  334. package/dist/landing-TOYYCWFX.js +28 -0
  335. package/dist/landings-Q7T2HSYK.js +151 -0
  336. package/dist/languages-HWMPAPQN.js +55 -0
  337. package/dist/languages-TM7SHGRO.js +40 -0
  338. package/dist/launches-4HI65M3C.js +19 -0
  339. package/dist/layerize-HXML3KQX.js +190 -0
  340. package/dist/lead-routes-Q2T3RQXN.js +733 -0
  341. package/dist/leads-FTWBDLBQ.js +115 -0
  342. package/dist/leads-GZ7RFM7D.js +540 -0
  343. package/dist/leads-GZ7RFM7D.js.map +1 -0
  344. package/dist/learn-3N7M3UHA.js +207 -0
  345. package/dist/library-OVX3OUYV.js +211 -0
  346. package/dist/lighthouse-2TDPDU7J.js +75 -0
  347. package/dist/line-item-writes-VFPXT4W6.js +211 -0
  348. package/dist/line-items-HB2N7RKO.js +107 -0
  349. package/dist/link-KAY6VYFH.js +67 -0
  350. package/dist/linkedin-CDSEMSCF.js +1328 -0
  351. package/dist/linkedin-person-HR6HKFUU.js +139 -0
  352. package/dist/list-AAQISQHE.js +65 -0
  353. package/dist/list-INU27RQJ.js +306 -0
  354. package/dist/list-QWCU77C3.js +67 -0
  355. package/dist/list-QYUU66YV.js +93 -0
  356. package/dist/list-SDHECXK5.js +57 -0
  357. package/dist/list-U3ZABSGW.js +76 -0
  358. package/dist/list-UF7Y4FDE.js +50 -0
  359. package/dist/list-VJ3CVEDW.js +154 -0
  360. package/dist/list-VO473W6E.js +51 -0
  361. package/dist/locations-HAXZUHJP.js +40 -0
  362. package/dist/locations-JFBM4XBL.js +69 -0
  363. package/dist/log-AUN4NOPP.js +95 -0
  364. package/dist/logo-2NDZ2EVN.js +18 -0
  365. package/dist/lookup-UFVB2ZZF.js +23 -0
  366. package/dist/make-B5HDRFCX.js +1367 -0
  367. package/dist/map-CCBSITK7.js +436 -0
  368. package/dist/mcp-45YWYNYM.js +729 -0
  369. package/dist/media-3M3PVSEZ.js +89 -0
  370. package/dist/media-5XRMDMKD.js +18 -0
  371. package/dist/media-sources-N7MBY3GE.js +35 -0
  372. package/dist/members-2P2QCBJO.js +47 -0
  373. package/dist/meme-EOAFE4FS.js +100 -0
  374. package/dist/meta-CTKXBVXT.js +122 -0
  375. package/dist/metrics-XWHE4LYQ.js +152 -0
  376. package/dist/models-3C6BWHEC.js +155 -0
  377. package/dist/normalize-MLRJ6IYU.js +144 -0
  378. package/dist/normalize-NDBXU6UO.js +806 -0
  379. package/dist/options-6QAJ67XB.js +125 -0
  380. package/dist/organization-P5LAMNMT.js +949 -0
  381. package/dist/output-KIQWBKKA.js +24 -0
  382. package/dist/page-GGT3KZ5E.js +105 -0
  383. package/dist/page-photos-FKWHLNWM.js +118 -0
  384. package/dist/pages-JALRE36R.js +67 -0
  385. package/dist/pages-JALRE36R.js.map +1 -0
  386. package/dist/performance-3PH7UYQN.js +27 -0
  387. package/dist/performance-6BMFU6IJ.js +5565 -0
  388. package/dist/pinterest-KURR4GJJ.js +104 -0
  389. package/dist/pinterest-KURR4GJJ.js.map +1 -0
  390. package/dist/pixels-6PKYGSQ4.js +109 -0
  391. package/dist/pixels-6PKYGSQ4.js.map +1 -0
  392. package/dist/pixels-PMPL63ON.js +62 -0
  393. package/dist/plan-223DL4HG.js +208 -0
  394. package/dist/posts-YPW4NHWM.js +36 -0
  395. package/dist/preview-CD2QADBJ.js +218 -0
  396. package/dist/profile-7KUWZTJR.js +159 -0
  397. package/dist/promoted-tweet-writes-EPXZFIUP.js +183 -0
  398. package/dist/promoted-tweets-Q46HUYN6.js +119 -0
  399. package/dist/properties-LCZX4UJH.js +101 -0
  400. package/dist/publish-DHDRUTXM.js +344 -0
  401. package/dist/query-IR3LCFON.js +62 -0
  402. package/dist/query-RKJS3QOS.js +231 -0
  403. package/dist/query-WX3K7ZDY.js +236 -0
  404. package/dist/questionnaire-CCDUSEI3.js +94 -0
  405. package/dist/read-JTJQSEVB.js +141 -0
  406. package/dist/reddit-2FQOS3B3.js +29 -0
  407. package/dist/refresh-H4DETVS5.js +42 -0
  408. package/dist/refresh-VJPKAPJM.js +97 -0
  409. package/dist/release-O233BAQA.js +63 -0
  410. package/dist/relevant-pages-NPUSAV3K.js +99 -0
  411. package/dist/remove-5FMNASGC.js +49 -0
  412. package/dist/remove-HNSOYQVB.js +53 -0
  413. package/dist/reopen-B7KHVN5X.js +66 -0
  414. package/dist/rerun-KAB7AXTY.js +96 -0
  415. package/dist/research-I4ZQ4YQ3.js +72 -0
  416. package/dist/research-Z2SE775C.js +265 -0
  417. package/dist/reset-4T6XUNOO.js +57 -0
  418. package/dist/reset-YHEMD5N5.js +57 -0
  419. package/dist/resolve-5RJD2ELK.js +124 -0
  420. package/dist/retry-S3EC6FCA.js +65 -0
  421. package/dist/retry-WKYMY2KB.js +63 -0
  422. package/dist/retry-failed-DSVEAY3T.js +45 -0
  423. package/dist/revenue-C4E4PRLL.js +91 -0
  424. package/dist/rule-writes-XSNS3XYK.js +525 -0
  425. package/dist/rules-GHGEVCBQ.js +217 -0
  426. package/dist/rules-JGTKFXM3.js +99 -0
  427. package/dist/rules-add-3DTRLVGR.js +465 -0
  428. package/dist/run-2TKYHCN2.js +71 -0
  429. package/dist/run-TYJLOJW7.js +69 -0
  430. package/dist/scaffold-ad-RFRUPUKW.js +1513 -0
  431. package/dist/scaffold-static-ad-N5QCJFGP.js +1011 -0
  432. package/dist/scaffold-video-VAG3WN5W.js +885 -0
  433. package/dist/schedule-6UYJLE5K.js +64 -0
  434. package/dist/schedule-Z2AQXR7W.js +67 -0
  435. package/dist/scheduled-agents-YEHJ4XIB.js +55 -0
  436. package/dist/schema-BCCCNVNO.js +135 -0
  437. package/dist/schema-BDZA64GZ.js +121 -0
  438. package/dist/scrape-CTE5SNQN.js +2241 -0
  439. package/dist/screenshot-ELJYTIM7.js +102 -0
  440. package/dist/search-5B5AXN5V.js +91 -0
  441. package/dist/search-7ELGWNMH.js +26 -0
  442. package/dist/search-J43ZG7W3.js +177 -0
  443. package/dist/search-KBIF5NZX.js +224 -0
  444. package/dist/search-OF6LTOK6.js +51 -0
  445. package/dist/search-XO5UPSBF.js +92 -0
  446. package/dist/search-copy-DDRY6HPI.js +168 -0
  447. package/dist/seeds-HH5E7GCS.js +101 -0
  448. package/dist/select-I2UPGGZ5.js +110 -0
  449. package/dist/sends-CEZAPEQN.js +349 -0
  450. package/dist/sends-CEZAPEQN.js.map +1 -0
  451. package/dist/sequences-V4STPHGV.js +146 -0
  452. package/dist/set-prompt-SU7YM7FW.js +199 -0
  453. package/dist/setup-links-VWK4MBI3.js +144 -0
  454. package/dist/shared-P2PFNNJF.js +32 -0
  455. package/dist/shopify-6KNHPC4R.js +3958 -0
  456. package/dist/site-PHTJ5VI3.js +180 -0
  457. package/dist/sitemaps-KMRWAKNK.js +77 -0
  458. package/dist/sites-3QZDCQRG.js +97 -0
  459. package/dist/skills-KV4X22KQ.js +47 -0
  460. package/dist/sources-255OGK6K.js +30 -0
  461. package/dist/sources-52N253A7.js +457 -0
  462. package/dist/sources-52N253A7.js.map +1 -0
  463. package/dist/stale-KN2ZOJ5T.js +90 -0
  464. package/dist/stats-3TAUG3Q3.js +34 -0
  465. package/dist/status-BJH7ODU4.js +65 -0
  466. package/dist/sticker-SH6VUPFR.js +102 -0
  467. package/dist/sticker-SH6VUPFR.js.map +1 -0
  468. package/dist/stock-IICCY3IQ.js +187 -0
  469. package/dist/stock-IICCY3IQ.js.map +1 -0
  470. package/dist/studies-A52C544C.js +250 -0
  471. package/dist/studio-C2UVCTDD.js +49 -0
  472. package/dist/study-writes-3R4D6C3F.js +470 -0
  473. package/dist/suggest-3CFMURUH.js +66 -0
  474. package/dist/sync-H4XVXITS.js +55 -0
  475. package/dist/sync-MIKA6IM6.js +57 -0
  476. package/dist/sync-TJ7MGFIE.js +279 -0
  477. package/dist/sync-definition-LO425HBD.js +70 -0
  478. package/dist/tag-6WIQLRDW.js +57 -0
  479. package/dist/tag-manager-KWITWX6Y.js +43 -0
  480. package/dist/tags-DKSJ4E7E.js +227 -0
  481. package/dist/tags-JEGCEFMZ.js +23 -0
  482. package/dist/tags-MNHBZ7FH.js +23 -0
  483. package/dist/tags-S5XY63D3.js +23 -0
  484. package/dist/tags-VVO3BT66.js +26 -0
  485. package/dist/targeting-II4CQUPW.js +762 -0
  486. package/dist/targeting-constants-2EHTMIMX.js +118 -0
  487. package/dist/targeting-criteria-BIIGZTLQ.js +113 -0
  488. package/dist/targets-SX3NMYQ3.js +106 -0
  489. package/dist/terms-URBA2IXT.js +102 -0
  490. package/dist/testimonials-U3KBI3VU.js +32 -0
  491. package/dist/themes-32CUPT4M.js +95 -0
  492. package/dist/top-companies-DFM4F2SE.js +111 -0
  493. package/dist/transcript-4BSUSOQ4.js +165 -0
  494. package/dist/translate-JE7CZJ26.js +603 -0
  495. package/dist/triggers-SRI27OAP.js +144 -0
  496. package/dist/tweets-LECORASF.js +123 -0
  497. package/dist/unfollow-DBV2F7YP.js +46 -0
  498. package/dist/unlink-U7HZ4CYW.js +70 -0
  499. package/dist/unstage-JJGZJVHT.js +88 -0
  500. package/dist/unstage-XCH4VBM2.js +96 -0
  501. package/dist/update-JDFJPQ3O.js +81 -0
  502. package/dist/update-JN75LN32.js +66 -0
  503. package/dist/update-PU5LSQ7W.js +192 -0
  504. package/dist/update-PUWD5HX4.js +101 -0
  505. package/dist/update-R4EEEWT4.js +155 -0
  506. package/dist/upload-4CUPZI3X.js +130 -0
  507. package/dist/upload-B27ZJMMZ.js +150 -0
  508. package/dist/upscale-QMBV3AGN.js +109 -0
  509. package/dist/url-options-P3UTLYUY.js +131 -0
  510. package/dist/url-params-V7KQMWK3.js +101 -0
  511. package/dist/use-TBDI3OAN.js +111 -0
  512. package/dist/validate-6GRMJKZI.js +125 -0
  513. package/dist/variant-2A5GOOJF.js +338 -0
  514. package/dist/videos-6ZZ6LLTL.js +41 -0
  515. package/dist/view-GNNIJGGN.js +121 -0
  516. package/dist/viewer-check-B36TNSZI.js +83 -0
  517. package/dist/web-H5CWLHRA.js +143 -0
  518. package/dist/winners-6CW4CWZI.js +113 -0
  519. package/dist/winning-ads-SHNXPIYB.js +86 -0
  520. package/dist/write-commands-3G5WDFH3.js +206 -0
  521. package/dist/write-commands-RI6UP4YG.js +1525 -0
  522. package/dist/write-commands-TPPJHGMT.js +1172 -0
  523. package/dist/write-commands-UW5LKCAP.js +713 -0
  524. package/dist/x-CI2XPNBR.js +47 -0
  525. package/package.json +1 -1
  526. package/dist/account-44L7SBXK.js +0 -82
  527. package/dist/account-6Q2YV7BN.js +0 -139
  528. package/dist/account-LHBLGRZM.js +0 -82
  529. package/dist/account-assets-VJ5RZH4I.js +0 -290
  530. package/dist/account-level-KI4TEG3G.js +0 -611
  531. package/dist/account-reads-5MA52GNG.js +0 -219
  532. package/dist/account-users-GSZHY6MD.js +0 -64
  533. package/dist/account-writes-LLRPQU2K.js +0 -68
  534. package/dist/accounts-A2SGFRZP.js +0 -114
  535. package/dist/accounts-ASUFY2DV.js +0 -115
  536. package/dist/accounts-CALGHTYG.js +0 -701
  537. package/dist/accounts-PFZVWNOW.js +0 -80
  538. package/dist/accounts-QVZR4OMQ.js +0 -76
  539. package/dist/actions-WF2UAXBI.js +0 -55
  540. package/dist/active-entities-EJCLPIKJ.js +0 -103
  541. package/dist/activecampaign-KXBLSP7W.js +0 -938
  542. package/dist/activities-U7RC275G.js +0 -75
  543. package/dist/ad-group-writes-OWJ4ATKU.js +0 -172
  544. package/dist/ad-groups-IFF4G7CK.js +0 -70
  545. package/dist/ad-writes-OB7BRW5T.js +0 -176
  546. package/dist/add-7DCTX6MT.js +0 -107
  547. package/dist/add-HLDASH6G.js +0 -148
  548. package/dist/add-LBER2JD6.js +0 -81
  549. package/dist/add-M6CZVT62.js +0 -80
  550. package/dist/add-MYRZZDLQ.js +0 -97
  551. package/dist/add-PVXWIATJ.js +0 -305
  552. package/dist/add-accounts-HUIKYKRU.js +0 -91
  553. package/dist/ads-24GB65HI.js +0 -79
  554. package/dist/ads-325CHQN5.js +0 -128
  555. package/dist/ads-AVR7RXZ3.js +0 -48
  556. package/dist/ads-MFXNLNPB.js +0 -120
  557. package/dist/adsets-7ARHJS2F.js +0 -182
  558. package/dist/advertisers-BA2P57UC.js +0 -123
  559. package/dist/advertisers-LELAFRUF.js +0 -125
  560. package/dist/analytics-2U6LDRUK.js +0 -2437
  561. package/dist/analytics-AESUTVLA.js +0 -447
  562. package/dist/animate-YTC37USA.js +0 -480
  563. package/dist/approved-KKCTQLK7.js +0 -73
  564. package/dist/asset-writes-HAELVVBJ.js +0 -50
  565. package/dist/assign-V7NKDZDJ.js +0 -80
  566. package/dist/audience-size-CLYCWKP4.js +0 -76
  567. package/dist/audience-writes-XQMSCRQM.js +0 -327
  568. package/dist/audiences-FO3RP6I5.js +0 -86
  569. package/dist/audiences-FO3RP6I5.js.map +0 -1
  570. package/dist/audiences-RLOXMBLX.js +0 -280
  571. package/dist/audiences-ZCGMMUXF.js +0 -85
  572. package/dist/audit-LLXV6ER5.js +0 -88
  573. package/dist/audit-Q55ELJAJ.js +0 -154
  574. package/dist/autocomplete-JVWFM7O6.js +0 -114
  575. package/dist/avatars-DPSMG4ZW.js +0 -38
  576. package/dist/bid-pricing-WBXWNNFJ.js +0 -103
  577. package/dist/brand-QP7KJX2G.js +0 -22
  578. package/dist/brief-SGSBNQXB.js +0 -543
  579. package/dist/businesses-VXPITYFC.js +0 -54
  580. package/dist/businesses-VXPITYFC.js.map +0 -1
  581. package/dist/campaign-groups-ZOW2ZUXW.js +0 -99
  582. package/dist/campaign-writes-JWHRXUZZ.js +0 -176
  583. package/dist/campaign-writes-O2NFEUIB.js +0 -168
  584. package/dist/campaigns-5UI2LNQN.js +0 -130
  585. package/dist/campaigns-DDUR3MM2.js +0 -113
  586. package/dist/campaigns-KUN7KPBU.js +0 -78
  587. package/dist/campaigns-STLBC2FS.js +0 -111
  588. package/dist/canvas-PBA4WVTE.js +0 -46
  589. package/dist/capabilities-D24VR23Q.js +0 -147
  590. package/dist/cards-3DLNTDSG.js +0 -85
  591. package/dist/catalog-4HOTBBN6.js +0 -66
  592. package/dist/catalogs-GDDFWLKE.js +0 -130
  593. package/dist/catalogs-NU7SKAUB.js +0 -781
  594. package/dist/changes-O2YKPBPS.js +0 -135
  595. package/dist/chatgpt-QEV72AO4.js +0 -47
  596. package/dist/chats-56GDTBZ4.js +0 -384
  597. package/dist/check-KH6KVV47.js +0 -107
  598. package/dist/chunk-3DKEESUG.js +0 -98
  599. package/dist/chunk-3FEOMQUT.js +0 -106
  600. package/dist/chunk-3LH5ANM4.js +0 -7712
  601. package/dist/chunk-3PRPX5L7.js +0 -167
  602. package/dist/chunk-3RWSYI6N.js +0 -63
  603. package/dist/chunk-42LB2PZM.js +0 -377
  604. package/dist/chunk-4ZPR265V.js +0 -274
  605. package/dist/chunk-532FZFV2.js +0 -46
  606. package/dist/chunk-57BVBRCH.js +0 -224
  607. package/dist/chunk-5CXLLV7A.js +0 -219
  608. package/dist/chunk-5XRUOJOO.js +0 -203
  609. package/dist/chunk-66O7GGOB.js +0 -131
  610. package/dist/chunk-6LU64W5J.js +0 -333
  611. package/dist/chunk-6THXOWAP.js +0 -476
  612. package/dist/chunk-6ZX3Q4X7.js +0 -217
  613. package/dist/chunk-72ORDZYV.js +0 -1902
  614. package/dist/chunk-7BJZF77Q.js +0 -1919
  615. package/dist/chunk-7UTWZGIV.js +0 -296
  616. package/dist/chunk-AA3WWPX2.js +0 -392
  617. package/dist/chunk-AIOKWGMO.js +0 -75
  618. package/dist/chunk-AYZICIKF.js +0 -287
  619. package/dist/chunk-BEYH7G2K.js +0 -831
  620. package/dist/chunk-BLXFCH3B.js +0 -42
  621. package/dist/chunk-C4PD5NES.js +0 -26
  622. package/dist/chunk-CHOCMV4I.js +0 -24026
  623. package/dist/chunk-CHOCMV4I.js.map +0 -1
  624. package/dist/chunk-CN7IH2EV.js +0 -344
  625. package/dist/chunk-CTZY7QMT.js +0 -111
  626. package/dist/chunk-CV35AJYT.js +0 -57
  627. package/dist/chunk-CW2RHRH5.js +0 -46
  628. package/dist/chunk-CXRP4X3D.js +0 -56
  629. package/dist/chunk-D4GOSMER.js +0 -8954
  630. package/dist/chunk-EDIDGJ6Y.js +0 -285
  631. package/dist/chunk-EJBHZ7AQ.js +0 -387
  632. package/dist/chunk-EJWTQDKA.js +0 -1744
  633. package/dist/chunk-EKQCHHZW.js +0 -319
  634. package/dist/chunk-EPSAWDYY.js +0 -76
  635. package/dist/chunk-FQLY6JHV.js +0 -910
  636. package/dist/chunk-FQTMVJEO.js +0 -98
  637. package/dist/chunk-FR3M23HS.js +0 -149
  638. package/dist/chunk-FUC6WHQM.js +0 -225
  639. package/dist/chunk-FWIQZEJ4.js +0 -188
  640. package/dist/chunk-GSIK23IJ.js +0 -455
  641. package/dist/chunk-GTV62WIS.js +0 -479
  642. package/dist/chunk-H23ZPEIQ.js +0 -64
  643. package/dist/chunk-H4T5EMYZ.js +0 -163
  644. package/dist/chunk-HCOMTRSN.js +0 -207
  645. package/dist/chunk-HF73QMN2.js +0 -97
  646. package/dist/chunk-HHQYP6RM.js +0 -783
  647. package/dist/chunk-HWZZ2TYO.js +0 -170
  648. package/dist/chunk-IC2X5X7J.js +0 -5368
  649. package/dist/chunk-IPMOG2RC.js +0 -138
  650. package/dist/chunk-IW4JBXYF.js +0 -76
  651. package/dist/chunk-JAC6JVCI.js +0 -26
  652. package/dist/chunk-JBQXHR3O.js +0 -58
  653. package/dist/chunk-JE3RHIQE.js +0 -97
  654. package/dist/chunk-JRX25GPP.js +0 -139
  655. package/dist/chunk-K6XAVINT.js +0 -156
  656. package/dist/chunk-KDQWUSG4.js +0 -84
  657. package/dist/chunk-KE2YPOO2.js +0 -676
  658. package/dist/chunk-KGTDEZBS.js +0 -64
  659. package/dist/chunk-KI6K5VPD.js +0 -142
  660. package/dist/chunk-KNA2ALN6.js +0 -494
  661. package/dist/chunk-L54IDADW.js +0 -429
  662. package/dist/chunk-LIYXELOX.js +0 -89
  663. package/dist/chunk-LLJW5F2C.js +0 -148
  664. package/dist/chunk-LTXL475T.js +0 -544
  665. package/dist/chunk-MCJ5I5LR.js +0 -3187
  666. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  667. package/dist/chunk-MFUZ5DBT.js +0 -604
  668. package/dist/chunk-MZPS46OR.js +0 -76
  669. package/dist/chunk-N43JGOTU.js +0 -438
  670. package/dist/chunk-N64IH7FU.js +0 -166
  671. package/dist/chunk-NT4KXGNJ.js +0 -200
  672. package/dist/chunk-NZSOGF3W.js +0 -297
  673. package/dist/chunk-O57XNXSN.js +0 -52
  674. package/dist/chunk-OQ4PTNNH.js +0 -1518
  675. package/dist/chunk-P7WISPGE.js +0 -61
  676. package/dist/chunk-PBWJBEK7.js +0 -19
  677. package/dist/chunk-PDOP76SF.js +0 -3510
  678. package/dist/chunk-PGRN62MU.js +0 -51
  679. package/dist/chunk-PL4RLWSQ.js +0 -225
  680. package/dist/chunk-PL6LQH6G.js +0 -23
  681. package/dist/chunk-RCNCHRMS.js +0 -197
  682. package/dist/chunk-RD63FPG6.js +0 -150
  683. package/dist/chunk-RJ675DP3.js +0 -84
  684. package/dist/chunk-RPFZLVPG.js +0 -35
  685. package/dist/chunk-S4XSCFFN.js +0 -45
  686. package/dist/chunk-S6WPMD3V.js +0 -2466
  687. package/dist/chunk-S6WPMD3V.js.map +0 -1
  688. package/dist/chunk-SBFNGJ4C.js +0 -324
  689. package/dist/chunk-SBO3MOWQ.js +0 -74
  690. package/dist/chunk-SFG42QU6.js +0 -547
  691. package/dist/chunk-SM3RFN3C.js +0 -66
  692. package/dist/chunk-SNWMC4G5.js +0 -169
  693. package/dist/chunk-SRQ7MXQQ.js +0 -846
  694. package/dist/chunk-SZJO23QQ.js +0 -91
  695. package/dist/chunk-TGTQIYST.js +0 -191
  696. package/dist/chunk-TI4UL56R.js +0 -4266
  697. package/dist/chunk-TI4UL56R.js.map +0 -1
  698. package/dist/chunk-TM5UTSE4.js +0 -215
  699. package/dist/chunk-TWXL3GA7.js +0 -73
  700. package/dist/chunk-TZOCQWKP.js +0 -930
  701. package/dist/chunk-UBTGSMWE.js +0 -5471
  702. package/dist/chunk-UI5JOOIW.js +0 -592
  703. package/dist/chunk-UIPSSTMA.js +0 -228
  704. package/dist/chunk-UODX4YIA.js +0 -714
  705. package/dist/chunk-UWNTAWFF.js +0 -103
  706. package/dist/chunk-V3YJ3BTV.js +0 -25
  707. package/dist/chunk-V6F2QWUZ.js +0 -136
  708. package/dist/chunk-VEWMX5XZ.js +0 -94
  709. package/dist/chunk-VR6OMSSP.js +0 -69
  710. package/dist/chunk-VVQZ4MIX.js +0 -66
  711. package/dist/chunk-VWOKRMUG.js +0 -125
  712. package/dist/chunk-WZTSS4SH.js +0 -100
  713. package/dist/chunk-X2DV2ZLG.js +0 -191
  714. package/dist/chunk-X3QG3PKT.js +0 -207
  715. package/dist/chunk-X6AHLUC7.js +0 -229
  716. package/dist/chunk-XA63GPQB.js +0 -91
  717. package/dist/chunk-XARGXZ7V.js +0 -249
  718. package/dist/chunk-XMLYBQ3R.js +0 -1646
  719. package/dist/chunk-Y3SGBJN7.js +0 -69
  720. package/dist/chunk-YD5ZAA56.js +0 -275
  721. package/dist/chunk-YQIURUEL.js +0 -638
  722. package/dist/chunk-Z56NDBOQ.js +0 -2209
  723. package/dist/chunk-ZHHRXHWD.js +0 -106
  724. package/dist/chunk-ZN22VDFS.js +0 -843
  725. package/dist/chunk-ZYWER6HE.js +0 -39
  726. package/dist/claim-E3VMPNOA.js +0 -200
  727. package/dist/client-IILD75KL.js +0 -19
  728. package/dist/code-OWFBQYZS.js +0 -76
  729. package/dist/companies-QLJDMR4I.js +0 -198
  730. package/dist/company-PXTBJJ3S.js +0 -308
  731. package/dist/complete-G6HV7C35.js +0 -84
  732. package/dist/config-JPA4ZHN2.js +0 -88
  733. package/dist/connect-CPXBAHGN.js +0 -45
  734. package/dist/content-SOGZTYNO.js +0 -85
  735. package/dist/conversation-4DTR72EP.js +0 -96
  736. package/dist/conversion-report-ABOKPW3U.js +0 -127
  737. package/dist/conversion-upload-command-6AACG4M4.js +0 -439
  738. package/dist/conversion-writes-2HEJ5SYB.js +0 -122
  739. package/dist/conversions-QIOEYCTC.js +0 -140
  740. package/dist/conversions-UNYDKOB3.js +0 -78
  741. package/dist/copy-writes-RF7MUAWA.js +0 -170
  742. package/dist/countries-4XNZESRQ.js +0 -82
  743. package/dist/create-23ASG5LC.js +0 -135
  744. package/dist/create-3TCFE7K5.js +0 -239
  745. package/dist/create-SASK6SVG.js +0 -62
  746. package/dist/create-YKAVNBVZ.js +0 -210
  747. package/dist/creatives-6MXQKT6W.js +0 -89
  748. package/dist/creatives-6MXQKT6W.js.map +0 -1
  749. package/dist/creatives-HUCADOCQ.js +0 -58
  750. package/dist/creatives-OLTNYQ3S.js +0 -223
  751. package/dist/credentials-TR2ALV5Y.js +0 -290
  752. package/dist/critique-HTQQZRI7.js +0 -232
  753. package/dist/critique-OC7DOMSC.js +0 -1451
  754. package/dist/crm-Q4QTSEQF.js +0 -323
  755. package/dist/crm-Y66JWDMN.js +0 -227
  756. package/dist/crop-L3ALN7OW.js +0 -113
  757. package/dist/currency-CTZT5LYI.js +0 -88
  758. package/dist/custom-conversions-XJJ5V2RR.js +0 -128
  759. package/dist/custom-conversions-XJJ5V2RR.js.map +0 -1
  760. package/dist/customers-BGRY3D6Q.js +0 -59
  761. package/dist/decide-LE7542FR.js +0 -199
  762. package/dist/delete-35NTMQY5.js +0 -85
  763. package/dist/delete-BGTXQRZM.js +0 -57
  764. package/dist/delete-CL3N2FD6.js +0 -69
  765. package/dist/delete-HJZYARS4.js +0 -71
  766. package/dist/delete-J4CAABB6.js +0 -67
  767. package/dist/delete-TW5C6KGR.js +0 -69
  768. package/dist/demographics-D563ESMR.js +0 -141
  769. package/dist/describe-PP7D2RE5.js +0 -97
  770. package/dist/describe-VXQA5AHV.js +0 -97
  771. package/dist/dimensions-WUQGLVX6.js +0 -101
  772. package/dist/discard-K3Z3QTTZ.js +0 -69
  773. package/dist/discover-2A4MEOTK.js +0 -172
  774. package/dist/discover-PDVS3ITO.js +0 -93
  775. package/dist/domain-XLWTTMU3.js +0 -101
  776. package/dist/download-FZJLCOSU.js +0 -299
  777. package/dist/download-R4WCZVKX.js +0 -172
  778. package/dist/draft-4HU72A2M.js +0 -240
  779. package/dist/draft-4LQYKYES.js +0 -310
  780. package/dist/draft-BDGZ4KD2.js +0 -220
  781. package/dist/draft-J3ZLBKSO.js +0 -335
  782. package/dist/draft-QC5U3HH7.js +0 -103
  783. package/dist/draft-QK7WP6KI.js +0 -100
  784. package/dist/draft-RBWJ2KMU.js +0 -283
  785. package/dist/draft-WCAPGXNE.js +0 -396
  786. package/dist/env-KCFPWDRZ.js +0 -53
  787. package/dist/experiment-55H6NBF4.js +0 -1397
  788. package/dist/experiments-TMODWKCS.js +0 -236
  789. package/dist/export-JSQ62QLT.js +0 -168
  790. package/dist/extract-HPO5NCJM.js +0 -113
  791. package/dist/extract-HPO5NCJM.js.map +0 -1
  792. package/dist/facets-3Y65YKG5.js +0 -117
  793. package/dist/favorites-PZIXDJTK.js +0 -178
  794. package/dist/feed-GTJWBM3A.js +0 -177
  795. package/dist/feedback-R6WPR37D.js +0 -115
  796. package/dist/feedback-record-Y5BRNVIA.js +0 -269
  797. package/dist/fetch-DH3FYWNG.js +0 -139
  798. package/dist/fetch-LRYGBGF6.js +0 -179
  799. package/dist/find-Q6YSXK5B.js +0 -143
  800. package/dist/fit-TWZLNDRE.js +0 -65
  801. package/dist/flows-KXICZCG7.js +0 -250
  802. package/dist/follow-B5LYKQYZ.js +0 -94
  803. package/dist/follow-competitors-7NHOQPC6.js +0 -112
  804. package/dist/following-2M4SVFML.js +0 -113
  805. package/dist/fonts-GPCFB77E.js +0 -39
  806. package/dist/forecast-GJOJBT66.js +0 -121
  807. package/dist/forecast-Q2VWQYXH.js +0 -169
  808. package/dist/funding-7KPXTSSF.js +0 -85
  809. package/dist/funnel-DTJNGHJ7.js +0 -397
  810. package/dist/ga4-IHDHHB4A.js +0 -55
  811. package/dist/generate-LR4TZ635.js +0 -263
  812. package/dist/get-5LL6Z5NR.js +0 -82
  813. package/dist/get-B3B6FRQ2.js +0 -59
  814. package/dist/get-B4DL3RSO.js +0 -56
  815. package/dist/get-BLLJDQK7.js +0 -62
  816. package/dist/get-EBGMLBMQ.js +0 -66
  817. package/dist/get-L643OWL6.js +0 -92
  818. package/dist/get-UOSUCNQL.js +0 -59
  819. package/dist/get-X7CWNYQT.js +0 -38
  820. package/dist/gif-YOFNJCMU.js +0 -102
  821. package/dist/gif-YOFNJCMU.js.map +0 -1
  822. package/dist/google-5FWAGGXI.js +0 -136
  823. package/dist/google-5FWAGGXI.js.map +0 -1
  824. package/dist/google-63IGLMTD.js +0 -3267
  825. package/dist/google-ads-FZP75XOY.js +0 -198
  826. package/dist/group-B7MU5SKI.js +0 -43
  827. package/dist/group-WU4LKKX7.js +0 -43
  828. package/dist/gsc-TP5PZHZG.js +0 -30
  829. package/dist/history-K7DLRT7S.js +0 -136
  830. package/dist/history-P7EZPAMT.js +0 -102
  831. package/dist/history-RZ5ZPPYD.js +0 -69
  832. package/dist/hubspot-GXPNTPXH.js +0 -782
  833. package/dist/icon-6BMRXD4X.js +0 -137
  834. package/dist/ideas-TQGXXWNX.js +0 -45
  835. package/dist/images-KWYSLR3Q.js +0 -92
  836. package/dist/improve-IX6E7OYO.js +0 -86
  837. package/dist/ingest-LPIQYOC2.js +0 -123
  838. package/dist/ingest-MAWKAVR2.js +0 -27
  839. package/dist/insights-LSXXRRIR.js +0 -439
  840. package/dist/insights-LSXXRRIR.js.map +0 -1
  841. package/dist/insights-NYWJYDS6.js +0 -132
  842. package/dist/inspect-BDRWXLXE.js +0 -192
  843. package/dist/inspiration-3EXSU5HR.js +0 -53
  844. package/dist/instant-experiences-S6KD7GHP.js +0 -260
  845. package/dist/instant-experiences-S6KD7GHP.js.map +0 -1
  846. package/dist/intent-42QMV4N5.js +0 -95
  847. package/dist/job-LE5AG6HJ.js +0 -202
  848. package/dist/job-create-QKYEPYNE.js +0 -109
  849. package/dist/job-status-OG7S2LFM.js +0 -74
  850. package/dist/keep-WG3T4MKZ.js +0 -78
  851. package/dist/keyword-gap-57UOL233.js +0 -130
  852. package/dist/keyword-metrics-ZE27BDSD.js +0 -200
  853. package/dist/keywords-for-site-E4L5FEOZ.js +0 -131
  854. package/dist/knowledge-IIWKDS45.js +0 -195
  855. package/dist/landing-S7L2JT7T.js +0 -28
  856. package/dist/landings-2CNV325Q.js +0 -151
  857. package/dist/languages-5LHOEANO.js +0 -55
  858. package/dist/languages-7AYGAQ5R.js +0 -40
  859. package/dist/launches-EWT3LHCQ.js +0 -19
  860. package/dist/layerize-QXALSA7Q.js +0 -190
  861. package/dist/lead-routes-FAG5FOZK.js +0 -733
  862. package/dist/leads-37USR6KI.js +0 -115
  863. package/dist/leads-6U26QP2Q.js +0 -540
  864. package/dist/leads-6U26QP2Q.js.map +0 -1
  865. package/dist/learn-23DQ72LC.js +0 -207
  866. package/dist/library-5XZP2W22.js +0 -211
  867. package/dist/lighthouse-KAMY3KYG.js +0 -75
  868. package/dist/line-item-writes-2WYNROS7.js +0 -211
  869. package/dist/line-items-RL7T3Q5Q.js +0 -107
  870. package/dist/link-OQSTKOOH.js +0 -67
  871. package/dist/linkedin-KP6ZMWEG.js +0 -1328
  872. package/dist/linkedin-person-7EMQIMT7.js +0 -139
  873. package/dist/list-4VJY4BCV.js +0 -51
  874. package/dist/list-6J7RPP4F.js +0 -306
  875. package/dist/list-AL2HOLWI.js +0 -76
  876. package/dist/list-AZEHYDU7.js +0 -93
  877. package/dist/list-F5P3KZNF.js +0 -67
  878. package/dist/list-GHV6665E.js +0 -50
  879. package/dist/list-PBGDATAC.js +0 -57
  880. package/dist/list-SRY3XZOE.js +0 -65
  881. package/dist/list-XXNAKZGF.js +0 -154
  882. package/dist/locations-DXTRXR4N.js +0 -40
  883. package/dist/locations-LRDYJ43Z.js +0 -69
  884. package/dist/log-KNVINDDV.js +0 -95
  885. package/dist/logo-DBIXKWDV.js +0 -18
  886. package/dist/lookup-CNAZI7WN.js +0 -23
  887. package/dist/make-WHI2U6TV.js +0 -1367
  888. package/dist/map-YODJNTXD.js +0 -436
  889. package/dist/mcp-UCM35H3L.js +0 -729
  890. package/dist/media-7UAKHZZT.js +0 -18
  891. package/dist/media-JESBPCT4.js +0 -89
  892. package/dist/media-sources-BOPQHX2H.js +0 -35
  893. package/dist/members-SQ5CYHJX.js +0 -47
  894. package/dist/meme-QC4B2UOE.js +0 -100
  895. package/dist/meta-RKKGFD2Q.js +0 -122
  896. package/dist/metrics-A52UDO7T.js +0 -152
  897. package/dist/models-6N3BB77L.js +0 -155
  898. package/dist/normalize-ALERW32M.js +0 -144
  899. package/dist/normalize-TGEEW5J4.js +0 -806
  900. package/dist/options-YHKD2OAJ.js +0 -125
  901. package/dist/organization-WERAMD2V.js +0 -949
  902. package/dist/output-LTK2VAI2.js +0 -24
  903. package/dist/page-O7HY2KDR.js +0 -105
  904. package/dist/page-photos-IIBLD2M4.js +0 -118
  905. package/dist/pages-JYYYRADM.js +0 -67
  906. package/dist/pages-JYYYRADM.js.map +0 -1
  907. package/dist/performance-C35V2HKD.js +0 -5565
  908. package/dist/performance-NG24WWKY.js +0 -27
  909. package/dist/pinterest-P5LS6IM7.js +0 -96
  910. package/dist/pinterest-P5LS6IM7.js.map +0 -1
  911. package/dist/pixels-TAVUGXVE.js +0 -109
  912. package/dist/pixels-TAVUGXVE.js.map +0 -1
  913. package/dist/pixels-XXBXR2V6.js +0 -62
  914. package/dist/plan-XJX4BAFS.js +0 -208
  915. package/dist/posts-QEJH7VY4.js +0 -36
  916. package/dist/preview-KMBPUIKX.js +0 -218
  917. package/dist/profile-HH657NFJ.js +0 -159
  918. package/dist/promoted-tweet-writes-Y4F3CAFN.js +0 -183
  919. package/dist/promoted-tweets-NDH4WRMU.js +0 -119
  920. package/dist/properties-2BEJQW4Y.js +0 -101
  921. package/dist/publish-ZSBU22A6.js +0 -344
  922. package/dist/query-ACPWBVYY.js +0 -62
  923. package/dist/query-CBSXU3D6.js +0 -236
  924. package/dist/query-SMIKGUVW.js +0 -231
  925. package/dist/questionnaire-3WSXQF24.js +0 -94
  926. package/dist/read-HZC3NDNN.js +0 -141
  927. package/dist/reddit-VGQJ5DWZ.js +0 -29
  928. package/dist/refresh-I5A3NECZ.js +0 -42
  929. package/dist/refresh-UQ4R2OAO.js +0 -97
  930. package/dist/release-QA2ORVMR.js +0 -63
  931. package/dist/relevant-pages-X5BKPX2Z.js +0 -99
  932. package/dist/remove-2ZGE2W4H.js +0 -49
  933. package/dist/remove-W44KVKX2.js +0 -53
  934. package/dist/reopen-66OCNU76.js +0 -66
  935. package/dist/rerun-OUXGA2IC.js +0 -96
  936. package/dist/research-4CO77ZDY.js +0 -72
  937. package/dist/research-KMDJE2UR.js +0 -265
  938. package/dist/reset-VIRLB7WH.js +0 -57
  939. package/dist/reset-VSPTKCIP.js +0 -57
  940. package/dist/resolve-3X75F7YR.js +0 -124
  941. package/dist/retry-SFLHBLLT.js +0 -63
  942. package/dist/retry-USOR5FLJ.js +0 -65
  943. package/dist/retry-failed-2P7FOFXN.js +0 -45
  944. package/dist/revenue-YJO5LJQX.js +0 -91
  945. package/dist/rule-writes-EWHP53UU.js +0 -525
  946. package/dist/rules-GVOTFQFK.js +0 -217
  947. package/dist/rules-VOPVGGYY.js +0 -99
  948. package/dist/rules-add-CC4ACCSS.js +0 -465
  949. package/dist/run-MDMDSMNK.js +0 -69
  950. package/dist/run-WQH6WOKA.js +0 -71
  951. package/dist/scaffold-ad-ZIEQDGKR.js +0 -1513
  952. package/dist/scaffold-static-ad-PCZYRIKR.js +0 -1011
  953. package/dist/scaffold-video-53QXTSK2.js +0 -885
  954. package/dist/schedule-HJW5MV6M.js +0 -64
  955. package/dist/schedule-UQZFDY2R.js +0 -67
  956. package/dist/scheduled-agents-HGCQPOSI.js +0 -55
  957. package/dist/schema-GHGIFDA5.js +0 -121
  958. package/dist/schema-VNADOIC7.js +0 -135
  959. package/dist/scrape-KJHI7ZGT.js +0 -2241
  960. package/dist/screenshot-R5WU2CP3.js +0 -102
  961. package/dist/search-4ZC63BDO.js +0 -91
  962. package/dist/search-ASEODLC6.js +0 -51
  963. package/dist/search-HU3BLSA5.js +0 -26
  964. package/dist/search-KKAJLNGJ.js +0 -177
  965. package/dist/search-YIS3DVFC.js +0 -92
  966. package/dist/search-Z4PXKQXY.js +0 -224
  967. package/dist/search-copy-TFHTB6R3.js +0 -168
  968. package/dist/seeds-SMIOGN5B.js +0 -101
  969. package/dist/select-PDZUPAUK.js +0 -110
  970. package/dist/sends-E7Z65VUV.js +0 -349
  971. package/dist/sends-E7Z65VUV.js.map +0 -1
  972. package/dist/sequences-T5M7T6HY.js +0 -146
  973. package/dist/set-prompt-6KEYR56T.js +0 -199
  974. package/dist/setup-links-ALKFPGLK.js +0 -144
  975. package/dist/shared-INNJML54.js +0 -32
  976. package/dist/shopify-XQ2XMPG4.js +0 -3958
  977. package/dist/site-GDBA47KZ.js +0 -180
  978. package/dist/sitemaps-JXHJMTLU.js +0 -77
  979. package/dist/sites-UXBWI7WO.js +0 -97
  980. package/dist/skills-X5XTXI7E.js +0 -47
  981. package/dist/sources-FXELSMSA.js +0 -30
  982. package/dist/sources-QBNLC54L.js +0 -457
  983. package/dist/sources-QBNLC54L.js.map +0 -1
  984. package/dist/stale-GU4IAYSH.js +0 -90
  985. package/dist/stats-KWP52SMV.js +0 -34
  986. package/dist/status-TMO67UTC.js +0 -65
  987. package/dist/sticker-XIP3YQHG.js +0 -94
  988. package/dist/sticker-XIP3YQHG.js.map +0 -1
  989. package/dist/stock-LB7DKL3L.js +0 -179
  990. package/dist/stock-LB7DKL3L.js.map +0 -1
  991. package/dist/studies-C6XQBKI6.js +0 -250
  992. package/dist/studio-HGMO77PU.js +0 -49
  993. package/dist/study-writes-XD4CWHMA.js +0 -470
  994. package/dist/suggest-EY4X3CGR.js +0 -66
  995. package/dist/sync-KEWFMT6D.js +0 -279
  996. package/dist/sync-PKJ5A4BI.js +0 -57
  997. package/dist/sync-Y3OXWX3C.js +0 -55
  998. package/dist/sync-definition-RDZPTA2Q.js +0 -70
  999. package/dist/tag-OHLDMOIE.js +0 -57
  1000. package/dist/tag-manager-45NZFX7I.js +0 -43
  1001. package/dist/tags-CP37ODLW.js +0 -227
  1002. package/dist/tags-CPQHAS25.js +0 -23
  1003. package/dist/tags-FHRIXW7Q.js +0 -23
  1004. package/dist/tags-GYQKFHMA.js +0 -26
  1005. package/dist/tags-SOGILVIL.js +0 -23
  1006. package/dist/targeting-WMQ5D3FI.js +0 -762
  1007. package/dist/targeting-constants-25MFBDE2.js +0 -118
  1008. package/dist/targeting-criteria-HV7NBKI3.js +0 -113
  1009. package/dist/targets-3VSPGEY7.js +0 -106
  1010. package/dist/terms-IDRQZRWC.js +0 -102
  1011. package/dist/testimonials-ILMBPPLT.js +0 -32
  1012. package/dist/themes-5YBSJEKZ.js +0 -95
  1013. package/dist/top-companies-P43VHHMU.js +0 -111
  1014. package/dist/transcript-DIAZ2OU4.js +0 -165
  1015. package/dist/translate-IFQFBJYY.js +0 -603
  1016. package/dist/triggers-WULRME4T.js +0 -144
  1017. package/dist/tweets-7LDBHP3Y.js +0 -123
  1018. package/dist/unfollow-76PLUWRU.js +0 -46
  1019. package/dist/unlink-DZH2GXFZ.js +0 -70
  1020. package/dist/unstage-GKI2IQOY.js +0 -88
  1021. package/dist/unstage-PHH5WTTH.js +0 -96
  1022. package/dist/update-6I36ZCNL.js +0 -66
  1023. package/dist/update-HBQCEZ47.js +0 -81
  1024. package/dist/update-NN6ELVGG.js +0 -155
  1025. package/dist/update-RD374IU2.js +0 -101
  1026. package/dist/update-VBFHKFFH.js +0 -192
  1027. package/dist/upload-2OD3BTNT.js +0 -130
  1028. package/dist/upload-HQVNSAQX.js +0 -150
  1029. package/dist/upscale-DRLDP2PM.js +0 -109
  1030. package/dist/url-options-KOL2WHJ3.js +0 -131
  1031. package/dist/url-params-YTY4TEMU.js +0 -101
  1032. package/dist/use-WKSR3Y2T.js +0 -111
  1033. package/dist/validate-KEYC2TPH.js +0 -125
  1034. package/dist/variant-DMGNLXWH.js +0 -338
  1035. package/dist/videos-76QPF2ZI.js +0 -41
  1036. package/dist/view-O6PUTSFE.js +0 -121
  1037. package/dist/viewer-check-SUMQQQVA.js +0 -83
  1038. package/dist/web-EKRCCW4A.js +0 -143
  1039. package/dist/winners-T4AWAVNU.js +0 -113
  1040. package/dist/winning-ads-N4VTILRO.js +0 -86
  1041. package/dist/write-commands-6GIGWSF4.js +0 -206
  1042. package/dist/write-commands-AD7DBJKY.js +0 -1525
  1043. package/dist/write-commands-HMMBM5OC.js +0 -1172
  1044. package/dist/write-commands-KYMBIZ7U.js +0 -713
  1045. package/dist/x-3W5KUAMR.js +0 -47
  1046. /package/dist/{account-LHBLGRZM.js.map → account-2RNYGT6E.js.map} +0 -0
  1047. /package/dist/{account-6Q2YV7BN.js.map → account-3IA3PYDJ.js.map} +0 -0
  1048. /package/dist/{account-44L7SBXK.js.map → account-T26J6HSJ.js.map} +0 -0
  1049. /package/dist/{account-assets-VJ5RZH4I.js.map → account-assets-BVEEUGDA.js.map} +0 -0
  1050. /package/dist/{account-level-KI4TEG3G.js.map → account-level-J37UFQY6.js.map} +0 -0
  1051. /package/dist/{account-reads-5MA52GNG.js.map → account-reads-P2WXB3NZ.js.map} +0 -0
  1052. /package/dist/{account-users-GSZHY6MD.js.map → account-users-REWJY2TN.js.map} +0 -0
  1053. /package/dist/{account-writes-LLRPQU2K.js.map → account-writes-QEZQCU46.js.map} +0 -0
  1054. /package/dist/{accounts-ASUFY2DV.js.map → accounts-FX6V37GX.js.map} +0 -0
  1055. /package/dist/{accounts-A2SGFRZP.js.map → accounts-GXJPLMHU.js.map} +0 -0
  1056. /package/dist/{accounts-QVZR4OMQ.js.map → accounts-HNZWMTRM.js.map} +0 -0
  1057. /package/dist/{accounts-CALGHTYG.js.map → accounts-MJ7AGPOW.js.map} +0 -0
  1058. /package/dist/{accounts-PFZVWNOW.js.map → accounts-PGSNRUNV.js.map} +0 -0
  1059. /package/dist/{actions-WF2UAXBI.js.map → actions-NGBCTPNG.js.map} +0 -0
  1060. /package/dist/{active-entities-EJCLPIKJ.js.map → active-entities-YIOKHGWY.js.map} +0 -0
  1061. /package/dist/{activecampaign-KXBLSP7W.js.map → activecampaign-ASE4IVTD.js.map} +0 -0
  1062. /package/dist/{activities-U7RC275G.js.map → activities-FXYVPCRJ.js.map} +0 -0
  1063. /package/dist/{ad-group-writes-OWJ4ATKU.js.map → ad-group-writes-MVQKICSC.js.map} +0 -0
  1064. /package/dist/{ad-groups-IFF4G7CK.js.map → ad-groups-5OGD7PJ7.js.map} +0 -0
  1065. /package/dist/{ad-writes-OB7BRW5T.js.map → ad-writes-OVD6EESQ.js.map} +0 -0
  1066. /package/dist/{add-M6CZVT62.js.map → add-3EEREVFI.js.map} +0 -0
  1067. /package/dist/{add-HLDASH6G.js.map → add-FGB7KM6P.js.map} +0 -0
  1068. /package/dist/{add-MYRZZDLQ.js.map → add-FKINXOC2.js.map} +0 -0
  1069. /package/dist/{add-LBER2JD6.js.map → add-MTYT3Q4T.js.map} +0 -0
  1070. /package/dist/{add-7DCTX6MT.js.map → add-QBEF2C7Z.js.map} +0 -0
  1071. /package/dist/{add-PVXWIATJ.js.map → add-YJP43JWJ.js.map} +0 -0
  1072. /package/dist/{add-accounts-HUIKYKRU.js.map → add-accounts-WCDQRXRO.js.map} +0 -0
  1073. /package/dist/{ads-MFXNLNPB.js.map → ads-4O4TPDAU.js.map} +0 -0
  1074. /package/dist/{ads-AVR7RXZ3.js.map → ads-GF7QLKBX.js.map} +0 -0
  1075. /package/dist/{ads-24GB65HI.js.map → ads-SCWCG2YI.js.map} +0 -0
  1076. /package/dist/{ads-325CHQN5.js.map → ads-YRV2YERG.js.map} +0 -0
  1077. /package/dist/{adsets-7ARHJS2F.js.map → adsets-OVFVN5NX.js.map} +0 -0
  1078. /package/dist/{advertisers-LELAFRUF.js.map → advertisers-663V2F2T.js.map} +0 -0
  1079. /package/dist/{advertisers-BA2P57UC.js.map → advertisers-SUZT4NRJ.js.map} +0 -0
  1080. /package/dist/{analytics-2U6LDRUK.js.map → analytics-NJBF3U54.js.map} +0 -0
  1081. /package/dist/{analytics-AESUTVLA.js.map → analytics-PI6SXDW4.js.map} +0 -0
  1082. /package/dist/{animate-YTC37USA.js.map → animate-HV2QJWVE.js.map} +0 -0
  1083. /package/dist/{approved-KKCTQLK7.js.map → approved-RFZLJZJH.js.map} +0 -0
  1084. /package/dist/{asset-writes-HAELVVBJ.js.map → asset-writes-ZMSJSFTD.js.map} +0 -0
  1085. /package/dist/{assign-V7NKDZDJ.js.map → assign-6YG56OCM.js.map} +0 -0
  1086. /package/dist/{audience-size-CLYCWKP4.js.map → audience-size-5X3BHQ6Q.js.map} +0 -0
  1087. /package/dist/{audience-writes-XQMSCRQM.js.map → audience-writes-BUWFC5W4.js.map} +0 -0
  1088. /package/dist/{audiences-RLOXMBLX.js.map → audiences-6N5B7CA2.js.map} +0 -0
  1089. /package/dist/{audiences-ZCGMMUXF.js.map → audiences-GD2EPPJJ.js.map} +0 -0
  1090. /package/dist/{audit-LLXV6ER5.js.map → audit-DQYC4R74.js.map} +0 -0
  1091. /package/dist/{audit-Q55ELJAJ.js.map → audit-PLXF2NAS.js.map} +0 -0
  1092. /package/dist/{autocomplete-JVWFM7O6.js.map → autocomplete-YJSDRTMT.js.map} +0 -0
  1093. /package/dist/{avatars-DPSMG4ZW.js.map → avatars-BDQWTQKY.js.map} +0 -0
  1094. /package/dist/{bid-pricing-WBXWNNFJ.js.map → bid-pricing-BUNOVWUB.js.map} +0 -0
  1095. /package/dist/{brand-QP7KJX2G.js.map → brand-MHFSUXWN.js.map} +0 -0
  1096. /package/dist/{brief-SGSBNQXB.js.map → brief-A5AEZBZL.js.map} +0 -0
  1097. /package/dist/{campaign-groups-ZOW2ZUXW.js.map → campaign-groups-UYNINWXX.js.map} +0 -0
  1098. /package/dist/{campaign-writes-O2NFEUIB.js.map → campaign-writes-RCA52SAP.js.map} +0 -0
  1099. /package/dist/{campaign-writes-JWHRXUZZ.js.map → campaign-writes-TFRV62VN.js.map} +0 -0
  1100. /package/dist/{campaigns-DDUR3MM2.js.map → campaigns-CIQIZ46G.js.map} +0 -0
  1101. /package/dist/{campaigns-STLBC2FS.js.map → campaigns-EETR5UJR.js.map} +0 -0
  1102. /package/dist/{campaigns-KUN7KPBU.js.map → campaigns-KPUA4GP2.js.map} +0 -0
  1103. /package/dist/{campaigns-5UI2LNQN.js.map → campaigns-N75G2BDU.js.map} +0 -0
  1104. /package/dist/{canvas-PBA4WVTE.js.map → canvas-M3RXWJ2T.js.map} +0 -0
  1105. /package/dist/{capabilities-D24VR23Q.js.map → capabilities-XFLST37G.js.map} +0 -0
  1106. /package/dist/{cards-3DLNTDSG.js.map → cards-TTQTPLCO.js.map} +0 -0
  1107. /package/dist/{catalog-4HOTBBN6.js.map → catalog-JVBRY2U6.js.map} +0 -0
  1108. /package/dist/{catalogs-NU7SKAUB.js.map → catalogs-LI7NG57R.js.map} +0 -0
  1109. /package/dist/{catalogs-GDDFWLKE.js.map → catalogs-QYAAPTMV.js.map} +0 -0
  1110. /package/dist/{changes-O2YKPBPS.js.map → changes-Y4NAQ2IV.js.map} +0 -0
  1111. /package/dist/{chatgpt-QEV72AO4.js.map → chatgpt-KJAUJBRK.js.map} +0 -0
  1112. /package/dist/{chats-56GDTBZ4.js.map → chats-5BNHZWO7.js.map} +0 -0
  1113. /package/dist/{check-KH6KVV47.js.map → check-ESD3QPIZ.js.map} +0 -0
  1114. /package/dist/{chunk-EKQCHHZW.js.map → chunk-2EVHGBQY.js.map} +0 -0
  1115. /package/dist/{chunk-K6XAVINT.js.map → chunk-2JFCDUZO.js.map} +0 -0
  1116. /package/dist/{chunk-KNA2ALN6.js.map → chunk-2MAQKELK.js.map} +0 -0
  1117. /package/dist/{chunk-7BJZF77Q.js.map → chunk-2OCUXPWT.js.map} +0 -0
  1118. /package/dist/{chunk-WZTSS4SH.js.map → chunk-35FLLWSQ.js.map} +0 -0
  1119. /package/dist/{chunk-N43JGOTU.js.map → chunk-3ANPDWU7.js.map} +0 -0
  1120. /package/dist/{chunk-Z56NDBOQ.js.map → chunk-3C3IR2F6.js.map} +0 -0
  1121. /package/dist/{chunk-42LB2PZM.js.map → chunk-3GMJEM4C.js.map} +0 -0
  1122. /package/dist/{chunk-O57XNXSN.js.map → chunk-3PG7O3ZW.js.map} +0 -0
  1123. /package/dist/{chunk-VR6OMSSP.js.map → chunk-4GQJOHJY.js.map} +0 -0
  1124. /package/dist/{chunk-RPFZLVPG.js.map → chunk-4OY6SHHM.js.map} +0 -0
  1125. /package/dist/{chunk-TGTQIYST.js.map → chunk-4QLVMG63.js.map} +0 -0
  1126. /package/dist/{chunk-BEYH7G2K.js.map → chunk-4YWSFFOP.js.map} +0 -0
  1127. /package/dist/{chunk-CV35AJYT.js.map → chunk-5JG77PP3.js.map} +0 -0
  1128. /package/dist/{chunk-CN7IH2EV.js.map → chunk-5TWI6FFY.js.map} +0 -0
  1129. /package/dist/{chunk-57BVBRCH.js.map → chunk-65HTWFKN.js.map} +0 -0
  1130. /package/dist/{chunk-UODX4YIA.js.map → chunk-6KWPAPFL.js.map} +0 -0
  1131. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  1132. /package/dist/{chunk-GSIK23IJ.js.map → chunk-6RUHIXVA.js.map} +0 -0
  1133. /package/dist/{chunk-X2DV2ZLG.js.map → chunk-6X4XAANZ.js.map} +0 -0
  1134. /package/dist/{chunk-XA63GPQB.js.map → chunk-6Z32HS4D.js.map} +0 -0
  1135. /package/dist/{chunk-H4T5EMYZ.js.map → chunk-7MK4TND6.js.map} +0 -0
  1136. /package/dist/{chunk-FWIQZEJ4.js.map → chunk-7ZYXRMSM.js.map} +0 -0
  1137. /package/dist/{chunk-LLJW5F2C.js.map → chunk-AUO4QNMI.js.map} +0 -0
  1138. /package/dist/{chunk-EJWTQDKA.js.map → chunk-AXSSATJW.js.map} +0 -0
  1139. /package/dist/{chunk-3FEOMQUT.js.map → chunk-B52GKPH2.js.map} +0 -0
  1140. /package/dist/{chunk-EDIDGJ6Y.js.map → chunk-B6WOWVAA.js.map} +0 -0
  1141. /package/dist/{chunk-Y3SGBJN7.js.map → chunk-BBGKZJXP.js.map} +0 -0
  1142. /package/dist/{chunk-3DKEESUG.js.map → chunk-BF32BRMX.js.map} +0 -0
  1143. /package/dist/{chunk-XARGXZ7V.js.map → chunk-BIFK5OGB.js.map} +0 -0
  1144. /package/dist/{chunk-KI6K5VPD.js.map → chunk-BUXPBPAP.js.map} +0 -0
  1145. /package/dist/{chunk-X6AHLUC7.js.map → chunk-C35UMKYG.js.map} +0 -0
  1146. /package/dist/{chunk-AA3WWPX2.js.map → chunk-CDRS2QAP.js.map} +0 -0
  1147. /package/dist/{chunk-EJBHZ7AQ.js.map → chunk-CFVVZKSU.js.map} +0 -0
  1148. /package/dist/{chunk-V6F2QWUZ.js.map → chunk-CM2LECNX.js.map} +0 -0
  1149. /package/dist/{chunk-KGTDEZBS.js.map → chunk-D2F73AUY.js.map} +0 -0
  1150. /package/dist/{chunk-PBWJBEK7.js.map → chunk-D3KWV63D.js.map} +0 -0
  1151. /package/dist/{chunk-PL6LQH6G.js.map → chunk-D5LV3ECR.js.map} +0 -0
  1152. /package/dist/{chunk-IC2X5X7J.js.map → chunk-DBLOEIJ2.js.map} +0 -0
  1153. /package/dist/{chunk-7UTWZGIV.js.map → chunk-DNRXEP4A.js.map} +0 -0
  1154. /package/dist/{chunk-4ZPR265V.js.map → chunk-DQIPDAPH.js.map} +0 -0
  1155. /package/dist/{chunk-S4XSCFFN.js.map → chunk-DR4TIYTE.js.map} +0 -0
  1156. /package/dist/{chunk-SBFNGJ4C.js.map → chunk-EAHBTBVR.js.map} +0 -0
  1157. /package/dist/{chunk-TZOCQWKP.js.map → chunk-EFBJ35ZS.js.map} +0 -0
  1158. /package/dist/{chunk-TM5UTSE4.js.map → chunk-ELAYD7O3.js.map} +0 -0
  1159. /package/dist/{chunk-SZJO23QQ.js.map → chunk-EMXBMLQ4.js.map} +0 -0
  1160. /package/dist/{chunk-SNWMC4G5.js.map → chunk-EZVRXFCC.js.map} +0 -0
  1161. /package/dist/{chunk-HF73QMN2.js.map → chunk-FRUOWEWZ.js.map} +0 -0
  1162. /package/dist/{chunk-UIPSSTMA.js.map → chunk-GCFC2MNR.js.map} +0 -0
  1163. /package/dist/{chunk-HCOMTRSN.js.map → chunk-GQ4D3BT6.js.map} +0 -0
  1164. /package/dist/{chunk-3RWSYI6N.js.map → chunk-HMFIOE4P.js.map} +0 -0
  1165. /package/dist/{chunk-PDOP76SF.js.map → chunk-HXLCETLB.js.map} +0 -0
  1166. /package/dist/{chunk-PL4RLWSQ.js.map → chunk-ITKTTDC2.js.map} +0 -0
  1167. /package/dist/{chunk-EPSAWDYY.js.map → chunk-JD4DSJPT.js.map} +0 -0
  1168. /package/dist/{chunk-VEWMX5XZ.js.map → chunk-JQSN5K5B.js.map} +0 -0
  1169. /package/dist/{chunk-TWXL3GA7.js.map → chunk-JUFABKU4.js.map} +0 -0
  1170. /package/dist/{chunk-SRQ7MXQQ.js.map → chunk-JZ6XRIXG.js.map} +0 -0
  1171. /package/dist/{chunk-JBQXHR3O.js.map → chunk-KAJXOGQ2.js.map} +0 -0
  1172. /package/dist/{chunk-ZN22VDFS.js.map → chunk-KAUW3OFC.js.map} +0 -0
  1173. /package/dist/{chunk-6ZX3Q4X7.js.map → chunk-KDDHMKTU.js.map} +0 -0
  1174. /package/dist/{chunk-3PRPX5L7.js.map → chunk-KFHW5TCM.js.map} +0 -0
  1175. /package/dist/{chunk-CTZY7QMT.js.map → chunk-KG7WIVNG.js.map} +0 -0
  1176. /package/dist/{chunk-6THXOWAP.js.map → chunk-LBIF6FJY.js.map} +0 -0
  1177. /package/dist/{chunk-V3YJ3BTV.js.map → chunk-LXV2U4MI.js.map} +0 -0
  1178. /package/dist/{chunk-ZYWER6HE.js.map → chunk-M7FP7DKN.js.map} +0 -0
  1179. /package/dist/{chunk-NT4KXGNJ.js.map → chunk-MFAFGQ7Z.js.map} +0 -0
  1180. /package/dist/{chunk-KE2YPOO2.js.map → chunk-MHRFRSQ6.js.map} +0 -0
  1181. /package/dist/{chunk-N64IH7FU.js.map → chunk-MM6CCIL7.js.map} +0 -0
  1182. /package/dist/{chunk-GTV62WIS.js.map → chunk-MQZXGTGI.js.map} +0 -0
  1183. /package/dist/{chunk-BLXFCH3B.js.map → chunk-MWJNFGV6.js.map} +0 -0
  1184. /package/dist/{chunk-SFG42QU6.js.map → chunk-NNNMTRGI.js.map} +0 -0
  1185. /package/dist/{chunk-RD63FPG6.js.map → chunk-NQF5U6FX.js.map} +0 -0
  1186. /package/dist/{chunk-JE3RHIQE.js.map → chunk-NRMJWNX3.js.map} +0 -0
  1187. /package/dist/{chunk-HWZZ2TYO.js.map → chunk-OROWRGRJ.js.map} +0 -0
  1188. /package/dist/{chunk-VWOKRMUG.js.map → chunk-OTGHCGLW.js.map} +0 -0
  1189. /package/dist/{chunk-XMLYBQ3R.js.map → chunk-OWJGBIQ2.js.map} +0 -0
  1190. /package/dist/{chunk-6LU64W5J.js.map → chunk-OYYAR5TD.js.map} +0 -0
  1191. /package/dist/{chunk-UWNTAWFF.js.map → chunk-PAU4VS7H.js.map} +0 -0
  1192. /package/dist/{chunk-ZHHRXHWD.js.map → chunk-PEGRQV66.js.map} +0 -0
  1193. /package/dist/{chunk-IW4JBXYF.js.map → chunk-PQN4PIC6.js.map} +0 -0
  1194. /package/dist/{chunk-L54IDADW.js.map → chunk-PTGC7CVG.js.map} +0 -0
  1195. /package/dist/{chunk-H23ZPEIQ.js.map → chunk-RAO7FTMY.js.map} +0 -0
  1196. /package/dist/{chunk-CXRP4X3D.js.map → chunk-RGSSKOTZ.js.map} +0 -0
  1197. /package/dist/{chunk-HHQYP6RM.js.map → chunk-RM5T4MA6.js.map} +0 -0
  1198. /package/dist/{chunk-YD5ZAA56.js.map → chunk-RP2PU3CA.js.map} +0 -0
  1199. /package/dist/{chunk-LIYXELOX.js.map → chunk-RSKU45CU.js.map} +0 -0
  1200. /package/dist/{chunk-JRX25GPP.js.map → chunk-S4JAHRIW.js.map} +0 -0
  1201. /package/dist/{chunk-X3QG3PKT.js.map → chunk-S6KZ4GDL.js.map} +0 -0
  1202. /package/dist/{chunk-72ORDZYV.js.map → chunk-SA6XZ3FP.js.map} +0 -0
  1203. /package/dist/{chunk-FR3M23HS.js.map → chunk-SBSFCKOC.js.map} +0 -0
  1204. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  1205. /package/dist/{chunk-D4GOSMER.js.map → chunk-SPQHISWX.js.map} +0 -0
  1206. /package/dist/{chunk-PGRN62MU.js.map → chunk-SQVT243W.js.map} +0 -0
  1207. /package/dist/{chunk-NZSOGF3W.js.map → chunk-T267DS5U.js.map} +0 -0
  1208. /package/dist/{chunk-SM3RFN3C.js.map → chunk-TFN7L5H3.js.map} +0 -0
  1209. /package/dist/{chunk-IPMOG2RC.js.map → chunk-U4CYQMG5.js.map} +0 -0
  1210. /package/dist/{chunk-FQTMVJEO.js.map → chunk-UMQCYEAL.js.map} +0 -0
  1211. /package/dist/{chunk-RCNCHRMS.js.map → chunk-UQKDP46G.js.map} +0 -0
  1212. /package/dist/{chunk-532FZFV2.js.map → chunk-UT4OM34H.js.map} +0 -0
  1213. /package/dist/{chunk-P7WISPGE.js.map → chunk-UVVOG5A7.js.map} +0 -0
  1214. /package/dist/{chunk-UI5JOOIW.js.map → chunk-UZGZS35I.js.map} +0 -0
  1215. /package/dist/{chunk-LTXL475T.js.map → chunk-VPHHCOYS.js.map} +0 -0
  1216. /package/dist/{chunk-RJ675DP3.js.map → chunk-W3PJ7V4W.js.map} +0 -0
  1217. /package/dist/{chunk-VVQZ4MIX.js.map → chunk-W7BORINM.js.map} +0 -0
  1218. /package/dist/{chunk-SBO3MOWQ.js.map → chunk-WI3TCYEA.js.map} +0 -0
  1219. /package/dist/{chunk-UBTGSMWE.js.map → chunk-WM6JHUPY.js.map} +0 -0
  1220. /package/dist/{chunk-KDQWUSG4.js.map → chunk-WQQ7SH3M.js.map} +0 -0
  1221. /package/dist/{chunk-5CXLLV7A.js.map → chunk-WTODFKZR.js.map} +0 -0
  1222. /package/dist/{chunk-5XRUOJOO.js.map → chunk-XBMZNFN7.js.map} +0 -0
  1223. /package/dist/{chunk-FQLY6JHV.js.map → chunk-XHW24Q5Q.js.map} +0 -0
  1224. /package/dist/{chunk-FUC6WHQM.js.map → chunk-XMHTLWWE.js.map} +0 -0
  1225. /package/dist/{chunk-3LH5ANM4.js.map → chunk-XXS6SUVM.js.map} +0 -0
  1226. /package/dist/{chunk-CW2RHRH5.js.map → chunk-Y3ESEQRI.js.map} +0 -0
  1227. /package/dist/{chunk-YQIURUEL.js.map → chunk-YAX5CGUY.js.map} +0 -0
  1228. /package/dist/{chunk-AYZICIKF.js.map → chunk-Z4BU2JVK.js.map} +0 -0
  1229. /package/dist/{chunk-MFUZ5DBT.js.map → chunk-ZCN2XUPQ.js.map} +0 -0
  1230. /package/dist/{chunk-C4PD5NES.js.map → chunk-ZI7CLQB5.js.map} +0 -0
  1231. /package/dist/{chunk-OQ4PTNNH.js.map → chunk-ZJOXRK2G.js.map} +0 -0
  1232. /package/dist/{chunk-AIOKWGMO.js.map → chunk-ZPF253G5.js.map} +0 -0
  1233. /package/dist/{chunk-66O7GGOB.js.map → chunk-ZPHHJPDG.js.map} +0 -0
  1234. /package/dist/{claim-E3VMPNOA.js.map → claim-NM5T33W6.js.map} +0 -0
  1235. /package/dist/{client-IILD75KL.js.map → client-SZ4N5NCP.js.map} +0 -0
  1236. /package/dist/{code-OWFBQYZS.js.map → code-RZXUOVH3.js.map} +0 -0
  1237. /package/dist/{companies-QLJDMR4I.js.map → companies-VBNBS6LR.js.map} +0 -0
  1238. /package/dist/{company-PXTBJJ3S.js.map → company-3KOV3TJT.js.map} +0 -0
  1239. /package/dist/{complete-G6HV7C35.js.map → complete-TVY4F5YX.js.map} +0 -0
  1240. /package/dist/{config-JPA4ZHN2.js.map → config-7RX352G2.js.map} +0 -0
  1241. /package/dist/{connect-CPXBAHGN.js.map → connect-W6H3DT2C.js.map} +0 -0
  1242. /package/dist/{content-SOGZTYNO.js.map → content-BOERUNX4.js.map} +0 -0
  1243. /package/dist/{conversation-4DTR72EP.js.map → conversation-LCGWNPUG.js.map} +0 -0
  1244. /package/dist/{conversion-report-ABOKPW3U.js.map → conversion-report-GK2FUT2R.js.map} +0 -0
  1245. /package/dist/{conversion-upload-command-6AACG4M4.js.map → conversion-upload-command-Q7LZFFZL.js.map} +0 -0
  1246. /package/dist/{conversion-writes-2HEJ5SYB.js.map → conversion-writes-STESFLTB.js.map} +0 -0
  1247. /package/dist/{conversions-QIOEYCTC.js.map → conversions-D2RPIL3I.js.map} +0 -0
  1248. /package/dist/{conversions-UNYDKOB3.js.map → conversions-JBRU7CGB.js.map} +0 -0
  1249. /package/dist/{copy-writes-RF7MUAWA.js.map → copy-writes-PVWZEU4S.js.map} +0 -0
  1250. /package/dist/{countries-4XNZESRQ.js.map → countries-Z4IQIMWQ.js.map} +0 -0
  1251. /package/dist/{create-23ASG5LC.js.map → create-DHIXUD4Q.js.map} +0 -0
  1252. /package/dist/{create-3TCFE7K5.js.map → create-OW2BLTBE.js.map} +0 -0
  1253. /package/dist/{create-YKAVNBVZ.js.map → create-TYG5SAQE.js.map} +0 -0
  1254. /package/dist/{create-SASK6SVG.js.map → create-XGDJKMDB.js.map} +0 -0
  1255. /package/dist/{creatives-HUCADOCQ.js.map → creatives-3ZPFUAKL.js.map} +0 -0
  1256. /package/dist/{creatives-OLTNYQ3S.js.map → creatives-PN6EQYVU.js.map} +0 -0
  1257. /package/dist/{credentials-TR2ALV5Y.js.map → credentials-AVRHDGM5.js.map} +0 -0
  1258. /package/dist/{critique-OC7DOMSC.js.map → critique-76EMERXI.js.map} +0 -0
  1259. /package/dist/{critique-HTQQZRI7.js.map → critique-SZSKQYUL.js.map} +0 -0
  1260. /package/dist/{crm-Y66JWDMN.js.map → crm-4O65STFF.js.map} +0 -0
  1261. /package/dist/{crm-Q4QTSEQF.js.map → crm-JMIIB55O.js.map} +0 -0
  1262. /package/dist/{crop-L3ALN7OW.js.map → crop-JRVHX3PX.js.map} +0 -0
  1263. /package/dist/{currency-CTZT5LYI.js.map → currency-HQW6FJS5.js.map} +0 -0
  1264. /package/dist/{customers-BGRY3D6Q.js.map → customers-GV3AD6B6.js.map} +0 -0
  1265. /package/dist/{decide-LE7542FR.js.map → decide-MPNAZFAK.js.map} +0 -0
  1266. /package/dist/{delete-TW5C6KGR.js.map → delete-CJGW5MKC.js.map} +0 -0
  1267. /package/dist/{delete-35NTMQY5.js.map → delete-FWPYWUNU.js.map} +0 -0
  1268. /package/dist/{delete-BGTXQRZM.js.map → delete-ISAOQTI5.js.map} +0 -0
  1269. /package/dist/{delete-HJZYARS4.js.map → delete-JPSIBQXR.js.map} +0 -0
  1270. /package/dist/{delete-CL3N2FD6.js.map → delete-RLLRUSGR.js.map} +0 -0
  1271. /package/dist/{delete-J4CAABB6.js.map → delete-WFF5EVIL.js.map} +0 -0
  1272. /package/dist/{demographics-D563ESMR.js.map → demographics-XSMD6KI4.js.map} +0 -0
  1273. /package/dist/{describe-PP7D2RE5.js.map → describe-OUYPLJJE.js.map} +0 -0
  1274. /package/dist/{describe-VXQA5AHV.js.map → describe-XQGFIM2Z.js.map} +0 -0
  1275. /package/dist/{dimensions-WUQGLVX6.js.map → dimensions-MMVCXOFJ.js.map} +0 -0
  1276. /package/dist/{discard-K3Z3QTTZ.js.map → discard-B5QMX35Q.js.map} +0 -0
  1277. /package/dist/{discover-2A4MEOTK.js.map → discover-DLGO3VW6.js.map} +0 -0
  1278. /package/dist/{discover-PDVS3ITO.js.map → discover-Z6NS3BP6.js.map} +0 -0
  1279. /package/dist/{domain-XLWTTMU3.js.map → domain-WA4HAHCE.js.map} +0 -0
  1280. /package/dist/{download-FZJLCOSU.js.map → download-3JW2NTQZ.js.map} +0 -0
  1281. /package/dist/{download-R4WCZVKX.js.map → download-67IB5DPC.js.map} +0 -0
  1282. /package/dist/{draft-WCAPGXNE.js.map → draft-4MKYX4VU.js.map} +0 -0
  1283. /package/dist/{draft-QC5U3HH7.js.map → draft-DSWC37IW.js.map} +0 -0
  1284. /package/dist/{draft-RBWJ2KMU.js.map → draft-I7HIRQ6F.js.map} +0 -0
  1285. /package/dist/{draft-4HU72A2M.js.map → draft-KWXV5YOG.js.map} +0 -0
  1286. /package/dist/{draft-BDGZ4KD2.js.map → draft-NXGJ3DD4.js.map} +0 -0
  1287. /package/dist/{draft-4LQYKYES.js.map → draft-P73N5PT4.js.map} +0 -0
  1288. /package/dist/{draft-J3ZLBKSO.js.map → draft-QAPMXYBR.js.map} +0 -0
  1289. /package/dist/{draft-QK7WP6KI.js.map → draft-UMNPM5KA.js.map} +0 -0
  1290. /package/dist/{env-KCFPWDRZ.js.map → env-O2JJK34F.js.map} +0 -0
  1291. /package/dist/{experiment-55H6NBF4.js.map → experiment-2TTMKPVC.js.map} +0 -0
  1292. /package/dist/{experiments-TMODWKCS.js.map → experiments-YEI3HSBU.js.map} +0 -0
  1293. /package/dist/{export-JSQ62QLT.js.map → export-LRPJXAFA.js.map} +0 -0
  1294. /package/dist/{facets-3Y65YKG5.js.map → facets-EQLEOMDT.js.map} +0 -0
  1295. /package/dist/{favorites-PZIXDJTK.js.map → favorites-UXNAI5XW.js.map} +0 -0
  1296. /package/dist/{feed-GTJWBM3A.js.map → feed-OTUTIGJ6.js.map} +0 -0
  1297. /package/dist/{feedback-R6WPR37D.js.map → feedback-JNSHN7DE.js.map} +0 -0
  1298. /package/dist/{feedback-record-Y5BRNVIA.js.map → feedback-record-JV43NSJI.js.map} +0 -0
  1299. /package/dist/{fetch-DH3FYWNG.js.map → fetch-AG7JJ4BI.js.map} +0 -0
  1300. /package/dist/{fetch-LRYGBGF6.js.map → fetch-O4EYJVMN.js.map} +0 -0
  1301. /package/dist/{find-Q6YSXK5B.js.map → find-JH5OMTGJ.js.map} +0 -0
  1302. /package/dist/{fit-TWZLNDRE.js.map → fit-7N7AHYQF.js.map} +0 -0
  1303. /package/dist/{flows-KXICZCG7.js.map → flows-DTZGIGZS.js.map} +0 -0
  1304. /package/dist/{follow-B5LYKQYZ.js.map → follow-WHLTIJPM.js.map} +0 -0
  1305. /package/dist/{follow-competitors-7NHOQPC6.js.map → follow-competitors-DO7RVQXT.js.map} +0 -0
  1306. /package/dist/{following-2M4SVFML.js.map → following-ZL34FZ32.js.map} +0 -0
  1307. /package/dist/{fonts-GPCFB77E.js.map → fonts-TYDQXRIU.js.map} +0 -0
  1308. /package/dist/{forecast-Q2VWQYXH.js.map → forecast-AODSMD7S.js.map} +0 -0
  1309. /package/dist/{forecast-GJOJBT66.js.map → forecast-VO7XY46L.js.map} +0 -0
  1310. /package/dist/{funding-7KPXTSSF.js.map → funding-55XBHYY6.js.map} +0 -0
  1311. /package/dist/{funnel-DTJNGHJ7.js.map → funnel-CV4DZXUS.js.map} +0 -0
  1312. /package/dist/{ga4-IHDHHB4A.js.map → ga4-WIOBF5HW.js.map} +0 -0
  1313. /package/dist/{generate-LR4TZ635.js.map → generate-HSDSCKDW.js.map} +0 -0
  1314. /package/dist/{get-5LL6Z5NR.js.map → get-4S4XRZ2J.js.map} +0 -0
  1315. /package/dist/{get-B3B6FRQ2.js.map → get-FDZZEB5R.js.map} +0 -0
  1316. /package/dist/{get-L643OWL6.js.map → get-IGXC3JQ5.js.map} +0 -0
  1317. /package/dist/{get-X7CWNYQT.js.map → get-P5Z274DM.js.map} +0 -0
  1318. /package/dist/{get-BLLJDQK7.js.map → get-QA333Q5J.js.map} +0 -0
  1319. /package/dist/{get-UOSUCNQL.js.map → get-TXVHONYI.js.map} +0 -0
  1320. /package/dist/{get-B4DL3RSO.js.map → get-WEWFUNWZ.js.map} +0 -0
  1321. /package/dist/{get-EBGMLBMQ.js.map → get-Z46N7LBR.js.map} +0 -0
  1322. /package/dist/{google-63IGLMTD.js.map → google-DPBZJ3TV.js.map} +0 -0
  1323. /package/dist/{google-ads-FZP75XOY.js.map → google-ads-EPFX2NA4.js.map} +0 -0
  1324. /package/dist/{group-B7MU5SKI.js.map → group-6ENUPDYO.js.map} +0 -0
  1325. /package/dist/{group-WU4LKKX7.js.map → group-EYF34B3P.js.map} +0 -0
  1326. /package/dist/{gsc-TP5PZHZG.js.map → gsc-KDE2DTH2.js.map} +0 -0
  1327. /package/dist/{history-P7EZPAMT.js.map → history-7UJW5TRO.js.map} +0 -0
  1328. /package/dist/{history-K7DLRT7S.js.map → history-JCLXT3AO.js.map} +0 -0
  1329. /package/dist/{history-RZ5ZPPYD.js.map → history-SHQVK5I7.js.map} +0 -0
  1330. /package/dist/{hubspot-GXPNTPXH.js.map → hubspot-J6372OWH.js.map} +0 -0
  1331. /package/dist/{icon-6BMRXD4X.js.map → icon-N77IGSXP.js.map} +0 -0
  1332. /package/dist/{ideas-TQGXXWNX.js.map → ideas-TKMMQ557.js.map} +0 -0
  1333. /package/dist/{images-KWYSLR3Q.js.map → images-J7LJETPR.js.map} +0 -0
  1334. /package/dist/{improve-IX6E7OYO.js.map → improve-BKFZOBXI.js.map} +0 -0
  1335. /package/dist/{ingest-LPIQYOC2.js.map → ingest-LVAH5OF5.js.map} +0 -0
  1336. /package/dist/{ingest-MAWKAVR2.js.map → ingest-UBP7TEXU.js.map} +0 -0
  1337. /package/dist/{insights-NYWJYDS6.js.map → insights-UMPXHRKD.js.map} +0 -0
  1338. /package/dist/{inspect-BDRWXLXE.js.map → inspect-22G3OPFK.js.map} +0 -0
  1339. /package/dist/{inspiration-3EXSU5HR.js.map → inspiration-SQUEBO2K.js.map} +0 -0
  1340. /package/dist/{intent-42QMV4N5.js.map → intent-NBP5IDND.js.map} +0 -0
  1341. /package/dist/{job-LE5AG6HJ.js.map → job-B6UEZLTA.js.map} +0 -0
  1342. /package/dist/{job-create-QKYEPYNE.js.map → job-create-WM27NOGZ.js.map} +0 -0
  1343. /package/dist/{job-status-OG7S2LFM.js.map → job-status-6V7DVVYL.js.map} +0 -0
  1344. /package/dist/{keep-WG3T4MKZ.js.map → keep-ACLZB7KL.js.map} +0 -0
  1345. /package/dist/{keyword-gap-57UOL233.js.map → keyword-gap-67UJ2LDD.js.map} +0 -0
  1346. /package/dist/{keyword-metrics-ZE27BDSD.js.map → keyword-metrics-QP5ZNOC6.js.map} +0 -0
  1347. /package/dist/{keywords-for-site-E4L5FEOZ.js.map → keywords-for-site-QTE332T7.js.map} +0 -0
  1348. /package/dist/{knowledge-IIWKDS45.js.map → knowledge-5VEMAHG7.js.map} +0 -0
  1349. /package/dist/{landing-S7L2JT7T.js.map → landing-TOYYCWFX.js.map} +0 -0
  1350. /package/dist/{landings-2CNV325Q.js.map → landings-Q7T2HSYK.js.map} +0 -0
  1351. /package/dist/{languages-5LHOEANO.js.map → languages-HWMPAPQN.js.map} +0 -0
  1352. /package/dist/{languages-7AYGAQ5R.js.map → languages-TM7SHGRO.js.map} +0 -0
  1353. /package/dist/{launches-EWT3LHCQ.js.map → launches-4HI65M3C.js.map} +0 -0
  1354. /package/dist/{layerize-QXALSA7Q.js.map → layerize-HXML3KQX.js.map} +0 -0
  1355. /package/dist/{lead-routes-FAG5FOZK.js.map → lead-routes-Q2T3RQXN.js.map} +0 -0
  1356. /package/dist/{leads-37USR6KI.js.map → leads-FTWBDLBQ.js.map} +0 -0
  1357. /package/dist/{learn-23DQ72LC.js.map → learn-3N7M3UHA.js.map} +0 -0
  1358. /package/dist/{library-5XZP2W22.js.map → library-OVX3OUYV.js.map} +0 -0
  1359. /package/dist/{lighthouse-KAMY3KYG.js.map → lighthouse-2TDPDU7J.js.map} +0 -0
  1360. /package/dist/{line-item-writes-2WYNROS7.js.map → line-item-writes-VFPXT4W6.js.map} +0 -0
  1361. /package/dist/{line-items-RL7T3Q5Q.js.map → line-items-HB2N7RKO.js.map} +0 -0
  1362. /package/dist/{link-OQSTKOOH.js.map → link-KAY6VYFH.js.map} +0 -0
  1363. /package/dist/{linkedin-KP6ZMWEG.js.map → linkedin-CDSEMSCF.js.map} +0 -0
  1364. /package/dist/{linkedin-person-7EMQIMT7.js.map → linkedin-person-HR6HKFUU.js.map} +0 -0
  1365. /package/dist/{list-SRY3XZOE.js.map → list-AAQISQHE.js.map} +0 -0
  1366. /package/dist/{list-6J7RPP4F.js.map → list-INU27RQJ.js.map} +0 -0
  1367. /package/dist/{list-F5P3KZNF.js.map → list-QWCU77C3.js.map} +0 -0
  1368. /package/dist/{list-AZEHYDU7.js.map → list-QYUU66YV.js.map} +0 -0
  1369. /package/dist/{list-PBGDATAC.js.map → list-SDHECXK5.js.map} +0 -0
  1370. /package/dist/{list-AL2HOLWI.js.map → list-U3ZABSGW.js.map} +0 -0
  1371. /package/dist/{list-GHV6665E.js.map → list-UF7Y4FDE.js.map} +0 -0
  1372. /package/dist/{list-XXNAKZGF.js.map → list-VJ3CVEDW.js.map} +0 -0
  1373. /package/dist/{list-4VJY4BCV.js.map → list-VO473W6E.js.map} +0 -0
  1374. /package/dist/{locations-DXTRXR4N.js.map → locations-HAXZUHJP.js.map} +0 -0
  1375. /package/dist/{locations-LRDYJ43Z.js.map → locations-JFBM4XBL.js.map} +0 -0
  1376. /package/dist/{log-KNVINDDV.js.map → log-AUN4NOPP.js.map} +0 -0
  1377. /package/dist/{logo-DBIXKWDV.js.map → logo-2NDZ2EVN.js.map} +0 -0
  1378. /package/dist/{lookup-CNAZI7WN.js.map → lookup-UFVB2ZZF.js.map} +0 -0
  1379. /package/dist/{make-WHI2U6TV.js.map → make-B5HDRFCX.js.map} +0 -0
  1380. /package/dist/{map-YODJNTXD.js.map → map-CCBSITK7.js.map} +0 -0
  1381. /package/dist/{mcp-UCM35H3L.js.map → mcp-45YWYNYM.js.map} +0 -0
  1382. /package/dist/{media-JESBPCT4.js.map → media-3M3PVSEZ.js.map} +0 -0
  1383. /package/dist/{media-7UAKHZZT.js.map → media-5XRMDMKD.js.map} +0 -0
  1384. /package/dist/{media-sources-BOPQHX2H.js.map → media-sources-N7MBY3GE.js.map} +0 -0
  1385. /package/dist/{members-SQ5CYHJX.js.map → members-2P2QCBJO.js.map} +0 -0
  1386. /package/dist/{meme-QC4B2UOE.js.map → meme-EOAFE4FS.js.map} +0 -0
  1387. /package/dist/{meta-RKKGFD2Q.js.map → meta-CTKXBVXT.js.map} +0 -0
  1388. /package/dist/{metrics-A52UDO7T.js.map → metrics-XWHE4LYQ.js.map} +0 -0
  1389. /package/dist/{models-6N3BB77L.js.map → models-3C6BWHEC.js.map} +0 -0
  1390. /package/dist/{normalize-ALERW32M.js.map → normalize-MLRJ6IYU.js.map} +0 -0
  1391. /package/dist/{normalize-TGEEW5J4.js.map → normalize-NDBXU6UO.js.map} +0 -0
  1392. /package/dist/{options-YHKD2OAJ.js.map → options-6QAJ67XB.js.map} +0 -0
  1393. /package/dist/{organization-WERAMD2V.js.map → organization-P5LAMNMT.js.map} +0 -0
  1394. /package/dist/{output-LTK2VAI2.js.map → output-KIQWBKKA.js.map} +0 -0
  1395. /package/dist/{page-O7HY2KDR.js.map → page-GGT3KZ5E.js.map} +0 -0
  1396. /package/dist/{page-photos-IIBLD2M4.js.map → page-photos-FKWHLNWM.js.map} +0 -0
  1397. /package/dist/{performance-NG24WWKY.js.map → performance-3PH7UYQN.js.map} +0 -0
  1398. /package/dist/{performance-C35V2HKD.js.map → performance-6BMFU6IJ.js.map} +0 -0
  1399. /package/dist/{pixels-XXBXR2V6.js.map → pixels-PMPL63ON.js.map} +0 -0
  1400. /package/dist/{plan-XJX4BAFS.js.map → plan-223DL4HG.js.map} +0 -0
  1401. /package/dist/{posts-QEJH7VY4.js.map → posts-YPW4NHWM.js.map} +0 -0
  1402. /package/dist/{preview-KMBPUIKX.js.map → preview-CD2QADBJ.js.map} +0 -0
  1403. /package/dist/{profile-HH657NFJ.js.map → profile-7KUWZTJR.js.map} +0 -0
  1404. /package/dist/{promoted-tweet-writes-Y4F3CAFN.js.map → promoted-tweet-writes-EPXZFIUP.js.map} +0 -0
  1405. /package/dist/{promoted-tweets-NDH4WRMU.js.map → promoted-tweets-Q46HUYN6.js.map} +0 -0
  1406. /package/dist/{properties-2BEJQW4Y.js.map → properties-LCZX4UJH.js.map} +0 -0
  1407. /package/dist/{publish-ZSBU22A6.js.map → publish-DHDRUTXM.js.map} +0 -0
  1408. /package/dist/{query-ACPWBVYY.js.map → query-IR3LCFON.js.map} +0 -0
  1409. /package/dist/{query-SMIKGUVW.js.map → query-RKJS3QOS.js.map} +0 -0
  1410. /package/dist/{query-CBSXU3D6.js.map → query-WX3K7ZDY.js.map} +0 -0
  1411. /package/dist/{questionnaire-3WSXQF24.js.map → questionnaire-CCDUSEI3.js.map} +0 -0
  1412. /package/dist/{read-HZC3NDNN.js.map → read-JTJQSEVB.js.map} +0 -0
  1413. /package/dist/{reddit-VGQJ5DWZ.js.map → reddit-2FQOS3B3.js.map} +0 -0
  1414. /package/dist/{refresh-I5A3NECZ.js.map → refresh-H4DETVS5.js.map} +0 -0
  1415. /package/dist/{refresh-UQ4R2OAO.js.map → refresh-VJPKAPJM.js.map} +0 -0
  1416. /package/dist/{release-QA2ORVMR.js.map → release-O233BAQA.js.map} +0 -0
  1417. /package/dist/{relevant-pages-X5BKPX2Z.js.map → relevant-pages-NPUSAV3K.js.map} +0 -0
  1418. /package/dist/{remove-2ZGE2W4H.js.map → remove-5FMNASGC.js.map} +0 -0
  1419. /package/dist/{remove-W44KVKX2.js.map → remove-HNSOYQVB.js.map} +0 -0
  1420. /package/dist/{reopen-66OCNU76.js.map → reopen-B7KHVN5X.js.map} +0 -0
  1421. /package/dist/{rerun-OUXGA2IC.js.map → rerun-KAB7AXTY.js.map} +0 -0
  1422. /package/dist/{research-4CO77ZDY.js.map → research-I4ZQ4YQ3.js.map} +0 -0
  1423. /package/dist/{research-KMDJE2UR.js.map → research-Z2SE775C.js.map} +0 -0
  1424. /package/dist/{reset-VIRLB7WH.js.map → reset-4T6XUNOO.js.map} +0 -0
  1425. /package/dist/{reset-VSPTKCIP.js.map → reset-YHEMD5N5.js.map} +0 -0
  1426. /package/dist/{resolve-3X75F7YR.js.map → resolve-5RJD2ELK.js.map} +0 -0
  1427. /package/dist/{retry-USOR5FLJ.js.map → retry-S3EC6FCA.js.map} +0 -0
  1428. /package/dist/{retry-SFLHBLLT.js.map → retry-WKYMY2KB.js.map} +0 -0
  1429. /package/dist/{retry-failed-2P7FOFXN.js.map → retry-failed-DSVEAY3T.js.map} +0 -0
  1430. /package/dist/{revenue-YJO5LJQX.js.map → revenue-C4E4PRLL.js.map} +0 -0
  1431. /package/dist/{rule-writes-EWHP53UU.js.map → rule-writes-XSNS3XYK.js.map} +0 -0
  1432. /package/dist/{rules-GVOTFQFK.js.map → rules-GHGEVCBQ.js.map} +0 -0
  1433. /package/dist/{rules-VOPVGGYY.js.map → rules-JGTKFXM3.js.map} +0 -0
  1434. /package/dist/{rules-add-CC4ACCSS.js.map → rules-add-3DTRLVGR.js.map} +0 -0
  1435. /package/dist/{run-WQH6WOKA.js.map → run-2TKYHCN2.js.map} +0 -0
  1436. /package/dist/{run-MDMDSMNK.js.map → run-TYJLOJW7.js.map} +0 -0
  1437. /package/dist/{scaffold-ad-ZIEQDGKR.js.map → scaffold-ad-RFRUPUKW.js.map} +0 -0
  1438. /package/dist/{scaffold-static-ad-PCZYRIKR.js.map → scaffold-static-ad-N5QCJFGP.js.map} +0 -0
  1439. /package/dist/{scaffold-video-53QXTSK2.js.map → scaffold-video-VAG3WN5W.js.map} +0 -0
  1440. /package/dist/{schedule-HJW5MV6M.js.map → schedule-6UYJLE5K.js.map} +0 -0
  1441. /package/dist/{schedule-UQZFDY2R.js.map → schedule-Z2AQXR7W.js.map} +0 -0
  1442. /package/dist/{scheduled-agents-HGCQPOSI.js.map → scheduled-agents-YEHJ4XIB.js.map} +0 -0
  1443. /package/dist/{schema-VNADOIC7.js.map → schema-BCCCNVNO.js.map} +0 -0
  1444. /package/dist/{schema-GHGIFDA5.js.map → schema-BDZA64GZ.js.map} +0 -0
  1445. /package/dist/{scrape-KJHI7ZGT.js.map → scrape-CTE5SNQN.js.map} +0 -0
  1446. /package/dist/{screenshot-R5WU2CP3.js.map → screenshot-ELJYTIM7.js.map} +0 -0
  1447. /package/dist/{search-4ZC63BDO.js.map → search-5B5AXN5V.js.map} +0 -0
  1448. /package/dist/{search-HU3BLSA5.js.map → search-7ELGWNMH.js.map} +0 -0
  1449. /package/dist/{search-KKAJLNGJ.js.map → search-J43ZG7W3.js.map} +0 -0
  1450. /package/dist/{search-Z4PXKQXY.js.map → search-KBIF5NZX.js.map} +0 -0
  1451. /package/dist/{search-ASEODLC6.js.map → search-OF6LTOK6.js.map} +0 -0
  1452. /package/dist/{search-YIS3DVFC.js.map → search-XO5UPSBF.js.map} +0 -0
  1453. /package/dist/{search-copy-TFHTB6R3.js.map → search-copy-DDRY6HPI.js.map} +0 -0
  1454. /package/dist/{seeds-SMIOGN5B.js.map → seeds-HH5E7GCS.js.map} +0 -0
  1455. /package/dist/{select-PDZUPAUK.js.map → select-I2UPGGZ5.js.map} +0 -0
  1456. /package/dist/{sequences-T5M7T6HY.js.map → sequences-V4STPHGV.js.map} +0 -0
  1457. /package/dist/{set-prompt-6KEYR56T.js.map → set-prompt-SU7YM7FW.js.map} +0 -0
  1458. /package/dist/{setup-links-ALKFPGLK.js.map → setup-links-VWK4MBI3.js.map} +0 -0
  1459. /package/dist/{shared-INNJML54.js.map → shared-P2PFNNJF.js.map} +0 -0
  1460. /package/dist/{shopify-XQ2XMPG4.js.map → shopify-6KNHPC4R.js.map} +0 -0
  1461. /package/dist/{site-GDBA47KZ.js.map → site-PHTJ5VI3.js.map} +0 -0
  1462. /package/dist/{sitemaps-JXHJMTLU.js.map → sitemaps-KMRWAKNK.js.map} +0 -0
  1463. /package/dist/{sites-UXBWI7WO.js.map → sites-3QZDCQRG.js.map} +0 -0
  1464. /package/dist/{skills-X5XTXI7E.js.map → skills-KV4X22KQ.js.map} +0 -0
  1465. /package/dist/{sources-FXELSMSA.js.map → sources-255OGK6K.js.map} +0 -0
  1466. /package/dist/{stale-GU4IAYSH.js.map → stale-KN2ZOJ5T.js.map} +0 -0
  1467. /package/dist/{stats-KWP52SMV.js.map → stats-3TAUG3Q3.js.map} +0 -0
  1468. /package/dist/{status-TMO67UTC.js.map → status-BJH7ODU4.js.map} +0 -0
  1469. /package/dist/{studies-C6XQBKI6.js.map → studies-A52C544C.js.map} +0 -0
  1470. /package/dist/{studio-HGMO77PU.js.map → studio-C2UVCTDD.js.map} +0 -0
  1471. /package/dist/{study-writes-XD4CWHMA.js.map → study-writes-3R4D6C3F.js.map} +0 -0
  1472. /package/dist/{suggest-EY4X3CGR.js.map → suggest-3CFMURUH.js.map} +0 -0
  1473. /package/dist/{sync-Y3OXWX3C.js.map → sync-H4XVXITS.js.map} +0 -0
  1474. /package/dist/{sync-PKJ5A4BI.js.map → sync-MIKA6IM6.js.map} +0 -0
  1475. /package/dist/{sync-KEWFMT6D.js.map → sync-TJ7MGFIE.js.map} +0 -0
  1476. /package/dist/{sync-definition-RDZPTA2Q.js.map → sync-definition-LO425HBD.js.map} +0 -0
  1477. /package/dist/{tag-OHLDMOIE.js.map → tag-6WIQLRDW.js.map} +0 -0
  1478. /package/dist/{tag-manager-45NZFX7I.js.map → tag-manager-KWITWX6Y.js.map} +0 -0
  1479. /package/dist/{tags-CP37ODLW.js.map → tags-DKSJ4E7E.js.map} +0 -0
  1480. /package/dist/{tags-CPQHAS25.js.map → tags-JEGCEFMZ.js.map} +0 -0
  1481. /package/dist/{tags-SOGILVIL.js.map → tags-MNHBZ7FH.js.map} +0 -0
  1482. /package/dist/{tags-FHRIXW7Q.js.map → tags-S5XY63D3.js.map} +0 -0
  1483. /package/dist/{tags-GYQKFHMA.js.map → tags-VVO3BT66.js.map} +0 -0
  1484. /package/dist/{targeting-WMQ5D3FI.js.map → targeting-II4CQUPW.js.map} +0 -0
  1485. /package/dist/{targeting-constants-25MFBDE2.js.map → targeting-constants-2EHTMIMX.js.map} +0 -0
  1486. /package/dist/{targeting-criteria-HV7NBKI3.js.map → targeting-criteria-BIIGZTLQ.js.map} +0 -0
  1487. /package/dist/{targets-3VSPGEY7.js.map → targets-SX3NMYQ3.js.map} +0 -0
  1488. /package/dist/{terms-IDRQZRWC.js.map → terms-URBA2IXT.js.map} +0 -0
  1489. /package/dist/{testimonials-ILMBPPLT.js.map → testimonials-U3KBI3VU.js.map} +0 -0
  1490. /package/dist/{themes-5YBSJEKZ.js.map → themes-32CUPT4M.js.map} +0 -0
  1491. /package/dist/{top-companies-P43VHHMU.js.map → top-companies-DFM4F2SE.js.map} +0 -0
  1492. /package/dist/{transcript-DIAZ2OU4.js.map → transcript-4BSUSOQ4.js.map} +0 -0
  1493. /package/dist/{translate-IFQFBJYY.js.map → translate-JE7CZJ26.js.map} +0 -0
  1494. /package/dist/{triggers-WULRME4T.js.map → triggers-SRI27OAP.js.map} +0 -0
  1495. /package/dist/{tweets-7LDBHP3Y.js.map → tweets-LECORASF.js.map} +0 -0
  1496. /package/dist/{unfollow-76PLUWRU.js.map → unfollow-DBV2F7YP.js.map} +0 -0
  1497. /package/dist/{unlink-DZH2GXFZ.js.map → unlink-U7HZ4CYW.js.map} +0 -0
  1498. /package/dist/{unstage-GKI2IQOY.js.map → unstage-JJGZJVHT.js.map} +0 -0
  1499. /package/dist/{unstage-PHH5WTTH.js.map → unstage-XCH4VBM2.js.map} +0 -0
  1500. /package/dist/{update-HBQCEZ47.js.map → update-JDFJPQ3O.js.map} +0 -0
  1501. /package/dist/{update-6I36ZCNL.js.map → update-JN75LN32.js.map} +0 -0
  1502. /package/dist/{update-VBFHKFFH.js.map → update-PU5LSQ7W.js.map} +0 -0
  1503. /package/dist/{update-RD374IU2.js.map → update-PUWD5HX4.js.map} +0 -0
  1504. /package/dist/{update-NN6ELVGG.js.map → update-R4EEEWT4.js.map} +0 -0
  1505. /package/dist/{upload-2OD3BTNT.js.map → upload-4CUPZI3X.js.map} +0 -0
  1506. /package/dist/{upload-HQVNSAQX.js.map → upload-B27ZJMMZ.js.map} +0 -0
  1507. /package/dist/{upscale-DRLDP2PM.js.map → upscale-QMBV3AGN.js.map} +0 -0
  1508. /package/dist/{url-options-KOL2WHJ3.js.map → url-options-P3UTLYUY.js.map} +0 -0
  1509. /package/dist/{url-params-YTY4TEMU.js.map → url-params-V7KQMWK3.js.map} +0 -0
  1510. /package/dist/{use-WKSR3Y2T.js.map → use-TBDI3OAN.js.map} +0 -0
  1511. /package/dist/{validate-KEYC2TPH.js.map → validate-6GRMJKZI.js.map} +0 -0
  1512. /package/dist/{variant-DMGNLXWH.js.map → variant-2A5GOOJF.js.map} +0 -0
  1513. /package/dist/{videos-76QPF2ZI.js.map → videos-6ZZ6LLTL.js.map} +0 -0
  1514. /package/dist/{view-O6PUTSFE.js.map → view-GNNIJGGN.js.map} +0 -0
  1515. /package/dist/{viewer-check-SUMQQQVA.js.map → viewer-check-B36TNSZI.js.map} +0 -0
  1516. /package/dist/{web-EKRCCW4A.js.map → web-H5CWLHRA.js.map} +0 -0
  1517. /package/dist/{winners-T4AWAVNU.js.map → winners-6CW4CWZI.js.map} +0 -0
  1518. /package/dist/{winning-ads-N4VTILRO.js.map → winning-ads-SHNXPIYB.js.map} +0 -0
  1519. /package/dist/{write-commands-6GIGWSF4.js.map → write-commands-3G5WDFH3.js.map} +0 -0
  1520. /package/dist/{write-commands-AD7DBJKY.js.map → write-commands-RI6UP4YG.js.map} +0 -0
  1521. /package/dist/{write-commands-HMMBM5OC.js.map → write-commands-TPPJHGMT.js.map} +0 -0
  1522. /package/dist/{write-commands-KYMBIZ7U.js.map → write-commands-UW5LKCAP.js.map} +0 -0
  1523. /package/dist/{x-3W5KUAMR.js.map → x-CI2XPNBR.js.map} +0 -0
@@ -1,1518 +0,0 @@
1
- import {
2
- perceptualHash
3
- } from "./chunk-DGCUPJZD.js";
4
- import {
5
- confirmBlocking,
6
- cutByFrame,
7
- reviewAgainstRules
8
- } from "./chunk-CW2RHRH5.js";
9
- import {
10
- citedBy,
11
- citedPlatforms,
12
- jevCitationJudge,
13
- namedPlatform
14
- } from "./chunk-7BJZF77Q.js";
15
- import {
16
- FINDING_DEFECTS,
17
- FINDING_ELEMENTS,
18
- FRAME_EDGES,
19
- STATIC_REVIEW_ITEMS,
20
- askAboutImages,
21
- askAboutStills,
22
- reviewedRules
23
- } from "./chunk-ZN22VDFS.js";
24
- import {
25
- AD_PLACEMENTS,
26
- TEXT_BOX_READER_MODEL,
27
- verticalCover
28
- } from "./chunk-MCJ5I5LR.js";
29
- import {
30
- askJev
31
- } from "./chunk-AIOKWGMO.js";
32
-
33
- // src/engine/nodes/local/lib/static-review.ts
34
- import { createHash } from "crypto";
35
- import { readFile } from "fs/promises";
36
- import sharp3 from "sharp";
37
- import { z as z2 } from "zod";
38
-
39
- // src/engine/scaffold/platform-safe-area.ts
40
- var STORIES = placementOf("meta_stories");
41
- var REELS = placementOf("meta_reels");
42
- function placementOf(id) {
43
- const found = AD_PLACEMENTS.find((p) => p.id === id);
44
- if (!found) throw new Error(`no placement ${id} in the registry`);
45
- return found;
46
- }
47
- var REELS_SAFE_BOTTOM = REELS.safe.bottom;
48
- var FEED = { top: 0.06, bottom: 0.06, left: 0.07, right: 0.07 };
49
- var FEED_IMAGE = { ...placementOf("meta_feed").safe };
50
- var EVERY_SURFACE = /* @__PURE__ */ new Set(["automatic", "facebook", "instagram", "meta"]);
51
- var OTHER_VERTICAL = [
52
- { id: "tiktok_feed", names: ["tiktok", "tiktok_feed"], surface: "TikTok" },
53
- { id: "snapchat_snap_ads", names: ["snapchat", "snapchat_snap_ads", "snap"], surface: "Snapchat" },
54
- { id: "youtube_shorts", names: ["youtube", "youtube_shorts", "shorts"], surface: "YouTube Shorts" }
55
- ];
56
- function metaVertical(named) {
57
- const every = named.length === 0 || named.some((p) => EVERY_SURFACE.has(p));
58
- const reels = every || named.some((p) => p.includes("reels"));
59
- const stories = every || named.some((p) => p.includes("stor"));
60
- if (reels) return { ids: stories ? [STORIES.id, REELS.id] : [REELS.id], placement: "reels", surface: "Reels" };
61
- return stories ? { ids: [STORIES.id], placement: "stories", surface: "Stories" } : null;
62
- }
63
- function staticSafeArea(format, placements) {
64
- const feed = { ...FEED_IMAGE, placement: "feed", surface: "the feed" };
65
- if (format !== "9:16") return feed;
66
- const named = (placements ?? []).map((p) => p.toLowerCase());
67
- const meta = metaVertical(named);
68
- const others = OTHER_VERTICAL.filter((o) => named.some((p) => o.names.includes(p)));
69
- const cover = verticalCover([...meta?.ids ?? [], ...others.map((o) => o.id)]);
70
- if (!cover) return feed;
71
- return {
72
- ...cover.safe,
73
- placement: meta?.placement ?? "vertical",
74
- surface: [...meta ? [meta.surface] : [], ...others.map((o) => o.surface)].join(" and "),
75
- covered: { top: cover.top, bottom: cover.bottom, ...cover.rail ? { rail: cover.rail } : {} },
76
- ...cover.railMargin ? { rail: cover.railMargin } : {}
77
- };
78
- }
79
- var VIDEO_VERTICAL_SIDE = 0.06;
80
- function videoSafeArea(format) {
81
- return format === "9:16" ? { ...STORIES.safe, bottom: REELS_SAFE_BOTTOM, left: VIDEO_VERTICAL_SIDE, right: VIDEO_VERTICAL_SIDE } : FEED;
82
- }
83
- function safeRectPx(area, width, height) {
84
- const x = Math.ceil(atPx(area.left * width));
85
- const y = Math.ceil(atPx(area.top * height));
86
- const right = Math.floor(atPx((1 - area.right) * width));
87
- const bottom = Math.floor(atPx((1 - area.bottom) * height));
88
- return { x, y, width: right - x, height: bottom - y };
89
- }
90
- function atPx(value) {
91
- return Number(value.toFixed(6));
92
- }
93
- function blockingArea(format, placements) {
94
- return staticSafeArea(format, blockingPlacements(placements));
95
- }
96
- function blockingPlacements(placements) {
97
- const named = (placements ?? []).map((p) => p.toLowerCase());
98
- const storiesToo = named.length === 0 || named.some((p) => EVERY_SURFACE.has(p)) || named.some((p) => p.includes("reels")) && named.some((p) => p.includes("stor"));
99
- if (!storiesToo) return [...placements ?? []];
100
- const others = (placements ?? []).filter((p) => OTHER_VERTICAL.some((o) => o.names.includes(p.toLowerCase())));
101
- return [...others, "reels", "stories"];
102
- }
103
- var MARGIN = 0.035;
104
- function nativeLayoutInsets(format, placements) {
105
- const area = blockingArea(format, placements);
106
- if (!area.covered) {
107
- return {
108
- top: Math.max(area.top, MARGIN),
109
- bottom: Math.max(area.bottom, MARGIN),
110
- left: Math.max(area.left, MARGIN),
111
- right: Math.max(area.right, MARGIN)
112
- };
113
- }
114
- const rail = area.covered.rail;
115
- const bottom = area.covered.bottom + MARGIN;
116
- const railReached = rail ? 1 - bottom > rail.from : false;
117
- return {
118
- top: area.covered.top + MARGIN,
119
- bottom,
120
- left: Math.max(area.left, MARGIN),
121
- right: Math.max(area.right, railReached && rail ? rail.width + MARGIN / 2 : 0, MARGIN)
122
- };
123
- }
124
-
125
- // src/engine/nodes/local/lib/band-check.ts
126
- var BOX_TOLERANCE = 0.01;
127
- var FRAME_CUT = 5e-3;
128
- function underInterface(box, covered, tolerance) {
129
- if (!covered) return false;
130
- if (covered.top - box.y0 > tolerance || box.y1 - (1 - covered.bottom) > tolerance) return true;
131
- const rail = covered.rail;
132
- return Boolean(rail && box.y1 > rail.from && box.x1 - (1 - rail.width) > tolerance);
133
- }
134
- function bandViolations(boxes, format, opts = {}) {
135
- const own = staticSafeArea(format, opts.placements);
136
- const band = opts.band ?? own;
137
- const covered = opts.band ? void 0 : own.covered;
138
- const rail = opts.band ? void 0 : own.rail;
139
- const tolerance = opts.tolerance ?? BOX_TOLERANCE;
140
- return boxes.flatMap((box) => {
141
- const right = rail && box.y1 > rail.from ? Math.max(band.right, rail.width) : band.right;
142
- const reach = {
143
- top: band.top - box.y0,
144
- bottom: box.y1 - (1 - band.bottom),
145
- left: band.left - box.x0,
146
- right: box.x1 - (1 - right)
147
- };
148
- const edges = Object.keys(reach).filter((edge) => reach[edge] > tolerance);
149
- if (edges.length === 0) return [];
150
- const toFrame = { top: box.y0, bottom: 1 - box.y1, left: box.x0, right: 1 - box.x1 };
151
- return [
152
- {
153
- text: box.text,
154
- kind: box.kind,
155
- edges,
156
- overshoot: Math.max(...edges.map((edge) => reach[edge])),
157
- clearance: Math.max(0, Math.min(...edges.map((edge) => toFrame[edge]))),
158
- covered: opts.band !== void 0 || underInterface(box, covered, tolerance)
159
- }
160
- ];
161
- });
162
- }
163
-
164
- // src/engine/nodes/local/lib/brand-colour.ts
165
- import chroma from "chroma-js";
166
- import sharp from "sharp";
167
- var OFF_BRAND_DELTA_E = 20;
168
- var INK_CLUSTERS = 4;
169
- var MIN_INK_SHARE = 0.05;
170
- var NEUTRAL_CHROMA = 12;
171
- async function inkOf(image, box) {
172
- try {
173
- const { width = 0, height = 0 } = await sharp(image).metadata();
174
- const left = Math.max(0, Math.floor(box.x0 * width));
175
- const top = Math.max(0, Math.floor(box.y0 * height));
176
- const region = {
177
- left,
178
- top,
179
- width: Math.min(width - left, Math.ceil((box.x1 - box.x0) * width)),
180
- height: Math.min(height - top, Math.ceil((box.y1 - box.y0) * height))
181
- };
182
- if (region.width < 2 || region.height < 2) return null;
183
- const quantized = await sharp(image).extract(region).removeAlpha().resize({ width: 96, withoutEnlargement: true }).png({ palette: true, colours: INK_CLUSTERS, dither: 0 }).toBuffer();
184
- const { data, info } = await sharp(quantized).removeAlpha().raw().toBuffer({ resolveWithObject: true });
185
- const counts = /* @__PURE__ */ new Map();
186
- for (let i = 0; i + 2 < data.length; i += info.channels) {
187
- const hex = chroma(data[i] ?? 0, data[i + 1] ?? 0, data[i + 2] ?? 0).hex();
188
- counts.set(hex, (counts.get(hex) ?? 0) + 1);
189
- }
190
- const total = info.width * info.height;
191
- const [ground, ...rest] = [...counts.entries()].sort((a, b) => b[1] - a[1]).map(([hex]) => hex);
192
- const inks = rest.filter((hex) => (counts.get(hex) ?? 0) / total >= MIN_INK_SHARE);
193
- if (!ground || inks.length === 0) return null;
194
- return inks.sort((a, b) => chroma.deltaE(ground, b) - chroma.deltaE(ground, a))[0] ?? null;
195
- } catch {
196
- return null;
197
- }
198
- }
199
- var SHADE_HUE = 30;
200
- var NEAR_BLACK_L = 20;
201
- var NEAR_WHITE_L = 92;
202
- var hueGap = (a, b) => {
203
- const d = Math.abs(a - b) % 360;
204
- return d > 180 ? 360 - d : d;
205
- };
206
- function shadeOfBrand(hex, palette) {
207
- const [, , hue] = chroma(hex).lch();
208
- return palette.some((p) => {
209
- const [, c, h] = chroma(p).lch();
210
- return c >= NEUTRAL_CHROMA && !Number.isNaN(h) && !Number.isNaN(hue) && hueGap(h, hue) <= SHADE_HUE;
211
- });
212
- }
213
- function offBrandInks(inks, palette) {
214
- if (palette.length === 0) return [];
215
- return inks.flatMap((ink) => {
216
- const [lightness, inkChroma] = chroma(ink.hex).lch();
217
- if (inkChroma < NEUTRAL_CHROMA || lightness < NEAR_BLACK_L || lightness > NEAR_WHITE_L) return [];
218
- if (shadeOfBrand(ink.hex, palette)) return [];
219
- const [nearest] = palette.map((hex) => ({ hex, deltaE: chroma.deltaE(ink.hex, hex) })).sort((a, b) => a.deltaE - b.deltaE);
220
- if (!nearest || nearest.deltaE <= OFF_BRAND_DELTA_E) return [];
221
- return [{ text: ink.text, hex: ink.hex, nearest: nearest.hex, deltaE: nearest.deltaE }];
222
- });
223
- }
224
-
225
- // src/engine/nodes/local/lib/copy-match.ts
226
- import { distance } from "fastest-levenshtein";
227
- var MAX_LINE_DISTANCE = 0.02;
228
- var SPAN_SLACK = 2;
229
- var MIN_MATCH = 0.5;
230
- var ALLOWED_MATCH = 0.8;
231
- function normalizeCopy(text) {
232
- return text.replace(/[™®℠©]/g, "").normalize("NFKC").toLowerCase().replace(/[’'`´ʼ‘]/g, "").replace(/\s*&\s*/g, " and ").replace(/[^\p{L}\p{N}%€$£]+/gu, " ").replace(new RegExp("(\\p{N})([%\u20AC$\xA3])", "gu"), "$1 $2").replace(new RegExp("([\u20AC$\xA3])(\\p{N})", "gu"), "$1 $2").trim();
233
- }
234
- var CLOCK = /^\d{1,2}:\d{2}(?:\s?[ap]\.?\s?m\.?)?$/i;
235
- function isInterfaceChrome(raw) {
236
- const text = raw.trim();
237
- if (CLOCK.test(text)) return true;
238
- if (/^\d{1,3}$/.test(text)) return true;
239
- return new RegExp("^\\p{L}$", "u").test(text);
240
- }
241
- var lineHeight = (b) => Math.max(b.y1 - b.y0, 5e-3);
242
- function continuesColumn(last, next) {
243
- if (next.y0 < last.y0 + 0.3 * lineHeight(last)) return null;
244
- const gap = next.y0 - last.y1;
245
- if (gap > 1.2 * Math.max(lineHeight(last), lineHeight(next))) return null;
246
- const overlap = Math.min(last.x1, next.x1) - Math.max(last.x0, next.x0);
247
- const narrower = Math.min(last.x1 - last.x0, next.x1 - next.x0);
248
- return narrower > 0 && overlap >= 0.3 * narrower ? gap : null;
249
- }
250
- function continuesRow(last, next) {
251
- const shared = Math.min(last.y1, next.y1) - Math.max(last.y0, next.y0);
252
- const height = Math.min(lineHeight(last), lineHeight(next));
253
- const gap = next.x0 - last.x1;
254
- return shared >= 0.5 * height && gap > -0.5 * height && gap <= Math.max(lineHeight(last), lineHeight(next));
255
- }
256
- function rowsOf(boxes) {
257
- const rows = [];
258
- const byLeft = boxes.map((box, index) => ({ box, index })).sort((a, b) => a.box.x0 - b.box.x0 || a.index - b.index);
259
- for (const item of byLeft) {
260
- const row = rows.find((r) => {
261
- const last = r.items[r.items.length - 1];
262
- return last !== void 0 && continuesRow(last.box, item.box);
263
- });
264
- if (!row) {
265
- rows.push({ items: [item], span: item.box });
266
- continue;
267
- }
268
- row.items.push(item);
269
- const { span } = row;
270
- row.span = {
271
- text: "",
272
- kind: span.kind,
273
- x0: Math.min(span.x0, item.box.x0),
274
- y0: Math.min(span.y0, item.box.y0),
275
- x1: Math.max(span.x1, item.box.x1),
276
- y1: Math.max(span.y1, item.box.y1)
277
- };
278
- }
279
- return rows;
280
- }
281
- function readingOrder(boxes) {
282
- const first = (row) => Math.min(...row.items.map((i) => i.index));
283
- const byTop = rowsOf(boxes).sort((a, b) => a.span.y0 - b.span.y0 || first(a) - first(b));
284
- const blocks = [];
285
- for (const row of byTop) {
286
- let best = null;
287
- for (const block of blocks) {
288
- const last = block[block.length - 1];
289
- const gap = last ? continuesColumn(last.span, row.span) : null;
290
- if (gap !== null && (best === null || gap < best.gap)) best = { block, gap };
291
- }
292
- if (best) best.block.push(row);
293
- else blocks.push([row]);
294
- }
295
- return blocks.sort((a, b) => Math.min(...a.map(first)) - Math.min(...b.map(first))).flatMap((block) => block.flatMap((row) => row.items.map((i) => i.box)));
296
- }
297
- function copySimilarity(a, b) {
298
- return similarity(a, b);
299
- }
300
- var sameStroke = (text) => text.replace(/l/g, "i");
301
- function similarity(a, b) {
302
- const longest = Math.max(a.length, b.length);
303
- return longest === 0 ? 1 : 1 - distance(sameStroke(a), sameStroke(b)) / longest;
304
- }
305
- function spans(words, size) {
306
- const out = [];
307
- for (let length = Math.max(1, size - SPAN_SLACK); length <= size + SPAN_SLACK; length++) {
308
- for (let start = 0; start + length <= words.length; start++) {
309
- const indexes = Array.from({ length }, (_, i) => start + i);
310
- out.push({ indexes, text: indexes.map((i) => words[i]?.word ?? "").join(" ") });
311
- }
312
- }
313
- return out;
314
- }
315
- function assign(targets, words, claimed, threshold) {
316
- const pairs = targets.flatMap(
317
- (target, index) => target.length === 0 ? [] : spans(words, target.split(" ").length).map((span) => ({
318
- index,
319
- span,
320
- similarity: similarity(target, span.text)
321
- }))
322
- );
323
- pairs.sort((a, b) => b.similarity - a.similarity);
324
- const matches = /* @__PURE__ */ new Map();
325
- for (const pair of pairs) {
326
- if (pair.similarity < threshold) break;
327
- if (matches.has(pair.index)) continue;
328
- if (pair.span.indexes.some((i) => claimed.has(i))) continue;
329
- matches.set(pair.index, { span: pair.span, similarity: pair.similarity });
330
- for (const i of pair.span.indexes) claimed.add(i);
331
- }
332
- return matches;
333
- }
334
- function hyphenatedCompounds(texts) {
335
- const out = /* @__PURE__ */ new Set();
336
- for (const text of texts) {
337
- for (const [compound] of text.normalize("NFKC").toLowerCase().matchAll(new RegExp("\\p{L}+(?:[-\u2010\u2011]\\p{L}+)+", "gu"))) {
338
- const words = compound.split(/[-‐‑]/u);
339
- for (let i = 1; i < words.length; i++) out.add(`${words[i - 1]}-${words[i]}`);
340
- }
341
- }
342
- return out;
343
- }
344
- var LIST_MARKER = /^\s*(\d{1,2})[.)]\s+(?=\S)/u;
345
- var listMarker = (text) => text.match(LIST_MARKER)?.[1] ?? null;
346
- var withoutListMarker = (text) => text.replace(LIST_MARKER, "");
347
- function trademarked(texts) {
348
- const out = /* @__PURE__ */ new Set();
349
- for (const text of texts) {
350
- for (const [, word = ""] of text.matchAll(/([\p{L}\p{N}]+)\s?[®™]/gu)) out.add(word.toLowerCase());
351
- }
352
- return out;
353
- }
354
- function withoutTrademarkLetters(text, marked) {
355
- if (marked.size === 0) return text;
356
- return text.replace(
357
- /([\p{L}\p{N}]+)\s?(?:\((?:r|tm)\)|r|tm)(?![\p{L}\p{N}])/giu,
358
- (whole, word) => marked.has(word.toLowerCase()) ? word : whole
359
- );
360
- }
361
- function joinHyphenBreaks(texts, compounds) {
362
- const out = [];
363
- let carry = "";
364
- for (const text of texts) {
365
- const next = text.trim();
366
- const before = carry.match(new RegExp("\\p{L}+$", "u"))?.[0] ?? "";
367
- const after = next.match(new RegExp("^\\p{L}+", "u"))?.[0] ?? "";
368
- const own = carry !== "" && compounds.has(`${before}-${after}`.normalize("NFKC").toLowerCase());
369
- const line = carry + (own ? "-" : "") + next;
370
- const broken = line.match(new RegExp("^(.*\\p{L})[-\u2010\u2011]$", "u"));
371
- if (broken) carry = broken[1] ?? "";
372
- else {
373
- out.push(line);
374
- carry = "";
375
- }
376
- }
377
- if (carry) out.push(`${carry}-`);
378
- return out;
379
- }
380
- function lineParts(text) {
381
- const parts = text.split(/\r?\n/).filter((part) => part.trim().length > 0);
382
- return parts.length > 0 ? parts : [text];
383
- }
384
- function textMismatch(expected, boxes, opts = {}) {
385
- const compounds = hyphenatedCompounds(expected.map((line) => line.text));
386
- const clockAsked = expected.some((line) => CLOCK.test(line.text.trim()));
387
- const read = boxes.filter((b) => b.kind === "text" && (clockAsked || !CLOCK.test(b.text.trim())));
388
- const texts = readingOrder(read).map((b) => b.text);
389
- const joined = joinHyphenBreaks(texts, compounds);
390
- const marked = trademarked(expected.map((line) => line.text));
391
- const words = joined.flatMap(
392
- (text, box) => normalizeCopy(withoutTrademarkLetters(text, marked)).split(" ").filter((word) => word.length > 0).map((word) => ({ word, box }))
393
- );
394
- const claimed = /* @__PURE__ */ new Set();
395
- const parts = expected.flatMap(
396
- (line, lineIndex) => lineParts(line.text).map((text) => ({ lineIndex, text: normalizeCopy(withoutListMarker(text)) }))
397
- );
398
- const matches = assign(
399
- parts.map((part) => part.text),
400
- words,
401
- claimed,
402
- MIN_MATCH
403
- );
404
- const markers = expected.flatMap((line) => lineParts(line.text).flatMap((text) => listMarker(text) ?? []));
405
- const allowed = [...opts.allowed ?? [], ...markers].map(normalizeCopy).filter((a) => a.length > 0);
406
- for (let before = -1; claimed.size !== before; ) {
407
- before = claimed.size;
408
- assign(allowed, words, claimed, ALLOWED_MATCH);
409
- }
410
- const logos = boxes.filter((b) => b.kind === "logo").map((b) => normalizeCopy(b.text));
411
- const inLogo = (text) => {
412
- const t = normalizeCopy(text);
413
- return allowed.some((a) => similarity(a, t) >= ALLOWED_MATCH) && logos.some((l) => similarity(l, t) >= ALLOWED_MATCH);
414
- };
415
- const lines = expected.flatMap((line, index) => {
416
- if (inLogo(line.text)) return [];
417
- const lineMatches = parts.flatMap(
418
- (part, partIndex) => part.lineIndex === index && part.text.length > 0 ? [matches.get(partIndex)] : []
419
- );
420
- if (lineMatches.length === 0) return [];
421
- const score = Math.min(...lineMatches.map((match) => match?.similarity ?? 0));
422
- if (score >= 1 - MAX_LINE_DISTANCE) return [];
423
- const read2 = lineMatches.flatMap((match) => match ? [match.span.text] : []).join(" ");
424
- return [{ ...line, read: read2.length > 0 ? read2 : null, similarity: score }];
425
- });
426
- const extra = [];
427
- words.forEach(({ word, box }, index) => {
428
- if (claimed.has(index)) return;
429
- const previous = words[index - 1];
430
- const last = extra.at(-1);
431
- if (previous && !claimed.has(index - 1) && previous.box === box && last) {
432
- last.text += ` ${word}`;
433
- } else {
434
- extra.push({ text: word, box });
435
- }
436
- });
437
- const unasked = extra.filter((chunk) => !isInterfaceChrome(joined[chunk.box] ?? "")).map((chunk) => chunk.text.replace(new RegExp("(\\p{N}) ([%\u20AC$\xA3])", "gu"), "$1$2").replace(new RegExp("([\u20AC$\xA3]) (\\p{N})", "gu"), "$1$2"));
438
- return { ok: lines.length === 0 && unasked.length === 0, lines, extra: unasked };
439
- }
440
-
441
- // src/engine/nodes/local/lib/must-show.ts
442
- var roleKey = (role) => (role ?? "").trim().toLowerCase().replace(/[\s-]+/g, "_");
443
- var SUPPORTING_ROLES = /* @__PURE__ */ new Set([
444
- "body",
445
- "caption",
446
- "subheadline",
447
- "subhead",
448
- "subtitle",
449
- "supporting",
450
- "support",
451
- "label",
452
- "tagline",
453
- "eyebrow",
454
- "kicker",
455
- "description",
456
- "detail",
457
- "details",
458
- "note",
459
- "fine_print",
460
- "legal",
461
- "disclaimer",
462
- "footnote",
463
- "attribution"
464
- ]);
465
- var WORDMARK_MATCH = 0.8;
466
- function withWordmark(boxes, logoWords) {
467
- const names = logoWords.map(normalizeCopy).filter((n) => n.length > 0);
468
- const isName = (text) => {
469
- const read = normalizeCopy(text);
470
- return read.length > 0 && names.some((n) => copySimilarity(n, read) >= WORDMARK_MATCH);
471
- };
472
- return boxes.map((b) => b.kind === "text" && isName(b.text) ? { ...b, kind: "logo" } : b);
473
- }
474
- function boxesOfLine(line, boxes) {
475
- const words = ` ${normalizeCopy(line.text)} `;
476
- return boxes.filter((b) => {
477
- const read = normalizeCopy(b.text);
478
- return b.kind === "text" && read.length > 0 && words.includes(` ${read} `);
479
- });
480
- }
481
- var HEADLINE_ROLES = /* @__PURE__ */ new Set(["headline", "title", "hook"]);
482
- function headlineBox(lines, boxes) {
483
- const line = lines.find((l) => HEADLINE_ROLES.has(roleKey(l.role))) ?? lines[0];
484
- const found = line ? boxesOfLine(line, boxes) : [];
485
- if (found.length === 0) return null;
486
- return {
487
- x0: Math.min(...found.map((b) => b.x0)),
488
- y0: Math.min(...found.map((b) => b.y0)),
489
- x1: Math.max(...found.map((b) => b.x1)),
490
- y1: Math.max(...found.map((b) => b.y1))
491
- };
492
- }
493
- var BUTTON_PAD = 0.7;
494
- var isButtonLine = (line) => /^(cta|button|call_to_action)$/.test(roleKey(line.role));
495
- function buttonShape(box) {
496
- const pad = BUTTON_PAD * (box.y1 - box.y0);
497
- return {
498
- ...box,
499
- x0: Math.max(0, box.x0 - pad),
500
- y0: Math.max(0, box.y0 - pad),
501
- x1: Math.min(1, box.x1 + pad),
502
- y1: Math.min(1, box.y1 + pad)
503
- };
504
- }
505
- function shownBoxes(boxes, lines, clear) {
506
- const linesOfBox = /* @__PURE__ */ new Map();
507
- for (const line of lines) {
508
- const found = boxesOfLine(line, boxes);
509
- for (const box of found) linesOfBox.set(box, [...linesOfBox.get(box) ?? [], { line, found }]);
510
- }
511
- const echo = (box, of) => of.every(
512
- ({ found }) => found.some((other) => other !== box && normalizeCopy(other.text) === normalizeCopy(box.text) && clear(other))
513
- );
514
- return boxes.flatMap((box) => {
515
- if (box.kind === "logo") return [{ box, supporting: false }];
516
- const of = linesOfBox.get(box);
517
- if (!of || echo(box, of)) return [];
518
- return [{ box, supporting: of.every(({ line }) => SUPPORTING_ROLES.has(roleKey(line.role))) }];
519
- });
520
- }
521
-
522
- // src/engine/nodes/local/lib/text-boxes.ts
523
- import sharp2 from "sharp";
524
- import { z } from "zod";
525
- var GRID = 1e3;
526
- var ReaderItem = z.object({
527
- text: z.string(),
528
- kind: z.enum(["text", "logo"]),
529
- box_2d: z.array(z.number()).length(4)
530
- });
531
- var ReaderAnswer = z.object({ items: z.array(ReaderItem) });
532
- var fraction = (value) => Math.min(1, Math.max(0, value / GRID));
533
- function textBoxesFromReader(answer) {
534
- const parsed = ReaderAnswer.safeParse(answer);
535
- if (!parsed.success) return null;
536
- return parsed.data.items.map(({ text, kind, box_2d }) => {
537
- const [ymin = 0, xmin = 0, ymax = 0, xmax = 0] = box_2d;
538
- return {
539
- text,
540
- kind,
541
- x0: fraction(Math.min(xmin, xmax)),
542
- y0: fraction(Math.min(ymin, ymax)),
543
- x1: fraction(Math.max(xmin, xmax)),
544
- y1: fraction(Math.max(ymin, ymax))
545
- };
546
- });
547
- }
548
- var TEXT_BOX_PROMPT = [
549
- "Find every line of visible text in this image and every logo mark.",
550
- "For each, return: `text` exactly as rendered, character for character (keep misspellings, doubled or missing letters and garbled glyphs as they appear; never correct or complete them; for a logo, its wordmark text or an empty string); `kind` text or logo; `box_2d` the tight box around it as [ymin, xmin, ymax, xmax] on a 0-1000 grid over the whole image.",
551
- "One entry per line of each column: a headline wrapped over two lines is two entries, and where text sits in columns, cards or bubbles side by side, each one's lines are their own entries. Never join text from two columns into one entry. List the text block by block in reading order, each block's lines top to bottom. Pseudo-text that is not readable as letters is left out. No text: an empty list.",
552
- 'Reply with only this JSON: {"items":[{"text":"...","kind":"text|logo","box_2d":[ymin,xmin,ymax,xmax]}]}'
553
- ].join("\n");
554
- var READ_EDGE = 1536;
555
- async function readTextBoxes(image, opts = {}) {
556
- let jpeg;
557
- try {
558
- const resized = await sharp2(image).resize(READ_EDGE, READ_EDGE, { fit: "inside", withoutEnlargement: true }).jpeg({ quality: 90 }).toBuffer();
559
- jpeg = resized.toString("base64");
560
- } catch {
561
- return { status: "not_checked" };
562
- }
563
- for (let attempt = 0; attempt < 2; attempt++) {
564
- const answer = await askAboutImages(TEXT_BOX_READER_MODEL, [jpeg], TEXT_BOX_PROMPT, opts.onSpend, 6e4, {
565
- effort: "minimal"
566
- });
567
- const boxes = textBoxesFromReader(answer);
568
- if (boxes) return { status: "read", boxes };
569
- }
570
- return { status: "not_checked" };
571
- }
572
-
573
- // src/engine/nodes/local/lib/static-review.ts
574
- var RATIO_TOLERANCE = 0.02;
575
- function ratioOf(format) {
576
- const [w, h] = format.split(":").map(Number);
577
- return w && h ? w / h : null;
578
- }
579
- function ratioFindings(images) {
580
- return images.flatMap(({ format, width, height }) => {
581
- const want = ratioOf(format);
582
- if (want === null || width <= 0 || height <= 0) return [];
583
- if (Math.abs(width / height / want - 1) <= RATIO_TOLERANCE) return [];
584
- return [
585
- {
586
- severity: "blocking",
587
- what: `The ${format} version came out ${width}x${height}, which is not ${format}. It cannot be delivered as ${format}.`
588
- }
589
- ];
590
- });
591
- }
592
- var RANKING_LINE = /^[\s*#>-]*(?:\d+[.)]\s*)?\**\s*([a-z][a-z ]*?)\s*\**\s*:\s*\**\s*(image\s+\d+(?:\s*[>=]\s*image\s+\d+)+)/i;
593
- function parseJudgeRanking(reasoning) {
594
- const byImage = /* @__PURE__ */ new Map();
595
- let candidates = 0;
596
- for (const line of reasoning.split("\n")) {
597
- const match = line.match(RANKING_LINE);
598
- if (!match) continue;
599
- const criterion = (match[1] ?? "").trim().toLowerCase().replace(/\s+/g, "_");
600
- const tiers = (match[2] ?? "").split(">").map((tier) => [...tier.matchAll(/image\s+(\d+)/gi)].map((m) => Number(m[1])));
601
- const ranked = tiers.flat();
602
- candidates = Math.max(candidates, ranked.length, ...ranked);
603
- let below = ranked.length;
604
- for (const tier of tiers) {
605
- below -= tier.length;
606
- for (const image of tier) {
607
- const scores = byImage.get(image) ?? {};
608
- scores[criterion] = below;
609
- byImage.set(image, scores);
610
- }
611
- }
612
- }
613
- return [...byImage.entries()].sort(([a], [b]) => a - b).map(([image, scores]) => ({
614
- image,
615
- total: Object.values(scores).reduce((a, b) => a + b, 0),
616
- of: candidates - 1,
617
- scores
618
- }));
619
- }
620
- function parseJudgeScores(reasoning) {
621
- const out = [];
622
- for (const line of reasoning.split("\n")) {
623
- const head = line.match(/^\s*Image\s+(\d+)\s*:(.*)$/i);
624
- if (!head) continue;
625
- const scores = {};
626
- let total;
627
- for (const pair of (head[2] ?? "").matchAll(/([a-z_]+)\s*=\s*(\d+(?:\.\d+)?)/gi)) {
628
- const key = (pair[1] ?? "").toLowerCase();
629
- const value = Number(pair[2]);
630
- if (key === "total") total = value;
631
- else scores[key] = value;
632
- }
633
- if (Object.keys(scores).length === 0) continue;
634
- out.push({ image: Number(head[1]), total: total ?? Object.values(scores).reduce((a, b) => a + b, 0), scores });
635
- }
636
- return out.length > 0 ? out : parseJudgeRanking(reasoning);
637
- }
638
- function judgeWinner(judge) {
639
- const byGate = (a, b) => {
640
- if (a.of === void 0) return b.total - a.total;
641
- for (const criterion of Object.keys(a.scores)) {
642
- const gap = (b.scores[criterion] ?? 0) - (a.scores[criterion] ?? 0);
643
- if (gap !== 0) return gap;
644
- }
645
- return b.total - a.total;
646
- };
647
- return [...judge].sort(byGate)[0] ?? null;
648
- }
649
- var StaticFinding = z2.object({
650
- severity: z2.enum(["blocking", "warning"]),
651
- format: z2.string().optional(),
652
- what: z2.string().trim().min(1),
653
- item: z2.enum(STATIC_REVIEW_ITEMS).catch("other"),
654
- element: z2.enum(FINDING_ELEMENTS).catch("other"),
655
- defect: z2.enum(FINDING_DEFECTS).catch("other"),
656
- edges: z2.array(z2.enum(FRAME_EDGES)).catch([])
657
- });
658
- var ALWAYS_BLOCKING = /* @__PURE__ */ new Set(["subject", "person"]);
659
- function classifyStaticFindings(json) {
660
- const findings = json?.findings;
661
- if (!Array.isArray(findings)) return [];
662
- return findings.flatMap((raw) => {
663
- const parsed = StaticFinding.safeParse(raw);
664
- if (!parsed.success) return [];
665
- const { severity, format, what, ...fields } = parsed.data;
666
- const kind = {
667
- item: fields.item,
668
- element: fields.element,
669
- defect: fields.defect,
670
- edges: [...new Set(fields.edges)]
671
- };
672
- if (kind.element === "button" && kind.defect === "missing") return [];
673
- const graded = ALWAYS_BLOCKING.has(kind.item) ? "blocking" : kind.element === "scene_text" && kind.defect === "unreadable" ? "warning" : severity;
674
- return [{ severity: graded, what: format?.trim() ? `${format.trim()}: ${what}` : what, kind }];
675
- });
676
- }
677
- var KeepRead = z2.object({
678
- format: z2.string().trim().min(1),
679
- element: z2.number().int().min(1),
680
- carried: z2.boolean(),
681
- what: z2.string().default("")
682
- });
683
- var VITAL_GONE = {
684
- stop: "what stopped the scroll in the proven ad is gone",
685
- proof: "the proof of the proven ad is gone"
686
- };
687
- function vitalFindings(json, vital, formats) {
688
- if (vital.length === 0) return [];
689
- const raw = json?.keeps;
690
- if (!Array.isArray(raw)) {
691
- return [
692
- {
693
- severity: "warning",
694
- what: `The finished ad was not checked one by one for what its proven ad won on (${vital.map((v) => v.keep).join("; ")}): look for it on every size yourself.`
695
- }
696
- ];
697
- }
698
- const seen = /* @__PURE__ */ new Set();
699
- return raw.flatMap((entry) => {
700
- const read = KeepRead.safeParse(entry);
701
- if (!read.success || read.data.carried) return [];
702
- const { format, element } = read.data;
703
- const kept = vital[element - 1];
704
- if (!kept || !formats.includes(format) || seen.has(`${format}:${element}`)) return [];
705
- seen.add(`${format}:${element}`);
706
- const what = read.data.what.trim().replace(/\.$/, "");
707
- return [
708
- {
709
- severity: "blocking",
710
- what: `${format}: ${VITAL_GONE[kept.job]}: ${kept.keep}.${what ? ` ${what.charAt(0).toUpperCase()}${what.slice(1)}.` : ""}`,
711
- kind: { item: "concept", element: "picture", defect: "missing", edges: [], job: kept.job }
712
- }
713
- ];
714
- });
715
- }
716
- var CopyRead = z2.object({
717
- format: z2.string().trim().min(1),
718
- string: z2.string(),
719
- /** What the model read where the string should be; null when it found nothing like it. */
720
- seen: z2.string().nullable()
721
- });
722
- function comparableCopy(text) {
723
- return text.replace(/[‘’‚′]/g, "'").replace(/[“”„″]/g, '"').replace(/[‐-―−]/g, "-").replace(/…/g, "...").replace(/[«»]/g, '"').replace(/\s*[·•]\s*/g, " ").replace(/\s+/g, " ").replace(/ (?=[%€$£:;!?])/g, "").replace(/(?<=[€$£]) (?=\d)/g, "").trim().replace(/^"([^"]*)"$/, "$1").trim().toLowerCase();
724
- }
725
- function copyFindings(json, copy, formats, scrolled = {}) {
726
- if (copy.length === 0) return [];
727
- const raw = json?.copy;
728
- const reads = Array.isArray(raw) ? raw.flatMap((entry) => {
729
- const parsed = CopyRead.safeParse(entry);
730
- return parsed.success ? [parsed.data] : [];
731
- }) : [];
732
- return formats.flatMap((format) => {
733
- const forFormat = reads.filter((r) => r.format === format);
734
- if (forFormat.length === 0) {
735
- return [
736
- {
737
- severity: "blocking",
738
- what: `${format}: the copy could not be read back; look at every word yourself.`
739
- }
740
- ];
741
- }
742
- const gone = scrolled[format] ?? [];
743
- return copy.flatMap((expected) => {
744
- if (gone.includes(expected)) return [];
745
- const read = forFormat.find((r) => comparableCopy(r.string) === comparableCopy(expected));
746
- const seen = read?.seen ?? null;
747
- if (seen === null) {
748
- return [{ severity: "blocking", what: `${format}: Text: "${expected}" is missing.` }];
749
- }
750
- if (comparableCopy(seen) === comparableCopy(expected)) return [];
751
- return [{ severity: "blocking", what: `${format}: Text: "${expected}" reads "${seen}".` }];
752
- });
753
- });
754
- }
755
- var EDGE_WORDS = {
756
- top: "the top of the screen",
757
- bottom: "the bottom of the screen",
758
- left: "the left edge",
759
- right: "the right edge"
760
- };
761
- function blockName(v, under) {
762
- if (v.kind === "logo") return "the logo";
763
- return under > 0 ? `"${v.text}" and the ${under === 1 ? "line" : `${under} lines`} under it` : `"${v.text}"`;
764
- }
765
- function outsideBand({ violation: v, under }, placement, surface, storiesToo) {
766
- const what = blockName(v, under);
767
- const sits = under > 0 ? "sit" : "sits";
768
- const it = under > 0 ? "them" : "it";
769
- const edges = v.edges.map((e) => EDGE_WORDS[e]).join(" and ");
770
- if (placement === "reels" || placement === "stories" || placement === "vertical") {
771
- if (v.reelsOnly)
772
- return `${what} ${sits} where Reels' caption and buttons cover ${it} (${edges}): unseen by everyone the ad reaches in Reels, though Stories shows ${it}.`;
773
- const names = placement === "reels" && storiesToo ? ["Stories", ...surface.split(" and ")] : surface.split(" and ");
774
- const apps = names.length > 1 ? `${names.slice(0, -1).join(", ")} and ${names.at(-1)}` : surface;
775
- return `${what} ${sits} where ${apps} ${names.length > 1 ? "cover" : "covers"} ${it} (${edges}).`;
776
- }
777
- if (placement === "master") return `${what} ${sits} outside the space every size keeps clear (${edges}).`;
778
- return `${what} ${under > 0 ? "run" : "runs"} off the edge of the picture (${edges}).`;
779
- }
780
- function bandSeverity(v, placement) {
781
- if (placement === "master" || v.clearance <= FRAME_CUT) return "blocking";
782
- if (placement === "feed") return null;
783
- if (!v.covered) return null;
784
- return "blocking";
785
- }
786
- var EDGE_ORDER = ["top", "bottom", "left", "right"];
787
- function oneLogo(violations) {
788
- const logo = violations.filter((v) => v.kind === "logo");
789
- if (logo.length <= 1) return [...violations];
790
- const edges = EDGE_ORDER.filter((e) => logo.some((v) => v.edges.includes(e)));
791
- const merged = {
792
- text: "",
793
- kind: "logo",
794
- edges,
795
- overshoot: Math.max(...logo.map((v) => v.overshoot)),
796
- clearance: Math.min(...logo.map((v) => v.clearance)),
797
- covered: logo.some((v) => v.covered),
798
- // `every` holds on no pieces at all: only a covered logo can be covered by Reels alone.
799
- reelsOnly: logo.some((v) => v.covered) && logo.filter((v) => v.covered).every((v) => v.reelsOnly)
800
- };
801
- const first = violations.indexOf(logo[0]);
802
- const rest = violations.filter((v) => v.kind !== "logo");
803
- return [...rest.slice(0, first), merged, ...rest.slice(first)];
804
- }
805
- var SEPARATE = 0.1;
806
- function apart(a, b) {
807
- const across = Math.max(0, b.x0 - a.x1, a.x0 - b.x1);
808
- const down = Math.max(0, b.y0 - a.y1, a.y0 - b.y1);
809
- return Math.max(across, down) > SEPARATE;
810
- }
811
- function misplacedBlocks(boxes, check, supports = () => false) {
812
- const checked = readingOrder(boxes).map((box) => ({ box, violation: check(box) }));
813
- const clearLogos = checked.filter((c) => c.box.kind === "logo" && !c.violation).map((c) => c.box);
814
- const past = checked.flatMap(
815
- ({ box, violation }) => violation && !(box.kind === "logo" && clearLogos.length > 0 && clearLogos.every((l) => apart(l, box))) ? [{ box, violation }] : []
816
- );
817
- const logos = oneLogo(past.filter((p) => p.violation.kind === "logo").map((p) => p.violation));
818
- const blocks = [];
819
- for (const { box, violation } of past.filter((p) => p.violation.kind !== "logo")) {
820
- const open = blocks[blocks.length - 1];
821
- const same = open && continuesColumn(open.last, box) !== null && open.first.covered === violation.covered && Boolean(open.first.reelsOnly) === Boolean(violation.reelsOnly) && open.first.edges.join() === violation.edges.join();
822
- if (open && same) {
823
- open.last = box;
824
- open.under++;
825
- open.supporting = open.supporting && supports(box);
826
- if (violation.clearance < open.worst.clearance) open.worst = violation;
827
- continue;
828
- }
829
- blocks.push({ last: box, first: violation, under: 0, worst: violation, supporting: supports(box) });
830
- }
831
- return [
832
- ...blocks.map((b) => ({
833
- violation: { ...b.first, clearance: b.worst.clearance },
834
- under: b.under,
835
- supporting: b.supporting
836
- })),
837
- ...logos.map((violation) => ({ violation, under: 0 }))
838
- ];
839
- }
840
- function measuredFindings(input) {
841
- const { format } = input;
842
- const text = textMismatch(input.lines, input.boxes, { allowed: input.allowed });
843
- const area = staticSafeArea(format, input.placements);
844
- const placement = input.band ? "master" : area.placement;
845
- const names = (input.logoWords ?? input.allowed ?? []).filter((n) => normalizeCopy(n).length > 0);
846
- const placed = withWordmark(input.boxes, names);
847
- const bandOpts = {
848
- ...input.placements ? { placements: input.placements } : {},
849
- ...input.band ? { band: input.band } : {}
850
- };
851
- const copyBoxes = new Set(input.lines.flatMap((line) => boxesOfLine(line, input.boxes)));
852
- const shown = shownBoxes(placed, input.lines, (box) => bandViolations([box], format, bandOpts).length === 0).filter(
853
- (s) => !(input.native && s.box.kind === "text" && interfaceWord(s.box.text, input.allowed))
854
- );
855
- const supporting = new Set(shown.filter((s) => s.supporting).map((s) => s.box));
856
- const blockers = blockingPlacements(input.placements);
857
- const storiesToo = blockers.includes("stories");
858
- const storiesAlone = blockers.filter((p) => p !== "reels");
859
- const misplaced = misplacedBlocks(
860
- shown.map((s) => s.box),
861
- (box) => {
862
- const v = bandViolations([box], format, bandOpts)[0];
863
- if (!v?.covered || placement !== "reels" || !storiesToo) return v;
864
- const inStories = bandViolations([box], format, { placements: storiesAlone })[0];
865
- return inStories?.covered ? v : { ...v, reelsOnly: true };
866
- },
867
- (box) => supporting.has(box)
868
- );
869
- const blocking = (what) => ({ severity: "blocking", what: `${format}: ${what}` });
870
- const small = leadTooSmall(format, input.lines, input.boxes);
871
- const scale = typeScaleFindings(format, input.lines, placed);
872
- const logos = input.expectLogo ? logoCountFinding(placed) : null;
873
- const said = (l) => l.read === null ? `Text: "${l.text}" is missing.` : `Text: "${l.text}" reads "${l.read}".`;
874
- const misspelt = misspeltNames([...placed.filter((b) => b.kind === "logo").map((b) => b.text), ...text.extra], names);
875
- const unasked = text.extra.filter(
876
- (chunk) => (
877
- // A symbol with no word or number ("€", "%") is a mark beside one, never copy (Oct 2026 bench).
878
- /[\p{L}\p{N}]/u.test(chunk) && !misspelt.some((m) => m.chunk === chunk) && // The logo read in pieces ("EALDE", then "Business School" under it) is the logo.
879
- !fragmentOf(chunk, names, { share: 1, cut: input.native === true }) && !(input.native && (fragmentOf(chunk, input.allowed ?? [], { cut: true }) || crumb(chunk)))
880
- )
881
- );
882
- const copyTexts = input.lines.map((l) => l.text);
883
- const echoes = unasked.filter((chunk) => fragmentOf(chunk, copyTexts, { share: 0.8, cut: input.native === true }));
884
- const twice = echoes.filter((chunk) => mostOfALine(chunk, copyTexts));
885
- const extra = unasked.filter((chunk) => !echoes.includes(chunk));
886
- return [
887
- ...text.lines.flatMap((l) => {
888
- if (input.native && l.read !== null) return [];
889
- if (!input.adapted || loadBearing(l)) return [blocking(said(l))];
890
- return l.similarity >= MEANING_MATCH ? [] : [{ severity: "warning", what: `${format}: ${said(l)}` }];
891
- }),
892
- ...extraWordFindings(format, extra, input.boxes, [...copyBoxes], input.offers ?? /* @__PURE__ */ new Set()),
893
- ...twice.map(
894
- (t) => ({ severity: "warning", what: `${format}: "${t}" is on the ad twice; keep it once.` })
895
- ),
896
- ...misspelt.map((m) => blocking(`the brand's name reads "${m.read}", not "${m.name}".`)),
897
- ...unbadgedClaims(input.lines, input.boxes, input.cited).map(
898
- (c) => blocking(
899
- `"${c.line}" names ${c.platform}, but ${c.platform}'s logo is not on the ad: show its real badge, or drop the claim.`
900
- )
901
- ),
902
- // A native screen is laid out as its app lays it out: only what the interface really covers is a defect.
903
- ...(input.native ? misplaced.filter((m) => m.violation.covered) : misplaced).flatMap((m) => {
904
- const severity = bandSeverity(m.violation, placement);
905
- if (!severity) return [];
906
- const what = `${format}: ${outsideBand(m, placement, area.surface, storiesToo)}`;
907
- const optional = severity === "blocking" && m.supporting && placement !== "master" && m.violation.clearance > FRAME_CUT;
908
- return optional ? [{ severity: "warning", what: `${what} Fine for a supporting line nobody has to read.` }] : [{ severity, what }];
909
- }),
910
- ...small ? [blocking(`the lead line "${small}" is too small to read at the size the feed shows the ad.`)] : [],
911
- ...scale.map((what) => ({ severity: "warning", what: `${format}: ${what}` })),
912
- ...logos ? [{ severity: "warning", what: `${format}: ${logos}` }] : [],
913
- ...(input.offBrand ?? []).map(
914
- (ink) => ({
915
- severity: "warning",
916
- what: `${format}: "${ink.text}" is set in a colour that is not one of the brand's.`
917
- })
918
- )
919
- ];
920
- }
921
- function leadLine(lines) {
922
- return lines.find((l) => FIGURE_ROLES.has(roleKey(l.role))) ?? lines.find((l) => HEADLINE_ROLES2.has(roleKey(l.role)));
923
- }
924
- var FIGURE_ROLES = /* @__PURE__ */ new Set(["price", "stat", "figure", "number", "discount"]);
925
- var HEADLINE_ROLES2 = /* @__PURE__ */ new Set(["headline", "title"]);
926
- var LEAD_MIN_PX = 9;
927
- function leadTooSmall(format, lines, boxes) {
928
- const ratio = ratioOf(format);
929
- if (ratio === null) return null;
930
- const lead = lines.find((l) => FIGURE_ROLES.has(roleKey(l.role))) ?? lines.find((l) => HEADLINE_ROLES2.has(roleKey(l.role)));
931
- if (!lead) return null;
932
- const found = boxesOfLine(lead, boxes);
933
- if (found.length === 0) return null;
934
- const tallest2 = Math.max(...found.map((b) => b.y1 - b.y0));
935
- const thumbnailHeight = THUMBNAIL_WIDTH / ratio;
936
- return tallest2 * thumbnailHeight < LEAD_MIN_PX ? lead.text : null;
937
- }
938
- var LOAD_BEARING_ROLES = /* @__PURE__ */ new Set([
939
- ...FIGURE_ROLES,
940
- ...HEADLINE_ROLES2,
941
- "cta",
942
- "button",
943
- "call_to_action",
944
- "offer",
945
- "claim",
946
- "rating",
947
- "quote",
948
- "testimonial",
949
- "attribution",
950
- "badge",
951
- "fine_print",
952
- "legal",
953
- "disclaimer",
954
- "footnote"
955
- ]);
956
- var MEANING_MATCH = 0.8;
957
- function loadBearing(line) {
958
- return LOAD_BEARING_ROLES.has(roleKey(line.role)) || /[\d%€$£]/.test(line.text);
959
- }
960
- var folded = (text) => normalizeCopy(text).normalize("NFD").replace(new RegExp("\\p{M}", "gu"), "");
961
- var MISSPELT_NAME = 0.7;
962
- function misspeltNames(texts, names) {
963
- const out = [];
964
- const distinct = names.filter((name, i) => names.findIndex((n) => folded(n) === folded(name)) === i);
965
- for (const chunk of texts) {
966
- const words = folded(chunk).split(" ").filter(Boolean);
967
- for (const name of distinct) {
968
- const want = folded(name);
969
- const size = want.split(" ").length;
970
- if (want.length < 4) continue;
971
- for (let i = 0; i + size <= words.length; i++) {
972
- const read = words.slice(i, i + size).join(" ");
973
- if (read === want || copySimilarity(read, want) < MISSPELT_NAME) continue;
974
- out.push({ chunk, read, name });
975
- break;
976
- }
977
- }
978
- }
979
- return out;
980
- }
981
- function unbadgedClaims(lines, boxes, cited) {
982
- return lines.flatMap((line) => {
983
- const platform = citedBy(line.text, cited);
984
- if (!platform) return [];
985
- const naming = boxes.filter((b) => b.kind === "text" && namedPlatform(b.text) === platform);
986
- const mentions = new RegExp(platform.pattern.source, `${platform.pattern.flags}g`);
987
- const said = lines.reduce((n, l) => n + (l.text.match(mentions) ?? []).length, 0);
988
- const badge = boxes.some((b) => b.kind === "logo" && namedPlatform(b.text) === platform) || naming.length > said && naming.some((b) => normalizeCopy(b.text).split(" ").length <= 3);
989
- return badge ? [] : [{ line: line.text, platform: platform.name }];
990
- });
991
- }
992
- var BUTTON_ROLES = /* @__PURE__ */ new Set(["cta", "button", "call_to_action"]);
993
- var FINE_PRINT_ROLES = /* @__PURE__ */ new Set(["fine_print", "legal", "disclaimer", "footnote"]);
994
- var PHONE_WIDTH = 400;
995
- var LINE_MIN_PX = 6;
996
- var INVERTED = 1.15;
997
- var tallest = (line, boxes) => {
998
- const found = boxesOfLine(line, boxes);
999
- return found.length > 0 ? Math.max(...found.map((b) => b.y1 - b.y0)) : null;
1000
- };
1001
- function typeScaleFindings(format, lines, boxes) {
1002
- const ratio = ratioOf(format);
1003
- if (ratio === null) return [];
1004
- const lead = leadLine(lines);
1005
- const leadsWithHeadline = lead !== void 0 && HEADLINE_ROLES2.has(roleKey(lead.role));
1006
- const supporting = lines.filter(
1007
- (l) => l !== lead && !(leadsWithHeadline && HEADLINE_ROLES2.has(roleKey(l.role))) && l.lettering === "designed" && !BUTTON_ROLES.has(roleKey(l.role)) && !FINE_PRINT_ROLES.has(roleKey(l.role))
1008
- );
1009
- const out = [];
1010
- const leadHeight = lead ? tallest(lead, boxes) : null;
1011
- if (lead && leadHeight !== null) {
1012
- const bigger = supporting.map((l) => ({ l, h: tallest(l, boxes) })).filter((x) => x.h !== null && x.h > leadHeight * INVERTED).sort((a, b) => b.h - a.h)[0];
1013
- if (bigger)
1014
- out.push(`the main line "${lead.text}" is smaller than "${bigger.l.text}", so people read the wrong line first.`);
1015
- }
1016
- const phoneHeight = PHONE_WIDTH / ratio;
1017
- const small = supporting.filter((line) => {
1018
- const h = tallest(line, boxes);
1019
- return h !== null && h * phoneHeight < LINE_MIN_PX;
1020
- });
1021
- const [only] = small;
1022
- if (small.length === 1 && only) out.push(`"${only.text}" is hard to read on a phone; make it bigger.`);
1023
- if (small.length > 1) {
1024
- out.push(
1025
- `${small.length} lines are hard to read on a phone (${small.map((l) => `"${l.text}"`).join(", ")}); make them bigger.`
1026
- );
1027
- }
1028
- return out;
1029
- }
1030
- var SCENE_MARK_SHARE = 0.25;
1031
- var LOGO_GAP = 0.05;
1032
- function logoCountFinding(boxes) {
1033
- const logos = boxes.filter((b) => b.kind === "logo");
1034
- const near = (a, b) => Math.max(a.x0 - b.x1, b.x0 - a.x1, 0) <= LOGO_GAP && Math.max(a.y0 - b.y1, b.y0 - a.y1, 0) <= LOGO_GAP;
1035
- const clusters = [];
1036
- for (const box of logos) {
1037
- const joined = clusters.filter((c) => c.some((b) => near(b, box)));
1038
- const merged = [box, ...joined.flat()];
1039
- for (const c of joined) clusters.splice(clusters.indexOf(c), 1);
1040
- clusters.push(merged);
1041
- }
1042
- if (clusters.length === 0) return "the brand's logo is not on it.";
1043
- const area = (c) => (Math.max(...c.map((b) => b.x1)) - Math.min(...c.map((b) => b.x0))) * (Math.max(...c.map((b) => b.y1)) - Math.min(...c.map((b) => b.y0)));
1044
- const largest = Math.max(...clusters.map(area));
1045
- const set = clusters.filter((c) => area(c) >= largest * SCENE_MARK_SHARE).length;
1046
- return set > 1 ? `the logo is on the ad ${set} times; keep it once.` : null;
1047
- }
1048
- function staticVerdict(findings) {
1049
- if (findings === null) return "not_reviewed";
1050
- if (findings.some((f) => f.severity === "blocking")) return "needs_fixes";
1051
- return findings.length > 0 ? "ready_with_notes" : "ready";
1052
- }
1053
- function textInstructions(copy, measured) {
1054
- const wordless = "This ad has no words on purpose: the picture is the ad. Do not report missing copy, a missing headline or a missing call to action.";
1055
- if (measured) {
1056
- return [
1057
- ...copy.length === 0 ? [wordless] : [],
1058
- "The words were already read back and measured by another check: do not transcribe them or report their spelling, extra words or position.",
1059
- "1. TEXT: garbled or malformed letters, or letters that do not read as words (a brand name inside a drawn logo is fine)."
1060
- ];
1061
- }
1062
- if (copy.length > 0) {
1063
- return [
1064
- "First, transcribe the copy. On every full-size image, find each of these strings and copy out EXACTLY what is printed there, character for character (accents, case, punctuation), or null when nothing like it is there:",
1065
- copy.map((c) => `- "${c}"`).join("\n"),
1066
- "1. TEXT: extra words that are not in the list, a string shown twice, or garbled letters (a brand name inside a drawn logo is fine)."
1067
- ];
1068
- }
1069
- return [wordless, "1. TEXT: any letters or words that appear anyway (invented or garbled text is blocking)."];
1070
- }
1071
- function storiesItem(opts) {
1072
- if (opts.measured || !opts.formats.includes("9:16")) return [];
1073
- const vertical = staticSafeArea("9:16");
1074
- const name = vertical.placement === "reels" ? "REELS AND STORIES" : vertical.surface.toUpperCase();
1075
- return [
1076
- `4. ${name}: on the 9:16 image, text, a logo or a button that exists clearly inside the top ${Math.round(vertical.top * 100)}% or the bottom ${Math.round(vertical.bottom * 100)}% of the frame (measure it; an element that starts below the top line is fine).`
1077
- ];
1078
- }
1079
- var VITAL_ROLE = { stop: "what stops the scroll", proof: "the proof" };
1080
- function conceptItem(opts) {
1081
- const concept = opts.concept && opts.concept.mustKeep.length > 0 ? opts.concept : void 0;
1082
- if (concept) {
1083
- const vital = concept.vital ?? [];
1084
- return [
1085
- `8. CONCEPT: the last image is the ad this one is built on, shown only to compare (never judge its words, brand or people, which are another advertiser's). On every size, check the finished ad still carries each of these: ${concept.mustKeep.join("; ")}${concept.idea ? `, and still works by the same trick: ${concept.idea}` : ""}. Judge each by the role it plays, never by the form the reference gave it (a newspaper on a desk carries a newspaper held in hands; other words carry the same pain): an element is carried when the ad does its job, and what people are doing, how many there are, the setting or the visual style is never a finding. The trick is how the ad persuades, never a look it must have. One element missing is blocking: name it, in a sentence a marketer reads (what the ad no longer does), never a list of details.`,
1086
- ...vital.length > 0 ? [
1087
- `8a. WHAT IT WON ON: for every size, answer in "keeps" whether the finished ad still has each of these, doing the job it does in the last image: ${vital.map((v, i) => `${i + 1}. ${VITAL_ROLE[v.job]}: ${v.keep}`).join("; ")}. "carried" is false when it is not there, or is there but no longer does that job (marks gone from a checklist, a face too small to stop anyone); then say in "what", in a sentence a marketer reads, what the ad no longer does.`
1088
- ] : []
1089
- ];
1090
- }
1091
- return opts.mechanisms && opts.mechanisms.length > 0 ? [`8. CONCEPT: the ad no longer carries these devices it is built on (warning): ${opts.mechanisms.join("; ")}.`] : [];
1092
- }
1093
- function contextItems(opts) {
1094
- return {
1095
- // The pre-render viewer check read the copy and a description of the picture; this reads
1096
- // the picture. A warning: the render is paid for, and the copy already passed that viewer.
1097
- viewer: opts.viewer ? [
1098
- `9. VIEWER: seen by ${opts.viewer}, the finished ad does not show what is offered, to whom, and what to do next (warning).`
1099
- ] : [],
1100
- // Measured, the lead's size is checked on its boxes (`leadTooSmall`): the model's call was wrong on most flags.
1101
- thumbnail: opts.measured ? [] : [
1102
- opts.thumbnails ? "7. THUMBNAIL: at thumbnail size the lead line (the largest words) cannot be read. Judge only whether those words can be read, nothing else. That is blocking: most people only ever see the ad that small." : "7. THUMBNAIL: the lead line (the largest words) would be unreadable on a phone feed. That is blocking."
1103
- ],
1104
- sizes: opts.formats.length > 1 ? [
1105
- "12. SIZES: one size loses what the others are built on: the letter sheet, the email or chat window, the post card, the comic's panels and their order, the product the ad is about (blocking; report it on the size that differs). A size that shows more of the scene (words on a prop now readable, more of the room), or is arranged, sized or decorated differently for its shape (a title without its frame, an extra brand shape filling the height), is never a finding."
1106
- ] : []
1107
- };
1108
- }
1109
- var FINDING_FIELDS = `For each finding also give: "item", the item above it answers, in lower case (TEXT \u2192 "text", ONE IDEA \u2192 "one_idea", the 9:16 safe-zone item \u2192 "safe_zone"); "element", what on the ad it is about ("copy" the ad's own words, "button", "logo", "scene_text" words or figures printed on something in the picture that are not the copy, "picture" anything else drawn, else "other"); "defect" ("cut" when the frame's edge cuts it, "missing" when it is not there, "unreadable" when it is too blurred or small to read, else "other"); "edges", the frame edges that cut it, [] unless "cut". Write "what" without a label.`;
1110
- function buildStaticReviewPrompt(opts) {
1111
- const brand = opts.brand ? ` for ${opts.brand}` : "";
1112
- const order = opts.formats.join(", ");
1113
- const shown = opts.thumbnails ? `These are the finished versions of ONE static advertisement${brand}, in this order: ${order}. After them come the same versions again, in the same order, shrunk to phone-feed thumbnail size (about 240px wide).` : `These are the finished versions of ONE static advertisement${brand}, in this order: ${order}.`;
1114
- const text = textInstructions(opts.copy, opts.measured === true);
1115
- const logo = opts.native ? `2. LOGO: the brand's logo appears where ${opts.native} shows it (an avatar, a sender's picture, a summary card), possibly more than once: report it only when distorted or cut.` : opts.logo ? "2. LOGO: the brand logo distorted, redrawn in another style, cut off, or set twice as the ad's logo. The brand's mark printed on something in the scene (clothing, a bag, a van, packaging) is the scene, never a second logo; call it mirrored only when its letters read backwards." : "2. LOGO: this ad carries no logo on purpose (the platform shows the brand's name and picture); never report a missing logo. A made-up logo or wordmark in the picture is blocking.";
1116
- const { viewer, thumbnail, sizes } = contextItems(opts);
1117
- const copyShape = opts.copy.length > 0 && !opts.measured ? ',"copy":[{"format":"4:5","string":"<a listed string>","seen":"<what is printed>|null"}]' : "";
1118
- const keepsShape = opts.concept?.vital?.length ? ',"keeps":[{"format":"4:5","element":1,"carried":true,"what":""}]' : "";
1119
- return [
1120
- shown,
1121
- ...text,
1122
- "",
1123
- "Then report, per format, only what is actually wrong:",
1124
- logo,
1125
- "3. LAYOUT: anything the ad shows clipped by the frame edge (part of a word, the logo, a button, the product or a face cut away; an element whole but near the edge is not clipped, and scenery the frame crops as any photo does is the picture), overlapping, or unreadable against what is behind it.",
1126
- ...storiesItem(opts),
1127
- // Tier 0, Oct 2026: the real defects were where a size was extended; 8 of 8 hand claims checked were wrong.
1128
- "5. PICTURE: a ghost, a smear, a seam, a blurred strip, a duplicated or mirrored object, or garbled pseudo-text in focus where a viewer reads it, typically where the picture was extended to fill a size (blocking). Text out of focus in the background (a screen, a shelf of books) is the scene; an ordinary object a viewer would not stop at on a phone is not malformed.",
1129
- "5a. SUBJECT: the ad's subject (its pet, person or product) shown more than once as visibly different ones where the ad means one, or a second, different subject beside it that leaves a viewer asking whose story it is (blocking).",
1130
- ...opts.uncastPeople && opts.uncastPeople.length > 0 ? [
1131
- `5c. PERSON: the copy names ${opts.uncastPeople.join(" and ")}, real, and this ad was given no photo of them: a face shown as them or beside their name is a stranger wearing that name (blocking).`
1132
- ] : [],
1133
- ...opts.castsNobody ? [
1134
- "5d. PERSON: this ad casts nobody: any person in the picture (a face or a body, not a tiny round avatar inside an interface) is a stranger nobody cast (blocking)."
1135
- ] : [],
1136
- "5b. PEOPLE: a person's hands, face or body drawn so wrong a viewer would notice at a glance on a phone (warning). Never a detail you have to zoom in to see.",
1137
- "6. ONE IDEA: two or more elements compete equally for the eye, so no single promise leads (warning).",
1138
- ...thumbnail,
1139
- ...conceptItem(opts),
1140
- ...viewer,
1141
- "11. PROOF: stars, a rating or reviews shown while the ad names no source for them anywhere (a review platform, a survey such as CSAT or NPS, a study), so the rating has no source (blocking).",
1142
- ...sizes,
1143
- ...opts.native ? [
1144
- `13. NATIVE: this ad is ${opts.native}, drawn exactly as the platform shows it: its interface, names, handles, times and counts are meant to be there, and whatever of them it leaves out is left out on purpose (never report the interface as wrong, incomplete or clipped); on a 9:16 the app fills the screen as a phone shows it, its bars and the card with the brand's headline included, and a chat's earliest messages scrolled up under the header are meant; on a wall of reviews the cards piled behind and cut by the frame's edges are the pile, never cut-off copy; the platform prints its own button under the ad, so never report a missing call to action. Report a photo in it that looks AI-made or staged rather than a real person's (blocking when a face is plainly AI-made), or that does not show what the words say (warning).`
1145
- ] : [],
1146
- "Blocking = it cannot ship as is (a broken logo, clipped content, a ghost or smear in the picture). Warning = it can ship but should improve.",
1147
- "Never report an element as missing because ads usually have one: judge only what this concept holds. An empty findings list is the right answer for a clean ad. Keep each item under twenty words.",
1148
- FINDING_FIELDS,
1149
- `Reply with only this JSON: {"findings":[{"severity":"blocking|warning","format":"4:5","item":"${STATIC_REVIEW_ITEMS.join("|")}","element":"${FINDING_ELEMENTS.join("|")}","defect":"${FINDING_DEFECTS.join("|")}","edges":["${FRAME_EDGES.join("|")}"],"what":"..."}]${copyShape}${keepsShape}}`
1150
- ].join("\n");
1151
- }
1152
- var SCENE_PRINT_SCALE = 0.45;
1153
- var SCENE_BLOCK_LINES = 3;
1154
- var LINE_REPEAT_SHARE = 0.6;
1155
- function mostOfALine(chunk, copy) {
1156
- const wordsOf = (text) => normalizeCopy(text).split(" ").filter((w) => /[\p{L}\p{N}]/u.test(w));
1157
- const said = new Set(wordsOf(chunk));
1158
- return copy.some((line) => {
1159
- const words = wordsOf(line);
1160
- return words.length > 0 && words.filter((w) => said.has(w)).length / words.length >= LINE_REPEAT_SHARE;
1161
- });
1162
- }
1163
- var SIGN_CLAIM = /[%\p{Sc}]/u;
1164
- var PRICE = /[€$£]\s?\d|\d\s?[€$£]/;
1165
- var COPY_SIZE_SHARE = 0.8;
1166
- var HEADLINE_SIZE_SHARE = 0.8;
1167
- function extraWordFindings(format, extra, boxes, copyBoxes, offers) {
1168
- if (extra.length === 0) return [];
1169
- const heights = copyBoxes.map((b) => b.y1 - b.y0).filter((h) => h > 0);
1170
- const smallest = heights.length > 0 ? Math.min(...heights) : 0;
1171
- const boxOf = (chunk) => boxes.find((b) => b.kind === "text" && normalizeCopy(b.text).includes(normalizeCopy(chunk)));
1172
- const height = (chunk) => {
1173
- const box = boxOf(chunk);
1174
- return box === void 0 ? null : box.y1 - box.y0;
1175
- };
1176
- const sorted = [...heights].sort((a, b) => a - b);
1177
- const usual = sorted[Math.floor(sorted.length / 2)] ?? 0;
1178
- const tallest2 = sorted.at(-1) ?? 0;
1179
- const underCopy = extra.filter((chunk) => (height(chunk) ?? 0) < usual * COPY_SIZE_SHARE);
1180
- const scenery = (chunk) => {
1181
- const h = height(chunk);
1182
- return h !== null && h < smallest * SCENE_PRINT_SCALE || underCopy.length >= SCENE_BLOCK_LINES && underCopy.includes(chunk);
1183
- };
1184
- const belowHeadline = (chunk) => (height(chunk) ?? 0) < tallest2 * HEADLINE_SIZE_SHARE;
1185
- const offered = new Set([...offers].map(normalizeCopy));
1186
- const claims = (chunk) => SIGN_CLAIM.test(chunk) || offered.has(normalizeCopy(chunk));
1187
- const printed = (chunk) => usual > 0 && belowHeadline(chunk) && (!claims(chunk) || underCopy.includes(chunk) && scenery(chunk));
1188
- const quote = (chunks) => chunks.map((e) => `"${e}"`).join(", ");
1189
- const asCopy = extra.filter((chunk) => !printed(chunk));
1190
- const prices = extra.filter((chunk) => printed(chunk) && PRICE.test(chunk));
1191
- const inScene = extra.filter((chunk) => printed(chunk) && !prices.includes(chunk));
1192
- return [
1193
- ...asCopy.length > 0 ? [
1194
- {
1195
- severity: "blocking",
1196
- // `static-autofix.ts` EXTRA_WORDS reads this sentence to erase them.
1197
- what: `${format}: the picture adds words that aren't in the copy: ${quote(asCopy)}. Remove them, or add them to the copy.`
1198
- }
1199
- ] : [],
1200
- ...prices.length > 0 ? [
1201
- {
1202
- severity: "blocking",
1203
- // `static-autofix.ts` SCENE_PRICES reads this sentence to blur them.
1204
- what: `${format}: the picture shows prices the copy does not hold: ${quote(prices)}. Make them unreadable.`
1205
- }
1206
- ] : [],
1207
- ...inScene.length > 0 ? [
1208
- {
1209
- severity: "warning",
1210
- what: `${format}: words drawn in the scene, not in the copy: ${quote(inScene)}. Fine if they belong there.`
1211
- }
1212
- ] : []
1213
- ];
1214
- }
1215
- var SAME_PICTURE_BITS = 4;
1216
- function hammingHex(a, b) {
1217
- let bits = 0;
1218
- for (let i = 0; i < Math.min(a.length, b.length); i++) {
1219
- let x = Number.parseInt(a[i] ?? "0", 16) ^ Number.parseInt(b[i] ?? "0", 16);
1220
- while (x) {
1221
- bits += x & 1;
1222
- x >>= 1;
1223
- }
1224
- }
1225
- return bits;
1226
- }
1227
- async function nearIdenticalFindings(current, previous) {
1228
- const hash = async (source) => perceptualHash(await bytesOf(source).catch(() => Buffer.alloc(0)));
1229
- const out = [];
1230
- for (const image of current) {
1231
- const before = previous.find((p) => p.format === image.format);
1232
- if (!before) continue;
1233
- const [a, b] = await Promise.all([hash(image.path), hash(before.path)]);
1234
- if (a === null || b === null || hammingHex(a, b) > SAME_PICTURE_BITS) continue;
1235
- out.push({
1236
- severity: "warning",
1237
- what: `${image.format}: near-identical to the previous attempt: this retry changed nothing. Change what prompt.json asks for, or use a different fix, rather than running it again.`
1238
- });
1239
- }
1240
- return out;
1241
- }
1242
- async function samePictureSizes(current, previous) {
1243
- const digest = async (source) => createHash("sha256").update(await bytesOf(source).catch(() => Buffer.from(source))).digest("hex");
1244
- const same = [];
1245
- for (const image of current) {
1246
- const before = previous.find((p) => p.format === image.format);
1247
- if (before && await digest(image.path) === await digest(before.path)) same.push(image.format);
1248
- }
1249
- return same;
1250
- }
1251
- var AT_EDGE = 0.025;
1252
- var clearanceTo = (b, edge) => edge === "top" ? b.y0 : edge === "bottom" ? 1 - b.y1 : edge === "left" ? b.x0 : 1 - b.x1;
1253
- function measuredBoxes(element, boxes, buttons) {
1254
- if (element === "logo") return boxes.filter((b) => b.kind === "logo");
1255
- if (element === "button") return buttons.flatMap((l) => boxesOfLine(l, boxes));
1256
- return element === "copy" ? boxes.filter((b) => b.kind === "text") : [];
1257
- }
1258
- function corroborateEdgeClaims(findings, boxesByFormat, lines) {
1259
- const buttons = lines.filter((l) => /^(cta|button|call_to_action)$/.test(roleKey(l.role)));
1260
- return findings.map((f) => {
1261
- if (f.severity !== "blocking" || !f.kind || !cutByFrame(f)) return f;
1262
- const format = f.what.match(/^([\d.]+:[\d.]+):/)?.[1];
1263
- const boxes = format ? boxesByFormat[format] : void 0;
1264
- if (!boxes) return f;
1265
- const { element } = f.kind;
1266
- const measured = measuredBoxes(element, boxes, buttons);
1267
- if (measured.length === 0) return f;
1268
- const named = f.kind.edges.length > 0 ? f.kind.edges : ["top", "bottom", "left", "right"];
1269
- const pad = element === "button" ? BUTTON_PAD : 0;
1270
- const atEdge = measured.some((b) => named.some((edge) => clearanceTo(b, edge) - pad * (b.y1 - b.y0) <= AT_EDGE));
1271
- return atEdge ? f : { ...f, severity: "warning" };
1272
- });
1273
- }
1274
- async function bytesOf(source) {
1275
- if (!/^https?:\/\//i.test(source)) return await readFile(source);
1276
- const res = await fetch(source);
1277
- if (!res.ok) throw new Error(`fetch ${res.status}`);
1278
- return Buffer.from(await res.arrayBuffer());
1279
- }
1280
- var THUMBNAIL_WIDTH = 240;
1281
- async function jpegFor(bytes, width) {
1282
- const resized = width ? sharp3(bytes).resize({ width, withoutEnlargement: true }) : sharp3(bytes).resize(1024, 1024, { fit: "inside", withoutEnlargement: true });
1283
- const jpeg = await resized.jpeg({ quality: 85 }).toBuffer();
1284
- return jpeg.toString("base64");
1285
- }
1286
- async function stillOf(source) {
1287
- try {
1288
- return await jpegFor(await bytesOf(source));
1289
- } catch {
1290
- return null;
1291
- }
1292
- }
1293
- async function designedInks(image, lines, boxes) {
1294
- const inks = [];
1295
- for (const line of lines.filter((l) => l.lettering === "designed")) {
1296
- const [box] = boxesOfLine(line, boxes);
1297
- const hex = box ? await inkOf(image, box) : null;
1298
- if (hex) inks.push({ text: line.text, hex });
1299
- }
1300
- return inks;
1301
- }
1302
- function interfaceWord(text, own = []) {
1303
- const read = normalizeCopy(text);
1304
- return crumb(text) || own.some((o) => normalizeCopy(o) === read);
1305
- }
1306
- function crumb(text) {
1307
- return normalizeCopy(text).split(" ").every((w) => w.length <= 2);
1308
- }
1309
- function fragmentOf(chunk, own, opts = {}) {
1310
- const share = opts.share ?? 0.5;
1311
- const words = normalizeCopy(chunk).split(" ").filter((w) => w.length > 1);
1312
- if (words.length === 0) return opts.cut === true;
1313
- return own.some((text) => {
1314
- const theirs = new Set(normalizeCopy(text).split(" "));
1315
- const shared = words.filter(
1316
- (w) => theirs.has(w) || opts.cut === true && [...theirs].some((t) => t.length > w.length && t.includes(w))
1317
- ).length;
1318
- return shared / words.length >= share;
1319
- });
1320
- }
1321
- var OFFER_MADE = 0.35;
1322
- var OFFER_QUESTION = "Does `words` make an offer of its own: something free, a discount, a sale, a promotion, a deal or a price, in whatever language it is written? A sign, a label, a name or a screen's words are not an offer.";
1323
- var offerQuestion = (words) => ({ instructions: { words, question: OFFER_QUESTION } });
1324
- async function offersAmong(chunks, judge) {
1325
- const worded = chunks.filter((c) => new RegExp("\\p{L}", "u").test(c));
1326
- if (worded.length === 0) return /* @__PURE__ */ new Set();
1327
- const judged = await judge(worded);
1328
- return new Set(worded.filter((_, i) => (judged?.[i] ?? 0) >= OFFER_MADE));
1329
- }
1330
- async function checkStaticImage(image, opts) {
1331
- const reading = await (opts.read ?? ((bytes) => readTextBoxes(bytes, { onSpend: opts.onSpend })))(image);
1332
- if (reading.status === "not_checked") return reading;
1333
- const palette = opts.palette ?? [];
1334
- const inks = palette.length > 0 ? await designedInks(image, opts.lines, reading.boxes) : [];
1335
- const boxes = opts.toFrame ? opts.toFrame(reading.boxes) : reading.boxes;
1336
- const offers = await offersAmong(
1337
- textMismatch(opts.lines, boxes, { allowed: opts.allowed }).extra,
1338
- opts.judgeOffers ?? ((chunks) => askJev(chunks.map(offerQuestion), opts.onSpend))
1339
- );
1340
- const findings = measuredFindings({
1341
- format: opts.format,
1342
- boxes,
1343
- lines: opts.lines,
1344
- ...opts.allowed ? { allowed: opts.allowed } : {},
1345
- ...opts.logoWords ? { logoWords: opts.logoWords } : {},
1346
- ...opts.adapted ? { adapted: true } : {},
1347
- ...opts.expectLogo ? { expectLogo: true } : {},
1348
- ...opts.native ? { native: true } : {},
1349
- ...opts.placements ? { placements: opts.placements } : {},
1350
- ...opts.band ? { band: opts.band } : {},
1351
- offBrand: offBrandInks(inks, palette),
1352
- offers,
1353
- cited: opts.cited ?? await citedPlatforms(
1354
- opts.lines.map((l) => l.text),
1355
- opts.judgeCitations ?? jevCitationJudge(opts.onSpend)
1356
- )
1357
- });
1358
- return { status: "checked", findings, boxes };
1359
- }
1360
- async function loadDelivered(images) {
1361
- const measured = [];
1362
- const originals = [];
1363
- const stills = [];
1364
- const thumbs = [];
1365
- for (const image of images) {
1366
- try {
1367
- const bytes = await bytesOf(image.path);
1368
- const meta = await sharp3(bytes).metadata();
1369
- const still = await jpegFor(bytes);
1370
- const thumb = await jpegFor(bytes, THUMBNAIL_WIDTH);
1371
- measured.push({ format: image.format, width: meta.width ?? 0, height: meta.height ?? 0 });
1372
- originals.push(bytes);
1373
- stills.push(still);
1374
- thumbs.push(thumb);
1375
- } catch {
1376
- }
1377
- }
1378
- return { measured, originals, stills, thumbs };
1379
- }
1380
- function unreviewed(shape, measured) {
1381
- const known = [...shape, ...measured];
1382
- if (known.some((f) => f.severity === "blocking")) return known;
1383
- return shape.length > 0 ? shape : null;
1384
- }
1385
- function reviewPromptOpts(opts, formats, read, referenceShown) {
1386
- return {
1387
- copy: opts.copy,
1388
- formats,
1389
- brand: opts.brand,
1390
- logo: opts.logo,
1391
- thumbnails: !read,
1392
- mechanisms: opts.mechanisms,
1393
- viewer: opts.viewer,
1394
- ...referenceShown && opts.concept ? {
1395
- concept: {
1396
- mustKeep: opts.concept.mustKeep,
1397
- ...opts.concept.idea ? { idea: opts.concept.idea } : {},
1398
- ...opts.concept.vital?.length ? { vital: opts.concept.vital } : {}
1399
- }
1400
- } : {},
1401
- ...opts.native ? { native: opts.native } : {},
1402
- measured: read,
1403
- ...opts.uncastPeople && opts.uncastPeople.length > 0 ? { uncastPeople: opts.uncastPeople } : {},
1404
- ...opts.castsNobody ? { castsNobody: true } : {}
1405
- };
1406
- }
1407
- function scrolledOff(checks, gone) {
1408
- return {
1409
- ...checks,
1410
- lines: checks.lines.filter((l) => !gone.includes(l.text)),
1411
- allowed: [...checks.allowed ?? [], ...gone]
1412
- };
1413
- }
1414
- function everySizeChecks(opts) {
1415
- const logoWords = [...opts.brand ? [opts.brand] : [], ...opts.lockup ?? []];
1416
- return {
1417
- allowed: [...logoWords, ...opts.sceneText ?? []],
1418
- logoWords,
1419
- ...opts.expectLogo ? { expectLogo: true } : {},
1420
- ...opts.native ? { native: true } : {},
1421
- ...opts.placements ? { placements: opts.placements } : {},
1422
- ...opts.palette ? { palette: opts.palette } : {},
1423
- onSpend: opts.onSpend
1424
- };
1425
- }
1426
- async function reviewRenderedStatic(opts) {
1427
- const { measured, originals, stills, thumbs } = await loadDelivered(opts.images);
1428
- if (measured.length === 0) return null;
1429
- const ruling = rulesChecked(
1430
- stills,
1431
- measured.map((m) => m.format),
1432
- opts.rules ?? [],
1433
- opts.onSpend
1434
- );
1435
- const reference = opts.concept ? await stillOf(opts.concept.reference) : null;
1436
- const shape = ratioFindings(measured);
1437
- const formats = measured.map((m) => m.format);
1438
- const lines = opts.lines ?? opts.copy.map((text2) => ({ text: text2, lettering: "designed" }));
1439
- const every = { lines, ...everySizeChecks(opts) };
1440
- const ask = (measuredRead) => {
1441
- const prompt = buildStaticReviewPrompt(reviewPromptOpts(opts, formats, measuredRead, reference !== null));
1442
- const shown = [...measuredRead ? stills : [...stills, ...thumbs], ...reference ? [reference] : []];
1443
- return askAboutStills(shown, prompt, opts.onSpend);
1444
- };
1445
- const asking = ask(true);
1446
- const cited = await citedPlatforms(
1447
- lines.map((l) => l.text),
1448
- jevCitationJudge(opts.onSpend)
1449
- );
1450
- const checks = await Promise.all(
1451
- originals.map(
1452
- (bytes, i) => checkStaticImage(bytes, {
1453
- ...scrolledOff(every, opts.scrolled?.[formats[i] ?? ""] ?? []),
1454
- format: formats[i] ?? "",
1455
- adapted: opts.masterFormat !== void 0 && formats[i] !== opts.masterFormat,
1456
- cited
1457
- })
1458
- )
1459
- );
1460
- const read = checks.every((c) => c.status === "checked");
1461
- const measuredText = read ? checks.flatMap((c) => c.status === "checked" ? c.findings : []) : [];
1462
- if (!read) void asking.catch(() => null);
1463
- const first = read ? await asking : null;
1464
- const answer = first ?? await ask(read);
1465
- const ruled = await ruling;
1466
- if (answer === null) return unreviewed(shape, [...measuredText, ...ruled]);
1467
- const text = read ? measuredText : copyFindings(answer, opts.copy, formats, opts.scrolled);
1468
- const boxesByFormat = read ? Object.fromEntries(checks.flatMap((c, i) => c.status === "checked" ? [[formats[i] ?? "", c.boxes]] : [])) : {};
1469
- const judged = corroborateEdgeClaims(classifyStaticFindings(answer), boxesByFormat, lines);
1470
- const confirmed = await confirmBlocking(
1471
- judged,
1472
- stills,
1473
- formats,
1474
- (images, prompt) => askAboutStills(images, prompt, opts.onSpend)
1475
- );
1476
- const vital = reference && opts.concept?.vital ? vitalFindings(answer, opts.concept.vital, formats) : [];
1477
- return [...shape, ...text, ...confirmed, ...vital, ...ruled];
1478
- }
1479
- async function rulesChecked(stills, formats, rules, onSpend) {
1480
- if (reviewedRules(rules).length === 0) return [];
1481
- const found = await reviewAgainstRules({ stills, formats, rules, ...onSpend ? { onSpend } : {} }).catch(() => null);
1482
- return found ?? [
1483
- {
1484
- severity: "warning",
1485
- what: "The finished ad was not checked against the company's rules (the model did not answer): read it against `rules` in the brief yourself."
1486
- }
1487
- ];
1488
- }
1489
-
1490
- export {
1491
- staticSafeArea,
1492
- videoSafeArea,
1493
- safeRectPx,
1494
- blockingArea,
1495
- blockingPlacements,
1496
- nativeLayoutInsets,
1497
- FRAME_CUT,
1498
- bandViolations,
1499
- normalizeCopy,
1500
- textMismatch,
1501
- roleKey,
1502
- withWordmark,
1503
- boxesOfLine,
1504
- headlineBox,
1505
- isButtonLine,
1506
- buttonShape,
1507
- shownBoxes,
1508
- readTextBoxes,
1509
- parseJudgeScores,
1510
- judgeWinner,
1511
- staticVerdict,
1512
- nearIdenticalFindings,
1513
- samePictureSizes,
1514
- bytesOf,
1515
- checkStaticImage,
1516
- reviewRenderedStatic
1517
- };
1518
- //# sourceMappingURL=chunk-OQ4PTNNH.js.map