@koda-sl/baker-cli 0.500.0 → 0.501.0-dev.6e96f50b9

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 (850) hide show
  1. package/README.md +8 -0
  2. package/dist/account-MV3NLCM7.js +80 -0
  3. package/dist/account-O6TGGIQI.js +80 -0
  4. package/dist/account-reads-NUF5PNDN.js +219 -0
  5. package/dist/account-users-6VMTSBPB.js +62 -0
  6. package/dist/account-writes-O3VEGYR3.js +66 -0
  7. package/dist/accounts-KXYAGHUO.js +699 -0
  8. package/dist/accounts-PLEZUUPU.js +78 -0
  9. package/dist/actions-M65FQITM.js +55 -0
  10. package/dist/activecampaign-BMU4KRHA.js +936 -0
  11. package/dist/ad-group-writes-DF362PY7.js +170 -0
  12. package/dist/ad-groups-QGKIIODZ.js +68 -0
  13. package/dist/ad-writes-X2PI6ZWP.js +174 -0
  14. package/dist/add-BLGRFPRJ.js +105 -0
  15. package/dist/add-CE7M63A5.js +303 -0
  16. package/dist/ads-6YECVD3I.js +48 -0
  17. package/dist/ads-Q3DDAWWW.js +77 -0
  18. package/dist/advertisers-CIH2MZDD.js +121 -0
  19. package/dist/analytics-26QPKNCM.js +2138 -0
  20. package/dist/analytics-NT5DSRJO.js +445 -0
  21. package/dist/animate-JT5ZASUF.js +480 -0
  22. package/dist/assign-6SSKCI27.js +78 -0
  23. package/dist/audience-size-TTCR3XAT.js +74 -0
  24. package/dist/audiences-SJNKZANP.js +268 -0
  25. package/dist/audit-ROOPZJDD.js +152 -0
  26. package/dist/autocomplete-P2XGFLMM.js +112 -0
  27. package/dist/avatars-NRYRPIRU.js +38 -0
  28. package/dist/bid-pricing-UGAXYNOP.js +101 -0
  29. package/dist/brand-FOR3DSKV.js +22 -0
  30. package/dist/brief-7OQKGGVL.js +541 -0
  31. package/dist/campaign-groups-CIPQHMZS.js +97 -0
  32. package/dist/campaign-writes-NSBACF2P.js +166 -0
  33. package/dist/campaign-writes-OMFZJWGU.js +170 -0
  34. package/dist/campaigns-OMMEJYEC.js +111 -0
  35. package/dist/campaigns-UARVDDWQ.js +107 -0
  36. package/dist/campaigns-WWVN6QSD.js +76 -0
  37. package/dist/canvas-URCNGKPF.js +46 -0
  38. package/dist/capabilities-HOU7QPT2.js +145 -0
  39. package/dist/catalog-P34ZA66G.js +65 -0
  40. package/dist/catalogs-UYDBYIY4.js +128 -0
  41. package/dist/changes-BWNFAVPX.js +135 -0
  42. package/dist/chatgpt-PXRVAIYN.js +47 -0
  43. package/dist/chats-O2YQ5CUE.js +277 -0
  44. package/dist/check-52JH3EX5.js +105 -0
  45. package/dist/chunk-23YNUSLR.js +344 -0
  46. package/dist/chunk-25L3PCG3.js +89 -0
  47. package/dist/chunk-2DFQ5DRN.js +547 -0
  48. package/dist/chunk-2NQ4KZMC.js +363 -0
  49. package/dist/chunk-2PQXUN3X.js +148 -0
  50. package/dist/chunk-3BQWXNKX.js +592 -0
  51. package/dist/chunk-3ILJAFMP.js +98 -0
  52. package/dist/chunk-3QJVQZHH.js +142 -0
  53. package/dist/chunk-3VA52AHF.js +676 -0
  54. package/dist/chunk-3VYKVHU2.js +26 -0
  55. package/dist/chunk-3ZW3NYI6.js +3187 -0
  56. package/dist/chunk-3ZW3NYI6.js.map +1 -0
  57. package/dist/chunk-43PAN3L2.js +228 -0
  58. package/dist/chunk-4D5HZ7V3.js +150 -0
  59. package/dist/chunk-4IBP7ENG.js +23 -0
  60. package/dist/chunk-4IYLTR6P.js +203 -0
  61. package/dist/chunk-4JENX6PN.js +494 -0
  62. package/dist/chunk-4SATGZL3.js +103 -0
  63. package/dist/chunk-5HJ4F4NQ.js +64 -0
  64. package/dist/chunk-66TFWT5I.js +274 -0
  65. package/dist/chunk-6HS4YPW7.js +46 -0
  66. package/dist/chunk-6QIXZ7EZ.js +197 -0
  67. package/dist/chunk-7U2V4BKR.js +275 -0
  68. package/dist/chunk-7VBKTCX3.js +170 -0
  69. package/dist/chunk-AGQIRW4G.js +91 -0
  70. package/dist/chunk-B5JQM24Z.js +5368 -0
  71. package/dist/chunk-CO2CAOY2.js +910 -0
  72. package/dist/chunk-DMPIWMDR.js +169 -0
  73. package/dist/chunk-DNSXOUNC.js +319 -0
  74. package/dist/chunk-DVPWNQ7S.js +1628 -0
  75. package/dist/chunk-DVUEFCOG.js +122 -0
  76. package/dist/chunk-ERGEZPJH.js +167 -0
  77. package/dist/chunk-F6P6GGWB.js +156 -0
  78. package/dist/chunk-FHBDDVL4.js +66 -0
  79. package/dist/chunk-GCGXKPZJ.js +406 -0
  80. package/dist/chunk-HFIACH3D.js +249 -0
  81. package/dist/chunk-I3LQPISV.js +225 -0
  82. package/dist/chunk-IWSKTNT4.js +392 -0
  83. package/dist/chunk-J2JWWDK6.js +191 -0
  84. package/dist/chunk-JD2PWX7P.js +8954 -0
  85. package/dist/chunk-JFK6Y7A7.js +831 -0
  86. package/dist/chunk-JREPQJEY.js +63 -0
  87. package/dist/chunk-JYOVVJ2E.js +8914 -0
  88. package/dist/chunk-L6EZRWI5.js +163 -0
  89. package/dist/chunk-LV24JVMZ.js +783 -0
  90. package/dist/chunk-MWD6JTOY.js +7122 -0
  91. package/dist/chunk-MWD6JTOY.js.map +1 -0
  92. package/dist/chunk-N22J7UPW.js +1919 -0
  93. package/dist/chunk-NUTMEDAP.js +97 -0
  94. package/dist/chunk-PHOAW3WN.js +76 -0
  95. package/dist/chunk-PITLFH7K.js +387 -0
  96. package/dist/chunk-PSYAT3ZM.js +843 -0
  97. package/dist/chunk-PTRCB7AR.js +4251 -0
  98. package/dist/chunk-PTRCB7AR.js.map +1 -0
  99. package/dist/chunk-QATA3YJM.js +349 -0
  100. package/dist/chunk-QR77PWZA.js +51 -0
  101. package/dist/chunk-S4L4H7JG.js +1518 -0
  102. package/dist/chunk-SGU5L5JS.js +207 -0
  103. package/dist/chunk-SJWEYCA3.js +942 -0
  104. package/dist/chunk-U2E4V56C.js +61 -0
  105. package/dist/chunk-V76EZ5DQ.js +604 -0
  106. package/dist/chunk-VQBIGA2H.js +3868 -0
  107. package/dist/chunk-WD6REBLS.js +297 -0
  108. package/dist/chunk-WEQ5TKIQ.js +455 -0
  109. package/dist/chunk-WWAK4CNA.js +846 -0
  110. package/dist/chunk-X4A7NEBZ.js +638 -0
  111. package/dist/chunk-XRTM4DGG.js +285 -0
  112. package/dist/chunk-Y35WFNKZ.js +131 -0
  113. package/dist/chunk-Y456MK74.js +224 -0
  114. package/dist/chunk-YW2SISXV.js +57 -0
  115. package/dist/chunk-ZCPYINLO.js +479 -0
  116. package/dist/chunk-ZEKW4FKU.js +24014 -0
  117. package/dist/chunk-ZEKW4FKU.js.map +1 -0
  118. package/dist/chunk-ZL4RUOCW.js +19 -0
  119. package/dist/claim-WWIZTMTV.js +198 -0
  120. package/dist/cli.js +33 -33
  121. package/dist/companies-MILLGGJI.js +196 -0
  122. package/dist/company-3MO2C3SJ.js +306 -0
  123. package/dist/complete-22T4UMZA.js +82 -0
  124. package/dist/connect-U6HPGREH.js +43 -0
  125. package/dist/conversation-RP3AK4LE.js +94 -0
  126. package/dist/conversion-report-UIU4JRJG.js +125 -0
  127. package/dist/conversion-upload-command-5BUCIVEE.js +439 -0
  128. package/dist/conversion-writes-OMZVC2NX.js +120 -0
  129. package/dist/conversions-ACYPUK4Z.js +138 -0
  130. package/dist/conversions-M5FWYDC4.js +76 -0
  131. package/dist/create-DG326KYF.js +208 -0
  132. package/dist/create-JNVOTWWU.js +60 -0
  133. package/dist/create-L3A5HCNR.js +133 -0
  134. package/dist/create-M37PJDJF.js +237 -0
  135. package/dist/creatives-L5OKL34F.js +58 -0
  136. package/dist/creatives-YGNBGVLX.js +221 -0
  137. package/dist/credentials-7LBMDF6N.js +288 -0
  138. package/dist/critique-2DKP7YFP.js +1459 -0
  139. package/dist/critique-7KZZS2EX.js +230 -0
  140. package/dist/crm-DHBHUDXH.js +321 -0
  141. package/dist/crm-HB6TC3JM.js +225 -0
  142. package/dist/currency-FGNHI5NQ.js +88 -0
  143. package/dist/customers-G7XJHA2I.js +57 -0
  144. package/dist/delete-N34HCPOM.js +67 -0
  145. package/dist/delete-YQWPPBM6.js +55 -0
  146. package/dist/delete-YVNKPARC.js +65 -0
  147. package/dist/demographics-YI2WM4HS.js +139 -0
  148. package/dist/discard-PJNIC22V.js +67 -0
  149. package/dist/discover-KXTBNKH3.js +172 -0
  150. package/dist/domain-GJUNOEFM.js +99 -0
  151. package/dist/download-XQBBVHO2.js +170 -0
  152. package/dist/download-XQBBVHO2.js.map +1 -0
  153. package/dist/draft-7NAX2XE5.js +308 -0
  154. package/dist/draft-JX35Y36U.js +281 -0
  155. package/dist/draft-N2E6YXER.js +333 -0
  156. package/dist/draft-PPUG66G6.js +308 -0
  157. package/dist/draft-UFJO2N6C.js +218 -0
  158. package/dist/engine/index.js +7 -7
  159. package/dist/experiments-ZWEI2VT3.js +234 -0
  160. package/dist/facets-Z4NGP42L.js +115 -0
  161. package/dist/feedback-43MWGNMC.js +109 -0
  162. package/dist/feedback-record-2P625JGM.js +263 -0
  163. package/dist/fetch-S2R7NHKI.js +177 -0
  164. package/dist/fit-CJXDP75P.js +63 -0
  165. package/dist/flows-DIPN66XJ.js +248 -0
  166. package/dist/fonts-3UNRBOM6.js +37 -0
  167. package/dist/forecast-EPYSKYDX.js +119 -0
  168. package/dist/forecast-HPYOX43W.js +169 -0
  169. package/dist/funnel-JLYI5XXG.js +395 -0
  170. package/dist/generate-3Y4IRIVA.js +263 -0
  171. package/dist/get-3NRSP3FD.js +57 -0
  172. package/dist/get-QYIE5QQD.js +80 -0
  173. package/dist/google-7L4GR3AB.js +3267 -0
  174. package/dist/google-ads-O4MYQOGT.js +196 -0
  175. package/dist/history-DGFRDY7V.js +134 -0
  176. package/dist/history-I6ZDT2WP.js +67 -0
  177. package/dist/hubspot-J6Z5FAZ5.js +780 -0
  178. package/dist/ideas-ADQFXOI4.js +43 -0
  179. package/dist/images-X7Z34JXA.js +92 -0
  180. package/dist/ingest-3YB37P3B.js +24 -0
  181. package/dist/ingest-QEOAUEKH.js +108 -0
  182. package/dist/insights-FEDPCRAC.js +130 -0
  183. package/dist/inspect-N2XWYHLO.js +190 -0
  184. package/dist/intent-QTQIHE32.js +95 -0
  185. package/dist/keyword-gap-SSWMMVI2.js +130 -0
  186. package/dist/keyword-metrics-6UKUK6GT.js +198 -0
  187. package/dist/keywords-for-site-O6GRPM2B.js +129 -0
  188. package/dist/landing-INTIUYIJ.js +28 -0
  189. package/dist/languages-2RPBR5VU.js +40 -0
  190. package/dist/leads-S3HSZZCL.js +113 -0
  191. package/dist/learn-6FPZCSOS.js +205 -0
  192. package/dist/line-item-writes-AALLWAU4.js +209 -0
  193. package/dist/line-items-KPWFC6K4.js +103 -0
  194. package/dist/link-4QPX5OEW.js +65 -0
  195. package/dist/linkedin-WICM3UW5.js +1314 -0
  196. package/dist/linkedin-person-5VXCUVH5.js +137 -0
  197. package/dist/list-6MBZKJOY.js +65 -0
  198. package/dist/list-CPTVS5DS.js +152 -0
  199. package/dist/list-UOCTTPPW.js +304 -0
  200. package/dist/locations-3RZ5VGBO.js +67 -0
  201. package/dist/locations-U5CJGLMB.js +40 -0
  202. package/dist/log-V2ZXE34Z.js +93 -0
  203. package/dist/make-NFND4QRB.js +1368 -0
  204. package/dist/map-KZBPFQXO.js +434 -0
  205. package/dist/mcp-LACK6SUK.js +715 -0
  206. package/dist/media-sources-TZF6BUJV.js +35 -0
  207. package/dist/members-R4XLM7VC.js +45 -0
  208. package/dist/metrics-ZYRQXPA6.js +152 -0
  209. package/dist/models-C3BLMJGT.js +155 -0
  210. package/dist/normalize-ZDY6L5VO.js +142 -0
  211. package/dist/options-2VKTXIV7.js +123 -0
  212. package/dist/organization-EO4LOJHQ.js +947 -0
  213. package/dist/performance-AGJ42PRN.js +5445 -0
  214. package/dist/performance-TALH5EGT.js +25 -0
  215. package/dist/pixels-YGOGQ7SS.js +60 -0
  216. package/dist/posts-37LZKGWU.js +34 -0
  217. package/dist/promoted-tweet-writes-27RR3GOV.js +181 -0
  218. package/dist/promoted-tweets-6XAIXBK5.js +119 -0
  219. package/dist/publish-YMZVWMZ6.js +342 -0
  220. package/dist/query-HSDQWMJ3.js +62 -0
  221. package/dist/reddit-XNCKH4LM.js +27 -0
  222. package/dist/refresh-X52QWB7U.js +95 -0
  223. package/dist/release-NRZSYXTV.js +61 -0
  224. package/dist/relevant-pages-DBALXQLB.js +99 -0
  225. package/dist/remove-CBHGRAZS.js +51 -0
  226. package/dist/reopen-ROZWMKSV.js +64 -0
  227. package/dist/rerun-CRAFUCZG.js +93 -0
  228. package/dist/research-6DMZVH3U.js +72 -0
  229. package/dist/research-MQMA4ZQN.js +263 -0
  230. package/dist/reset-6PCDMCKC.js +55 -0
  231. package/dist/reset-JEMTNDBF.js +55 -0
  232. package/dist/resolve-MPN3G7YW.js +122 -0
  233. package/dist/retry-7RQ44CSW.js +61 -0
  234. package/dist/retry-JUYM5AE4.js +63 -0
  235. package/dist/revenue-IFI432JN.js +89 -0
  236. package/dist/rules-W2DCHJGX.js +97 -0
  237. package/dist/rules-add-OIP7SRKM.js +463 -0
  238. package/dist/run-IXJ3AJ6X.js +68 -0
  239. package/dist/run-LJUCR2JA.js +67 -0
  240. package/dist/scaffold-ad-SBYDMOAQ.js +1514 -0
  241. package/dist/scaffold-static-ad-BOKIEVV5.js +1013 -0
  242. package/dist/scaffold-static-ad-BOKIEVV5.js.map +1 -0
  243. package/dist/scaffold-video-Z4GXKC7W.js +886 -0
  244. package/dist/schedule-BMGOREVG.js +62 -0
  245. package/dist/scheduled-agents-BGTR3WCX.js +50 -0
  246. package/dist/schema-HCWSZHZJ.js +133 -0
  247. package/dist/search-OVFOPUXT.js +175 -0
  248. package/dist/select-XSVMD5JH.js +104 -0
  249. package/dist/set-prompt-SFP2DB4O.js +196 -0
  250. package/dist/setup-links-K6KTGVSA.js +142 -0
  251. package/dist/shopify-MIOO3BGY.js +3956 -0
  252. package/dist/site-6M7SXCPN.js +178 -0
  253. package/dist/sources-FTAC2WUM.js +455 -0
  254. package/dist/sources-JHPI7Q2O.js +30 -0
  255. package/dist/stale-FPRPOEHH.js +74 -0
  256. package/dist/status-4C37VNOQ.js +63 -0
  257. package/dist/studio-65IM5YDD.js +49 -0
  258. package/dist/sync-KCD6KCKU.js +55 -0
  259. package/dist/sync-definition-WFDK6RR3.js +67 -0
  260. package/dist/tag-manager-BVPLGLTF.js +43 -0
  261. package/dist/tags-2A4YRO34.js +21 -0
  262. package/dist/tags-N3LP2WTK.js +21 -0
  263. package/dist/tags-OBQ5BTBY.js +26 -0
  264. package/dist/tags-WWETGLRJ.js +225 -0
  265. package/dist/tags-ZWL3G4XR.js +21 -0
  266. package/dist/targeting-criteria-YHSVILGV.js +113 -0
  267. package/dist/targets-4SZC7DR4.js +104 -0
  268. package/dist/testimonials-MJHMFJ5J.js +32 -0
  269. package/dist/themes-GTWQLIX2.js +95 -0
  270. package/dist/top-companies-DSL2QVOH.js +109 -0
  271. package/dist/transcript-FGLOJFU4.js +163 -0
  272. package/dist/translate-JSXPZUBM.js +607 -0
  273. package/dist/triggers-UAEGGBYL.js +142 -0
  274. package/dist/unlink-HUCQPTTA.js +68 -0
  275. package/dist/unstage-CYIVBS5D.js +86 -0
  276. package/dist/update-I3WG7QBV.js +190 -0
  277. package/dist/update-I3WG7QBV.js.map +1 -0
  278. package/dist/update-IORKVKDQ.js +153 -0
  279. package/dist/update-R7WY7EGL.js +99 -0
  280. package/dist/update-WT7MMEBY.js +64 -0
  281. package/dist/upload-FZAAJHU7.js +127 -0
  282. package/dist/url-options-PPIRU2RF.js +130 -0
  283. package/dist/url-params-ZM6YVT63.js +99 -0
  284. package/dist/validate-PPUSF56N.js +120 -0
  285. package/dist/videos-YM7H7IXJ.js +41 -0
  286. package/dist/videos-YM7H7IXJ.js.map +1 -0
  287. package/dist/viewer-check-4SFBSLRN.js +81 -0
  288. package/dist/web-MYPJLXY3.js +141 -0
  289. package/dist/winning-ads-KY7NQR2P.js +86 -0
  290. package/dist/write-commands-GQHYLHOF.js +1493 -0
  291. package/dist/x-Q2DLEBQS.js +47 -0
  292. package/package.json +1 -1
  293. package/dist/account-PYK5VMQ4.js +0 -80
  294. package/dist/account-YSMZB5ZC.js +0 -80
  295. package/dist/account-reads-2U5OGO72.js +0 -219
  296. package/dist/account-users-XFNFGZB7.js +0 -62
  297. package/dist/account-writes-4MAKFM7L.js +0 -66
  298. package/dist/accounts-ZKY6KPU3.js +0 -78
  299. package/dist/accounts-ZYOQSFX5.js +0 -699
  300. package/dist/actions-PF62UVHS.js +0 -55
  301. package/dist/activecampaign-Q7LLZSZ4.js +0 -936
  302. package/dist/ad-group-writes-XZ7XSJ3C.js +0 -170
  303. package/dist/ad-groups-HI5YNTX3.js +0 -68
  304. package/dist/ad-writes-E2C4BKWT.js +0 -174
  305. package/dist/add-3GL76LTP.js +0 -105
  306. package/dist/add-GDEQN43J.js +0 -303
  307. package/dist/ads-HH5YTV4O.js +0 -48
  308. package/dist/ads-VXF5STHG.js +0 -77
  309. package/dist/advertisers-B5L4LZW2.js +0 -121
  310. package/dist/analytics-BBX6CU3S.js +0 -2138
  311. package/dist/analytics-WLV24XJE.js +0 -445
  312. package/dist/animate-2BMHZ4FM.js +0 -480
  313. package/dist/assign-BSV765I3.js +0 -78
  314. package/dist/audience-size-KJGSHN45.js +0 -74
  315. package/dist/audiences-SUW2NSXG.js +0 -268
  316. package/dist/audit-RKDWAPMX.js +0 -152
  317. package/dist/autocomplete-BNQXAPDX.js +0 -112
  318. package/dist/avatars-BRDNW4ZF.js +0 -38
  319. package/dist/bid-pricing-ARPPR45O.js +0 -101
  320. package/dist/brand-JJDZKJSM.js +0 -22
  321. package/dist/brief-FSVESR44.js +0 -541
  322. package/dist/campaign-groups-DRUQ5WBQ.js +0 -97
  323. package/dist/campaign-writes-JFT4OPL5.js +0 -170
  324. package/dist/campaign-writes-SDQ7IPHU.js +0 -166
  325. package/dist/campaigns-FM2V3RIE.js +0 -111
  326. package/dist/campaigns-UDPZIIPK.js +0 -107
  327. package/dist/campaigns-XFNPYDO6.js +0 -76
  328. package/dist/canvas-ZRMKN442.js +0 -46
  329. package/dist/capabilities-HMT6ZBPH.js +0 -145
  330. package/dist/catalog-TZLU5NWI.js +0 -65
  331. package/dist/catalogs-WR3D6VEY.js +0 -128
  332. package/dist/changes-ONEEMEMT.js +0 -135
  333. package/dist/chatgpt-23X76OFD.js +0 -47
  334. package/dist/chats-77MJ5SIT.js +0 -277
  335. package/dist/check-TA3HM2QA.js +0 -105
  336. package/dist/chunk-2572627P.js +0 -547
  337. package/dist/chunk-34Z4YPXD.js +0 -846
  338. package/dist/chunk-3HFGJFRM.js +0 -387
  339. package/dist/chunk-3LFPQSSC.js +0 -406
  340. package/dist/chunk-3YJNSUNF.js +0 -131
  341. package/dist/chunk-42YFMKEU.js +0 -191
  342. package/dist/chunk-457XEP63.js +0 -97
  343. package/dist/chunk-5KDFRTMY.js +0 -89
  344. package/dist/chunk-5MSRVAUZ.js +0 -7112
  345. package/dist/chunk-5MSRVAUZ.js.map +0 -1
  346. package/dist/chunk-5YQATOWK.js +0 -66
  347. package/dist/chunk-6IE7RGIC.js +0 -363
  348. package/dist/chunk-6KWEF6HF.js +0 -8914
  349. package/dist/chunk-6QBSUYQZ.js +0 -197
  350. package/dist/chunk-7HZSORAB.js +0 -843
  351. package/dist/chunk-A3IQAONL.js +0 -638
  352. package/dist/chunk-AIOICB5Q.js +0 -392
  353. package/dist/chunk-ANLLW3KZ.js +0 -228
  354. package/dist/chunk-AZH6H4TV.js +0 -783
  355. package/dist/chunk-BBBWMD5R.js +0 -274
  356. package/dist/chunk-C4I5NCMG.js +0 -224
  357. package/dist/chunk-EBEZFAUH.js +0 -24014
  358. package/dist/chunk-EBEZFAUH.js.map +0 -1
  359. package/dist/chunk-ERSL4WZT.js +0 -4251
  360. package/dist/chunk-ERSL4WZT.js.map +0 -1
  361. package/dist/chunk-F4YQ5PVR.js +0 -1518
  362. package/dist/chunk-FFG2OYVV.js +0 -64
  363. package/dist/chunk-FR6RFLFP.js +0 -942
  364. package/dist/chunk-GNKICND2.js +0 -604
  365. package/dist/chunk-GTNNH3AI.js +0 -23
  366. package/dist/chunk-HITRGZIS.js +0 -57
  367. package/dist/chunk-HML3VQIW.js +0 -225
  368. package/dist/chunk-HNS5OURO.js +0 -103
  369. package/dist/chunk-I2C4IUDP.js +0 -831
  370. package/dist/chunk-I46D7YXI.js +0 -207
  371. package/dist/chunk-JAC6JVCI.js +0 -26
  372. package/dist/chunk-JCRGGVV5.js +0 -910
  373. package/dist/chunk-JDUPYPYB.js +0 -676
  374. package/dist/chunk-KMRXPNQA.js +0 -297
  375. package/dist/chunk-LIX4S3ZM.js +0 -61
  376. package/dist/chunk-LRV6M2WB.js +0 -1919
  377. package/dist/chunk-MCJ5I5LR.js +0 -3187
  378. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  379. package/dist/chunk-MVD7QIXI.js +0 -46
  380. package/dist/chunk-MZPS46OR.js +0 -76
  381. package/dist/chunk-N4CHIGLO.js +0 -51
  382. package/dist/chunk-N7KICNZD.js +0 -142
  383. package/dist/chunk-NT3NJVPZ.js +0 -169
  384. package/dist/chunk-NXWEQTHL.js +0 -1628
  385. package/dist/chunk-PFGRHBQY.js +0 -122
  386. package/dist/chunk-PGRDGQ23.js +0 -150
  387. package/dist/chunk-PX3PUDK7.js +0 -167
  388. package/dist/chunk-QY4GBBOV.js +0 -249
  389. package/dist/chunk-SP6BZLM4.js +0 -494
  390. package/dist/chunk-SSJR3FZ5.js +0 -19
  391. package/dist/chunk-ST2777KW.js +0 -156
  392. package/dist/chunk-SWN6OHXG.js +0 -148
  393. package/dist/chunk-TESOYFMQ.js +0 -319
  394. package/dist/chunk-TGQAEHLA.js +0 -170
  395. package/dist/chunk-TX7CQTD4.js +0 -5368
  396. package/dist/chunk-UC5HG2UF.js +0 -275
  397. package/dist/chunk-UKSSNYLU.js +0 -98
  398. package/dist/chunk-UQWBJNQY.js +0 -592
  399. package/dist/chunk-UX45LDRM.js +0 -63
  400. package/dist/chunk-VAHDJ5CK.js +0 -344
  401. package/dist/chunk-VM4IQ75N.js +0 -163
  402. package/dist/chunk-VOAWBGRQ.js +0 -8954
  403. package/dist/chunk-VRP677NO.js +0 -455
  404. package/dist/chunk-WAEWKD75.js +0 -479
  405. package/dist/chunk-X64DJIZG.js +0 -349
  406. package/dist/chunk-XYBSTW3P.js +0 -203
  407. package/dist/chunk-YNYAT2TZ.js +0 -285
  408. package/dist/chunk-YZYDB77W.js +0 -3868
  409. package/dist/chunk-ZNH45NXP.js +0 -91
  410. package/dist/claim-CIUU5QEZ.js +0 -198
  411. package/dist/companies-VV5XD3BP.js +0 -196
  412. package/dist/company-EZH6ZPXD.js +0 -306
  413. package/dist/complete-NKYCSYKX.js +0 -82
  414. package/dist/connect-TFH4AFFO.js +0 -43
  415. package/dist/conversation-S6CKSNYW.js +0 -94
  416. package/dist/conversion-report-V3TGPELD.js +0 -125
  417. package/dist/conversion-upload-command-K2SB6O6K.js +0 -439
  418. package/dist/conversion-writes-B2QOYL56.js +0 -120
  419. package/dist/conversions-ILF5HJOO.js +0 -76
  420. package/dist/conversions-KXYOUSBR.js +0 -138
  421. package/dist/create-BZWX5KLI.js +0 -60
  422. package/dist/create-WEIGJ4BF.js +0 -237
  423. package/dist/create-XKGV6TEW.js +0 -133
  424. package/dist/create-Y44CPUE4.js +0 -208
  425. package/dist/creatives-P5MX2AZL.js +0 -58
  426. package/dist/creatives-WFDFLRQV.js +0 -221
  427. package/dist/credentials-5EOUA5VL.js +0 -288
  428. package/dist/critique-4ETQZBQG.js +0 -1459
  429. package/dist/critique-OYUMBZ4Y.js +0 -230
  430. package/dist/crm-6UU3GFQU.js +0 -225
  431. package/dist/crm-UGP57XSN.js +0 -321
  432. package/dist/currency-UVQIYZUP.js +0 -88
  433. package/dist/customers-RT75T4ZB.js +0 -57
  434. package/dist/delete-37IIUYQU.js +0 -67
  435. package/dist/delete-E575BF73.js +0 -55
  436. package/dist/delete-GQYFBLMP.js +0 -65
  437. package/dist/demographics-3LIUI2SM.js +0 -139
  438. package/dist/discard-7OARQRS7.js +0 -67
  439. package/dist/discover-2TPMVIW7.js +0 -172
  440. package/dist/domain-ZRWUGUOO.js +0 -99
  441. package/dist/draft-5XV2BJ3N.js +0 -281
  442. package/dist/draft-A2I4RLMW.js +0 -308
  443. package/dist/draft-CVSGNA4Z.js +0 -308
  444. package/dist/draft-SNBK2KY6.js +0 -218
  445. package/dist/draft-UHNTXGY7.js +0 -333
  446. package/dist/experiments-IGMLMSLX.js +0 -234
  447. package/dist/facets-AURXB76V.js +0 -115
  448. package/dist/feedback-UDTPDCMS.js +0 -109
  449. package/dist/feedback-record-Z34XJF6K.js +0 -263
  450. package/dist/fetch-GR3FXFXL.js +0 -177
  451. package/dist/fit-SLEEJWVR.js +0 -63
  452. package/dist/flows-NAFSRRY2.js +0 -248
  453. package/dist/fonts-POBAXXBC.js +0 -37
  454. package/dist/forecast-CLQKEFI6.js +0 -169
  455. package/dist/forecast-RN6VUKLS.js +0 -119
  456. package/dist/funnel-O3XOHYI3.js +0 -395
  457. package/dist/generate-NWHPM2GQ.js +0 -263
  458. package/dist/get-2MC5LYXY.js +0 -80
  459. package/dist/get-UQ43T25B.js +0 -57
  460. package/dist/google-ZZCSZR63.js +0 -3267
  461. package/dist/google-ads-7DJ5STPS.js +0 -196
  462. package/dist/history-IXV4ZR6F.js +0 -67
  463. package/dist/history-QRM76S4Q.js +0 -134
  464. package/dist/hubspot-HVZNR2IR.js +0 -780
  465. package/dist/ideas-S2UXZSFB.js +0 -43
  466. package/dist/images-FYSBKRU6.js +0 -92
  467. package/dist/ingest-37F3NOLA.js +0 -24
  468. package/dist/ingest-YQINQGG7.js +0 -108
  469. package/dist/insights-UKWLUS5P.js +0 -130
  470. package/dist/inspect-RVU5RDCE.js +0 -190
  471. package/dist/intent-57BBLPLP.js +0 -95
  472. package/dist/keyword-gap-TSIQBZ6G.js +0 -130
  473. package/dist/keyword-metrics-7XZXPSQO.js +0 -198
  474. package/dist/keywords-for-site-A43QNTLD.js +0 -129
  475. package/dist/landing-NFDGD3PQ.js +0 -28
  476. package/dist/languages-WKOFWZ7S.js +0 -40
  477. package/dist/leads-UHJS7VNH.js +0 -113
  478. package/dist/learn-POJ5ORBK.js +0 -205
  479. package/dist/line-item-writes-K4BSUEIJ.js +0 -209
  480. package/dist/line-items-DLLEPPIN.js +0 -103
  481. package/dist/link-L2KC5EIZ.js +0 -65
  482. package/dist/linkedin-A4U6IGZX.js +0 -1314
  483. package/dist/linkedin-person-DSLAOKKN.js +0 -137
  484. package/dist/list-JKB33W6K.js +0 -304
  485. package/dist/list-PHWCEYCP.js +0 -65
  486. package/dist/list-Y4V276ND.js +0 -152
  487. package/dist/locations-EQKMPX4G.js +0 -40
  488. package/dist/locations-MID4EY6D.js +0 -67
  489. package/dist/log-O3I5JZCM.js +0 -93
  490. package/dist/make-GLGNEOK6.js +0 -1368
  491. package/dist/map-D3EH7S2T.js +0 -434
  492. package/dist/mcp-R4ZTYQW7.js +0 -715
  493. package/dist/media-sources-TVGS34TE.js +0 -35
  494. package/dist/members-OBA4MXAQ.js +0 -45
  495. package/dist/metrics-35OGYZNY.js +0 -152
  496. package/dist/models-JQEPSPNQ.js +0 -155
  497. package/dist/normalize-HU37AR7G.js +0 -142
  498. package/dist/options-HLMTCEDW.js +0 -123
  499. package/dist/organization-6ZVXU5JC.js +0 -947
  500. package/dist/performance-PIB2AXKO.js +0 -25
  501. package/dist/performance-V5WZCJYT.js +0 -5445
  502. package/dist/pixels-WHQLX4FV.js +0 -60
  503. package/dist/posts-QAMZRCRY.js +0 -34
  504. package/dist/promoted-tweet-writes-E4EJZM76.js +0 -181
  505. package/dist/promoted-tweets-M44AIHSQ.js +0 -119
  506. package/dist/publish-H7UGB5IP.js +0 -342
  507. package/dist/query-ZH5CWI3X.js +0 -62
  508. package/dist/reddit-KCPU4RW4.js +0 -27
  509. package/dist/refresh-WTSCSEQE.js +0 -95
  510. package/dist/release-SVOT7QVX.js +0 -61
  511. package/dist/relevant-pages-7KEKKRQ2.js +0 -99
  512. package/dist/remove-TY3AF5K5.js +0 -51
  513. package/dist/reopen-WCUZMTYE.js +0 -64
  514. package/dist/rerun-FKYNFNSI.js +0 -93
  515. package/dist/research-N2RWKIRQ.js +0 -72
  516. package/dist/research-X6ITCPFY.js +0 -263
  517. package/dist/reset-O77UZD6Z.js +0 -55
  518. package/dist/reset-TDAMB4BO.js +0 -55
  519. package/dist/resolve-NC4MLM42.js +0 -122
  520. package/dist/retry-QNXWTHOL.js +0 -63
  521. package/dist/retry-XVUWY7ZH.js +0 -61
  522. package/dist/revenue-D3B4DMBC.js +0 -89
  523. package/dist/rules-Y3BH7SO5.js +0 -97
  524. package/dist/rules-add-GSPFBNYU.js +0 -463
  525. package/dist/run-G6XAJOJ7.js +0 -67
  526. package/dist/run-ON72O5YS.js +0 -68
  527. package/dist/scaffold-ad-YF6FUEJZ.js +0 -1514
  528. package/dist/scaffold-static-ad-C2C6NC6Y.js +0 -1008
  529. package/dist/scaffold-static-ad-C2C6NC6Y.js.map +0 -1
  530. package/dist/scaffold-video-BUOCGJNH.js +0 -886
  531. package/dist/schedule-7EQLO22N.js +0 -62
  532. package/dist/scheduled-agents-4WCPCMYC.js +0 -50
  533. package/dist/schema-KM5MFQUQ.js +0 -133
  534. package/dist/search-YEYQDDLA.js +0 -175
  535. package/dist/select-QSGZYOFV.js +0 -104
  536. package/dist/set-prompt-4OTBGPDQ.js +0 -196
  537. package/dist/setup-links-E2GARNTU.js +0 -142
  538. package/dist/shopify-GT6PJ77M.js +0 -3956
  539. package/dist/site-TMF2P7JR.js +0 -178
  540. package/dist/sources-47LE2UCO.js +0 -455
  541. package/dist/sources-H6XX2WBO.js +0 -30
  542. package/dist/stale-JTX5U752.js +0 -74
  543. package/dist/status-3X3MECDY.js +0 -63
  544. package/dist/studio-Z4AJRIGP.js +0 -49
  545. package/dist/sync-HWTVXGOT.js +0 -55
  546. package/dist/sync-definition-CAPYMYIS.js +0 -67
  547. package/dist/tag-manager-TU3FBSYO.js +0 -43
  548. package/dist/tags-75QCVBQB.js +0 -26
  549. package/dist/tags-7BT63PUE.js +0 -21
  550. package/dist/tags-7K5RSCHI.js +0 -21
  551. package/dist/tags-IELH7YAY.js +0 -21
  552. package/dist/tags-UPA4KKQZ.js +0 -225
  553. package/dist/targeting-criteria-HJQ2FW6E.js +0 -113
  554. package/dist/targets-CBZ37ALP.js +0 -104
  555. package/dist/testimonials-4W6HI2PQ.js +0 -32
  556. package/dist/themes-RDNVUJHG.js +0 -95
  557. package/dist/top-companies-CW77UVK3.js +0 -109
  558. package/dist/transcript-FA2TOVPP.js +0 -163
  559. package/dist/translate-7W7O6W3J.js +0 -607
  560. package/dist/triggers-MCP6IGTX.js +0 -142
  561. package/dist/unlink-RK5V4QO2.js +0 -68
  562. package/dist/unstage-5JTGVEB7.js +0 -86
  563. package/dist/update-5AAMF5JP.js +0 -153
  564. package/dist/update-G2KB3RIW.js +0 -64
  565. package/dist/update-LCE2QN53.js +0 -99
  566. package/dist/update-U2ETZHVU.js +0 -189
  567. package/dist/update-U2ETZHVU.js.map +0 -1
  568. package/dist/upload-ORFEAADP.js +0 -127
  569. package/dist/url-options-6U7QCTAY.js +0 -130
  570. package/dist/url-params-KQIUVVGX.js +0 -99
  571. package/dist/validate-BF656HWM.js +0 -120
  572. package/dist/videos-66FB7BPY.js +0 -39
  573. package/dist/videos-66FB7BPY.js.map +0 -1
  574. package/dist/viewer-check-THBLTL2G.js +0 -81
  575. package/dist/web-2EKHRXCS.js +0 -141
  576. package/dist/winning-ads-LW5SMMLB.js +0 -86
  577. package/dist/write-commands-Z556OHHH.js +0 -1493
  578. package/dist/x-F5CSO2RN.js +0 -47
  579. /package/dist/{account-YSMZB5ZC.js.map → account-MV3NLCM7.js.map} +0 -0
  580. /package/dist/{account-PYK5VMQ4.js.map → account-O6TGGIQI.js.map} +0 -0
  581. /package/dist/{account-reads-2U5OGO72.js.map → account-reads-NUF5PNDN.js.map} +0 -0
  582. /package/dist/{account-users-XFNFGZB7.js.map → account-users-6VMTSBPB.js.map} +0 -0
  583. /package/dist/{account-writes-4MAKFM7L.js.map → account-writes-O3VEGYR3.js.map} +0 -0
  584. /package/dist/{accounts-ZYOQSFX5.js.map → accounts-KXYAGHUO.js.map} +0 -0
  585. /package/dist/{accounts-ZKY6KPU3.js.map → accounts-PLEZUUPU.js.map} +0 -0
  586. /package/dist/{actions-PF62UVHS.js.map → actions-M65FQITM.js.map} +0 -0
  587. /package/dist/{activecampaign-Q7LLZSZ4.js.map → activecampaign-BMU4KRHA.js.map} +0 -0
  588. /package/dist/{ad-group-writes-XZ7XSJ3C.js.map → ad-group-writes-DF362PY7.js.map} +0 -0
  589. /package/dist/{ad-groups-HI5YNTX3.js.map → ad-groups-QGKIIODZ.js.map} +0 -0
  590. /package/dist/{ad-writes-E2C4BKWT.js.map → ad-writes-X2PI6ZWP.js.map} +0 -0
  591. /package/dist/{add-3GL76LTP.js.map → add-BLGRFPRJ.js.map} +0 -0
  592. /package/dist/{add-GDEQN43J.js.map → add-CE7M63A5.js.map} +0 -0
  593. /package/dist/{ads-HH5YTV4O.js.map → ads-6YECVD3I.js.map} +0 -0
  594. /package/dist/{ads-VXF5STHG.js.map → ads-Q3DDAWWW.js.map} +0 -0
  595. /package/dist/{advertisers-B5L4LZW2.js.map → advertisers-CIH2MZDD.js.map} +0 -0
  596. /package/dist/{analytics-BBX6CU3S.js.map → analytics-26QPKNCM.js.map} +0 -0
  597. /package/dist/{analytics-WLV24XJE.js.map → analytics-NT5DSRJO.js.map} +0 -0
  598. /package/dist/{animate-2BMHZ4FM.js.map → animate-JT5ZASUF.js.map} +0 -0
  599. /package/dist/{assign-BSV765I3.js.map → assign-6SSKCI27.js.map} +0 -0
  600. /package/dist/{audience-size-KJGSHN45.js.map → audience-size-TTCR3XAT.js.map} +0 -0
  601. /package/dist/{audiences-SUW2NSXG.js.map → audiences-SJNKZANP.js.map} +0 -0
  602. /package/dist/{audit-RKDWAPMX.js.map → audit-ROOPZJDD.js.map} +0 -0
  603. /package/dist/{autocomplete-BNQXAPDX.js.map → autocomplete-P2XGFLMM.js.map} +0 -0
  604. /package/dist/{avatars-BRDNW4ZF.js.map → avatars-NRYRPIRU.js.map} +0 -0
  605. /package/dist/{bid-pricing-ARPPR45O.js.map → bid-pricing-UGAXYNOP.js.map} +0 -0
  606. /package/dist/{brand-JJDZKJSM.js.map → brand-FOR3DSKV.js.map} +0 -0
  607. /package/dist/{brief-FSVESR44.js.map → brief-7OQKGGVL.js.map} +0 -0
  608. /package/dist/{campaign-groups-DRUQ5WBQ.js.map → campaign-groups-CIPQHMZS.js.map} +0 -0
  609. /package/dist/{campaign-writes-SDQ7IPHU.js.map → campaign-writes-NSBACF2P.js.map} +0 -0
  610. /package/dist/{campaign-writes-JFT4OPL5.js.map → campaign-writes-OMFZJWGU.js.map} +0 -0
  611. /package/dist/{campaigns-FM2V3RIE.js.map → campaigns-OMMEJYEC.js.map} +0 -0
  612. /package/dist/{campaigns-UDPZIIPK.js.map → campaigns-UARVDDWQ.js.map} +0 -0
  613. /package/dist/{campaigns-XFNPYDO6.js.map → campaigns-WWVN6QSD.js.map} +0 -0
  614. /package/dist/{canvas-ZRMKN442.js.map → canvas-URCNGKPF.js.map} +0 -0
  615. /package/dist/{capabilities-HMT6ZBPH.js.map → capabilities-HOU7QPT2.js.map} +0 -0
  616. /package/dist/{catalog-TZLU5NWI.js.map → catalog-P34ZA66G.js.map} +0 -0
  617. /package/dist/{catalogs-WR3D6VEY.js.map → catalogs-UYDBYIY4.js.map} +0 -0
  618. /package/dist/{changes-ONEEMEMT.js.map → changes-BWNFAVPX.js.map} +0 -0
  619. /package/dist/{chatgpt-23X76OFD.js.map → chatgpt-PXRVAIYN.js.map} +0 -0
  620. /package/dist/{chats-77MJ5SIT.js.map → chats-O2YQ5CUE.js.map} +0 -0
  621. /package/dist/{check-TA3HM2QA.js.map → check-52JH3EX5.js.map} +0 -0
  622. /package/dist/{chunk-VAHDJ5CK.js.map → chunk-23YNUSLR.js.map} +0 -0
  623. /package/dist/{chunk-5KDFRTMY.js.map → chunk-25L3PCG3.js.map} +0 -0
  624. /package/dist/{chunk-2572627P.js.map → chunk-2DFQ5DRN.js.map} +0 -0
  625. /package/dist/{chunk-6IE7RGIC.js.map → chunk-2NQ4KZMC.js.map} +0 -0
  626. /package/dist/{chunk-SWN6OHXG.js.map → chunk-2PQXUN3X.js.map} +0 -0
  627. /package/dist/{chunk-UQWBJNQY.js.map → chunk-3BQWXNKX.js.map} +0 -0
  628. /package/dist/{chunk-UKSSNYLU.js.map → chunk-3ILJAFMP.js.map} +0 -0
  629. /package/dist/{chunk-N7KICNZD.js.map → chunk-3QJVQZHH.js.map} +0 -0
  630. /package/dist/{chunk-JDUPYPYB.js.map → chunk-3VA52AHF.js.map} +0 -0
  631. /package/dist/{chunk-JAC6JVCI.js.map → chunk-3VYKVHU2.js.map} +0 -0
  632. /package/dist/{chunk-ANLLW3KZ.js.map → chunk-43PAN3L2.js.map} +0 -0
  633. /package/dist/{chunk-PGRDGQ23.js.map → chunk-4D5HZ7V3.js.map} +0 -0
  634. /package/dist/{chunk-GTNNH3AI.js.map → chunk-4IBP7ENG.js.map} +0 -0
  635. /package/dist/{chunk-XYBSTW3P.js.map → chunk-4IYLTR6P.js.map} +0 -0
  636. /package/dist/{chunk-SP6BZLM4.js.map → chunk-4JENX6PN.js.map} +0 -0
  637. /package/dist/{chunk-HNS5OURO.js.map → chunk-4SATGZL3.js.map} +0 -0
  638. /package/dist/{chunk-FFG2OYVV.js.map → chunk-5HJ4F4NQ.js.map} +0 -0
  639. /package/dist/{chunk-BBBWMD5R.js.map → chunk-66TFWT5I.js.map} +0 -0
  640. /package/dist/{chunk-MVD7QIXI.js.map → chunk-6HS4YPW7.js.map} +0 -0
  641. /package/dist/{chunk-6QBSUYQZ.js.map → chunk-6QIXZ7EZ.js.map} +0 -0
  642. /package/dist/{chunk-UC5HG2UF.js.map → chunk-7U2V4BKR.js.map} +0 -0
  643. /package/dist/{chunk-TGQAEHLA.js.map → chunk-7VBKTCX3.js.map} +0 -0
  644. /package/dist/{chunk-ZNH45NXP.js.map → chunk-AGQIRW4G.js.map} +0 -0
  645. /package/dist/{chunk-TX7CQTD4.js.map → chunk-B5JQM24Z.js.map} +0 -0
  646. /package/dist/{chunk-JCRGGVV5.js.map → chunk-CO2CAOY2.js.map} +0 -0
  647. /package/dist/{chunk-NT3NJVPZ.js.map → chunk-DMPIWMDR.js.map} +0 -0
  648. /package/dist/{chunk-TESOYFMQ.js.map → chunk-DNSXOUNC.js.map} +0 -0
  649. /package/dist/{chunk-NXWEQTHL.js.map → chunk-DVPWNQ7S.js.map} +0 -0
  650. /package/dist/{chunk-PFGRHBQY.js.map → chunk-DVUEFCOG.js.map} +0 -0
  651. /package/dist/{chunk-PX3PUDK7.js.map → chunk-ERGEZPJH.js.map} +0 -0
  652. /package/dist/{chunk-ST2777KW.js.map → chunk-F6P6GGWB.js.map} +0 -0
  653. /package/dist/{chunk-5YQATOWK.js.map → chunk-FHBDDVL4.js.map} +0 -0
  654. /package/dist/{chunk-3LFPQSSC.js.map → chunk-GCGXKPZJ.js.map} +0 -0
  655. /package/dist/{chunk-QY4GBBOV.js.map → chunk-HFIACH3D.js.map} +0 -0
  656. /package/dist/{chunk-HML3VQIW.js.map → chunk-I3LQPISV.js.map} +0 -0
  657. /package/dist/{chunk-AIOICB5Q.js.map → chunk-IWSKTNT4.js.map} +0 -0
  658. /package/dist/{chunk-42YFMKEU.js.map → chunk-J2JWWDK6.js.map} +0 -0
  659. /package/dist/{chunk-VOAWBGRQ.js.map → chunk-JD2PWX7P.js.map} +0 -0
  660. /package/dist/{chunk-I2C4IUDP.js.map → chunk-JFK6Y7A7.js.map} +0 -0
  661. /package/dist/{chunk-UX45LDRM.js.map → chunk-JREPQJEY.js.map} +0 -0
  662. /package/dist/{chunk-6KWEF6HF.js.map → chunk-JYOVVJ2E.js.map} +0 -0
  663. /package/dist/{chunk-VM4IQ75N.js.map → chunk-L6EZRWI5.js.map} +0 -0
  664. /package/dist/{chunk-AZH6H4TV.js.map → chunk-LV24JVMZ.js.map} +0 -0
  665. /package/dist/{chunk-LRV6M2WB.js.map → chunk-N22J7UPW.js.map} +0 -0
  666. /package/dist/{chunk-457XEP63.js.map → chunk-NUTMEDAP.js.map} +0 -0
  667. /package/dist/{chunk-MZPS46OR.js.map → chunk-PHOAW3WN.js.map} +0 -0
  668. /package/dist/{chunk-3HFGJFRM.js.map → chunk-PITLFH7K.js.map} +0 -0
  669. /package/dist/{chunk-7HZSORAB.js.map → chunk-PSYAT3ZM.js.map} +0 -0
  670. /package/dist/{chunk-X64DJIZG.js.map → chunk-QATA3YJM.js.map} +0 -0
  671. /package/dist/{chunk-N4CHIGLO.js.map → chunk-QR77PWZA.js.map} +0 -0
  672. /package/dist/{chunk-F4YQ5PVR.js.map → chunk-S4L4H7JG.js.map} +0 -0
  673. /package/dist/{chunk-I46D7YXI.js.map → chunk-SGU5L5JS.js.map} +0 -0
  674. /package/dist/{chunk-FR6RFLFP.js.map → chunk-SJWEYCA3.js.map} +0 -0
  675. /package/dist/{chunk-LIX4S3ZM.js.map → chunk-U2E4V56C.js.map} +0 -0
  676. /package/dist/{chunk-GNKICND2.js.map → chunk-V76EZ5DQ.js.map} +0 -0
  677. /package/dist/{chunk-YZYDB77W.js.map → chunk-VQBIGA2H.js.map} +0 -0
  678. /package/dist/{chunk-KMRXPNQA.js.map → chunk-WD6REBLS.js.map} +0 -0
  679. /package/dist/{chunk-VRP677NO.js.map → chunk-WEQ5TKIQ.js.map} +0 -0
  680. /package/dist/{chunk-34Z4YPXD.js.map → chunk-WWAK4CNA.js.map} +0 -0
  681. /package/dist/{chunk-A3IQAONL.js.map → chunk-X4A7NEBZ.js.map} +0 -0
  682. /package/dist/{chunk-YNYAT2TZ.js.map → chunk-XRTM4DGG.js.map} +0 -0
  683. /package/dist/{chunk-3YJNSUNF.js.map → chunk-Y35WFNKZ.js.map} +0 -0
  684. /package/dist/{chunk-C4I5NCMG.js.map → chunk-Y456MK74.js.map} +0 -0
  685. /package/dist/{chunk-HITRGZIS.js.map → chunk-YW2SISXV.js.map} +0 -0
  686. /package/dist/{chunk-WAEWKD75.js.map → chunk-ZCPYINLO.js.map} +0 -0
  687. /package/dist/{chunk-SSJR3FZ5.js.map → chunk-ZL4RUOCW.js.map} +0 -0
  688. /package/dist/{claim-CIUU5QEZ.js.map → claim-WWIZTMTV.js.map} +0 -0
  689. /package/dist/{companies-VV5XD3BP.js.map → companies-MILLGGJI.js.map} +0 -0
  690. /package/dist/{company-EZH6ZPXD.js.map → company-3MO2C3SJ.js.map} +0 -0
  691. /package/dist/{complete-NKYCSYKX.js.map → complete-22T4UMZA.js.map} +0 -0
  692. /package/dist/{connect-TFH4AFFO.js.map → connect-U6HPGREH.js.map} +0 -0
  693. /package/dist/{conversation-S6CKSNYW.js.map → conversation-RP3AK4LE.js.map} +0 -0
  694. /package/dist/{conversion-report-V3TGPELD.js.map → conversion-report-UIU4JRJG.js.map} +0 -0
  695. /package/dist/{conversion-upload-command-K2SB6O6K.js.map → conversion-upload-command-5BUCIVEE.js.map} +0 -0
  696. /package/dist/{conversion-writes-B2QOYL56.js.map → conversion-writes-OMZVC2NX.js.map} +0 -0
  697. /package/dist/{conversions-KXYOUSBR.js.map → conversions-ACYPUK4Z.js.map} +0 -0
  698. /package/dist/{conversions-ILF5HJOO.js.map → conversions-M5FWYDC4.js.map} +0 -0
  699. /package/dist/{create-Y44CPUE4.js.map → create-DG326KYF.js.map} +0 -0
  700. /package/dist/{create-BZWX5KLI.js.map → create-JNVOTWWU.js.map} +0 -0
  701. /package/dist/{create-XKGV6TEW.js.map → create-L3A5HCNR.js.map} +0 -0
  702. /package/dist/{create-WEIGJ4BF.js.map → create-M37PJDJF.js.map} +0 -0
  703. /package/dist/{creatives-P5MX2AZL.js.map → creatives-L5OKL34F.js.map} +0 -0
  704. /package/dist/{creatives-WFDFLRQV.js.map → creatives-YGNBGVLX.js.map} +0 -0
  705. /package/dist/{credentials-5EOUA5VL.js.map → credentials-7LBMDF6N.js.map} +0 -0
  706. /package/dist/{critique-4ETQZBQG.js.map → critique-2DKP7YFP.js.map} +0 -0
  707. /package/dist/{critique-OYUMBZ4Y.js.map → critique-7KZZS2EX.js.map} +0 -0
  708. /package/dist/{crm-UGP57XSN.js.map → crm-DHBHUDXH.js.map} +0 -0
  709. /package/dist/{crm-6UU3GFQU.js.map → crm-HB6TC3JM.js.map} +0 -0
  710. /package/dist/{currency-UVQIYZUP.js.map → currency-FGNHI5NQ.js.map} +0 -0
  711. /package/dist/{customers-RT75T4ZB.js.map → customers-G7XJHA2I.js.map} +0 -0
  712. /package/dist/{delete-37IIUYQU.js.map → delete-N34HCPOM.js.map} +0 -0
  713. /package/dist/{delete-E575BF73.js.map → delete-YQWPPBM6.js.map} +0 -0
  714. /package/dist/{delete-GQYFBLMP.js.map → delete-YVNKPARC.js.map} +0 -0
  715. /package/dist/{demographics-3LIUI2SM.js.map → demographics-YI2WM4HS.js.map} +0 -0
  716. /package/dist/{discard-7OARQRS7.js.map → discard-PJNIC22V.js.map} +0 -0
  717. /package/dist/{discover-2TPMVIW7.js.map → discover-KXTBNKH3.js.map} +0 -0
  718. /package/dist/{domain-ZRWUGUOO.js.map → domain-GJUNOEFM.js.map} +0 -0
  719. /package/dist/{draft-CVSGNA4Z.js.map → draft-7NAX2XE5.js.map} +0 -0
  720. /package/dist/{draft-5XV2BJ3N.js.map → draft-JX35Y36U.js.map} +0 -0
  721. /package/dist/{draft-UHNTXGY7.js.map → draft-N2E6YXER.js.map} +0 -0
  722. /package/dist/{draft-A2I4RLMW.js.map → draft-PPUG66G6.js.map} +0 -0
  723. /package/dist/{draft-SNBK2KY6.js.map → draft-UFJO2N6C.js.map} +0 -0
  724. /package/dist/{experiments-IGMLMSLX.js.map → experiments-ZWEI2VT3.js.map} +0 -0
  725. /package/dist/{facets-AURXB76V.js.map → facets-Z4NGP42L.js.map} +0 -0
  726. /package/dist/{feedback-UDTPDCMS.js.map → feedback-43MWGNMC.js.map} +0 -0
  727. /package/dist/{feedback-record-Z34XJF6K.js.map → feedback-record-2P625JGM.js.map} +0 -0
  728. /package/dist/{fetch-GR3FXFXL.js.map → fetch-S2R7NHKI.js.map} +0 -0
  729. /package/dist/{fit-SLEEJWVR.js.map → fit-CJXDP75P.js.map} +0 -0
  730. /package/dist/{flows-NAFSRRY2.js.map → flows-DIPN66XJ.js.map} +0 -0
  731. /package/dist/{fonts-POBAXXBC.js.map → fonts-3UNRBOM6.js.map} +0 -0
  732. /package/dist/{forecast-RN6VUKLS.js.map → forecast-EPYSKYDX.js.map} +0 -0
  733. /package/dist/{forecast-CLQKEFI6.js.map → forecast-HPYOX43W.js.map} +0 -0
  734. /package/dist/{funnel-O3XOHYI3.js.map → funnel-JLYI5XXG.js.map} +0 -0
  735. /package/dist/{generate-NWHPM2GQ.js.map → generate-3Y4IRIVA.js.map} +0 -0
  736. /package/dist/{get-UQ43T25B.js.map → get-3NRSP3FD.js.map} +0 -0
  737. /package/dist/{get-2MC5LYXY.js.map → get-QYIE5QQD.js.map} +0 -0
  738. /package/dist/{google-ZZCSZR63.js.map → google-7L4GR3AB.js.map} +0 -0
  739. /package/dist/{google-ads-7DJ5STPS.js.map → google-ads-O4MYQOGT.js.map} +0 -0
  740. /package/dist/{history-QRM76S4Q.js.map → history-DGFRDY7V.js.map} +0 -0
  741. /package/dist/{history-IXV4ZR6F.js.map → history-I6ZDT2WP.js.map} +0 -0
  742. /package/dist/{hubspot-HVZNR2IR.js.map → hubspot-J6Z5FAZ5.js.map} +0 -0
  743. /package/dist/{ideas-S2UXZSFB.js.map → ideas-ADQFXOI4.js.map} +0 -0
  744. /package/dist/{images-FYSBKRU6.js.map → images-X7Z34JXA.js.map} +0 -0
  745. /package/dist/{ingest-37F3NOLA.js.map → ingest-3YB37P3B.js.map} +0 -0
  746. /package/dist/{ingest-YQINQGG7.js.map → ingest-QEOAUEKH.js.map} +0 -0
  747. /package/dist/{insights-UKWLUS5P.js.map → insights-FEDPCRAC.js.map} +0 -0
  748. /package/dist/{inspect-RVU5RDCE.js.map → inspect-N2XWYHLO.js.map} +0 -0
  749. /package/dist/{intent-57BBLPLP.js.map → intent-QTQIHE32.js.map} +0 -0
  750. /package/dist/{keyword-gap-TSIQBZ6G.js.map → keyword-gap-SSWMMVI2.js.map} +0 -0
  751. /package/dist/{keyword-metrics-7XZXPSQO.js.map → keyword-metrics-6UKUK6GT.js.map} +0 -0
  752. /package/dist/{keywords-for-site-A43QNTLD.js.map → keywords-for-site-O6GRPM2B.js.map} +0 -0
  753. /package/dist/{landing-NFDGD3PQ.js.map → landing-INTIUYIJ.js.map} +0 -0
  754. /package/dist/{languages-WKOFWZ7S.js.map → languages-2RPBR5VU.js.map} +0 -0
  755. /package/dist/{leads-UHJS7VNH.js.map → leads-S3HSZZCL.js.map} +0 -0
  756. /package/dist/{learn-POJ5ORBK.js.map → learn-6FPZCSOS.js.map} +0 -0
  757. /package/dist/{line-item-writes-K4BSUEIJ.js.map → line-item-writes-AALLWAU4.js.map} +0 -0
  758. /package/dist/{line-items-DLLEPPIN.js.map → line-items-KPWFC6K4.js.map} +0 -0
  759. /package/dist/{link-L2KC5EIZ.js.map → link-4QPX5OEW.js.map} +0 -0
  760. /package/dist/{linkedin-A4U6IGZX.js.map → linkedin-WICM3UW5.js.map} +0 -0
  761. /package/dist/{linkedin-person-DSLAOKKN.js.map → linkedin-person-5VXCUVH5.js.map} +0 -0
  762. /package/dist/{list-PHWCEYCP.js.map → list-6MBZKJOY.js.map} +0 -0
  763. /package/dist/{list-Y4V276ND.js.map → list-CPTVS5DS.js.map} +0 -0
  764. /package/dist/{list-JKB33W6K.js.map → list-UOCTTPPW.js.map} +0 -0
  765. /package/dist/{locations-MID4EY6D.js.map → locations-3RZ5VGBO.js.map} +0 -0
  766. /package/dist/{locations-EQKMPX4G.js.map → locations-U5CJGLMB.js.map} +0 -0
  767. /package/dist/{log-O3I5JZCM.js.map → log-V2ZXE34Z.js.map} +0 -0
  768. /package/dist/{make-GLGNEOK6.js.map → make-NFND4QRB.js.map} +0 -0
  769. /package/dist/{map-D3EH7S2T.js.map → map-KZBPFQXO.js.map} +0 -0
  770. /package/dist/{mcp-R4ZTYQW7.js.map → mcp-LACK6SUK.js.map} +0 -0
  771. /package/dist/{media-sources-TVGS34TE.js.map → media-sources-TZF6BUJV.js.map} +0 -0
  772. /package/dist/{members-OBA4MXAQ.js.map → members-R4XLM7VC.js.map} +0 -0
  773. /package/dist/{metrics-35OGYZNY.js.map → metrics-ZYRQXPA6.js.map} +0 -0
  774. /package/dist/{models-JQEPSPNQ.js.map → models-C3BLMJGT.js.map} +0 -0
  775. /package/dist/{normalize-HU37AR7G.js.map → normalize-ZDY6L5VO.js.map} +0 -0
  776. /package/dist/{options-HLMTCEDW.js.map → options-2VKTXIV7.js.map} +0 -0
  777. /package/dist/{organization-6ZVXU5JC.js.map → organization-EO4LOJHQ.js.map} +0 -0
  778. /package/dist/{performance-V5WZCJYT.js.map → performance-AGJ42PRN.js.map} +0 -0
  779. /package/dist/{performance-PIB2AXKO.js.map → performance-TALH5EGT.js.map} +0 -0
  780. /package/dist/{pixels-WHQLX4FV.js.map → pixels-YGOGQ7SS.js.map} +0 -0
  781. /package/dist/{posts-QAMZRCRY.js.map → posts-37LZKGWU.js.map} +0 -0
  782. /package/dist/{promoted-tweet-writes-E4EJZM76.js.map → promoted-tweet-writes-27RR3GOV.js.map} +0 -0
  783. /package/dist/{promoted-tweets-M44AIHSQ.js.map → promoted-tweets-6XAIXBK5.js.map} +0 -0
  784. /package/dist/{publish-H7UGB5IP.js.map → publish-YMZVWMZ6.js.map} +0 -0
  785. /package/dist/{query-ZH5CWI3X.js.map → query-HSDQWMJ3.js.map} +0 -0
  786. /package/dist/{reddit-KCPU4RW4.js.map → reddit-XNCKH4LM.js.map} +0 -0
  787. /package/dist/{refresh-WTSCSEQE.js.map → refresh-X52QWB7U.js.map} +0 -0
  788. /package/dist/{release-SVOT7QVX.js.map → release-NRZSYXTV.js.map} +0 -0
  789. /package/dist/{relevant-pages-7KEKKRQ2.js.map → relevant-pages-DBALXQLB.js.map} +0 -0
  790. /package/dist/{remove-TY3AF5K5.js.map → remove-CBHGRAZS.js.map} +0 -0
  791. /package/dist/{reopen-WCUZMTYE.js.map → reopen-ROZWMKSV.js.map} +0 -0
  792. /package/dist/{rerun-FKYNFNSI.js.map → rerun-CRAFUCZG.js.map} +0 -0
  793. /package/dist/{research-N2RWKIRQ.js.map → research-6DMZVH3U.js.map} +0 -0
  794. /package/dist/{research-X6ITCPFY.js.map → research-MQMA4ZQN.js.map} +0 -0
  795. /package/dist/{reset-O77UZD6Z.js.map → reset-6PCDMCKC.js.map} +0 -0
  796. /package/dist/{reset-TDAMB4BO.js.map → reset-JEMTNDBF.js.map} +0 -0
  797. /package/dist/{resolve-NC4MLM42.js.map → resolve-MPN3G7YW.js.map} +0 -0
  798. /package/dist/{retry-XVUWY7ZH.js.map → retry-7RQ44CSW.js.map} +0 -0
  799. /package/dist/{retry-QNXWTHOL.js.map → retry-JUYM5AE4.js.map} +0 -0
  800. /package/dist/{revenue-D3B4DMBC.js.map → revenue-IFI432JN.js.map} +0 -0
  801. /package/dist/{rules-Y3BH7SO5.js.map → rules-W2DCHJGX.js.map} +0 -0
  802. /package/dist/{rules-add-GSPFBNYU.js.map → rules-add-OIP7SRKM.js.map} +0 -0
  803. /package/dist/{run-ON72O5YS.js.map → run-IXJ3AJ6X.js.map} +0 -0
  804. /package/dist/{run-G6XAJOJ7.js.map → run-LJUCR2JA.js.map} +0 -0
  805. /package/dist/{scaffold-ad-YF6FUEJZ.js.map → scaffold-ad-SBYDMOAQ.js.map} +0 -0
  806. /package/dist/{scaffold-video-BUOCGJNH.js.map → scaffold-video-Z4GXKC7W.js.map} +0 -0
  807. /package/dist/{schedule-7EQLO22N.js.map → schedule-BMGOREVG.js.map} +0 -0
  808. /package/dist/{scheduled-agents-4WCPCMYC.js.map → scheduled-agents-BGTR3WCX.js.map} +0 -0
  809. /package/dist/{schema-KM5MFQUQ.js.map → schema-HCWSZHZJ.js.map} +0 -0
  810. /package/dist/{search-YEYQDDLA.js.map → search-OVFOPUXT.js.map} +0 -0
  811. /package/dist/{select-QSGZYOFV.js.map → select-XSVMD5JH.js.map} +0 -0
  812. /package/dist/{set-prompt-4OTBGPDQ.js.map → set-prompt-SFP2DB4O.js.map} +0 -0
  813. /package/dist/{setup-links-E2GARNTU.js.map → setup-links-K6KTGVSA.js.map} +0 -0
  814. /package/dist/{shopify-GT6PJ77M.js.map → shopify-MIOO3BGY.js.map} +0 -0
  815. /package/dist/{site-TMF2P7JR.js.map → site-6M7SXCPN.js.map} +0 -0
  816. /package/dist/{sources-47LE2UCO.js.map → sources-FTAC2WUM.js.map} +0 -0
  817. /package/dist/{sources-H6XX2WBO.js.map → sources-JHPI7Q2O.js.map} +0 -0
  818. /package/dist/{stale-JTX5U752.js.map → stale-FPRPOEHH.js.map} +0 -0
  819. /package/dist/{status-3X3MECDY.js.map → status-4C37VNOQ.js.map} +0 -0
  820. /package/dist/{studio-Z4AJRIGP.js.map → studio-65IM5YDD.js.map} +0 -0
  821. /package/dist/{sync-HWTVXGOT.js.map → sync-KCD6KCKU.js.map} +0 -0
  822. /package/dist/{sync-definition-CAPYMYIS.js.map → sync-definition-WFDK6RR3.js.map} +0 -0
  823. /package/dist/{tag-manager-TU3FBSYO.js.map → tag-manager-BVPLGLTF.js.map} +0 -0
  824. /package/dist/{tags-7BT63PUE.js.map → tags-2A4YRO34.js.map} +0 -0
  825. /package/dist/{tags-7K5RSCHI.js.map → tags-N3LP2WTK.js.map} +0 -0
  826. /package/dist/{tags-75QCVBQB.js.map → tags-OBQ5BTBY.js.map} +0 -0
  827. /package/dist/{tags-UPA4KKQZ.js.map → tags-WWETGLRJ.js.map} +0 -0
  828. /package/dist/{tags-IELH7YAY.js.map → tags-ZWL3G4XR.js.map} +0 -0
  829. /package/dist/{targeting-criteria-HJQ2FW6E.js.map → targeting-criteria-YHSVILGV.js.map} +0 -0
  830. /package/dist/{targets-CBZ37ALP.js.map → targets-4SZC7DR4.js.map} +0 -0
  831. /package/dist/{testimonials-4W6HI2PQ.js.map → testimonials-MJHMFJ5J.js.map} +0 -0
  832. /package/dist/{themes-RDNVUJHG.js.map → themes-GTWQLIX2.js.map} +0 -0
  833. /package/dist/{top-companies-CW77UVK3.js.map → top-companies-DSL2QVOH.js.map} +0 -0
  834. /package/dist/{transcript-FA2TOVPP.js.map → transcript-FGLOJFU4.js.map} +0 -0
  835. /package/dist/{translate-7W7O6W3J.js.map → translate-JSXPZUBM.js.map} +0 -0
  836. /package/dist/{triggers-MCP6IGTX.js.map → triggers-UAEGGBYL.js.map} +0 -0
  837. /package/dist/{unlink-RK5V4QO2.js.map → unlink-HUCQPTTA.js.map} +0 -0
  838. /package/dist/{unstage-5JTGVEB7.js.map → unstage-CYIVBS5D.js.map} +0 -0
  839. /package/dist/{update-5AAMF5JP.js.map → update-IORKVKDQ.js.map} +0 -0
  840. /package/dist/{update-LCE2QN53.js.map → update-R7WY7EGL.js.map} +0 -0
  841. /package/dist/{update-G2KB3RIW.js.map → update-WT7MMEBY.js.map} +0 -0
  842. /package/dist/{upload-ORFEAADP.js.map → upload-FZAAJHU7.js.map} +0 -0
  843. /package/dist/{url-options-6U7QCTAY.js.map → url-options-PPIRU2RF.js.map} +0 -0
  844. /package/dist/{url-params-KQIUVVGX.js.map → url-params-ZM6YVT63.js.map} +0 -0
  845. /package/dist/{validate-BF656HWM.js.map → validate-PPUSF56N.js.map} +0 -0
  846. /package/dist/{viewer-check-THBLTL2G.js.map → viewer-check-4SFBSLRN.js.map} +0 -0
  847. /package/dist/{web-2EKHRXCS.js.map → web-MYPJLXY3.js.map} +0 -0
  848. /package/dist/{winning-ads-LW5SMMLB.js.map → winning-ads-KY7NQR2P.js.map} +0 -0
  849. /package/dist/{write-commands-Z556OHHH.js.map → write-commands-GQHYLHOF.js.map} +0 -0
  850. /package/dist/{x-F5CSO2RN.js.map → x-Q2DLEBQS.js.map} +0 -0
@@ -1,494 +0,0 @@
1
- import {
2
- DEFAULT_SUBSETS,
3
- FONT_PROVIDERS,
4
- checkFontRequests,
5
- fontFileName,
6
- fontsourceCatalogue,
7
- fontsourceFamilies,
8
- googleFontRequests,
9
- missingFontFiles,
10
- planFontAdoption,
11
- renderFontFaceCss,
12
- resolveBrandFaces,
13
- resolveFetchStyles,
14
- resolveFetchSubsets,
15
- resolveFetchWeights,
16
- selfHostedStyles,
17
- selfHostedSubsets,
18
- selfHostedWeights,
19
- stripFontFaceBlocks,
20
- suggestFamilies,
21
- unresolvedBrandFamilies,
22
- upsertFontFaceCss
23
- } from "./chunk-VRP677NO.js";
24
- import {
25
- registerSchema,
26
- writeJson
27
- } from "./chunk-Q7US4OOA.js";
28
-
29
- // src/commands/brand/fonts.ts
30
- import { mkdir, readdir, readFile, writeFile } from "fs/promises";
31
- import path from "path";
32
- import { defineCommand } from "citty";
33
- var GLOBAL_CSS = path.join("src", "styles", "global.css");
34
- var FONTS_DIR = path.join("src", "brand", "fonts");
35
- var DEFAULT_SUBSETS_LABEL = DEFAULT_SUBSETS.join(",");
36
- var BROWSER_UA = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/120.0 Safari/537.36";
37
- registerSchema({
38
- command: "brand.fonts.check",
39
- description: "Start here when a brand's fonts are 'confirmed' but nobody verified it. Fails if any --font-* family in src/styles/global.css has nothing loading it (no @font-face, no Google import) \u2014 the silent fallback that also fails the client's verify \u2014 then asks Google Fonts what it ACTUALLY serves for every family/weight the stylesheet requests.",
40
- args: {}
41
- });
42
- registerSchema({
43
- command: "brand.fonts.adopt",
44
- description: "Move brand faces a page already self-hosts into src/styles/global.css, so every page loads them rather than only the page that declared them. Use when `check` reports a family as not loaded but its files are already in src/brand/fonts/. Never downloads: re-fetching would hand that page a different build of the same face.",
45
- args: {}
46
- });
47
- registerSchema({
48
- command: "brand.fonts.fetch",
49
- description: "Download a font into src/brand/fonts/ so the brand stops depending on a third party at page load, and write its @font-face into src/styles/global.css above @theme. Resolves against Google Fonts first, then Fontsource \u2014 which carries ~2000 open-licence families Google does not, so a name Google 400s is often still fetchable. Idempotent: re-running replaces that family's faces rather than stacking duplicates.",
50
- args: {
51
- family: { type: "string", description: 'Font family, e.g. "DM Sans"', required: true },
52
- weights: {
53
- type: "string",
54
- description: "Comma-separated weights (default: the weights global.css already requests or self-hosts, else 400)",
55
- required: false
56
- },
57
- subsets: {
58
- type: "string",
59
- description: `Comma-separated unicode subsets (default: the subsets global.css already self-hosts, else ${DEFAULT_SUBSETS_LABEL})`,
60
- required: false
61
- },
62
- italic: {
63
- type: "boolean",
64
- description: "Also self-host the family's italic faces. On automatically when global.css already loads one, so a re-fetch never strands it.",
65
- required: false
66
- }
67
- }
68
- });
69
- function fail(code, message, fix) {
70
- writeJson({ ok: false, error: { code, message, ...fix ? { fix } : {} } });
71
- process.exit(2);
72
- }
73
- var REQUEST_TIMEOUT_MS = 15e3;
74
- async function fetchJson(url) {
75
- const res = await fetch(url, {
76
- headers: { "User-Agent": BROWSER_UA },
77
- signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS)
78
- });
79
- if (res.status === 404) return null;
80
- if (!res.ok) throw new Error(`Fontsource answered ${res.status}`);
81
- return await res.json();
82
- }
83
- async function lookupGoogleCss(url) {
84
- try {
85
- const res = await fetch(url, {
86
- headers: { "User-Agent": BROWSER_UA },
87
- signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS)
88
- });
89
- if (res.ok) return { status: "served", css: await res.text() };
90
- return { status: res.status === 400 ? "absent" : "unreachable" };
91
- } catch {
92
- return { status: "unreachable" };
93
- }
94
- }
95
- var fetchGoogleCss = async (url) => {
96
- const got = await lookupGoogleCss(url);
97
- return got.status === "served" ? got.css : null;
98
- };
99
- var WIRING_HINT = {
100
- written: (family) => `Wrote the @font-face for "${family}" into ${GLOBAL_CSS}, above @theme. Remove "${family}" from the Google @import if one is still there, so the page stops fetching it at load.`,
101
- // Told apart from "no stylesheet" on purpose: they used to share one hint, so
102
- // an idempotent re-run instructed the agent to paste a block that was already
103
- // in the file, and doing as it was told duplicated the face.
104
- "already-wired": (family) => `${GLOBAL_CSS} already loads exactly these faces for "${family}" \u2014 nothing to change.`,
105
- "no-stylesheet": () => `No ${GLOBAL_CSS} to write to \u2014 paste the \`fontFace\` block above the @theme block once the stylesheet exists, or the files just downloaded will never load.`
106
- };
107
- var PROVIDER_DEPS = { lookupGoogleCss, fetchJson };
108
- var PROVIDER_LABEL = { google: "Google Fonts", fontsource: "Fontsource" };
109
- function italicHints(family, wantedStyles, availableStyles, downloadedStyles, provider) {
110
- const wanted = wantedStyles.includes("italic");
111
- const available = availableStyles.includes("italic");
112
- if (wanted && !downloadedStyles.includes("italic")) {
113
- return [
114
- `NO ITALIC: ${PROVIDER_LABEL[provider]} does not ship an italic for "${family}", so none was written. Drop italic from src/brand/BRAND.md, or the browser will slant the upright face instead.`
115
- ];
116
- }
117
- if (!wanted && available) {
118
- return [
119
- `${PROVIDER_LABEL[provider]} also ships an italic for "${family}", which was NOT downloaded. If the brand uses italic anywhere, re-run with \`--italic\` \u2014 otherwise the browser slants the upright face, which is not the same shapes.`
120
- ];
121
- }
122
- return [];
123
- }
124
- function fetchHints({
125
- family,
126
- downloadedWeights,
127
- downloadedStyles,
128
- incomplete,
129
- wiring,
130
- provider,
131
- wantedStyles,
132
- availableStyles
133
- }) {
134
- return [
135
- WIRING_HINT[wiring](family),
136
- ...italicHints(family, wantedStyles, availableStyles, downloadedStyles, provider),
137
- `Record the exact weights (${downloadedWeights.join(", ")}) in src/brand/tokens.json and BRAND.md \u2014 a weight tokens.json lists but nothing loads renders as a synthesized fallback, and verify warns about it.`,
138
- ...incomplete.length > 0 ? [
139
- // The remedy is provider-specific: only a Google family has an @import
140
- // to fall back on, and telling an agent to keep one for a Fontsource
141
- // family sends it to write an import Google will 400.
142
- provider === "google" ? `PARTIAL: ${incomplete.join(", ")} did not download and is NOT in the \`fontFace\` block. Re-run \`baker brand fonts fetch "${family}" --weights ${incomplete.join(",")}\` \u2014 a Google @import cannot cover those weights, because the build drops it before the page loads.` : `PARTIAL: ${incomplete.join(", ")} did not download and is NOT in the \`fontFace\` block. ${PROVIDER_LABEL[provider]} does not serve them, so re-run \`baker brand fonts fetch "${family}" --weights ${downloadedWeights.join(",")}\` and record only those weights in src/brand/BRAND.md.`
143
- ] : [],
144
- `Licensing: ${PROVIDER_LABEL[provider]} carries open-licensed families. A client's own typeface is licensed for its landings and ads too \u2014 self-host it without asking about rights.`
145
- ];
146
- }
147
- async function wireFontFaceIntoStylesheet(css, family, fontFace) {
148
- if (!css) return "no-stylesheet";
149
- const wired = upsertFontFaceCss(css, family, fontFace);
150
- if (wired === css) return "already-wired";
151
- await writeFile(path.resolve(process.cwd(), GLOBAL_CSS), wired);
152
- return "written";
153
- }
154
- function failResolution(family, weights, outcome) {
155
- if (outcome.reason === "unreachable") {
156
- return fail(
157
- "CATALOGUE_UNREACHABLE",
158
- `Could not reach ${PROVIDER_LABEL[outcome.provider]} to ask about "${family}".`,
159
- {
160
- action: "Run the same command again.",
161
- explanation: `${PROVIDER_LABEL[outcome.provider]} did not answer, which is not the same as not having the family \u2014 so nothing was concluded from it. Guessing either way would self-host the wrong build, or report a real family as missing.`,
162
- provider: outcome.provider
163
- }
164
- );
165
- }
166
- if (outcome.reason === "ambiguous-subsets") {
167
- return fail(
168
- "SUBSET_AMBIGUOUS",
169
- `${PROVIDER_LABEL[outcome.provider]} serves "${family}" in several subsets but reports no unicode-range to tell them apart.`,
170
- {
171
- action: `Retry with a single --subsets value, e.g. --subsets ${outcome.available[0] ?? "latin"}.`,
172
- explanation: "Two @font-face rules with the same family, style and weight and no unicode-range both claim every character, so the last one silently wins and the other file is downloaded and never read.",
173
- available: outcome.available
174
- }
175
- );
176
- }
177
- if (outcome.reason === "subset") {
178
- return fail("SUBSET_NOT_SERVED", `${PROVIDER_LABEL[outcome.provider]} has "${family}", but not in that subset.`, {
179
- action: `Retry with --subsets set to one it serves: ${outcome.available.join(",")}.`,
180
- explanation: "A family is split into unicode subsets and not every family ships every one. The weights you asked for are fine \u2014 only the subset is wrong.",
181
- available: outcome.available
182
- });
183
- }
184
- if (outcome.reason === "weight") {
185
- return fail(
186
- "FONT_NOT_SERVED",
187
- `${PROVIDER_LABEL[outcome.provider]} has "${family}", but not at weight ${weights.join("/")}.`,
188
- {
189
- action: `Retry with --weights set to one of these: ${outcome.available.join(",")}.`,
190
- explanation: "The family exists; the weight you asked for is not one it ships.",
191
- served: outcome.available
192
- }
193
- );
194
- }
195
- return failUnknownFamily(family);
196
- }
197
- async function failUnknownFamily(family) {
198
- const didYouMean = suggestFamilies(family, await fontsourceCatalogue(PROVIDER_DEPS));
199
- return fail("FONT_NOT_SERVED", `No font catalogue carries a family called "${family}".`, {
200
- action: didYouMean.length ? `Did you mean one of these? ${didYouMean.join(", ")}. Retry with the exact name, and update the --font-* token in ${GLOBAL_CSS} to match whichever you pick.` : `Check the exact spelling, then retry. If it is a commercial typeface, add the file to ${FONTS_DIR} and write the @font-face by hand \u2014 it cannot be downloaded.`,
201
- explanation: `Tried ${FONT_PROVIDERS.join(" then ")}. Family names are case- and space-sensitive in every catalogue.`,
202
- tried: [...FONT_PROVIDERS],
203
- ...didYouMean.length ? { didYouMean } : {}
204
- });
205
- }
206
- async function listFontFiles() {
207
- try {
208
- const entries = await readdir(path.resolve(process.cwd(), FONTS_DIR), { withFileTypes: true });
209
- return entries.filter((e) => e.isFile()).map((e) => e.name);
210
- } catch {
211
- return [];
212
- }
213
- }
214
- async function readGlobalCss() {
215
- try {
216
- return await readFile(path.resolve(process.cwd(), GLOBAL_CSS), "utf8");
217
- } catch {
218
- return "";
219
- }
220
- }
221
- async function unresolvedAction(css, unresolved) {
222
- const { plans } = planFontAdoption(await astroSources(), unresolved);
223
- if (plans.length > 0) {
224
- const names = plans.map((p) => `"${p.family}"`).join(", ");
225
- return `Run \`baker brand fonts adopt\` \u2014 ${names} is already self-hosted by ${plans[0]?.files.join(", ")}, so it only needs moving into ${GLOBAL_CSS} to load on every page. Don't fetch it: that downloads a different build of the same face.`;
226
- }
227
- const viaFontsource = [...fontsourceFamilies(css)];
228
- const stranded = unresolved.filter((family) => viaFontsource.includes(family.toLowerCase()));
229
- if (stranded.length > 0) {
230
- return `Run \`baker brand fonts fetch "${stranded[0]}"\` to self-host it. Its only provider is an @fontsource import, and that package does not survive a workspace sync \u2014 the import is left pointing at nothing, which fails the build before the font check even runs.`;
231
- }
232
- return `Run \`baker brand fonts fetch "${unresolved[0]}"\` to self-host it, which writes the @font-face for you. For a face no catalogue carries, add an @font-face pointing at a file in ${FONTS_DIR}.`;
233
- }
234
- var fontsCheckCommand = defineCommand({
235
- meta: {
236
- name: "check",
237
- description: "Verify the brand's fonts really exist. First: every --font-* family in src/styles/global.css must be provided by a local @font-face, or it renders as a fallback on every page \u2014 a Google @import does not provide one here, the build drops it before the page loads. Then, for families still requested from Google, ask Google what it actually serves \u2014 a weight nobody serves is silently synthesized."
238
- },
239
- async run() {
240
- const css = await readGlobalCss();
241
- const requests = googleFontRequests(css);
242
- const unresolved = unresolvedBrandFamilies(css);
243
- if (unresolved.length > 0) {
244
- fail("FONT_NOT_LOADED", `Nothing loads ${unresolved.map((f) => `"${f}"`).join(", ")} in ${GLOBAL_CSS}.`, {
245
- action: await unresolvedAction(css, unresolved),
246
- explanation: "The family is declared as a brand font but no @font-face provides it, so every page silently renders a fallback. A Google @import does not count: Astro merges component CSS ahead of global.css into one inlined <style>, so the import lands after rules and the browser drops it \u2014 measured on a live client site. The client's verify fails on this too.",
247
- unresolved
248
- });
249
- }
250
- if (requests.length === 0) {
251
- writeJson({
252
- ok: true,
253
- data: { families: [], selfHosted: true },
254
- hints: [
255
- `No Google Fonts requested in ${GLOBAL_CSS}, and every brand face is provided by an @font-face \u2014 nothing to verify against Google.`
256
- ]
257
- });
258
- return;
259
- }
260
- const families = await checkFontRequests(requests, fetchGoogleCss);
261
- const broken = families.filter((f) => f.missing.length > 0);
262
- if (broken.length > 0) {
263
- const summary = broken.map(
264
- (f) => f.cause === "unknown-family" ? `${f.family} (no such family on Google Fonts \u2014 check the exact spelling)` : `${f.family} ${f.missing.join("/")} (served: ${f.served.join("/") || "none"})`
265
- ).join("; ");
266
- fail("FONT_NOT_SERVED", `Google Fonts does not serve: ${summary}`, {
267
- action: `Correct the family name or weight in ${GLOBAL_CSS} and src/brand/BRAND.md, picking from the \`served\` weights below.`,
268
- explanation: "A requested weight Google does not serve is silently synthesized by the browser, so the page looks subtly wrong with nothing failing.",
269
- // The per-family breakdown is the point of the command, so it ships on
270
- // the failure path too — otherwise the only remedy is re-running the
271
- // command that just failed. Healthy families are included so a
272
- // multi-family brand shows what NOT to touch.
273
- families
274
- });
275
- }
276
- writeJson({
277
- ok: true,
278
- data: { families },
279
- hints: [
280
- "Every requested family and weight is really served by Google.",
281
- `To stop depending on Google at page load, run \`baker brand fonts fetch "<family>"\` to self-host into ${FONTS_DIR}.`
282
- ]
283
- });
284
- }
285
- });
286
- var fontsFetchCommand = defineCommand({
287
- meta: {
288
- name: "fetch",
289
- description: "Download a font from Google Fonts or Fontsource into src/brand/fonts/ and write its @font-face into src/styles/global.css above @theme, so the family actually loads. Use when a brand font should be self-hosted rather than requested from a third party on every page load."
290
- },
291
- args: {
292
- family: { type: "positional", required: true, description: 'Font family, e.g. "DM Sans"' },
293
- weights: {
294
- type: "string",
295
- description: "Comma-separated weights (default: the weights global.css already requests or self-hosts, else 400)"
296
- },
297
- subsets: {
298
- type: "string",
299
- description: `Comma-separated unicode subsets (default: the subsets global.css already self-hosts, else ${DEFAULT_SUBSETS_LABEL})`
300
- },
301
- italic: {
302
- type: "boolean",
303
- description: "Also self-host the family's italic faces (default: on when global.css already loads one, off otherwise)"
304
- }
305
- },
306
- async run({ args }) {
307
- const family = String(args.family).trim();
308
- if (!family) fail("INVALID_FAMILY", 'Pass a font family, e.g. `baker brand fonts fetch "DM Sans"`.');
309
- const css = await readGlobalCss();
310
- const declared = googleFontRequests(css).find((r) => r.family.toLowerCase() === family.toLowerCase());
311
- const provided = declared?.weights.length ? declared.weights : selfHostedWeights(css, family);
312
- const weights = resolveFetchWeights(args.weights, provided);
313
- if (weights.length === 0) {
314
- fail("INVALID_WEIGHTS", `"${args.weights}" has no usable weight \u2014 pass whole hundreds, e.g. --weights 400,700.`);
315
- }
316
- const wanted = new Set(resolveFetchSubsets(args.subsets, selfHostedSubsets(css, family)));
317
- const styles = resolveFetchStyles(args.italic, selfHostedStyles(css, family));
318
- const resolved = await resolveBrandFaces(family, weights, [...wanted], PROVIDER_DEPS, styles);
319
- if (!resolved.ok) return failResolution(family, weights, resolved);
320
- const faces = resolved.faces;
321
- const fontsDir = path.resolve(process.cwd(), FONTS_DIR);
322
- await mkdir(fontsDir, { recursive: true });
323
- const downloaded = [];
324
- for (const face of faces) {
325
- const res = await fetch(face.url, {
326
- headers: { "User-Agent": BROWSER_UA },
327
- signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS)
328
- });
329
- if (!res.ok) continue;
330
- await writeFile(path.join(fontsDir, fontFileName(face)), Buffer.from(await res.arrayBuffer()));
331
- downloaded.push(face);
332
- }
333
- const written = downloaded.map(fontFileName);
334
- if (written.length === 0) {
335
- fail("DOWNLOAD_FAILED", `Could not download any file for "${family}".`, {
336
- action: "Retry; if it keeps failing, keep the Google @import and note it in BRAND.md.",
337
- explanation: "The font stylesheet resolved but the font files themselves did not download."
338
- });
339
- }
340
- const fontFace = renderFontFaceCss(downloaded);
341
- const downloadedWeights = [...new Set(downloaded.map((f) => f.weight))].sort((a, b) => a - b);
342
- const downloadedStyles = [...new Set(downloaded.map((f) => f.style))].sort();
343
- const incomplete = weights.filter((w) => !downloadedWeights.includes(w));
344
- const wiring = await wireFontFaceIntoStylesheet(css, family, fontFace);
345
- writeJson({
346
- ok: true,
347
- data: {
348
- family,
349
- provider: resolved.provider,
350
- weights: downloadedWeights,
351
- styles: downloadedStyles,
352
- files: written,
353
- fontFace,
354
- stylesheet: wiring
355
- },
356
- hints: fetchHints({
357
- family,
358
- downloadedWeights,
359
- downloadedStyles,
360
- incomplete,
361
- wiring,
362
- provider: resolved.provider,
363
- wantedStyles: styles,
364
- availableStyles: resolved.availableStyles
365
- })
366
- });
367
- }
368
- });
369
- async function astroSources() {
370
- const out = [];
371
- let entries;
372
- try {
373
- entries = await readdir("src", { recursive: true, withFileTypes: true });
374
- } catch {
375
- return out;
376
- }
377
- for (const entry of entries) {
378
- if (!entry.isFile() || !entry.name.endsWith(".astro")) continue;
379
- const file = path.posix.join(entry.parentPath ?? "src", entry.name);
380
- try {
381
- out.push({ path: file, source: await readFile(file, "utf8") });
382
- } catch {
383
- }
384
- }
385
- return out;
386
- }
387
- var fontsAdoptCommand = defineCommand({
388
- meta: {
389
- name: "adopt",
390
- description: "Move brand faces a page already self-hosts into src/styles/global.css, so every page loads them instead of just that one. Use when `check` reports a family as not loaded but the font files are already in src/brand/fonts/ \u2014 downloading it again would hand that page a different build of the same face."
391
- },
392
- async run() {
393
- const css = await readGlobalCss();
394
- if (!css) fail("NO_STYLESHEET", `There is no ${GLOBAL_CSS} to adopt faces into.`);
395
- const unresolved = unresolvedBrandFamilies(css);
396
- if (unresolved.length === 0) {
397
- writeJson({
398
- ok: true,
399
- data: { adopted: [], conflicts: [] },
400
- hints: [`Every --font-* family in ${GLOBAL_CSS} is already loaded by it \u2014 nothing to adopt.`]
401
- });
402
- return;
403
- }
404
- const { plans, conflicts } = planFontAdoption(await astroSources(), unresolved);
405
- const available = new Set(await listFontFiles());
406
- const adopted = [];
407
- const skipped = [];
408
- let next = css;
409
- for (const plan of plans) {
410
- const missing = missingFontFiles(plan.urls, available);
411
- if (missing.length > 0) {
412
- skipped.push({ family: plan.family, reason: `${missing.join(", ")} is not in ${FONTS_DIR}` });
413
- continue;
414
- }
415
- next = upsertFontFaceCss(next, plan.family, plan.blocks.join("\n"));
416
- adopted.push({
417
- family: plan.family,
418
- files: plan.files,
419
- weights: plan.blocks.map((b) => b.match(/font-weight\s*:\s*([^;]+)/i)?.[1]?.trim() ?? "400")
420
- });
421
- }
422
- if (adopted.length === 0) {
423
- if (conflicts.length > 0) {
424
- fail(
425
- "ADOPTION_CONFLICT",
426
- `${conflicts.map((c) => `"${c.family}" is declared differently in ${c.files.join(" and ")}`).join("; ")}.`,
427
- {
428
- action: "Make the declarations match \u2014 same weights, same files \u2014 then re-run. Pick the one whose page renders correctly.",
429
- explanation: "One global scope holds one mapping per family, so adopting would silently repaint whichever page lost.",
430
- conflicts
431
- }
432
- );
433
- }
434
- if (skipped.length > 0) {
435
- fail("FONT_FILE_MISSING", `${skipped.map((s) => `${s.family} \u2014 ${s.reason}`).join("; ")}.`, {
436
- action: `Add the missing file to ${FONTS_DIR}, or fix the src: url() in the page that declares it, then re-run.`,
437
- explanation: "The page declares the face but points at a file that is not in the repo, so the rule renders as a fallback. Moving it into the stylesheet would spread that fallback to every page.",
438
- skipped
439
- });
440
- }
441
- fail("NOTHING_TO_ADOPT", `No page declares a face for ${unresolved.map((f) => `"${f}"`).join(", ")}.`, {
442
- action: `Self-host it instead: \`baker brand fonts fetch "${unresolved[0]}"\`.`,
443
- explanation: "Adopting only moves faces the repo already ships; it never downloads one."
444
- });
445
- }
446
- await writeFile(path.resolve(process.cwd(), GLOBAL_CSS), next);
447
- for (const plan of plans.filter((p) => adopted.some((a) => a.family === p.family))) {
448
- for (const file of plan.files) {
449
- const source = await readFile(file, "utf8");
450
- await writeFile(file, stripFontFaceBlocks(source, plan.family));
451
- }
452
- }
453
- writeJson({
454
- ok: true,
455
- data: { adopted, conflicts, skipped },
456
- hints: [
457
- `Moved ${adopted.map((a) => `"${a.family}" (${a.weights.join("/")})`).join(", ")} into ${GLOBAL_CSS} and removed the page copies, so every page loads them \u2014 not just the one that declared them.`,
458
- ...conflicts.length > 0 ? [
459
- `CONFLICT: ${conflicts.map((c) => `"${c.family}" is declared differently in ${c.files.join(" and ")}`).join("; ")}. One global scope can hold only one mapping, so pick which files the family should use and make the declarations match before re-running.`
460
- ] : [],
461
- ...skipped.length > 0 ? [`SKIPPED: ${skipped.map((s) => `${s.family} \u2014 ${s.reason}`).join("; ")}.`] : [],
462
- `Run \`baker brand fonts check\` to confirm nothing is left unresolved.`
463
- ]
464
- });
465
- }
466
- });
467
- var fontsCommand = defineCommand({
468
- meta: {
469
- name: "fonts",
470
- description: `Verify and self-host the brand's typefaces.
471
-
472
- Start here: \`baker brand fonts check\` \u2014 confirms the fonts the brand claims really load.
473
-
474
- Subcommands:
475
- baker brand fonts check \u2014 fail if any --font-* family has nothing loading it, then ask Google what it actually serves for the ones global.css requests
476
- baker brand fonts fetch <family> \u2014 download a family into src/brand/fonts/ and wire its @font-face into src/styles/global.css
477
- baker brand fonts adopt \u2014 move faces a page already self-hosts into global.css, so every page loads them. Try this BEFORE fetch when the font files are already in src/brand/fonts/`
478
- },
479
- subCommands: {
480
- check: fontsCheckCommand,
481
- fetch: fontsFetchCommand,
482
- adopt: fontsAdoptCommand
483
- }
484
- });
485
-
486
- export {
487
- fetchJson,
488
- lookupGoogleCss,
489
- fontsCheckCommand,
490
- fontsFetchCommand,
491
- fontsAdoptCommand,
492
- fontsCommand
493
- };
494
- //# sourceMappingURL=chunk-SP6BZLM4.js.map
@@ -1,19 +0,0 @@
1
- import {
2
- latestVersion
3
- } from "./chunk-PFGRHBQY.js";
4
- import {
5
- canvasOutputsRoot
6
- } from "./chunk-EJGAJHLB.js";
7
-
8
- // src/commands/creatives/version-of.ts
9
- import path from "path";
10
- async function versionOf(slug, run) {
11
- if (typeof run === "string" && run.trim()) return run.trim();
12
- const canvas = path.join("src", "creatives", slug, `${slug}.canvas.json`);
13
- return await latestVersion(canvasOutputsRoot(canvas), slug) ?? void 0;
14
- }
15
-
16
- export {
17
- versionOf
18
- };
19
- //# sourceMappingURL=chunk-SSJR3FZ5.js.map
@@ -1,156 +0,0 @@
1
- import {
2
- Phrases,
3
- RULE_APPLIES,
4
- RULE_KINDS,
5
- RULE_STRENGTHS
6
- } from "./chunk-A3IQAONL.js";
7
- import {
8
- holdWorkspaceSpend
9
- } from "./chunk-E44NXCTL.js";
10
- import {
11
- askAboutText
12
- } from "./chunk-7HZSORAB.js";
13
- import {
14
- CREATIVE_FEEDBACK_REASON_LABELS
15
- } from "./chunk-5MSRVAUZ.js";
16
-
17
- // src/commands/creatives/rule-candidate.ts
18
- import { createHash } from "crypto";
19
- import { mkdir, readFile, writeFile } from "fs/promises";
20
- import path from "path";
21
- import { z } from "zod";
22
- var optionalPhrases = Phrases.optional().catch(void 0);
23
- var Draft = z.object({
24
- because: z.string().trim().min(3).max(400),
25
- text: z.string().trim().min(1).max(300),
26
- strength: z.enum(RULE_STRENGTHS).catch("must"),
27
- applies: z.enum(RULE_APPLIES).catch("any"),
28
- language: z.string().trim().regex(/^[a-z]{2,3}$/).optional().catch(void 0),
29
- kinds: z.array(z.enum(RULE_KINDS)).optional().catch(void 0),
30
- platforms: optionalPhrases,
31
- forbid: optionalPhrases,
32
- require: optionalPhrases,
33
- allow: optionalPhrases,
34
- people: z.literal("real").optional().catch(void 0)
35
- });
36
- function parseDrafts(answer) {
37
- const rules = answer?.rules;
38
- if (!Array.isArray(rules)) return [];
39
- return rules.slice(0, MAX_DRAFTS).flatMap((raw) => {
40
- const draft = Draft.safeParse(raw);
41
- if (!draft.success) return [];
42
- const { because: _because, ...rule } = draft.data;
43
- return [
44
- Object.fromEntries(
45
- Object.entries(rule).filter(([, v]) => v !== void 0 && !(Array.isArray(v) && v.length === 0))
46
- )
47
- ];
48
- });
49
- }
50
- var MAX_DRAFTS = 3;
51
- function draftRulesPrompt(note, ad) {
52
- const where = [ad.kind ? `a ${ad.kind} ad` : "an ad", ad.platform ? `for ${ad.platform}` : ""].filter(Boolean).join(" ");
53
- return [
54
- `A person rejected ${where} and said, in their own words:`,
55
- `"""${note}"""`,
56
- "",
57
- "List only the standing rules this note states for EVERY future ad of the company (at most 3). Most notes state none: they ask for changes to this ad (fix a word, move the logo, speed up a scene, redo the pieces), and a change to this ad is never a rule, however it is phrased. A rule is standing only when the note itself says it holds beyond this ad (always, never, in every video, in these creatives, these mistakes keep happening, it is the format of the programme, the rule of the other pieces), or it corrects how the company or what it sells must always be named.",
58
- "For each rule, quote in `because` the note's own words that make it hold beyond this ad; a rule you cannot quote that for is not a rule. Return JSON only:",
59
- '{"rules": [{"because": string, "text": string, "strength": "never" | "must" | "prefer", "applies": "copy" | "picture" | "cast" | "logo" | "voice" | "sound" | "subtitles" | "any", "language": string, "kinds": ["static" | "video"], "platforms": string[], "forbid": string[], "require": string[], "allow": string[], "people": "real" | null}]}',
60
- "- text: the rule in one short sentence, in the note's own language and close to its words.",
61
- '- strength: "never" for a ban, "must" for something every ad has to do, "prefer" for a taste.',
62
- '- applies: what of the ad it is about ("copy" for its words, "picture", "cast" for who appears, "logo", "voice", "sound", "subtitles"), else "any".',
63
- `- language: the note's language as a two-letter code ("es").`,
64
- '- kinds and platforms: only when the note limits the rule to them ("en estos creativos de linkedin" gives platforms ["linkedin"]); else [].',
65
- `- forbid: the exact words the rule bans in the ad's words, only when a word or phrase decides it ("100 % online", not "online" gives forbid ["online"], allow ["100 % online"]); else []. require: words every ad must say; usually []. allow: the right phrase that contains a banned word.`,
66
- '- people: "real" only when the rule is that no AI-made or invented people appear; else null.',
67
- 'Return {"rules": []} when the note states no standing rule.'
68
- ].join("\n");
69
- }
70
- var RULE_DRAFT_MODEL = "google/gemini-3.5-flash";
71
- var DRAFT_REQUEST = {
72
- provider: { order: ["google-vertex"], allow_fallbacks: false },
73
- seed: 0,
74
- reasoning: { effort: "low" },
75
- response_format: { type: "json_object" }
76
- };
77
- var DRAFT_TIMEOUT_MS = 3e4;
78
- function modelRuleDrafter(cacheDir) {
79
- return async (note, ad) => {
80
- const prompt = draftRulesPrompt(note, ad);
81
- const key = createHash("sha256").update(JSON.stringify([RULE_DRAFT_MODEL, prompt])).digest("hex").slice(0, 16);
82
- const file = path.join(cacheDir, "rule-drafts", `${key}.json`);
83
- const cached = await readFile(file, "utf8").then(
84
- (raw) => parseDrafts(JSON.parse(raw)),
85
- () => null
86
- );
87
- if (cached) return cached;
88
- const spent = [];
89
- const answer = await askAboutText(RULE_DRAFT_MODEL, prompt, (u) => spent.push(u), {
90
- timeoutMs: DRAFT_TIMEOUT_MS,
91
- request: DRAFT_REQUEST
92
- }).catch(() => null);
93
- await holdWorkspaceSpend(spent);
94
- if (answer === null) return [];
95
- await mkdir(path.dirname(file), { recursive: true }).catch(() => void 0);
96
- await writeFile(file, JSON.stringify(answer), "utf8").catch(() => void 0);
97
- return parseDrafts(answer);
98
- };
99
- }
100
- async function ruleCandidates(note, ad, draft) {
101
- const text = note?.trim();
102
- if (!text) return [];
103
- return await draft(text, ad).catch(() => []);
104
- }
105
- var candidatesDir = (cacheDir) => path.join(cacheDir, "rule-candidates");
106
- async function saveCandidates(cacheDir, candidates) {
107
- await mkdir(candidatesDir(cacheDir), { recursive: true });
108
- return await Promise.all(
109
- candidates.map(async (c) => {
110
- const id = `rc-${createHash("sha256").update(JSON.stringify(c)).digest("hex").slice(0, 8)}`;
111
- await writeFile(path.join(candidatesDir(cacheDir), `${id}.json`), JSON.stringify(c), "utf8");
112
- return id;
113
- })
114
- );
115
- }
116
- async function loadCandidate(cacheDir, id) {
117
- if (!/^rc-[0-9a-f]{8}$/.test(id)) return null;
118
- return await readFile(path.join(candidatesDir(cacheDir), `${id}.json`), "utf8").then(
119
- (raw) => JSON.parse(raw),
120
- () => null
121
- );
122
- }
123
- var REPEATED_ON = 2;
124
- var REPEATED_NOTES = 3;
125
- function repeatedReasons(notes, reasons, slug) {
126
- return reasons.flatMap((reason) => {
127
- const others = notes.filter((n) => n.creative !== slug && n.reasons.includes(reason));
128
- const creatives = new Set(others.map((n) => n.creative)).size;
129
- return creatives >= REPEATED_ON ? [
130
- {
131
- label: CREATIVE_FEEDBACK_REASON_LABELS[reason],
132
- creatives,
133
- notes: [...new Set(others.map((n) => n.note))].slice(0, REPEATED_NOTES)
134
- }
135
- ] : [];
136
- });
137
- }
138
- function ruleCandidateHints(drafted, repeated) {
139
- const asks = drafted.map(
140
- (d) => `Their words state a rule for every ad: "${d.text}". Ask them once, in their language: make this a rule for every ad from now on? Only on yes: \`baker creatives rules add --candidate ${d.id}\` (reword it with --text if they correct it). On no, never ask again in this chat.`
141
- );
142
- const patterns = repeated.map(
143
- (r) => `"${r.label}" was also the reason on ${r.creatives} other ads (their words: ${r.notes.map((n) => `"${n}"`).join("; ")}). ${drafted.length > 0 ? "Say so when you ask." : 'Ask them once whether there is a rule for every ad behind it; on yes, `baker creatives rules add --text "<the rule, in their words>" \u2026`.'}`
144
- );
145
- return [...asks, ...patterns];
146
- }
147
-
148
- export {
149
- modelRuleDrafter,
150
- ruleCandidates,
151
- saveCandidates,
152
- loadCandidate,
153
- repeatedReasons,
154
- ruleCandidateHints
155
- };
156
- //# sourceMappingURL=chunk-ST2777KW.js.map