@koda-sl/baker-cli 0.493.0 → 0.495.0-dev.6b9c22aff

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 (862) hide show
  1. package/README.md +6 -2
  2. package/dist/account-CJGLH2OL.js +80 -0
  3. package/dist/account-UTFFCFNW.js +79 -0
  4. package/dist/account-reads-SOTNVUM6.js +218 -0
  5. package/dist/account-users-FUJVP4UG.js +61 -0
  6. package/dist/account-users-FUJVP4UG.js.map +1 -0
  7. package/dist/account-writes-OE5FKALN.js +66 -0
  8. package/dist/accounts-OY4DII7M.js +611 -0
  9. package/dist/accounts-XUMRFVLY.js +77 -0
  10. package/dist/actions-KYKLFVUI.js +55 -0
  11. package/dist/activecampaign-P6RO7B2Q.js +935 -0
  12. package/dist/ad-group-writes-343HA4ZG.js +170 -0
  13. package/dist/ad-groups-YMU6ATTW.js +68 -0
  14. package/dist/ad-writes-MINKG33L.js +174 -0
  15. package/dist/add-34QTAS7S.js +104 -0
  16. package/dist/add-3IZ3Z2PX.js +302 -0
  17. package/dist/ads-JRZVJFXS.js +40 -0
  18. package/dist/ads-QOXCMKZ2.js +77 -0
  19. package/dist/advertisers-G2UUCWA7.js +120 -0
  20. package/dist/analytics-CKF7HTWT.js +433 -0
  21. package/dist/analytics-FO4EDDQW.js +1976 -0
  22. package/dist/animate-K3MJ3GW4.js +480 -0
  23. package/dist/assign-76E76PJY.js +77 -0
  24. package/dist/audience-size-IGDEX4XR.js +73 -0
  25. package/dist/audiences-4GRCVFZN.js +268 -0
  26. package/dist/audit-LPSYEY4S.js +151 -0
  27. package/dist/autocomplete-G7MSIJQL.js +111 -0
  28. package/dist/avatars-BF7VWGPH.js +38 -0
  29. package/dist/bid-pricing-EAZHVAMJ.js +100 -0
  30. package/dist/brand-WQI4NV3H.js +22 -0
  31. package/dist/brief-DVFCPBR3.js +538 -0
  32. package/dist/campaign-groups-LCTAUXTU.js +96 -0
  33. package/dist/campaign-groups-LCTAUXTU.js.map +1 -0
  34. package/dist/campaign-writes-ECPSPFAB.js +165 -0
  35. package/dist/campaign-writes-EZEJNO3O.js +170 -0
  36. package/dist/campaigns-7S35PC44.js +76 -0
  37. package/dist/campaigns-MVLKQWX2.js +110 -0
  38. package/dist/campaigns-MVLKQWX2.js.map +1 -0
  39. package/dist/campaigns-R3EUC5Y2.js +107 -0
  40. package/dist/canvas-Y3DKVETP.js +46 -0
  41. package/dist/capabilities-OBP5PDRK.js +144 -0
  42. package/dist/catalog-SZS2JCLN.js +65 -0
  43. package/dist/catalogs-LEABW6AS.js +128 -0
  44. package/dist/changes-4EDY3RNX.js +135 -0
  45. package/dist/chatgpt-JOAEGWCB.js +47 -0
  46. package/dist/chats-KE7FNWKF.js +276 -0
  47. package/dist/check-XHK2HVD2.js +104 -0
  48. package/dist/chunk-22HH46DF.js +122 -0
  49. package/dist/chunk-2VWWLUDJ.js +23 -0
  50. package/dist/chunk-2WBRRYSS.js +197 -0
  51. package/dist/chunk-2XH7GKCO.js +156 -0
  52. package/dist/chunk-3LMAPV6P.js +942 -0
  53. package/dist/chunk-3LZM5MWM.js +57 -0
  54. package/dist/chunk-4ARHIC23.js +392 -0
  55. package/dist/chunk-5KEQXSCN.js +1919 -0
  56. package/dist/chunk-5PMEMWKS.js +665 -0
  57. package/dist/chunk-64BRPYJD.js +225 -0
  58. package/dist/chunk-6DQDZIBL.js +363 -0
  59. package/dist/chunk-6H64SENZ.js +285 -0
  60. package/dist/chunk-6KGLAMPV.js +167 -0
  61. package/dist/chunk-6OIKNJ7G.js +26 -0
  62. package/dist/chunk-6VIHWBOD.js +1606 -0
  63. package/dist/chunk-74BP3JIV.js +275 -0
  64. package/dist/chunk-7AWSJ6Z5.js +66 -0
  65. package/dist/chunk-7IVY55AU.js +903 -0
  66. package/dist/chunk-7POQSUPH.js +455 -0
  67. package/dist/chunk-7RCNWRKK.js +206 -0
  68. package/dist/chunk-ABEIEHOV.js +131 -0
  69. package/dist/chunk-AREUZGX7.js +344 -0
  70. package/dist/chunk-CNFFNE4L.js +274 -0
  71. package/dist/chunk-CORXHFKY.js +433 -0
  72. package/dist/chunk-D3SHD4KA.js +399 -0
  73. package/dist/chunk-DD3C6TSW.js +61 -0
  74. package/dist/chunk-DQU2GVU7.js +51 -0
  75. package/dist/chunk-ECHVJII5.js +97 -0
  76. package/dist/chunk-EFWXYUSK.js +139 -0
  77. package/dist/chunk-F3CZFUXZ.js +3187 -0
  78. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  79. package/dist/chunk-F4KWLFCC.js +103 -0
  80. package/dist/chunk-FL2KIDPV.js +494 -0
  81. package/dist/chunk-FL2KIDPV.js.map +1 -0
  82. package/dist/chunk-FT7RYWOL.js +160 -0
  83. package/dist/chunk-HPIKZPTU.js +297 -0
  84. package/dist/chunk-HUPHZ35H.js +547 -0
  85. package/dist/chunk-JGM4WGC2.js +6704 -0
  86. package/dist/chunk-JGM4WGC2.js.map +1 -0
  87. package/dist/chunk-JMW3AVN7.js +346 -0
  88. package/dist/chunk-JMW3AVN7.js.map +1 -0
  89. package/dist/chunk-JQHLF74O.js +8939 -0
  90. package/dist/chunk-K2TOE6XL.js +142 -0
  91. package/dist/chunk-KI6TENTW.js +5368 -0
  92. package/dist/chunk-LMYCLUY2.js +8914 -0
  93. package/dist/chunk-LQR4CKYW.js +191 -0
  94. package/dist/chunk-LRFNUCHV.js +89 -0
  95. package/dist/chunk-M2D7ZWEU.js +150 -0
  96. package/dist/chunk-ML7GGHTU.js +592 -0
  97. package/dist/chunk-MMUGSEF4.js +23992 -0
  98. package/dist/chunk-MMUGSEF4.js.map +1 -0
  99. package/dist/chunk-MYSLMKTG.js +604 -0
  100. package/dist/chunk-NAA4CKZZ.js +4249 -0
  101. package/dist/chunk-NAA4CKZZ.js.map +1 -0
  102. package/dist/chunk-NDKLPDZ3.js +1079 -0
  103. package/dist/chunk-OUQSDUVI.js +831 -0
  104. package/dist/chunk-PFPUPR3H.js +91 -0
  105. package/dist/chunk-PGD7USOH.js +207 -0
  106. package/dist/chunk-QKT7W5JP.js +98 -0
  107. package/dist/chunk-QU4XX5Z7.js +169 -0
  108. package/dist/chunk-R3OXH3ML.js +148 -0
  109. package/dist/chunk-RNQMXS7G.js +172 -0
  110. package/dist/chunk-SEMNRIOR.js +19 -0
  111. package/dist/chunk-SHBFBQYT.js +846 -0
  112. package/dist/chunk-SIKCVWM3.js +76 -0
  113. package/dist/chunk-UJPURLUZ.js +3868 -0
  114. package/dist/chunk-UM7NJIOU.js +64 -0
  115. package/dist/chunk-V57TZQPI.js +228 -0
  116. package/dist/chunk-WXKSUL4U.js +224 -0
  117. package/dist/chunk-YJRZVGES.js +1518 -0
  118. package/dist/chunk-YQICNXIA.js +249 -0
  119. package/dist/chunk-YTF2MI3E.js +627 -0
  120. package/dist/chunk-YYPWVQZQ.js +843 -0
  121. package/dist/chunk-Z7BQGWKG.js +46 -0
  122. package/dist/chunk-ZXSXRSFX.js +159 -0
  123. package/dist/claim-W2ZV4SH3.js +197 -0
  124. package/dist/cli.js +34 -34
  125. package/dist/companies-ITK3W3H6.js +195 -0
  126. package/dist/complete-RYEVEF3S.js +81 -0
  127. package/dist/connect-FFFNSJ2O.js +42 -0
  128. package/dist/conversation-KKJNQRFB.js +93 -0
  129. package/dist/conversion-report-PLQ4MVJR.js +125 -0
  130. package/dist/conversion-upload-command-Z7F6NQH4.js +438 -0
  131. package/dist/conversion-writes-VNOXZ4NR.js +120 -0
  132. package/dist/conversions-KHAXFD3Z.js +137 -0
  133. package/dist/conversions-KHAXFD3Z.js.map +1 -0
  134. package/dist/conversions-KPIFDO2R.js +76 -0
  135. package/dist/create-3R6Q2E2M.js +59 -0
  136. package/dist/create-A3R7YRT3.js +235 -0
  137. package/dist/create-TYWQP57A.js +207 -0
  138. package/dist/create-UUEWQUPT.js +132 -0
  139. package/dist/creatives-EEDDL3VG.js +220 -0
  140. package/dist/creatives-EEDDL3VG.js.map +1 -0
  141. package/dist/creatives-UK4VITNW.js +58 -0
  142. package/dist/credentials-A65GYH4D.js +287 -0
  143. package/dist/critique-46O4VVPM.js +1458 -0
  144. package/dist/critique-RPRMG2ZC.js +227 -0
  145. package/dist/crm-2WYW3D22.js +224 -0
  146. package/dist/crm-PQ24MNIU.js +318 -0
  147. package/dist/currency-Q3HCK447.js +88 -0
  148. package/dist/customers-YTQ7IQ5C.js +56 -0
  149. package/dist/delete-BBISJTFG.js +54 -0
  150. package/dist/delete-PQ4NUNLX.js +66 -0
  151. package/dist/delete-TBW6TJ6A.js +64 -0
  152. package/dist/demographics-EVP55FT3.js +138 -0
  153. package/dist/discard-LPJA4DEY.js +66 -0
  154. package/dist/discover-3G6CE7X3.js +172 -0
  155. package/dist/domain-5MM7V7JD.js +98 -0
  156. package/dist/draft-34D5MOKA.js +217 -0
  157. package/dist/draft-A6M562M4.js +307 -0
  158. package/dist/draft-A6M562M4.js.map +1 -0
  159. package/dist/draft-EGS7UFF3.js +281 -0
  160. package/dist/draft-J6GJXZRX.js +307 -0
  161. package/dist/draft-K3O7Q3A5.js +332 -0
  162. package/dist/engine/index.js +7 -7
  163. package/dist/experiment-7RJ5X2LL.js +1397 -0
  164. package/dist/experiments-HERTVBYK.js +233 -0
  165. package/dist/experiments-HERTVBYK.js.map +1 -0
  166. package/dist/facets-RUZKALF3.js +114 -0
  167. package/dist/feedback-S5LHJYZD.js +106 -0
  168. package/dist/feedback-record-GAM2R5GG.js +260 -0
  169. package/dist/fetch-FA6TR66Y.js +176 -0
  170. package/dist/find-2EPXK5RF.js +134 -0
  171. package/dist/fit-MOMO4AXL.js +62 -0
  172. package/dist/flows-DMMCSBWY.js +247 -0
  173. package/dist/fonts-G4JLXWX2.js +36 -0
  174. package/dist/forecast-OOP4K5DE.js +118 -0
  175. package/dist/forecast-V65WS5QG.js +168 -0
  176. package/dist/funnel-SEQPUM3X.js +394 -0
  177. package/dist/ga4-6EIQC2TG.js +55 -0
  178. package/dist/generate-IDDQD5FU.js +263 -0
  179. package/dist/get-DEOZMGOQ.js +56 -0
  180. package/dist/get-SEJINVOS.js +79 -0
  181. package/dist/google-7L3FWKPJ.js +3265 -0
  182. package/dist/google-O5OI6QFU.js +136 -0
  183. package/dist/google-ads-MIGWMCWY.js +195 -0
  184. package/dist/gsc-BM3T2GDL.js +30 -0
  185. package/dist/history-IBWXCDCB.js +133 -0
  186. package/dist/history-Z5577FPQ.js +67 -0
  187. package/dist/hubspot-6AZKUX72.js +779 -0
  188. package/dist/icon-B7DG53S5.js +137 -0
  189. package/dist/ideas-AX7S3NCG.js +40 -0
  190. package/dist/images-632SXTB5.js +92 -0
  191. package/dist/ingest-HS55RVKH.js +23 -0
  192. package/dist/ingest-T3OK3DRG.js +107 -0
  193. package/dist/insights-UDX66IMV.js +122 -0
  194. package/dist/inspect-D6ZIUBH3.js +189 -0
  195. package/dist/inspiration-TCCKM4R7.js +53 -0
  196. package/dist/intent-3WTKKTUX.js +95 -0
  197. package/dist/keyword-gap-7GESZXY2.js +130 -0
  198. package/dist/keyword-metrics-J43MV3RQ.js +197 -0
  199. package/dist/keywords-for-site-6YKCTFJZ.js +128 -0
  200. package/dist/landing-Y7DI2FUT.js +28 -0
  201. package/dist/languages-LSKNZI2A.js +40 -0
  202. package/dist/leads-R3WBKADF.js +112 -0
  203. package/dist/leads-R3WBKADF.js.map +1 -0
  204. package/dist/learn-M4UHA476.js +204 -0
  205. package/dist/line-item-writes-F2OPBMIE.js +208 -0
  206. package/dist/line-items-YJ3DLV2U.js +103 -0
  207. package/dist/link-RZKYW22K.js +64 -0
  208. package/dist/linkedin-JYZOPU7A.js +1299 -0
  209. package/dist/linkedin-JYZOPU7A.js.map +1 -0
  210. package/dist/list-NPJ34244.js +151 -0
  211. package/dist/list-WTVBOTA4.js +64 -0
  212. package/dist/list-XK5CHKYJ.js +303 -0
  213. package/dist/locations-DSDCNP5Z.js +40 -0
  214. package/dist/locations-SFZN4MYW.js +67 -0
  215. package/dist/log-K4FWHXIM.js +92 -0
  216. package/dist/logo-QTSBKP2J.js +18 -0
  217. package/dist/make-VQDUKVPB.js +1353 -0
  218. package/dist/map-Z3MEM6QX.js +433 -0
  219. package/dist/mcp-KJOSR534.js +714 -0
  220. package/dist/media-sources-44HTWIY3.js +32 -0
  221. package/dist/members-HGU22NL3.js +44 -0
  222. package/dist/metrics-OV2EKPJ6.js +152 -0
  223. package/dist/models-NGAUD6QJ.js +155 -0
  224. package/dist/normalize-IUPOHEZJ.js +141 -0
  225. package/dist/options-TL5TPGHK.js +122 -0
  226. package/dist/organization-3ORT4474.js +946 -0
  227. package/dist/organization-3ORT4474.js.map +1 -0
  228. package/dist/performance-PCZHQCZ5.js +24 -0
  229. package/dist/pixels-GHEAK62X.js +60 -0
  230. package/dist/promoted-tweet-writes-O4RTZFSI.js +180 -0
  231. package/dist/promoted-tweets-AWP6MGJI.js +119 -0
  232. package/dist/publish-PODZKJHW.js +341 -0
  233. package/dist/query-FUSR27T4.js +61 -0
  234. package/dist/reddit-UNUNWSNR.js +26 -0
  235. package/dist/refresh-34UO2LXY.js +94 -0
  236. package/dist/release-BD3EAD75.js +60 -0
  237. package/dist/relevant-pages-FNKYR2OG.js +99 -0
  238. package/dist/remove-YQYSQCWI.js +50 -0
  239. package/dist/reopen-MULNJOR5.js +63 -0
  240. package/dist/rerun-6YGYJPM7.js +90 -0
  241. package/dist/research-6WEL3USW.js +62 -0
  242. package/dist/research-OBECRSPL.js +262 -0
  243. package/dist/reset-5TTLZ43U.js +54 -0
  244. package/dist/reset-PRTK6YUD.js +54 -0
  245. package/dist/resolve-6RM63T55.js +121 -0
  246. package/dist/retry-XYTVP7BV.js +60 -0
  247. package/dist/retry-Z3C624JW.js +62 -0
  248. package/dist/revenue-VSH6KXCV.js +88 -0
  249. package/dist/revenue-VSH6KXCV.js.map +1 -0
  250. package/dist/rules-AUAJUM2T.js +96 -0
  251. package/dist/rules-add-7VFGPGZ7.js +462 -0
  252. package/dist/run-S3SVCTIB.js +65 -0
  253. package/dist/run-YA5RCRIX.js +66 -0
  254. package/dist/scaffold-ad-2KQULVJU.js +1511 -0
  255. package/dist/scaffold-static-ad-S46QADGV.js +1005 -0
  256. package/dist/scaffold-video-ZMHI2JDU.js +883 -0
  257. package/dist/schedule-FT6P3EKG.js +61 -0
  258. package/dist/scheduled-agents-L7K4QWMD.js +50 -0
  259. package/dist/schema-CH654RZB.js +132 -0
  260. package/dist/search-YKYB2P2M.js +174 -0
  261. package/dist/select-PM7JUDQY.js +101 -0
  262. package/dist/set-prompt-VATAT7H6.js +193 -0
  263. package/dist/setup-links-TM3NCVU7.js +141 -0
  264. package/dist/site-ATAXCWXS.js +177 -0
  265. package/dist/sources-N5RKYKFS.js +30 -0
  266. package/dist/sources-V544MB26.js +454 -0
  267. package/dist/stale-RNEYXKFX.js +71 -0
  268. package/dist/stats-CVF6AC7R.js +34 -0
  269. package/dist/status-DPTFOJVV.js +62 -0
  270. package/dist/stock-4LPQ6SM7.js +179 -0
  271. package/dist/studio-NZ3NA4L4.js +49 -0
  272. package/dist/sync-UBLCCOQZ.js +54 -0
  273. package/dist/sync-definition-RXRSI2LT.js +64 -0
  274. package/dist/tag-manager-FLXXLNKP.js +43 -0
  275. package/dist/tags-2D4AN2QB.js +224 -0
  276. package/dist/tags-5OM2VN3Q.js +26 -0
  277. package/dist/tags-CJWSUBCD.js +20 -0
  278. package/dist/tags-MHKZW2JN.js +20 -0
  279. package/dist/tags-Z6AH7FDT.js +20 -0
  280. package/dist/targeting-criteria-RSAN4KW5.js +113 -0
  281. package/dist/targets-EER2G4WH.js +103 -0
  282. package/dist/testimonials-4WJKAZ5S.js +32 -0
  283. package/dist/themes-XUALHDHR.js +94 -0
  284. package/dist/top-companies-BSOYGMIB.js +108 -0
  285. package/dist/translate-2XRHDWSC.js +604 -0
  286. package/dist/triggers-NU6BQ5NJ.js +142 -0
  287. package/dist/unlink-LQGPZND2.js +67 -0
  288. package/dist/unstage-GDKW56MH.js +85 -0
  289. package/dist/update-43QN723C.js +63 -0
  290. package/dist/update-6CAZKFTC.js +188 -0
  291. package/dist/update-EGOWYBEH.js +152 -0
  292. package/dist/update-QRGEMNBY.js +98 -0
  293. package/dist/upload-LIHRXWUY.js +126 -0
  294. package/dist/url-options-JXL4W7TB.js +130 -0
  295. package/dist/url-params-YXRZ4TUD.js +98 -0
  296. package/dist/validate-KO3MEJUZ.js +117 -0
  297. package/dist/videos-BPJ34YZL.js +39 -0
  298. package/dist/viewer-check-SA5AUQ26.js +80 -0
  299. package/dist/web-KS47ZHXX.js +140 -0
  300. package/dist/winning-ads-LE2ALICG.js +86 -0
  301. package/dist/write-commands-PPR7G4UN.js +1453 -0
  302. package/dist/write-commands-PPR7G4UN.js.map +1 -0
  303. package/dist/x-DZGRJQ7Y.js +47 -0
  304. package/package.json +1 -1
  305. package/dist/account-EF6OPUJT.js +0 -80
  306. package/dist/account-UHNR5KTE.js +0 -79
  307. package/dist/account-reads-CDZ3EL5D.js +0 -218
  308. package/dist/account-writes-VWU4FRGQ.js +0 -66
  309. package/dist/accounts-KMLXHADA.js +0 -77
  310. package/dist/accounts-QDGNTSTV.js +0 -611
  311. package/dist/actions-QL5UD2W4.js +0 -55
  312. package/dist/activecampaign-5OD45ROS.js +0 -935
  313. package/dist/ad-group-writes-ID6I3QUZ.js +0 -170
  314. package/dist/ad-groups-M7CV6NTH.js +0 -68
  315. package/dist/ad-writes-TSOAZYRE.js +0 -174
  316. package/dist/add-6K6LO7CM.js +0 -104
  317. package/dist/add-LYDJZDGO.js +0 -302
  318. package/dist/ads-CGLO73MH.js +0 -77
  319. package/dist/ads-DHPJFU52.js +0 -40
  320. package/dist/advertisers-23LU7GTV.js +0 -120
  321. package/dist/analytics-DVD4OBBR.js +0 -1976
  322. package/dist/analytics-HO2SLL4W.js +0 -433
  323. package/dist/animate-RGZWDZG2.js +0 -480
  324. package/dist/assign-CLKJKH2B.js +0 -77
  325. package/dist/audience-size-NNYYXODL.js +0 -73
  326. package/dist/audiences-WXIP5PJH.js +0 -268
  327. package/dist/audit-KB4P2XGS.js +0 -151
  328. package/dist/autocomplete-VZD2SMTE.js +0 -111
  329. package/dist/avatars-FKOO6VZ2.js +0 -38
  330. package/dist/bid-pricing-6LLXOLLI.js +0 -100
  331. package/dist/brand-OFCRZAKJ.js +0 -22
  332. package/dist/brief-CPJQWT6W.js +0 -538
  333. package/dist/campaign-groups-YPYNXOWU.js +0 -95
  334. package/dist/campaign-groups-YPYNXOWU.js.map +0 -1
  335. package/dist/campaign-writes-UJ4L2O6G.js +0 -165
  336. package/dist/campaign-writes-W5IL6ZGB.js +0 -170
  337. package/dist/campaigns-FLTPD66X.js +0 -76
  338. package/dist/campaigns-HLBZRH5A.js +0 -107
  339. package/dist/campaigns-N44ZDGB5.js +0 -109
  340. package/dist/campaigns-N44ZDGB5.js.map +0 -1
  341. package/dist/canvas-36SGP5VZ.js +0 -46
  342. package/dist/capabilities-LWXCWMIY.js +0 -144
  343. package/dist/catalog-ZDLQAODO.js +0 -65
  344. package/dist/catalogs-26VXVUST.js +0 -128
  345. package/dist/changes-SX2N5KIO.js +0 -135
  346. package/dist/chatgpt-YI6YNACI.js +0 -47
  347. package/dist/chats-7WGC2CVW.js +0 -276
  348. package/dist/check-EH6BXWWL.js +0 -104
  349. package/dist/chunk-2B772ZEA.js +0 -169
  350. package/dist/chunk-2KRK667G.js +0 -51
  351. package/dist/chunk-2TVXJPGR.js +0 -103
  352. package/dist/chunk-3AMLOCXY.js +0 -392
  353. package/dist/chunk-3N5A44NQ.js +0 -122
  354. package/dist/chunk-3S274625.js +0 -131
  355. package/dist/chunk-3WAYZQNV.js +0 -61
  356. package/dist/chunk-56PLT3KK.js +0 -494
  357. package/dist/chunk-56PLT3KK.js.map +0 -1
  358. package/dist/chunk-5A257KJA.js +0 -160
  359. package/dist/chunk-6QGS3RQP.js +0 -363
  360. package/dist/chunk-7KHTJQGV.js +0 -1518
  361. package/dist/chunk-A3DKSAEL.js +0 -1606
  362. package/dist/chunk-A4DZ5L3T.js +0 -665
  363. package/dist/chunk-ACDLKTUP.js +0 -23992
  364. package/dist/chunk-ACDLKTUP.js.map +0 -1
  365. package/dist/chunk-AW2GKIGS.js +0 -433
  366. package/dist/chunk-B7GF34FU.js +0 -8914
  367. package/dist/chunk-BDYLILMW.js +0 -150
  368. package/dist/chunk-DAO63OOP.js +0 -6352
  369. package/dist/chunk-DAO63OOP.js.map +0 -1
  370. package/dist/chunk-EJ4QCMM6.js +0 -285
  371. package/dist/chunk-EMQUW6JB.js +0 -942
  372. package/dist/chunk-EW3JEKIV.js +0 -139
  373. package/dist/chunk-F377KYIM.js +0 -274
  374. package/dist/chunk-FBFWMTOP.js +0 -19
  375. package/dist/chunk-FCM6VPFP.js +0 -98
  376. package/dist/chunk-FKYPAGKK.js +0 -1919
  377. package/dist/chunk-GXGYTFZA.js +0 -8939
  378. package/dist/chunk-I7J7YQXZ.js +0 -142
  379. package/dist/chunk-IBY44U2M.js +0 -1079
  380. package/dist/chunk-IFXGCI33.js +0 -297
  381. package/dist/chunk-IKLHXGMF.js +0 -91
  382. package/dist/chunk-IYTPWAN3.js +0 -604
  383. package/dist/chunk-J3CWAERS.js +0 -3868
  384. package/dist/chunk-JAC6JVCI.js +0 -26
  385. package/dist/chunk-JH2L5CQD.js +0 -206
  386. package/dist/chunk-JUVVCA7B.js +0 -97
  387. package/dist/chunk-MCJ5I5LR.js +0 -3187
  388. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  389. package/dist/chunk-MK6XJUCQ.js +0 -197
  390. package/dist/chunk-MOFMOYUA.js +0 -148
  391. package/dist/chunk-MZPS46OR.js +0 -76
  392. package/dist/chunk-N3I6ZXR7.js +0 -66
  393. package/dist/chunk-NBO2NSAW.js +0 -592
  394. package/dist/chunk-NEU5QD2C.js +0 -249
  395. package/dist/chunk-NKIBXOHT.js +0 -344
  396. package/dist/chunk-NZKBW4YB.js +0 -846
  397. package/dist/chunk-OE3MIV4F.js +0 -547
  398. package/dist/chunk-OL7JS4NG.js +0 -5368
  399. package/dist/chunk-P2MFWJR3.js +0 -903
  400. package/dist/chunk-PHCIFBP3.js +0 -89
  401. package/dist/chunk-PTUXBO5O.js +0 -224
  402. package/dist/chunk-Q3LXLWZY.js +0 -275
  403. package/dist/chunk-Q5WBTVA7.js +0 -455
  404. package/dist/chunk-QMOYQJIN.js +0 -46
  405. package/dist/chunk-QRLTVJ6F.js +0 -167
  406. package/dist/chunk-RDEAVCMF.js +0 -399
  407. package/dist/chunk-RGMKXNQP.js +0 -23
  408. package/dist/chunk-RJZS4XDJ.js +0 -64
  409. package/dist/chunk-RZTKCCUL.js +0 -831
  410. package/dist/chunk-S4VLLGTW.js +0 -843
  411. package/dist/chunk-SVM3DGAQ.js +0 -228
  412. package/dist/chunk-TTKBNBQF.js +0 -156
  413. package/dist/chunk-VB3XUR6A.js +0 -207
  414. package/dist/chunk-WTJSMYY2.js +0 -4249
  415. package/dist/chunk-WTJSMYY2.js.map +0 -1
  416. package/dist/chunk-XCKINS7K.js +0 -57
  417. package/dist/chunk-Y46FE75E.js +0 -627
  418. package/dist/chunk-Y6GKV7CU.js +0 -346
  419. package/dist/chunk-Y6GKV7CU.js.map +0 -1
  420. package/dist/chunk-Z2GQREJY.js +0 -159
  421. package/dist/chunk-ZA7OQLDJ.js +0 -225
  422. package/dist/chunk-ZDAVSTEE.js +0 -172
  423. package/dist/chunk-ZXCSOVS5.js +0 -191
  424. package/dist/claim-SVDCQ2AI.js +0 -197
  425. package/dist/companies-BYMYQK6A.js +0 -195
  426. package/dist/complete-NEH3MWRI.js +0 -81
  427. package/dist/connect-5PGL7ZOM.js +0 -42
  428. package/dist/conversation-CSOKJXDW.js +0 -93
  429. package/dist/conversion-report-7JJ5L6WH.js +0 -125
  430. package/dist/conversion-upload-command-UO2QWG3J.js +0 -438
  431. package/dist/conversion-writes-GIGAZT4T.js +0 -120
  432. package/dist/conversions-4JOTTFEH.js +0 -135
  433. package/dist/conversions-4JOTTFEH.js.map +0 -1
  434. package/dist/conversions-CIJZLGII.js +0 -76
  435. package/dist/create-2XYMBULY.js +0 -207
  436. package/dist/create-56PTZABQ.js +0 -235
  437. package/dist/create-D6S6TGWY.js +0 -59
  438. package/dist/create-SMW4O5PC.js +0 -132
  439. package/dist/creatives-OO76DAFS.js +0 -58
  440. package/dist/creatives-VJUYWJL6.js +0 -182
  441. package/dist/creatives-VJUYWJL6.js.map +0 -1
  442. package/dist/credentials-2ONYUJW6.js +0 -287
  443. package/dist/critique-NDDFSGPE.js +0 -1458
  444. package/dist/critique-YXZVMLZ4.js +0 -227
  445. package/dist/crm-Q6CEP5XV.js +0 -224
  446. package/dist/crm-WRONZYDH.js +0 -318
  447. package/dist/currency-TAEJVMVK.js +0 -88
  448. package/dist/customers-2EFYSCU2.js +0 -56
  449. package/dist/delete-7WEVC3FS.js +0 -66
  450. package/dist/delete-RBWK255M.js +0 -54
  451. package/dist/delete-VN4WWMQF.js +0 -64
  452. package/dist/demographics-I5XZ435C.js +0 -138
  453. package/dist/discard-XJLIXTNM.js +0 -66
  454. package/dist/discover-5Z253HXF.js +0 -172
  455. package/dist/domain-M7AEGAYI.js +0 -98
  456. package/dist/draft-5DQI4W5F.js +0 -306
  457. package/dist/draft-5DQI4W5F.js.map +0 -1
  458. package/dist/draft-7DWRFCXW.js +0 -281
  459. package/dist/draft-7IIYHSY2.js +0 -332
  460. package/dist/draft-CN6GKVBF.js +0 -217
  461. package/dist/draft-MNEM4N5W.js +0 -307
  462. package/dist/experiment-IDDWRCJ7.js +0 -1397
  463. package/dist/facets-ZLZ6LIHN.js +0 -114
  464. package/dist/feedback-7LEX2P5Q.js +0 -106
  465. package/dist/feedback-record-P4JJ63KA.js +0 -260
  466. package/dist/fetch-MIVCEHXZ.js +0 -176
  467. package/dist/find-VHN34MWL.js +0 -134
  468. package/dist/fit-SS6HSZPU.js +0 -62
  469. package/dist/flows-UTIIHDNE.js +0 -247
  470. package/dist/fonts-JJS2PRT7.js +0 -36
  471. package/dist/forecast-OBSHG2GJ.js +0 -118
  472. package/dist/forecast-W7Z5TVQX.js +0 -168
  473. package/dist/funnel-Z2VLXUEQ.js +0 -394
  474. package/dist/ga4-ZPAEF2G2.js +0 -55
  475. package/dist/generate-Y76WU7M7.js +0 -263
  476. package/dist/get-MDAO6I7T.js +0 -56
  477. package/dist/get-ZB553BSH.js +0 -79
  478. package/dist/google-C3X7O2UO.js +0 -136
  479. package/dist/google-WYXDMH2N.js +0 -3265
  480. package/dist/google-ads-FTWL772L.js +0 -195
  481. package/dist/gsc-SDDHGTZK.js +0 -30
  482. package/dist/history-DGHMJ2XF.js +0 -67
  483. package/dist/history-WKJYKDMG.js +0 -133
  484. package/dist/hubspot-EPHVEPOO.js +0 -779
  485. package/dist/icon-MYPDC6FM.js +0 -137
  486. package/dist/ideas-3PBH7VEX.js +0 -40
  487. package/dist/images-J35C3WG4.js +0 -92
  488. package/dist/ingest-5QOPUKFE.js +0 -107
  489. package/dist/ingest-OKUYP632.js +0 -23
  490. package/dist/insights-EU45J56U.js +0 -122
  491. package/dist/inspect-PMNCP6MV.js +0 -189
  492. package/dist/inspiration-QAL7NS7G.js +0 -53
  493. package/dist/intent-FUGWRUSW.js +0 -95
  494. package/dist/keyword-gap-DXTKZLV2.js +0 -130
  495. package/dist/keyword-metrics-R752SJIT.js +0 -197
  496. package/dist/keywords-for-site-7UWPJYQF.js +0 -128
  497. package/dist/landing-CBVIOGJ5.js +0 -28
  498. package/dist/languages-XRTTEJ5P.js +0 -40
  499. package/dist/leads-LIJS6Y5W.js +0 -90
  500. package/dist/leads-LIJS6Y5W.js.map +0 -1
  501. package/dist/learn-N6QV7GXA.js +0 -204
  502. package/dist/line-item-writes-3WPJXKIL.js +0 -208
  503. package/dist/line-items-ZOFKOGAA.js +0 -103
  504. package/dist/link-DDRQKOUL.js +0 -64
  505. package/dist/linkedin-UWZCF66X.js +0 -1057
  506. package/dist/linkedin-UWZCF66X.js.map +0 -1
  507. package/dist/list-5PLXVPLB.js +0 -151
  508. package/dist/list-VSJISE7U.js +0 -303
  509. package/dist/list-WTVOBQYX.js +0 -64
  510. package/dist/locations-PCZPKH47.js +0 -40
  511. package/dist/locations-TGJH3URF.js +0 -67
  512. package/dist/log-YKKPROLZ.js +0 -92
  513. package/dist/logo-WE2UELX6.js +0 -18
  514. package/dist/make-RNOWBLZQ.js +0 -1353
  515. package/dist/map-WTDPQLVO.js +0 -433
  516. package/dist/mcp-XJNSCPP3.js +0 -714
  517. package/dist/media-sources-JGBDDXZ5.js +0 -32
  518. package/dist/members-O3BTMRXX.js +0 -44
  519. package/dist/metrics-PYPCW7FJ.js +0 -152
  520. package/dist/models-IAGO5GIH.js +0 -155
  521. package/dist/normalize-R5AYLA2J.js +0 -141
  522. package/dist/options-AILRY7JY.js +0 -122
  523. package/dist/organization-E6HVEKAR.js +0 -942
  524. package/dist/organization-E6HVEKAR.js.map +0 -1
  525. package/dist/performance-7YU4HOGH.js +0 -24
  526. package/dist/pixels-R4MOLWAR.js +0 -60
  527. package/dist/promoted-tweet-writes-TNELWPVG.js +0 -180
  528. package/dist/promoted-tweets-76WKUFJQ.js +0 -119
  529. package/dist/publish-BKLHCKHB.js +0 -341
  530. package/dist/query-XDHZMGLX.js +0 -61
  531. package/dist/reddit-YK3YUZEI.js +0 -26
  532. package/dist/refresh-WIII7KXB.js +0 -94
  533. package/dist/release-ZHXYQI7G.js +0 -60
  534. package/dist/relevant-pages-CTG72PBR.js +0 -99
  535. package/dist/remove-NOX4BXWK.js +0 -50
  536. package/dist/reopen-NLWKK5HB.js +0 -63
  537. package/dist/rerun-DZWQNMZQ.js +0 -90
  538. package/dist/research-Q3P76RHN.js +0 -62
  539. package/dist/research-UDZBCDNX.js +0 -262
  540. package/dist/reset-5UHFX7QY.js +0 -54
  541. package/dist/reset-MTRJQUP7.js +0 -54
  542. package/dist/resolve-DA72VT7Q.js +0 -121
  543. package/dist/retry-LQUBX5TK.js +0 -62
  544. package/dist/retry-U6F4CS6O.js +0 -60
  545. package/dist/rules-VS5PZ7VO.js +0 -96
  546. package/dist/rules-add-LMVZYDXE.js +0 -462
  547. package/dist/run-6PRA2YSD.js +0 -65
  548. package/dist/run-R6COFNOR.js +0 -66
  549. package/dist/scaffold-ad-ETZLURWU.js +0 -1511
  550. package/dist/scaffold-static-ad-WLKD3LDN.js +0 -1005
  551. package/dist/scaffold-video-3JZYFYFU.js +0 -883
  552. package/dist/schedule-ED2YDUPY.js +0 -61
  553. package/dist/scheduled-agents-5P67MVGX.js +0 -50
  554. package/dist/schema-4XVKERSA.js +0 -132
  555. package/dist/search-Y2UMIQ57.js +0 -174
  556. package/dist/select-OZ4E6VLF.js +0 -101
  557. package/dist/set-prompt-O4YAE4CE.js +0 -193
  558. package/dist/setup-links-2GJYCV2A.js +0 -141
  559. package/dist/site-47B6V2UX.js +0 -177
  560. package/dist/sources-DXPZAPQ7.js +0 -454
  561. package/dist/sources-NDXYTASG.js +0 -30
  562. package/dist/stale-VLVBO2L6.js +0 -71
  563. package/dist/stats-37OFAMPW.js +0 -34
  564. package/dist/status-4ODD46XY.js +0 -62
  565. package/dist/stock-6R5E7MJX.js +0 -179
  566. package/dist/studio-LEIGL3Q7.js +0 -49
  567. package/dist/sync-TKNVBUDM.js +0 -54
  568. package/dist/sync-definition-M5R3H3TP.js +0 -64
  569. package/dist/tag-manager-3Q55PBEW.js +0 -43
  570. package/dist/tags-4N5UUUN6.js +0 -26
  571. package/dist/tags-5NHIAD5A.js +0 -20
  572. package/dist/tags-UUKWSWCN.js +0 -20
  573. package/dist/tags-VK7B5DJF.js +0 -20
  574. package/dist/tags-XAHIB3WA.js +0 -224
  575. package/dist/targeting-criteria-AVARWV2G.js +0 -113
  576. package/dist/targets-6RYLQRID.js +0 -103
  577. package/dist/testimonials-6TF6BOFN.js +0 -32
  578. package/dist/themes-JZ3DPE7L.js +0 -94
  579. package/dist/top-companies-45EHRCJD.js +0 -108
  580. package/dist/translate-VHLBACCE.js +0 -604
  581. package/dist/triggers-ERQONJNO.js +0 -142
  582. package/dist/unlink-TPDO6JNF.js +0 -67
  583. package/dist/unstage-YKKQQ7LW.js +0 -85
  584. package/dist/update-43WU6X7R.js +0 -63
  585. package/dist/update-CAHLAXWO.js +0 -98
  586. package/dist/update-NGH6YADN.js +0 -152
  587. package/dist/update-SPJIHHLE.js +0 -188
  588. package/dist/upload-ACESIZIZ.js +0 -126
  589. package/dist/url-options-VNX5KYUQ.js +0 -130
  590. package/dist/url-params-MIXEDBF7.js +0 -98
  591. package/dist/validate-XJJA7ULE.js +0 -117
  592. package/dist/videos-LBXPG7WC.js +0 -39
  593. package/dist/viewer-check-7VJ3GUZX.js +0 -80
  594. package/dist/web-EWQJC2SD.js +0 -140
  595. package/dist/winning-ads-SAOJAKEQ.js +0 -86
  596. package/dist/write-commands-QPDE4GWW.js +0 -1024
  597. package/dist/write-commands-QPDE4GWW.js.map +0 -1
  598. package/dist/x-LXOJPCRF.js +0 -47
  599. /package/dist/{account-EF6OPUJT.js.map → account-CJGLH2OL.js.map} +0 -0
  600. /package/dist/{account-UHNR5KTE.js.map → account-UTFFCFNW.js.map} +0 -0
  601. /package/dist/{account-reads-CDZ3EL5D.js.map → account-reads-SOTNVUM6.js.map} +0 -0
  602. /package/dist/{account-writes-VWU4FRGQ.js.map → account-writes-OE5FKALN.js.map} +0 -0
  603. /package/dist/{accounts-QDGNTSTV.js.map → accounts-OY4DII7M.js.map} +0 -0
  604. /package/dist/{accounts-KMLXHADA.js.map → accounts-XUMRFVLY.js.map} +0 -0
  605. /package/dist/{actions-QL5UD2W4.js.map → actions-KYKLFVUI.js.map} +0 -0
  606. /package/dist/{activecampaign-5OD45ROS.js.map → activecampaign-P6RO7B2Q.js.map} +0 -0
  607. /package/dist/{ad-group-writes-ID6I3QUZ.js.map → ad-group-writes-343HA4ZG.js.map} +0 -0
  608. /package/dist/{ad-groups-M7CV6NTH.js.map → ad-groups-YMU6ATTW.js.map} +0 -0
  609. /package/dist/{ad-writes-TSOAZYRE.js.map → ad-writes-MINKG33L.js.map} +0 -0
  610. /package/dist/{add-6K6LO7CM.js.map → add-34QTAS7S.js.map} +0 -0
  611. /package/dist/{add-LYDJZDGO.js.map → add-3IZ3Z2PX.js.map} +0 -0
  612. /package/dist/{ads-DHPJFU52.js.map → ads-JRZVJFXS.js.map} +0 -0
  613. /package/dist/{ads-CGLO73MH.js.map → ads-QOXCMKZ2.js.map} +0 -0
  614. /package/dist/{advertisers-23LU7GTV.js.map → advertisers-G2UUCWA7.js.map} +0 -0
  615. /package/dist/{analytics-HO2SLL4W.js.map → analytics-CKF7HTWT.js.map} +0 -0
  616. /package/dist/{analytics-DVD4OBBR.js.map → analytics-FO4EDDQW.js.map} +0 -0
  617. /package/dist/{animate-RGZWDZG2.js.map → animate-K3MJ3GW4.js.map} +0 -0
  618. /package/dist/{assign-CLKJKH2B.js.map → assign-76E76PJY.js.map} +0 -0
  619. /package/dist/{audience-size-NNYYXODL.js.map → audience-size-IGDEX4XR.js.map} +0 -0
  620. /package/dist/{audiences-WXIP5PJH.js.map → audiences-4GRCVFZN.js.map} +0 -0
  621. /package/dist/{audit-KB4P2XGS.js.map → audit-LPSYEY4S.js.map} +0 -0
  622. /package/dist/{autocomplete-VZD2SMTE.js.map → autocomplete-G7MSIJQL.js.map} +0 -0
  623. /package/dist/{avatars-FKOO6VZ2.js.map → avatars-BF7VWGPH.js.map} +0 -0
  624. /package/dist/{bid-pricing-6LLXOLLI.js.map → bid-pricing-EAZHVAMJ.js.map} +0 -0
  625. /package/dist/{brand-OFCRZAKJ.js.map → brand-WQI4NV3H.js.map} +0 -0
  626. /package/dist/{brief-CPJQWT6W.js.map → brief-DVFCPBR3.js.map} +0 -0
  627. /package/dist/{campaign-writes-UJ4L2O6G.js.map → campaign-writes-ECPSPFAB.js.map} +0 -0
  628. /package/dist/{campaign-writes-W5IL6ZGB.js.map → campaign-writes-EZEJNO3O.js.map} +0 -0
  629. /package/dist/{campaigns-FLTPD66X.js.map → campaigns-7S35PC44.js.map} +0 -0
  630. /package/dist/{campaigns-HLBZRH5A.js.map → campaigns-R3EUC5Y2.js.map} +0 -0
  631. /package/dist/{canvas-36SGP5VZ.js.map → canvas-Y3DKVETP.js.map} +0 -0
  632. /package/dist/{capabilities-LWXCWMIY.js.map → capabilities-OBP5PDRK.js.map} +0 -0
  633. /package/dist/{catalog-ZDLQAODO.js.map → catalog-SZS2JCLN.js.map} +0 -0
  634. /package/dist/{catalogs-26VXVUST.js.map → catalogs-LEABW6AS.js.map} +0 -0
  635. /package/dist/{changes-SX2N5KIO.js.map → changes-4EDY3RNX.js.map} +0 -0
  636. /package/dist/{chatgpt-YI6YNACI.js.map → chatgpt-JOAEGWCB.js.map} +0 -0
  637. /package/dist/{chats-7WGC2CVW.js.map → chats-KE7FNWKF.js.map} +0 -0
  638. /package/dist/{check-EH6BXWWL.js.map → check-XHK2HVD2.js.map} +0 -0
  639. /package/dist/{chunk-3N5A44NQ.js.map → chunk-22HH46DF.js.map} +0 -0
  640. /package/dist/{chunk-RGMKXNQP.js.map → chunk-2VWWLUDJ.js.map} +0 -0
  641. /package/dist/{chunk-MK6XJUCQ.js.map → chunk-2WBRRYSS.js.map} +0 -0
  642. /package/dist/{chunk-TTKBNBQF.js.map → chunk-2XH7GKCO.js.map} +0 -0
  643. /package/dist/{chunk-EMQUW6JB.js.map → chunk-3LMAPV6P.js.map} +0 -0
  644. /package/dist/{chunk-XCKINS7K.js.map → chunk-3LZM5MWM.js.map} +0 -0
  645. /package/dist/{chunk-3AMLOCXY.js.map → chunk-4ARHIC23.js.map} +0 -0
  646. /package/dist/{chunk-FKYPAGKK.js.map → chunk-5KEQXSCN.js.map} +0 -0
  647. /package/dist/{chunk-A4DZ5L3T.js.map → chunk-5PMEMWKS.js.map} +0 -0
  648. /package/dist/{chunk-ZA7OQLDJ.js.map → chunk-64BRPYJD.js.map} +0 -0
  649. /package/dist/{chunk-6QGS3RQP.js.map → chunk-6DQDZIBL.js.map} +0 -0
  650. /package/dist/{chunk-EJ4QCMM6.js.map → chunk-6H64SENZ.js.map} +0 -0
  651. /package/dist/{chunk-QRLTVJ6F.js.map → chunk-6KGLAMPV.js.map} +0 -0
  652. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  653. /package/dist/{chunk-A3DKSAEL.js.map → chunk-6VIHWBOD.js.map} +0 -0
  654. /package/dist/{chunk-Q3LXLWZY.js.map → chunk-74BP3JIV.js.map} +0 -0
  655. /package/dist/{chunk-N3I6ZXR7.js.map → chunk-7AWSJ6Z5.js.map} +0 -0
  656. /package/dist/{chunk-P2MFWJR3.js.map → chunk-7IVY55AU.js.map} +0 -0
  657. /package/dist/{chunk-Q5WBTVA7.js.map → chunk-7POQSUPH.js.map} +0 -0
  658. /package/dist/{chunk-JH2L5CQD.js.map → chunk-7RCNWRKK.js.map} +0 -0
  659. /package/dist/{chunk-3S274625.js.map → chunk-ABEIEHOV.js.map} +0 -0
  660. /package/dist/{chunk-NKIBXOHT.js.map → chunk-AREUZGX7.js.map} +0 -0
  661. /package/dist/{chunk-F377KYIM.js.map → chunk-CNFFNE4L.js.map} +0 -0
  662. /package/dist/{chunk-AW2GKIGS.js.map → chunk-CORXHFKY.js.map} +0 -0
  663. /package/dist/{chunk-RDEAVCMF.js.map → chunk-D3SHD4KA.js.map} +0 -0
  664. /package/dist/{chunk-3WAYZQNV.js.map → chunk-DD3C6TSW.js.map} +0 -0
  665. /package/dist/{chunk-2KRK667G.js.map → chunk-DQU2GVU7.js.map} +0 -0
  666. /package/dist/{chunk-JUVVCA7B.js.map → chunk-ECHVJII5.js.map} +0 -0
  667. /package/dist/{chunk-EW3JEKIV.js.map → chunk-EFWXYUSK.js.map} +0 -0
  668. /package/dist/{chunk-2TVXJPGR.js.map → chunk-F4KWLFCC.js.map} +0 -0
  669. /package/dist/{chunk-5A257KJA.js.map → chunk-FT7RYWOL.js.map} +0 -0
  670. /package/dist/{chunk-IFXGCI33.js.map → chunk-HPIKZPTU.js.map} +0 -0
  671. /package/dist/{chunk-OE3MIV4F.js.map → chunk-HUPHZ35H.js.map} +0 -0
  672. /package/dist/{chunk-GXGYTFZA.js.map → chunk-JQHLF74O.js.map} +0 -0
  673. /package/dist/{chunk-I7J7YQXZ.js.map → chunk-K2TOE6XL.js.map} +0 -0
  674. /package/dist/{chunk-OL7JS4NG.js.map → chunk-KI6TENTW.js.map} +0 -0
  675. /package/dist/{chunk-B7GF34FU.js.map → chunk-LMYCLUY2.js.map} +0 -0
  676. /package/dist/{chunk-ZXCSOVS5.js.map → chunk-LQR4CKYW.js.map} +0 -0
  677. /package/dist/{chunk-PHCIFBP3.js.map → chunk-LRFNUCHV.js.map} +0 -0
  678. /package/dist/{chunk-BDYLILMW.js.map → chunk-M2D7ZWEU.js.map} +0 -0
  679. /package/dist/{chunk-NBO2NSAW.js.map → chunk-ML7GGHTU.js.map} +0 -0
  680. /package/dist/{chunk-IYTPWAN3.js.map → chunk-MYSLMKTG.js.map} +0 -0
  681. /package/dist/{chunk-IBY44U2M.js.map → chunk-NDKLPDZ3.js.map} +0 -0
  682. /package/dist/{chunk-RZTKCCUL.js.map → chunk-OUQSDUVI.js.map} +0 -0
  683. /package/dist/{chunk-IKLHXGMF.js.map → chunk-PFPUPR3H.js.map} +0 -0
  684. /package/dist/{chunk-VB3XUR6A.js.map → chunk-PGD7USOH.js.map} +0 -0
  685. /package/dist/{chunk-FCM6VPFP.js.map → chunk-QKT7W5JP.js.map} +0 -0
  686. /package/dist/{chunk-2B772ZEA.js.map → chunk-QU4XX5Z7.js.map} +0 -0
  687. /package/dist/{chunk-MOFMOYUA.js.map → chunk-R3OXH3ML.js.map} +0 -0
  688. /package/dist/{chunk-ZDAVSTEE.js.map → chunk-RNQMXS7G.js.map} +0 -0
  689. /package/dist/{chunk-FBFWMTOP.js.map → chunk-SEMNRIOR.js.map} +0 -0
  690. /package/dist/{chunk-NZKBW4YB.js.map → chunk-SHBFBQYT.js.map} +0 -0
  691. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  692. /package/dist/{chunk-J3CWAERS.js.map → chunk-UJPURLUZ.js.map} +0 -0
  693. /package/dist/{chunk-RJZS4XDJ.js.map → chunk-UM7NJIOU.js.map} +0 -0
  694. /package/dist/{chunk-SVM3DGAQ.js.map → chunk-V57TZQPI.js.map} +0 -0
  695. /package/dist/{chunk-PTUXBO5O.js.map → chunk-WXKSUL4U.js.map} +0 -0
  696. /package/dist/{chunk-7KHTJQGV.js.map → chunk-YJRZVGES.js.map} +0 -0
  697. /package/dist/{chunk-NEU5QD2C.js.map → chunk-YQICNXIA.js.map} +0 -0
  698. /package/dist/{chunk-Y46FE75E.js.map → chunk-YTF2MI3E.js.map} +0 -0
  699. /package/dist/{chunk-S4VLLGTW.js.map → chunk-YYPWVQZQ.js.map} +0 -0
  700. /package/dist/{chunk-QMOYQJIN.js.map → chunk-Z7BQGWKG.js.map} +0 -0
  701. /package/dist/{chunk-Z2GQREJY.js.map → chunk-ZXSXRSFX.js.map} +0 -0
  702. /package/dist/{claim-SVDCQ2AI.js.map → claim-W2ZV4SH3.js.map} +0 -0
  703. /package/dist/{companies-BYMYQK6A.js.map → companies-ITK3W3H6.js.map} +0 -0
  704. /package/dist/{complete-NEH3MWRI.js.map → complete-RYEVEF3S.js.map} +0 -0
  705. /package/dist/{connect-5PGL7ZOM.js.map → connect-FFFNSJ2O.js.map} +0 -0
  706. /package/dist/{conversation-CSOKJXDW.js.map → conversation-KKJNQRFB.js.map} +0 -0
  707. /package/dist/{conversion-report-7JJ5L6WH.js.map → conversion-report-PLQ4MVJR.js.map} +0 -0
  708. /package/dist/{conversion-upload-command-UO2QWG3J.js.map → conversion-upload-command-Z7F6NQH4.js.map} +0 -0
  709. /package/dist/{conversion-writes-GIGAZT4T.js.map → conversion-writes-VNOXZ4NR.js.map} +0 -0
  710. /package/dist/{conversions-CIJZLGII.js.map → conversions-KPIFDO2R.js.map} +0 -0
  711. /package/dist/{create-D6S6TGWY.js.map → create-3R6Q2E2M.js.map} +0 -0
  712. /package/dist/{create-56PTZABQ.js.map → create-A3R7YRT3.js.map} +0 -0
  713. /package/dist/{create-2XYMBULY.js.map → create-TYWQP57A.js.map} +0 -0
  714. /package/dist/{create-SMW4O5PC.js.map → create-UUEWQUPT.js.map} +0 -0
  715. /package/dist/{creatives-OO76DAFS.js.map → creatives-UK4VITNW.js.map} +0 -0
  716. /package/dist/{credentials-2ONYUJW6.js.map → credentials-A65GYH4D.js.map} +0 -0
  717. /package/dist/{critique-NDDFSGPE.js.map → critique-46O4VVPM.js.map} +0 -0
  718. /package/dist/{critique-YXZVMLZ4.js.map → critique-RPRMG2ZC.js.map} +0 -0
  719. /package/dist/{crm-Q6CEP5XV.js.map → crm-2WYW3D22.js.map} +0 -0
  720. /package/dist/{crm-WRONZYDH.js.map → crm-PQ24MNIU.js.map} +0 -0
  721. /package/dist/{currency-TAEJVMVK.js.map → currency-Q3HCK447.js.map} +0 -0
  722. /package/dist/{customers-2EFYSCU2.js.map → customers-YTQ7IQ5C.js.map} +0 -0
  723. /package/dist/{delete-RBWK255M.js.map → delete-BBISJTFG.js.map} +0 -0
  724. /package/dist/{delete-7WEVC3FS.js.map → delete-PQ4NUNLX.js.map} +0 -0
  725. /package/dist/{delete-VN4WWMQF.js.map → delete-TBW6TJ6A.js.map} +0 -0
  726. /package/dist/{demographics-I5XZ435C.js.map → demographics-EVP55FT3.js.map} +0 -0
  727. /package/dist/{discard-XJLIXTNM.js.map → discard-LPJA4DEY.js.map} +0 -0
  728. /package/dist/{discover-5Z253HXF.js.map → discover-3G6CE7X3.js.map} +0 -0
  729. /package/dist/{domain-M7AEGAYI.js.map → domain-5MM7V7JD.js.map} +0 -0
  730. /package/dist/{draft-CN6GKVBF.js.map → draft-34D5MOKA.js.map} +0 -0
  731. /package/dist/{draft-7DWRFCXW.js.map → draft-EGS7UFF3.js.map} +0 -0
  732. /package/dist/{draft-MNEM4N5W.js.map → draft-J6GJXZRX.js.map} +0 -0
  733. /package/dist/{draft-7IIYHSY2.js.map → draft-K3O7Q3A5.js.map} +0 -0
  734. /package/dist/{experiment-IDDWRCJ7.js.map → experiment-7RJ5X2LL.js.map} +0 -0
  735. /package/dist/{facets-ZLZ6LIHN.js.map → facets-RUZKALF3.js.map} +0 -0
  736. /package/dist/{feedback-7LEX2P5Q.js.map → feedback-S5LHJYZD.js.map} +0 -0
  737. /package/dist/{feedback-record-P4JJ63KA.js.map → feedback-record-GAM2R5GG.js.map} +0 -0
  738. /package/dist/{fetch-MIVCEHXZ.js.map → fetch-FA6TR66Y.js.map} +0 -0
  739. /package/dist/{find-VHN34MWL.js.map → find-2EPXK5RF.js.map} +0 -0
  740. /package/dist/{fit-SS6HSZPU.js.map → fit-MOMO4AXL.js.map} +0 -0
  741. /package/dist/{flows-UTIIHDNE.js.map → flows-DMMCSBWY.js.map} +0 -0
  742. /package/dist/{fonts-JJS2PRT7.js.map → fonts-G4JLXWX2.js.map} +0 -0
  743. /package/dist/{forecast-OBSHG2GJ.js.map → forecast-OOP4K5DE.js.map} +0 -0
  744. /package/dist/{forecast-W7Z5TVQX.js.map → forecast-V65WS5QG.js.map} +0 -0
  745. /package/dist/{funnel-Z2VLXUEQ.js.map → funnel-SEQPUM3X.js.map} +0 -0
  746. /package/dist/{ga4-ZPAEF2G2.js.map → ga4-6EIQC2TG.js.map} +0 -0
  747. /package/dist/{generate-Y76WU7M7.js.map → generate-IDDQD5FU.js.map} +0 -0
  748. /package/dist/{get-MDAO6I7T.js.map → get-DEOZMGOQ.js.map} +0 -0
  749. /package/dist/{get-ZB553BSH.js.map → get-SEJINVOS.js.map} +0 -0
  750. /package/dist/{google-WYXDMH2N.js.map → google-7L3FWKPJ.js.map} +0 -0
  751. /package/dist/{google-C3X7O2UO.js.map → google-O5OI6QFU.js.map} +0 -0
  752. /package/dist/{google-ads-FTWL772L.js.map → google-ads-MIGWMCWY.js.map} +0 -0
  753. /package/dist/{gsc-SDDHGTZK.js.map → gsc-BM3T2GDL.js.map} +0 -0
  754. /package/dist/{history-WKJYKDMG.js.map → history-IBWXCDCB.js.map} +0 -0
  755. /package/dist/{history-DGHMJ2XF.js.map → history-Z5577FPQ.js.map} +0 -0
  756. /package/dist/{hubspot-EPHVEPOO.js.map → hubspot-6AZKUX72.js.map} +0 -0
  757. /package/dist/{icon-MYPDC6FM.js.map → icon-B7DG53S5.js.map} +0 -0
  758. /package/dist/{ideas-3PBH7VEX.js.map → ideas-AX7S3NCG.js.map} +0 -0
  759. /package/dist/{images-J35C3WG4.js.map → images-632SXTB5.js.map} +0 -0
  760. /package/dist/{ingest-OKUYP632.js.map → ingest-HS55RVKH.js.map} +0 -0
  761. /package/dist/{ingest-5QOPUKFE.js.map → ingest-T3OK3DRG.js.map} +0 -0
  762. /package/dist/{insights-EU45J56U.js.map → insights-UDX66IMV.js.map} +0 -0
  763. /package/dist/{inspect-PMNCP6MV.js.map → inspect-D6ZIUBH3.js.map} +0 -0
  764. /package/dist/{inspiration-QAL7NS7G.js.map → inspiration-TCCKM4R7.js.map} +0 -0
  765. /package/dist/{intent-FUGWRUSW.js.map → intent-3WTKKTUX.js.map} +0 -0
  766. /package/dist/{keyword-gap-DXTKZLV2.js.map → keyword-gap-7GESZXY2.js.map} +0 -0
  767. /package/dist/{keyword-metrics-R752SJIT.js.map → keyword-metrics-J43MV3RQ.js.map} +0 -0
  768. /package/dist/{keywords-for-site-7UWPJYQF.js.map → keywords-for-site-6YKCTFJZ.js.map} +0 -0
  769. /package/dist/{landing-CBVIOGJ5.js.map → landing-Y7DI2FUT.js.map} +0 -0
  770. /package/dist/{languages-XRTTEJ5P.js.map → languages-LSKNZI2A.js.map} +0 -0
  771. /package/dist/{learn-N6QV7GXA.js.map → learn-M4UHA476.js.map} +0 -0
  772. /package/dist/{line-item-writes-3WPJXKIL.js.map → line-item-writes-F2OPBMIE.js.map} +0 -0
  773. /package/dist/{line-items-ZOFKOGAA.js.map → line-items-YJ3DLV2U.js.map} +0 -0
  774. /package/dist/{link-DDRQKOUL.js.map → link-RZKYW22K.js.map} +0 -0
  775. /package/dist/{list-5PLXVPLB.js.map → list-NPJ34244.js.map} +0 -0
  776. /package/dist/{list-WTVOBQYX.js.map → list-WTVBOTA4.js.map} +0 -0
  777. /package/dist/{list-VSJISE7U.js.map → list-XK5CHKYJ.js.map} +0 -0
  778. /package/dist/{locations-PCZPKH47.js.map → locations-DSDCNP5Z.js.map} +0 -0
  779. /package/dist/{locations-TGJH3URF.js.map → locations-SFZN4MYW.js.map} +0 -0
  780. /package/dist/{log-YKKPROLZ.js.map → log-K4FWHXIM.js.map} +0 -0
  781. /package/dist/{logo-WE2UELX6.js.map → logo-QTSBKP2J.js.map} +0 -0
  782. /package/dist/{make-RNOWBLZQ.js.map → make-VQDUKVPB.js.map} +0 -0
  783. /package/dist/{map-WTDPQLVO.js.map → map-Z3MEM6QX.js.map} +0 -0
  784. /package/dist/{mcp-XJNSCPP3.js.map → mcp-KJOSR534.js.map} +0 -0
  785. /package/dist/{media-sources-JGBDDXZ5.js.map → media-sources-44HTWIY3.js.map} +0 -0
  786. /package/dist/{members-O3BTMRXX.js.map → members-HGU22NL3.js.map} +0 -0
  787. /package/dist/{metrics-PYPCW7FJ.js.map → metrics-OV2EKPJ6.js.map} +0 -0
  788. /package/dist/{models-IAGO5GIH.js.map → models-NGAUD6QJ.js.map} +0 -0
  789. /package/dist/{normalize-R5AYLA2J.js.map → normalize-IUPOHEZJ.js.map} +0 -0
  790. /package/dist/{options-AILRY7JY.js.map → options-TL5TPGHK.js.map} +0 -0
  791. /package/dist/{performance-7YU4HOGH.js.map → performance-PCZHQCZ5.js.map} +0 -0
  792. /package/dist/{pixels-R4MOLWAR.js.map → pixels-GHEAK62X.js.map} +0 -0
  793. /package/dist/{promoted-tweet-writes-TNELWPVG.js.map → promoted-tweet-writes-O4RTZFSI.js.map} +0 -0
  794. /package/dist/{promoted-tweets-76WKUFJQ.js.map → promoted-tweets-AWP6MGJI.js.map} +0 -0
  795. /package/dist/{publish-BKLHCKHB.js.map → publish-PODZKJHW.js.map} +0 -0
  796. /package/dist/{query-XDHZMGLX.js.map → query-FUSR27T4.js.map} +0 -0
  797. /package/dist/{reddit-YK3YUZEI.js.map → reddit-UNUNWSNR.js.map} +0 -0
  798. /package/dist/{refresh-WIII7KXB.js.map → refresh-34UO2LXY.js.map} +0 -0
  799. /package/dist/{release-ZHXYQI7G.js.map → release-BD3EAD75.js.map} +0 -0
  800. /package/dist/{relevant-pages-CTG72PBR.js.map → relevant-pages-FNKYR2OG.js.map} +0 -0
  801. /package/dist/{remove-NOX4BXWK.js.map → remove-YQYSQCWI.js.map} +0 -0
  802. /package/dist/{reopen-NLWKK5HB.js.map → reopen-MULNJOR5.js.map} +0 -0
  803. /package/dist/{rerun-DZWQNMZQ.js.map → rerun-6YGYJPM7.js.map} +0 -0
  804. /package/dist/{research-Q3P76RHN.js.map → research-6WEL3USW.js.map} +0 -0
  805. /package/dist/{research-UDZBCDNX.js.map → research-OBECRSPL.js.map} +0 -0
  806. /package/dist/{reset-5UHFX7QY.js.map → reset-5TTLZ43U.js.map} +0 -0
  807. /package/dist/{reset-MTRJQUP7.js.map → reset-PRTK6YUD.js.map} +0 -0
  808. /package/dist/{resolve-DA72VT7Q.js.map → resolve-6RM63T55.js.map} +0 -0
  809. /package/dist/{retry-U6F4CS6O.js.map → retry-XYTVP7BV.js.map} +0 -0
  810. /package/dist/{retry-LQUBX5TK.js.map → retry-Z3C624JW.js.map} +0 -0
  811. /package/dist/{rules-VS5PZ7VO.js.map → rules-AUAJUM2T.js.map} +0 -0
  812. /package/dist/{rules-add-LMVZYDXE.js.map → rules-add-7VFGPGZ7.js.map} +0 -0
  813. /package/dist/{run-6PRA2YSD.js.map → run-S3SVCTIB.js.map} +0 -0
  814. /package/dist/{run-R6COFNOR.js.map → run-YA5RCRIX.js.map} +0 -0
  815. /package/dist/{scaffold-ad-ETZLURWU.js.map → scaffold-ad-2KQULVJU.js.map} +0 -0
  816. /package/dist/{scaffold-static-ad-WLKD3LDN.js.map → scaffold-static-ad-S46QADGV.js.map} +0 -0
  817. /package/dist/{scaffold-video-3JZYFYFU.js.map → scaffold-video-ZMHI2JDU.js.map} +0 -0
  818. /package/dist/{schedule-ED2YDUPY.js.map → schedule-FT6P3EKG.js.map} +0 -0
  819. /package/dist/{scheduled-agents-5P67MVGX.js.map → scheduled-agents-L7K4QWMD.js.map} +0 -0
  820. /package/dist/{schema-4XVKERSA.js.map → schema-CH654RZB.js.map} +0 -0
  821. /package/dist/{search-Y2UMIQ57.js.map → search-YKYB2P2M.js.map} +0 -0
  822. /package/dist/{select-OZ4E6VLF.js.map → select-PM7JUDQY.js.map} +0 -0
  823. /package/dist/{set-prompt-O4YAE4CE.js.map → set-prompt-VATAT7H6.js.map} +0 -0
  824. /package/dist/{setup-links-2GJYCV2A.js.map → setup-links-TM3NCVU7.js.map} +0 -0
  825. /package/dist/{site-47B6V2UX.js.map → site-ATAXCWXS.js.map} +0 -0
  826. /package/dist/{sources-NDXYTASG.js.map → sources-N5RKYKFS.js.map} +0 -0
  827. /package/dist/{sources-DXPZAPQ7.js.map → sources-V544MB26.js.map} +0 -0
  828. /package/dist/{stale-VLVBO2L6.js.map → stale-RNEYXKFX.js.map} +0 -0
  829. /package/dist/{stats-37OFAMPW.js.map → stats-CVF6AC7R.js.map} +0 -0
  830. /package/dist/{status-4ODD46XY.js.map → status-DPTFOJVV.js.map} +0 -0
  831. /package/dist/{stock-6R5E7MJX.js.map → stock-4LPQ6SM7.js.map} +0 -0
  832. /package/dist/{studio-LEIGL3Q7.js.map → studio-NZ3NA4L4.js.map} +0 -0
  833. /package/dist/{sync-TKNVBUDM.js.map → sync-UBLCCOQZ.js.map} +0 -0
  834. /package/dist/{sync-definition-M5R3H3TP.js.map → sync-definition-RXRSI2LT.js.map} +0 -0
  835. /package/dist/{tag-manager-3Q55PBEW.js.map → tag-manager-FLXXLNKP.js.map} +0 -0
  836. /package/dist/{tags-XAHIB3WA.js.map → tags-2D4AN2QB.js.map} +0 -0
  837. /package/dist/{tags-4N5UUUN6.js.map → tags-5OM2VN3Q.js.map} +0 -0
  838. /package/dist/{tags-VK7B5DJF.js.map → tags-CJWSUBCD.js.map} +0 -0
  839. /package/dist/{tags-5NHIAD5A.js.map → tags-MHKZW2JN.js.map} +0 -0
  840. /package/dist/{tags-UUKWSWCN.js.map → tags-Z6AH7FDT.js.map} +0 -0
  841. /package/dist/{targeting-criteria-AVARWV2G.js.map → targeting-criteria-RSAN4KW5.js.map} +0 -0
  842. /package/dist/{targets-6RYLQRID.js.map → targets-EER2G4WH.js.map} +0 -0
  843. /package/dist/{testimonials-6TF6BOFN.js.map → testimonials-4WJKAZ5S.js.map} +0 -0
  844. /package/dist/{themes-JZ3DPE7L.js.map → themes-XUALHDHR.js.map} +0 -0
  845. /package/dist/{top-companies-45EHRCJD.js.map → top-companies-BSOYGMIB.js.map} +0 -0
  846. /package/dist/{translate-VHLBACCE.js.map → translate-2XRHDWSC.js.map} +0 -0
  847. /package/dist/{triggers-ERQONJNO.js.map → triggers-NU6BQ5NJ.js.map} +0 -0
  848. /package/dist/{unlink-TPDO6JNF.js.map → unlink-LQGPZND2.js.map} +0 -0
  849. /package/dist/{unstage-YKKQQ7LW.js.map → unstage-GDKW56MH.js.map} +0 -0
  850. /package/dist/{update-43WU6X7R.js.map → update-43QN723C.js.map} +0 -0
  851. /package/dist/{update-SPJIHHLE.js.map → update-6CAZKFTC.js.map} +0 -0
  852. /package/dist/{update-NGH6YADN.js.map → update-EGOWYBEH.js.map} +0 -0
  853. /package/dist/{update-CAHLAXWO.js.map → update-QRGEMNBY.js.map} +0 -0
  854. /package/dist/{upload-ACESIZIZ.js.map → upload-LIHRXWUY.js.map} +0 -0
  855. /package/dist/{url-options-VNX5KYUQ.js.map → url-options-JXL4W7TB.js.map} +0 -0
  856. /package/dist/{url-params-MIXEDBF7.js.map → url-params-YXRZ4TUD.js.map} +0 -0
  857. /package/dist/{validate-XJJA7ULE.js.map → validate-KO3MEJUZ.js.map} +0 -0
  858. /package/dist/{videos-LBXPG7WC.js.map → videos-BPJ34YZL.js.map} +0 -0
  859. /package/dist/{viewer-check-7VJ3GUZX.js.map → viewer-check-SA5AUQ26.js.map} +0 -0
  860. /package/dist/{web-EWQJC2SD.js.map → web-KS47ZHXX.js.map} +0 -0
  861. /package/dist/{winning-ads-SAOJAKEQ.js.map → winning-ads-LE2ALICG.js.map} +0 -0
  862. /package/dist/{x-LXOJPCRF.js.map → x-DZGRJQ7Y.js.map} +0 -0
@@ -1,249 +0,0 @@
1
- import {
2
- readWorkspaceBrandDoc
3
- } from "./chunk-3S274625.js";
4
- import {
5
- brandTokensSchema
6
- } from "./chunk-DAO63OOP.js";
7
-
8
- // src/engine/landing/lib/brand-tokens.ts
9
- import { readFile } from "fs/promises";
10
- import path from "path";
11
-
12
- // src/engine/landing/lib/color.ts
13
- var NEUTRAL_COLOR_KEYWORDS = /* @__PURE__ */ new Set([
14
- "transparent",
15
- "currentcolor",
16
- "black",
17
- "white",
18
- "gray",
19
- "grey",
20
- "silver",
21
- "dimgray",
22
- "dimgrey",
23
- "darkgray",
24
- "darkgrey",
25
- "lightgray",
26
- "lightgrey",
27
- "gainsboro",
28
- "whitesmoke"
29
- ]);
30
- function hexChannels(color) {
31
- const long = color.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})(?:[0-9a-f]{2})?$/i);
32
- if (long)
33
- return [
34
- Number.parseInt(long[1] ?? "0", 16),
35
- Number.parseInt(long[2] ?? "0", 16),
36
- Number.parseInt(long[3] ?? "0", 16)
37
- ];
38
- const short = color.match(/^#([0-9a-f])([0-9a-f])([0-9a-f])(?:[0-9a-f])?$/i);
39
- if (short) {
40
- const dup = (s) => Number.parseInt(`${s ?? "0"}${s ?? "0"}`, 16);
41
- return [dup(short[1]), dup(short[2]), dup(short[3])];
42
- }
43
- return null;
44
- }
45
- function parseColor(raw) {
46
- const c = String(raw || "").trim().toLowerCase();
47
- if (!c || c === "transparent") return null;
48
- const rgb = c.match(/rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:[\s,/]+([\d.]+%?))?\s*\)/i);
49
- if (rgb) {
50
- const alpha = rgb[4];
51
- const a = alpha === void 0 ? 1 : alpha.endsWith("%") ? Number.parseFloat(alpha) / 100 : Number.parseFloat(alpha);
52
- return { r: Number(rgb[1]), g: Number(rgb[2]), b: Number(rgb[3]), a };
53
- }
54
- const oklch = parseOklch(c);
55
- if (oklch) return oklch;
56
- const hex = hexChannels(c);
57
- if (hex) return { r: hex[0], g: hex[1], b: hex[2], a: 1 };
58
- return null;
59
- }
60
- function parseOklch(c) {
61
- const m = c.match(/oklch\(\s*([\d.]+%?)\s+([\d.]+%?)\s+([\d.]+)(?:deg)?(?:\s*\/\s*([\d.]+%?))?\s*\)/i);
62
- if (!m) return null;
63
- const pct = (s, scale) => s.endsWith("%") ? Number.parseFloat(s) / 100 * scale : Number.parseFloat(s);
64
- const alpha = m[4];
65
- const a = alpha === void 0 ? 1 : pct(alpha, 1);
66
- return { ...oklchToRgb(pct(m[1] ?? "0", 1), pct(m[2] ?? "0", 0.4), Number.parseFloat(m[3] ?? "0")), a };
67
- }
68
- function oklchToRgb(L, C, H) {
69
- const hRad = H * Math.PI / 180;
70
- const a = C * Math.cos(hRad);
71
- const b = C * Math.sin(hRad);
72
- const l = (L + 0.3963377774 * a + 0.2158037573 * b) ** 3;
73
- const m = (L - 0.1055613458 * a - 0.0638541728 * b) ** 3;
74
- const s = (L - 0.0894841775 * a - 1.291485548 * b) ** 3;
75
- const lin = [
76
- 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s,
77
- -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s,
78
- -0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s
79
- ].map((v) => {
80
- const g = v <= 31308e-7 ? 12.92 * v : 1.055 * Math.sign(v) * Math.abs(v) ** (1 / 2.4) - 0.055;
81
- return Math.round(Math.max(0, Math.min(1, g)) * 255);
82
- });
83
- return { r: lin[0] ?? 0, g: lin[1] ?? 0, b: lin[2] ?? 0 };
84
- }
85
- function isNeutralAuthoredColor(rawColor) {
86
- const c = String(rawColor || "").trim().toLowerCase();
87
- if (!c) return false;
88
- if (NEUTRAL_COLOR_KEYWORDS.has(c)) return true;
89
- if (/^rgba?\(/i.test(c)) {
90
- const channels2 = c.match(/^rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)/i);
91
- if (channels2) {
92
- const values = [1, 2, 3].map((i) => Number(channels2[i]));
93
- return Math.max(...values) - Math.min(...values) < 30;
94
- }
95
- return false;
96
- }
97
- const oklch = c.match(/oklch\(\s*[\d.]+%?\s+([\d.-]+)/i);
98
- if (oklch) return Number.parseFloat(oklch[1] ?? "0") < 0.02;
99
- const lch = c.match(/lch\(\s*[\d.]+%?\s+([\d.-]+)/i);
100
- if (lch) return Number.parseFloat(lch[1] ?? "0") < 3;
101
- const hsl = c.match(/hsla?\(\s*[\d.-]+\s*,?\s*([\d.]+)%/i);
102
- if (hsl) return Number.parseFloat(hsl[1] ?? "0") < 10;
103
- const channels = hexChannels(c);
104
- if (channels) return Math.max(...channels) - Math.min(...channels) < 30;
105
- return false;
106
- }
107
- function hasChroma(c, threshold = 30) {
108
- if (!c) return false;
109
- return Math.max(c.r, c.g, c.b) - Math.min(c.r, c.g, c.b) >= threshold;
110
- }
111
- function getHue(c) {
112
- if (!c) return 0;
113
- const r = c.r / 255;
114
- const g = c.g / 255;
115
- const b = c.b / 255;
116
- const max = Math.max(r, g, b);
117
- const min = Math.min(r, g, b);
118
- if (max === min) return 0;
119
- const d = max - min;
120
- let h;
121
- if (max === r) h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
122
- else if (max === g) h = ((b - r) / d + 2) / 6;
123
- else h = ((r - g) / d + 4) / 6;
124
- return Math.round(h * 360);
125
- }
126
- function isAiPurpleHue(hue) {
127
- return hue >= 225 && hue <= 310;
128
- }
129
- function isCreamColor(c) {
130
- if (Math.min(c.r, c.g, c.b) < 209) return false;
131
- if (!(c.r >= c.g && c.g >= c.b)) return false;
132
- const warmth = c.r - c.b;
133
- return warmth >= 6 && warmth <= 48;
134
- }
135
-
136
- // src/engine/landing/lib/brand-tokens.ts
137
- var EMPTY = { fonts: /* @__PURE__ */ new Set(), colors: [], gradientStops: [], hasTokens: false };
138
- function isNotAFamily(value) {
139
- return /^[1-9]00$/.test(value) || /^\d+(?:\.\d+)?(?:px|rem|em|%|pt|vw|vh|ch|ex)$/i.test(value) || /^(?:normal|bold|bolder|lighter|italic|oblique|none|auto|inherit|initial|unset)$/i.test(value);
140
- }
141
- function parseBrandTokens(globalCss, brandDoc) {
142
- const fonts = /* @__PURE__ */ new Set();
143
- const colors = [];
144
- parseGlobalCss(globalCss, fonts, colors);
145
- for (const font of brandDoc?.fonts ?? []) if (font.use) fonts.add(font.family.toLowerCase());
146
- for (const color of brandDoc?.colors ?? []) {
147
- const parsed = color.use ? parseColor(color.hex) : null;
148
- if (parsed) colors.push(parsed);
149
- }
150
- return { fonts, colors, gradientStops: [], hasTokens: fonts.size > 0 || colors.length > 0 };
151
- }
152
- var COLOR_LITERAL = /#[0-9a-f]{3,8}\b|rgba?\([^)]*\)|oklch\([^)]*\)/gi;
153
- function chromaticStops(text) {
154
- return (text.match(COLOR_LITERAL) ?? []).map(parseColor).filter((c) => c !== null && hasChroma(c));
155
- }
156
- function brandDocGradientStops(brandMd) {
157
- const gradients = brandMd.match(/(?:repeating-)?(?:linear|radial|conic)-gradient\((?:[^()]|\([^()]*\))*\)/gi) ?? [];
158
- return gradients.flatMap(chromaticStops);
159
- }
160
- function parseGlobalCss(rawCss, fonts, colors) {
161
- const globalCss = rawCss.replace(/\/\*[\s\S]*?\*\//g, (block) => block.replace(/[^\n]/g, " "));
162
- for (const m of globalCss.matchAll(/(?<![\w-])--font-([\w-]*)\s*:\s*([^;]+);/gi)) {
163
- const slug = m[1] ?? "";
164
- if (slug.includes("--") || /^weight(?:$|[-\s])/i.test(slug)) continue;
165
- const first = (m[2] ?? "").split(",")[0]?.trim().replace(/^['"]|['"]$/g, "").toLowerCase();
166
- if (!first || isNotAFamily(first)) continue;
167
- fonts.add(first);
168
- }
169
- for (const m of globalCss.matchAll(
170
- /--color-[\w-]*\s*:\s*(#[0-9a-f]{3,8}\b|rgba?\([^)]+\)|oklch\([^)]+\)|hsla?\([^)]+\))/gi
171
- )) {
172
- const c = parseColor(m[1] ?? "");
173
- if (c) colors.push(c);
174
- }
175
- }
176
- function brandTokensFromCanonical(tokens) {
177
- const fonts = new Set(tokens.fonts.map((f) => f.family.toLowerCase()));
178
- const colors = [];
179
- for (const color of tokens.colors) {
180
- const parsed = parseColor(color.value);
181
- if (parsed) colors.push(parsed);
182
- }
183
- return { fonts, colors, gradientStops: [], hasTokens: fonts.size > 0 || colors.length > 0 };
184
- }
185
- async function loadBrandTokens(projectRoot, opts = {}) {
186
- const gradientStops = brandDocGradientStops(await safeRead(path.join(projectRoot, "src", "brand", "BRAND.md")));
187
- const brand = await loadCommittedTokens(projectRoot, opts);
188
- return gradientStops.length > 0 ? { ...brand, gradientStops, hasTokens: true } : brand;
189
- }
190
- async function loadCommittedTokens(projectRoot, opts) {
191
- const tokensRaw = await safeRead(path.join(projectRoot, "src", "brand", "tokens.json"));
192
- if (tokensRaw) {
193
- try {
194
- const canonical = brandTokensSchema.safeParse(JSON.parse(tokensRaw));
195
- if (canonical.success) return brandTokensFromCanonical(canonical.data);
196
- } catch {
197
- }
198
- }
199
- const globalCss = await safeRead(path.join(projectRoot, "src", "styles", "global.css"));
200
- const brandDoc = await readWorkspaceBrandDoc(projectRoot, {
201
- ...opts.readBrandDoc ? { read: opts.readBrandDoc } : {},
202
- ...opts.onSpend ? { onSpend: opts.onSpend } : {}
203
- });
204
- if (!globalCss && !brandDoc) return EMPTY;
205
- return parseBrandTokens(globalCss, brandDoc);
206
- }
207
- async function safeRead(file) {
208
- try {
209
- return await readFile(file, "utf8");
210
- } catch {
211
- return "";
212
- }
213
- }
214
- function brandCommitsFont(brand, snippet) {
215
- if (brand.fonts.size === 0) return false;
216
- const lower = snippet.toLowerCase();
217
- for (const f of brand.fonts) if (f.length >= 3 && lower.includes(f)) return true;
218
- return false;
219
- }
220
- function brandCommitsAiHue(brand) {
221
- return brand.colors.some((c) => hasChroma(c, 40) && isAiPurpleHue(getHue(c)));
222
- }
223
- var SAME_COLOR_TOLERANCE = 6;
224
- function sameColor(a, b) {
225
- return Math.abs(a.r - b.r) <= SAME_COLOR_TOLERANCE && Math.abs(a.g - b.g) <= SAME_COLOR_TOLERANCE && Math.abs(a.b - b.b) <= SAME_COLOR_TOLERANCE;
226
- }
227
- function brandCommitsGradient(brand, snippet) {
228
- const stops = chromaticStops(snippet);
229
- if (stops.length === 0) return false;
230
- const committed = [...brand.colors, ...brand.gradientStops];
231
- return stops.every((stop) => committed.some((c) => sameColor(c, stop)));
232
- }
233
- function brandCommitsCream(brand) {
234
- return brand.colors.some((c) => isCreamColor(c));
235
- }
236
-
237
- export {
238
- parseColor,
239
- isNeutralAuthoredColor,
240
- hasChroma,
241
- isCreamColor,
242
- parseBrandTokens,
243
- loadBrandTokens,
244
- brandCommitsFont,
245
- brandCommitsAiHue,
246
- brandCommitsGradient,
247
- brandCommitsCream
248
- };
249
- //# sourceMappingURL=chunk-NEU5QD2C.js.map
@@ -1,344 +0,0 @@
1
- import {
2
- Phrases,
3
- RULE_APPLIES,
4
- RULE_STRENGTHS,
5
- declaredRules,
6
- readLearnedRules
7
- } from "./chunk-Y46FE75E.js";
8
- import {
9
- readWorkspaceBrandDoc
10
- } from "./chunk-3S274625.js";
11
- import {
12
- holdUnbilledSpend
13
- } from "./chunk-UFKO626N.js";
14
- import {
15
- askAboutText,
16
- rulesDigest,
17
- selectRules
18
- } from "./chunk-S4VLLGTW.js";
19
- import {
20
- CREATIVE_FEEDBACK_REASON_LABELS
21
- } from "./chunk-DAO63OOP.js";
22
- import {
23
- apiPost
24
- } from "./chunk-6YLNY6CK.js";
25
-
26
- // src/engine/creative-context/company.ts
27
- import { createHash } from "crypto";
28
- import { mkdir, readdir, readFile, writeFile } from "fs/promises";
29
- import path from "path";
30
- import { z } from "zod";
31
- var text = z.string().transform((s) => s.trim()).pipe(z.string().min(1).max(300)).optional().catch(void 0);
32
- var Answer = z.object({
33
- sells: text,
34
- category: text,
35
- industry: text,
36
- buyer: z.enum(["consumer", "small_business", "enterprise"]).optional().catch(void 0),
37
- country: z.string().transform((s) => s.trim().toUpperCase()).pipe(z.union([z.literal("").transform(() => null), z.string().regex(/^[A-Z]{2}$/)])).optional().catch(void 0),
38
- humour: z.enum(["fits", "risky", "off_brand"]).optional().catch(void 0),
39
- voice: z.enum(["playful", "peer", "neutral", "reassuring", "formal"]).optional().catch(void 0),
40
- memes: z.enum(["fits", "off_brand"]).optional().catch(void 0),
41
- memes_why: text,
42
- brands: z.array(z.string()).transform(
43
- (list) => list.map((s) => s.trim()).filter(Boolean).slice(0, 4)
44
- ).catch([])
45
- });
46
- function parseCompanyReading(answer) {
47
- const parsed = Answer.safeParse(answer);
48
- if (!parsed.success || !parsed.data.category) return null;
49
- const { brands, ...rest } = parsed.data;
50
- return { ...Object.fromEntries(Object.entries(rest).filter(([, v]) => v !== void 0)), brands };
51
- }
52
- var COMPANY_READING_MODEL = "google/gemini-3.5-flash-lite";
53
- var REQUEST = {
54
- provider: { order: ["google-vertex"], allow_fallbacks: false },
55
- seed: 0,
56
- temperature: 0,
57
- response_format: { type: "json_object" }
58
- };
59
- var PROMPT_VERSION = 5;
60
- var TIMEOUT_MS = 2e4;
61
- var COMPANY_CHARS = 12e3;
62
- function companyReadingPrompt(companyDoc, audience) {
63
- const notes = [
64
- audience?.personas ? `Its personas (who buys):
65
- ${audience.personas}` : "",
66
- audience?.voice ? `BRAND.md, how the brand speaks:
67
- ${audience.voice}` : ""
68
- ].filter(Boolean);
69
- return `You read a company's own notes (COMPANY.md), in whatever language they are written, for the people who make its ads. Extract only what they say; never invent.
70
-
71
- """
72
- ${companyDoc.slice(0, COMPANY_CHARS)}
73
- """
74
- ${notes.length > 0 ? `
75
- ${notes.join("\n\n")}
76
- ` : ""}
77
- Answer only JSON:
78
- {
79
- "sells": "what the company sells and to whom, one plain sentence of at most 20 words in the notes' own language, no brand names (e.g. 'Cursos de electricidad y fontaner\xEDa para desempleados que buscan un oficio estable')",
80
- "category": "what it sells, 2-6 plain English words an ads library would file it under, no brand names (e.g. 'electrician training course', 'pet health insurance', 'ecommerce customer service AI'); for a company selling several lines, the line its notes lead with",
81
- "industry": "the broader industry, 1-3 English words (e.g. 'vocational education', 'insurance', 'customer service software')",
82
- "buyer": "consumer" | "small_business" | "enterprise",
83
- "country": "the ISO country code it sells in, or '' when several",
84
- "humour": "fits" | "risky" | "off_brand",
85
- "voice": "playful" | "peer" | "neutral" | "reassuring" | "formal" (how the brand talks, from the BRAND.md voice and how it speaks on its site, ads and social, never from who buys: playful = witty, casual, irreverent, internet-native; peer = talks as an insider to its own crowd, developer-to-developer, builder to builder; neutral = plain, direct, informative with no personality signal; reassuring = warm, caring, guaranteeing, protecting, calming a fear about money, time or risk; formal = premium, institutional, solemn, corporate-confident),
86
- "memes": "fits" | "off_brand" (does that voice run a meme or a reaction-face ad? playful and peer fit, enterprise included; neutral, reassuring and formal are off_brand, consumer brands included),
87
- "memes_why": "the voice line that decides it, at most 20 words, quoting it (e.g. 'voice: "playful, a little irreverent"' or 'voice: "formal, premium, understated"')",
88
- "brands": ["the company's own brand and product names, as an advertiser name would show them, at most 4"]
89
- }`;
90
- }
91
- var RUNS_MEMES = /* @__PURE__ */ new Set(["playful", "peer"]);
92
- function memeRegister(reading3) {
93
- const memes = reading3?.voice ? RUNS_MEMES.has(reading3.voice) ? "fits" : "off_brand" : reading3?.memes;
94
- if (!memes) return void 0;
95
- const why = reading3?.memes_why;
96
- return { memes, ...why ? { why } : {} };
97
- }
98
- function companyLine(reading3) {
99
- if (!reading3) return "";
100
- const what = reading3.sells ?? reading3.category ?? "";
101
- return reading3.industry && what ? `${what} (${reading3.industry})` : what;
102
- }
103
- function firstLineSells(companyDoc) {
104
- const first = companyDoc.split("\n").find((line) => line.trim() && !line.trim().startsWith("#")) ?? "";
105
- if (/^\s*TODO\b/.test(first)) return "";
106
- const what = first.replace(/^\s*[-*]\s+/, "").replace(/^\*\*[^*]+\*\*\s*[—–:-]?\s*/, "").split(/\s+for\s+|[,.;:(]|\s[—–-]\s/)[0];
107
- return (what ?? "").trim().split(/\s+/).filter(Boolean).slice(0, SELLS_WORDS).join(" ");
108
- }
109
- var SELLS_WORDS = 6;
110
- var askModel = (root) => async (prompt) => {
111
- const spent = [];
112
- const answer = await askAboutText(COMPANY_READING_MODEL, prompt, (u) => spent.push(u), {
113
- timeoutMs: TIMEOUT_MS,
114
- request: REQUEST
115
- }).catch(() => null);
116
- await holdUnbilledSpend(path.join(root, "canvas", ".cache"), spent).catch(() => void 0);
117
- return answer;
118
- };
119
- async function readCompanyReading(root, ask = askModel(root)) {
120
- const doc = await readFile(path.join(root, "COMPANY.md"), "utf8").catch(() => "");
121
- const fallback = firstLineSells(doc);
122
- if (!fallback) return null;
123
- const prompt = companyReadingPrompt(doc, await audienceNotes(root));
124
- const key = createHash("sha256").update(JSON.stringify([PROMPT_VERSION, COMPANY_READING_MODEL, prompt])).digest("hex").slice(0, 16);
125
- const file = path.join(root, "canvas", ".cache", "company-reading", `${key}.json`);
126
- const inFlight = reading.get(file);
127
- if (inFlight) return await inFlight;
128
- const read = readOrAsk(file, prompt, ask, fallback).finally(() => reading.delete(file));
129
- reading.set(file, read);
130
- return await read;
131
- }
132
- var PERSONA_CHARS = 600;
133
- var VOICE_CHARS = 800;
134
- async function audienceNotes(root) {
135
- const dir = path.join(root, "src", "content", "personas");
136
- const files = (await readdir(dir).catch(() => [])).filter((f) => f.endsWith(".md")).sort();
137
- const personas = [];
138
- for (const file of files.slice(0, 8)) {
139
- const raw = await readFile(path.join(dir, file), "utf8").catch(() => "");
140
- const front = /^---\n([\s\S]*?)\n---/.exec(raw)?.[1] ?? raw.slice(0, 300);
141
- const lines = front.split("\n").filter((l) => /^\s*(title|name|role|job|description)\s*:/i.test(l));
142
- const line = (lines.length > 0 ? lines.join("; ") : file.replace(/\.md$/, "")).slice(0, PERSONA_CHARS);
143
- personas.push(`- ${line}`);
144
- }
145
- const brand = await readFile(path.join(root, "src", "brand", "BRAND.md"), "utf8").catch(() => "");
146
- const section = /^##\s+[^\n]*\b(?:tone|voice)\b[^\n]*\n([\s\S]*?)(?=^##\s|(?![\s\S]))/im.exec(brand)?.[1] ?? "";
147
- return { personas: personas.join("\n"), voice: section.trim().slice(0, VOICE_CHARS) };
148
- }
149
- var reading = /* @__PURE__ */ new Map();
150
- async function readOrAsk(file, prompt, ask, fallback) {
151
- const cached = await readFile(file, "utf8").then((raw) => parseCompanyReading(JSON.parse(raw))).catch(() => null);
152
- if (cached) return cached;
153
- const answer = parseCompanyReading(await ask(prompt).catch(() => null));
154
- if (!answer) return { sells: fallback, brands: [] };
155
- await mkdir(path.dirname(file), { recursive: true });
156
- await writeFile(file, `${JSON.stringify(answer, null, 2)}
157
- `, "utf8");
158
- return answer;
159
- }
160
-
161
- // src/engine/creative-context/case-file.ts
162
- var CASE_FILE_CHARS = 3e3;
163
- function caseFileNotes(entries) {
164
- const seen = /* @__PURE__ */ new Set();
165
- const lines = [];
166
- let used = 0;
167
- for (const entry of entries) {
168
- if (entry.verdict !== "rejected") continue;
169
- const note = entry.note?.trim();
170
- const reasons = entry.reasons.map((r) => CREATIVE_FEEDBACK_REASON_LABELS[r].toLowerCase()).join(", ");
171
- const key = note ?? reasons;
172
- if (!key || seen.has(key)) continue;
173
- seen.add(key);
174
- const line = `Rejected${reasons ? ` (${reasons})` : ""}${note ? `: "${note}"` : ""}`;
175
- if (used + line.length > CASE_FILE_CHARS && lines.length > 0) break;
176
- used += line.length;
177
- lines.push(line);
178
- }
179
- return lines;
180
- }
181
- async function readCaseFile(slug, read = (body) => apiPost("/api/creatives/feedback", body)) {
182
- const response = await read({ slug }).catch(() => null);
183
- return response?.ok ? caseFileNotes(response.data.recent) : [];
184
- }
185
-
186
- // src/engine/creative-context/index.ts
187
- import path3 from "path";
188
-
189
- // src/engine/brand/brand-rules.ts
190
- import { createHash as createHash2 } from "crypto";
191
- import { mkdir as mkdir2, readFile as readFile2, writeFile as writeFile2 } from "fs/promises";
192
- import path2 from "path";
193
- import { z as z2 } from "zod";
194
- var BRAND_RULES_MODEL = "google/gemini-3.5-flash";
195
- var REQUEST2 = {
196
- provider: { order: ["google-vertex"], allow_fallbacks: false },
197
- seed: 0,
198
- reasoning: { effort: "low" },
199
- response_format: { type: "json_object" }
200
- };
201
- var PROMPT_VERSION2 = 2;
202
- var TIMEOUT_MS2 = 6e4;
203
- var BRAND_MD_CHARS = 6e4;
204
- var MAX_RULES = 60;
205
- var RULE_CHARS = 400;
206
- var optionalPhrases = Phrases.optional().catch(void 0);
207
- var Rule = z2.object({
208
- text: z2.string().trim().min(1).max(RULE_CHARS),
209
- strength: z2.enum(RULE_STRENGTHS).catch("must"),
210
- applies: z2.enum(RULE_APPLIES).catch("any"),
211
- forbid: optionalPhrases,
212
- require: optionalPhrases,
213
- allow: optionalPhrases
214
- });
215
- var Answer2 = z2.object({ rules: z2.array(z2.unknown()) });
216
- function parseBrandRules(answer) {
217
- const parsed = Answer2.safeParse(answer);
218
- if (!parsed.success) return null;
219
- return parsed.data.rules.flatMap((raw) => {
220
- const rule = Rule.safeParse(raw);
221
- if (!rule.success) return [];
222
- const { forbid, require: require2, allow, ...rest } = rule.data;
223
- return [
224
- {
225
- ...rest,
226
- ...forbid?.length ? { forbid } : {},
227
- ...require2?.length ? { require: require2 } : {},
228
- ...allow?.length ? { allow } : {}
229
- }
230
- ];
231
- }).slice(0, MAX_RULES);
232
- }
233
- var RULE_HEADING = /rule|never|copy|voice|tone|logo|imag|photo|illustrat|legal|claim|checklist|reflex|prohibit|say|regla|nunca|voz|tono|imagen|foto|prohib|decir|règle|jamais|regel|stimme|bild|regra|imagem/i;
234
- function ruleSections(brandMd) {
235
- const headings = [...brandMd.slice(0, BRAND_MD_CHARS).matchAll(/^#{2,4}\s+(.+)$/gm)].map((m) => (m[1] ?? "").trim()).filter((h) => RULE_HEADING.test(h));
236
- const fence = /```generation-style/.test(brandMd) ? ["the ```generation-style block"] : [];
237
- return [.../* @__PURE__ */ new Set([...headings, ...fence])];
238
- }
239
- var PRIVATE_QUOTE_LINE = "Never publish a customer quote or an identifiable customer conversation.";
240
- var PRIVATE_QUOTE_MEANT = "Never publish what a customer said in a private call, chat or note, nor a conversation that identifies them. A testimonial, review or case study the customer published or agreed to is not a private call: an ad may quote it.";
241
- function brandRulesPrompt(document) {
242
- const brandMd = document.replaceAll(PRIVATE_QUOTE_LINE, PRIVATE_QUOTE_MEANT);
243
- const sections = ruleSections(brandMd);
244
- return [
245
- "You read a company's brand guidelines (BRAND.md), written in any language, for the people who make its ads. List every standing rule they set that an ad, its words, its pictures, its people or its logo must follow. Extract only what they state; never invent a rule.",
246
- "",
247
- "Go through the document section by section: every bullet or sentence of a section about copy or wording, voice, what the brand never says, things to reject, legal risk or claims it may not make, a checklist before publishing, how its name, numbers or prices are written, which logo to use and what never to do to it, photography, illustration, imagery or a generation-style block is one rule; keep each, a style taste included (as a prefer), whatever language the section is in. Leave out only rules about web pages, components, code, spacing, typefaces, colours' hex values and where a colour goes on a page.",
248
- ...sections.length > 0 ? [
249
- "",
250
- `Sections that most likely hold rules, each to be read to its end: ${sections.map((h) => `"${h}"`).join(", ")}.`
251
- ] : [],
252
- "",
253
- `Return JSON only: {"rules": [{"text": string, "strength": "never" | "must" | "prefer", "applies": "copy" | "picture" | "cast" | "logo" | "voice" | "sound" | "subtitles" | "any", "forbid": string[], "require": string[], "allow": string[]}]}, at most ${MAX_RULES}, each rule once.`,
254
- `- text: the rule quoted from the document in its own language, whole but short (one bullet, at most one sentence of why). It must make sense read alone, as an ad's reviewer reads it: when a bullet leans on its heading or table, name what it is about ("Brand red: never for text or buttons", not "Never text, never a button").`,
255
- '- strength: "never" for a ban, "must" for something every ad has to do, "prefer" for a taste or a default.',
256
- `- applies: "copy" for words, "picture" for what is shown, "cast" for who appears, "logo", "voice" or "sound" for a video's voice and audio, "subtitles", else "any".`,
257
- '- forbid: the exact words the rule bans in every case, as the document quotes them ("\u2014" for em-dashes, "usted"); [] when the ban depends on the context or names no words. allow: the right spelling when the rule is about how a word is written or capitalised ("ZentIA"). require: words every ad must say; usually [].',
258
- "",
259
- "<brand_md>",
260
- brandMd.slice(0, BRAND_MD_CHARS),
261
- "</brand_md>"
262
- ].join("\n");
263
- }
264
- function brandRulesReader(cacheDir, onSpend) {
265
- return async (brandMd) => {
266
- const prompt = brandRulesPrompt(brandMd);
267
- const key = createHash2("sha256").update(JSON.stringify([PROMPT_VERSION2, BRAND_RULES_MODEL, prompt])).digest("hex");
268
- const file = path2.join(cacheDir, "brand-rules", `${key}.json`);
269
- const inFlight = reading2.get(file);
270
- if (inFlight) return await inFlight;
271
- if (failed.has(file)) return null;
272
- const read = readOrAsk2(file, prompt, onSpend, cacheDir).then((rules) => {
273
- if (rules === null) failed.add(file);
274
- return rules;
275
- }).finally(() => reading2.delete(file));
276
- reading2.set(file, read);
277
- return await read;
278
- };
279
- }
280
- var reading2 = /* @__PURE__ */ new Map();
281
- var failed = /* @__PURE__ */ new Set();
282
- async function readOrAsk2(file, prompt, onSpend, cacheDir) {
283
- const cached = parseBrandRules(await readFile2(file, "utf8").then(JSON.parse, () => null));
284
- if (cached) return cached;
285
- const spent = [];
286
- const answer = await askAboutText(BRAND_RULES_MODEL, prompt, (u) => onSpend ? onSpend(u) : spent.push(u), {
287
- timeoutMs: TIMEOUT_MS2,
288
- request: REQUEST2
289
- }).catch(() => null);
290
- await holdUnbilledSpend(cacheDir, spent).catch(() => void 0);
291
- const rules = parseBrandRules(answer);
292
- if (rules) {
293
- await mkdir2(path2.dirname(file), { recursive: true }).catch(() => void 0);
294
- await writeFile2(file, JSON.stringify({ rules }), "utf8").catch(() => void 0);
295
- }
296
- return rules;
297
- }
298
- async function readWorkspaceBrandRules(root, opts = {}) {
299
- const brandMd = await readFile2(path2.join(root, "src", "brand", "BRAND.md"), "utf8").catch(() => "");
300
- if (!brandMd.trim()) return [];
301
- const read = opts.read ?? brandRulesReader(path2.join(root, "canvas", ".cache"), opts.onSpend);
302
- return await read(brandMd).catch(() => null) ?? [];
303
- }
304
-
305
- // src/engine/creative-context/index.ts
306
- async function readAllRules(root, readers = {}) {
307
- const [declared, learned] = await Promise.all([
308
- readWorkspaceBrandRules(root, {
309
- ...readers.brandRules ? { read: readers.brandRules } : {},
310
- ...readers.onSpend ? { onSpend: readers.onSpend } : {}
311
- }),
312
- readLearnedRules(root)
313
- ]);
314
- return [...learned, ...declaredRules(declared)];
315
- }
316
- async function readCreativeContext(root, target = {}, opts = {}) {
317
- const readers = opts.readers ?? {};
318
- const [company, brand, rules] = await Promise.all([
319
- readCompanyReading(root, ...readers.company ? [readers.company] : []).catch(() => null),
320
- readWorkspaceBrandDoc(root, {
321
- ...readers.brand ? { read: readers.brand } : {},
322
- ...readers.onSpend ? { onSpend: readers.onSpend } : {}
323
- }).catch(() => null),
324
- readAllRules(root, readers).catch(() => [])
325
- ]);
326
- const held = selectRules(rules, target, opts.waived);
327
- return { company, brand, rules: held, rulesDigest: rulesDigest(held), caseFile: (slug) => readCaseFile(slug) };
328
- }
329
- var workspaceOfCreative = (creativeDir) => path3.resolve(creativeDir, "../../..");
330
- function avoidOf(rules, max = 5) {
331
- return rules.filter((r) => r.strength === "never" && r.applies !== "voice" && r.applies !== "sound").slice(0, max).map((r) => r.text.length > 90 ? `${r.text.slice(0, 89)}\u2026` : r.text);
332
- }
333
-
334
- export {
335
- memeRegister,
336
- companyLine,
337
- readCompanyReading,
338
- readCaseFile,
339
- readAllRules,
340
- readCreativeContext,
341
- workspaceOfCreative,
342
- avoidOf
343
- };
344
- //# sourceMappingURL=chunk-NKIBXOHT.js.map