@koda-sl/baker-cli 0.481.0-dev.2d33e194f → 0.498.0-dev.e2ca08ce6

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 (1417) hide show
  1. package/README.md +66 -131
  2. package/canvas/avocado-tutorial.json +3 -3
  3. package/canvas/hello-world-overlay.json +1 -1
  4. package/dist/account-5VPZ3XQ3.js +79 -0
  5. package/dist/account-SYUEXERA.js +49 -0
  6. package/dist/account-ZQH535IP.js +80 -0
  7. package/dist/account-reads-GUYNJEZA.js +218 -0
  8. package/dist/account-writes-DLCRTL6Y.js +66 -0
  9. package/dist/accounts-3TNEMLLC.js +115 -0
  10. package/dist/accounts-GBRGCLE3.js +611 -0
  11. package/dist/accounts-IPOCFAKK.js +114 -0
  12. package/dist/accounts-QBWYIJ7D.js +77 -0
  13. package/dist/accounts-TSM5EHRD.js +75 -0
  14. package/dist/actions-XZMLYLTK.js +55 -0
  15. package/dist/active-entities-MFWTN4VJ.js +103 -0
  16. package/dist/activecampaign-77V5X3FQ.js +935 -0
  17. package/dist/activecampaign-77V5X3FQ.js.map +1 -0
  18. package/dist/activities-ZXA53KY7.js +74 -0
  19. package/dist/ad-group-writes-2JBCTSJY.js +170 -0
  20. package/dist/ad-groups-6JQSO32O.js +68 -0
  21. package/dist/ad-writes-P34Z3ZTX.js +174 -0
  22. package/dist/add-F2BF2HAK.js +105 -0
  23. package/dist/add-JAXBNDLC.js +97 -0
  24. package/dist/add-KAMQP5RM.js +302 -0
  25. package/dist/add-Y6QCWI6Q.js +104 -0
  26. package/dist/add-accounts-M4R7ZVHN.js +91 -0
  27. package/dist/ads-6MIIAUFS.js +40 -0
  28. package/dist/ads-6MIIAUFS.js.map +1 -0
  29. package/dist/ads-KPUP4WG4.js +128 -0
  30. package/dist/ads-UVQN4BTT.js +113 -0
  31. package/dist/ads-VPSHNIWG.js +77 -0
  32. package/dist/adsets-JAQKFDLX.js +176 -0
  33. package/dist/advertisers-2ETFYRKA.js +120 -0
  34. package/dist/advertisers-6ONURKP2.js +125 -0
  35. package/dist/analytics-AVDCFCGF.js +433 -0
  36. package/dist/analytics-AVDCFCGF.js.map +1 -0
  37. package/dist/analytics-XZ56777C.js +1976 -0
  38. package/dist/animate-KZQCCL65.js +480 -0
  39. package/dist/assign-DDXB7A6W.js +77 -0
  40. package/dist/audience-size-5QQAABZQ.js +94 -0
  41. package/dist/audiences-I4KJ6DZ7.js +85 -0
  42. package/dist/audiences-IFBZCTME.js +78 -0
  43. package/dist/audiences-THTWZOMA.js +268 -0
  44. package/dist/audit-2KOD4YCF.js +151 -0
  45. package/dist/audit-MFTERSQZ.js +88 -0
  46. package/dist/autocomplete-JC46QNHQ.js +111 -0
  47. package/dist/avatars-ZXQRZJM2.js +38 -0
  48. package/dist/bid-pricing-46W7LSU5.js +99 -0
  49. package/dist/brand-XROP2WL2.js +22 -0
  50. package/dist/brief-ECEIKJFK.js +537 -0
  51. package/dist/brief-ECEIKJFK.js.map +1 -0
  52. package/dist/businesses-JWOIY3OR.js +53 -0
  53. package/dist/campaign-groups-5O3SR5X2.js +95 -0
  54. package/dist/campaign-writes-4D4256DP.js +170 -0
  55. package/dist/campaign-writes-5BEK2QBJ.js +165 -0
  56. package/dist/campaigns-6DX2MACO.js +76 -0
  57. package/dist/campaigns-EJT7IMDT.js +109 -0
  58. package/dist/campaigns-OKU4HN5Q.js +107 -0
  59. package/dist/campaigns-QVPLPTH3.js +110 -0
  60. package/dist/canvas-MNZLQZ74.js +46 -0
  61. package/dist/capabilities-W4XDJVDW.js +144 -0
  62. package/dist/cards-2QCVG77U.js +85 -0
  63. package/dist/catalog-LTH6SDYM.js +65 -0
  64. package/dist/catalog-LTH6SDYM.js.map +1 -0
  65. package/dist/catalogs-RVW4L6C6.js +128 -0
  66. package/dist/changes-XRPDY2K4.js +135 -0
  67. package/dist/chatgpt-RNGSOVHP.js +47 -0
  68. package/dist/chats-JKCUA26S.js +262 -0
  69. package/dist/check-R7IMU36G.js +102 -0
  70. package/dist/check-R7IMU36G.js.map +1 -0
  71. package/dist/chunk-2C36DHQH.js +96 -0
  72. package/dist/chunk-2LIAXB3W.js +1079 -0
  73. package/dist/chunk-2MT3AWDE.js +125 -0
  74. package/dist/chunk-2WRK44LZ.js +296 -0
  75. package/dist/chunk-34NQKHKY.js +1599 -0
  76. package/dist/chunk-34NQKHKY.js.map +1 -0
  77. package/dist/chunk-35WKYJQY.js +382 -0
  78. package/dist/chunk-35WKYJQY.js.map +1 -0
  79. package/dist/chunk-3FDGC2UH.js +846 -0
  80. package/dist/chunk-3FFJYMKM.js +333 -0
  81. package/dist/chunk-3PL2QRF2.js +96 -0
  82. package/dist/chunk-3XDZMLX6.js +139 -0
  83. package/dist/chunk-4R7H4RV6.js +35 -0
  84. package/dist/chunk-4TBDEV7X.js +75 -0
  85. package/dist/chunk-4WYEGE4N.js +2123 -0
  86. package/dist/chunk-4WYEGE4N.js.map +1 -0
  87. package/dist/chunk-5IGQ6IQO.js +1837 -0
  88. package/dist/chunk-5IGQ6IQO.js.map +1 -0
  89. package/dist/chunk-5OAFKP6L.js +305 -0
  90. package/dist/chunk-5OAFKP6L.js.map +1 -0
  91. package/dist/chunk-5OLCELV7.js +304 -0
  92. package/dist/chunk-5OLCELV7.js.map +1 -0
  93. package/dist/chunk-5VD5GK6A.js +58 -0
  94. package/dist/chunk-5ZIGEHQQ.js +166 -0
  95. package/dist/chunk-66ZIZ7QP.js +26 -0
  96. package/dist/chunk-6DSLFOKJ.js +74 -0
  97. package/dist/chunk-6EV5MXLQ.js +66 -0
  98. package/dist/chunk-6EV5MXLQ.js.map +1 -0
  99. package/dist/chunk-6FHP2HIK.js +84 -0
  100. package/dist/chunk-6VI2DDGZ.js +106 -0
  101. package/dist/chunk-7DBOLSUL.js +51 -0
  102. package/dist/chunk-A7MTWTMM.js +821 -0
  103. package/dist/chunk-A7MTWTMM.js.map +1 -0
  104. package/dist/chunk-AN7CMLYY.js +25 -0
  105. package/dist/chunk-B2SAOVMU.js +148 -0
  106. package/dist/chunk-B2SAOVMU.js.map +1 -0
  107. package/dist/chunk-BC2BXRXY.js +2887 -0
  108. package/dist/chunk-BC2BXRXY.js.map +1 -0
  109. package/dist/chunk-BDMZRWQI.js +433 -0
  110. package/dist/chunk-BITS62MF.js +77 -0
  111. package/dist/chunk-CCFZB42B.js +76 -0
  112. package/dist/chunk-CKRSSMRT.js +191 -0
  113. package/dist/chunk-D53AAUG4.js +215 -0
  114. package/dist/chunk-DGUYFROS.js +76 -0
  115. package/dist/chunk-DS2ZRTAL.js +136 -0
  116. package/dist/chunk-EIJDXZW5.js +1743 -0
  117. package/dist/chunk-EJH2JOVG.js +98 -0
  118. package/dist/chunk-EJWFD6T3.js +188 -0
  119. package/dist/chunk-ELNN4SNW.js +52 -0
  120. package/dist/chunk-ELYP6BOS.js +156 -0
  121. package/dist/chunk-ELYP6BOS.js.map +1 -0
  122. package/dist/chunk-EUB327FC.js +57 -0
  123. package/dist/chunk-EWRGZZLS.js +159 -0
  124. package/dist/chunk-EWRGZZLS.js.map +1 -0
  125. package/dist/chunk-FBF5XDJX.js +106 -0
  126. package/dist/chunk-FHYUIYU5.js +6995 -0
  127. package/dist/chunk-FHYUIYU5.js.map +1 -0
  128. package/dist/chunk-FP3GNJN2.js +98 -0
  129. package/dist/chunk-FZKUUI3F.js +455 -0
  130. package/dist/chunk-FZKUUI3F.js.map +1 -0
  131. package/dist/chunk-G373L4GL.js +45 -0
  132. package/dist/chunk-GFFV6YS7.js +903 -0
  133. package/dist/chunk-GFFV6YS7.js.map +1 -0
  134. package/dist/chunk-GN6WIZDD.js +392 -0
  135. package/dist/chunk-GN6WIZDD.js.map +1 -0
  136. package/dist/chunk-GPWT42O3.js +158 -0
  137. package/dist/chunk-GPWT42O3.js.map +1 -0
  138. package/dist/chunk-GTOHNTTI.js +274 -0
  139. package/dist/chunk-HDNZSVJJ.js +665 -0
  140. package/dist/chunk-HGTLGFKV.js +216 -0
  141. package/dist/chunk-HGTLGFKV.js.map +1 -0
  142. package/dist/chunk-HLAAGGDS.js +346 -0
  143. package/dist/chunk-HX7PM34O.js +197 -0
  144. package/dist/chunk-HY6DIWDV.js +509 -0
  145. package/dist/chunk-IBJA2A4E.js +19 -0
  146. package/dist/chunk-IKTKWXP6.js +172 -0
  147. package/dist/chunk-IOGKJZ4Z.js +74 -0
  148. package/dist/chunk-IVRXPYQ7.js +60 -0
  149. package/dist/chunk-JIJJCU6E.js +363 -0
  150. package/dist/chunk-JOCKYH6U.js +297 -0
  151. package/dist/chunk-KPYDTIAI.js +317 -0
  152. package/dist/chunk-KPYDTIAI.js.map +1 -0
  153. package/dist/chunk-L44WSWSZ.js +23 -0
  154. package/dist/chunk-LF3MFO2N.js +23992 -0
  155. package/dist/chunk-LF3MFO2N.js.map +1 -0
  156. package/dist/chunk-M525HJTA.js +275 -0
  157. package/dist/chunk-M6UNISGO.js +66 -0
  158. package/dist/chunk-M6UNISGO.js.map +1 -0
  159. package/dist/chunk-MBYTIGZE.js +111 -0
  160. package/dist/chunk-MBYTIGZE.js.map +1 -0
  161. package/dist/chunk-MKL7CL4P.js +92 -0
  162. package/dist/chunk-MMU6XHCH.js +97 -0
  163. package/dist/chunk-MNPBPU3G.js +225 -0
  164. package/dist/chunk-MNPBPU3G.js.map +1 -0
  165. package/dist/chunk-MRRSKRZZ.js +84 -0
  166. package/dist/chunk-MV2J73HP.js +6238 -0
  167. package/dist/chunk-MV2J73HP.js.map +1 -0
  168. package/dist/chunk-NDIBFOFB.js +3194 -0
  169. package/dist/chunk-NDIBFOFB.js.map +1 -0
  170. package/dist/chunk-NEHQGYZS.js +5181 -0
  171. package/dist/chunk-NEHQGYZS.js.map +1 -0
  172. package/dist/chunk-NFHUJRDE.js +136 -0
  173. package/dist/chunk-NG2DMLU6.js +175 -0
  174. package/dist/chunk-NG2DMLU6.js.map +1 -0
  175. package/dist/chunk-NSHJ6OOK.js +67 -0
  176. package/dist/chunk-OCBAKPHH.js +76 -0
  177. package/dist/chunk-OSWCEDFE.js +216 -0
  178. package/dist/chunk-OTLYELOW.js +111 -0
  179. package/dist/chunk-OTNGMKI6.js +309 -0
  180. package/dist/chunk-PAJJXZ3Z.js +170 -0
  181. package/dist/chunk-PALFKSJV.js +237 -0
  182. package/dist/chunk-PALFKSJV.js.map +1 -0
  183. package/dist/chunk-PGSXR5UM.js +206 -0
  184. package/dist/chunk-QEW64BBR.js +777 -0
  185. package/dist/chunk-QEW64BBR.js.map +1 -0
  186. package/dist/chunk-QK5PEHFX.js +3088 -0
  187. package/dist/chunk-QK5PEHFX.js.map +1 -0
  188. package/dist/chunk-QVQKCVP7.js +85 -0
  189. package/dist/chunk-QVQKCVP7.js.map +1 -0
  190. package/dist/chunk-QW2Q4C2X.js +547 -0
  191. package/dist/chunk-QW2Q4C2X.js.map +1 -0
  192. package/dist/chunk-R5HMAIZM.js +169 -0
  193. package/dist/chunk-RPRLCIHB.js +103 -0
  194. package/dist/chunk-RV4GIY23.js +149 -0
  195. package/dist/chunk-RVXN2YTM.js +544 -0
  196. package/dist/chunk-RVXN2YTM.js.map +1 -0
  197. package/dist/chunk-RXUEYD2S.js +592 -0
  198. package/dist/chunk-S4ROJTDY.js +580 -0
  199. package/dist/chunk-S4ROJTDY.js.map +1 -0
  200. package/dist/chunk-SJOWZKNB.js +56 -0
  201. package/dist/chunk-SYED65QF.js +46 -0
  202. package/dist/chunk-SYED65QF.js.map +1 -0
  203. package/dist/chunk-T235G4C7.js +518 -0
  204. package/dist/chunk-T235G4C7.js.map +1 -0
  205. package/dist/chunk-TE3N5AGN.js +94 -0
  206. package/dist/chunk-TPQH4UXJ.js +174 -0
  207. package/dist/chunk-TQUNJFGF.js +225 -0
  208. package/dist/chunk-TYSN5VVJ.js +55 -0
  209. package/dist/chunk-UKMG6YWX.js +26 -0
  210. package/dist/chunk-WDAWTHQK.js +66 -0
  211. package/dist/chunk-WJNLQEOZ.js +131 -0
  212. package/dist/chunk-WJNLQEOZ.js.map +1 -0
  213. package/dist/chunk-X3PCCHP2.js +74 -0
  214. package/dist/chunk-XQ4KKF5E.js +1448 -0
  215. package/dist/chunk-XQ4KKF5E.js.map +1 -0
  216. package/dist/chunk-XXU7XRMM.js +4434 -0
  217. package/dist/chunk-XXU7XRMM.js.map +1 -0
  218. package/dist/chunk-YJAQWTS6.js +455 -0
  219. package/dist/chunk-YNOJN5Z6.js +42 -0
  220. package/dist/chunk-YTV5VW7S.js +494 -0
  221. package/dist/chunk-ZO4GMUO3.js +172 -0
  222. package/dist/chunk-ZPMGYAYZ.js +169 -0
  223. package/dist/chunk-ZPMGYAYZ.js.map +1 -0
  224. package/dist/chunk-ZSRLDTDC.js +46 -0
  225. package/dist/claim-JBNO7M6J.js +197 -0
  226. package/dist/cli.js +39 -38
  227. package/dist/cli.js.map +1 -1
  228. package/dist/client-CPAPILIF.js +19 -0
  229. package/dist/code-GHOVETWX.js +76 -0
  230. package/dist/companies-47T2PCRZ.js +195 -0
  231. package/dist/complete-T3PKN4B7.js +81 -0
  232. package/dist/config-AFNXR5FA.js +88 -0
  233. package/dist/connect-T7R43GIH.js +42 -0
  234. package/dist/content-M3U2SCFJ.js +85 -0
  235. package/dist/conversation-BG7WEMXQ.js +93 -0
  236. package/dist/conversion-report-URDTPXQ7.js +125 -0
  237. package/dist/conversion-upload-command-BWF6MAOK.js +438 -0
  238. package/dist/conversion-writes-7MGIFJ3H.js +120 -0
  239. package/dist/conversions-QY6COYPP.js +76 -0
  240. package/dist/conversions-UTXG5YEO.js +135 -0
  241. package/dist/countries-MUZPFSYZ.js +82 -0
  242. package/dist/create-6QASIASQ.js +235 -0
  243. package/dist/create-FIHEJRAF.js +59 -0
  244. package/dist/create-JXZBMXUS.js +207 -0
  245. package/dist/create-LN23WUB5.js +126 -0
  246. package/dist/create-LN23WUB5.js.map +1 -0
  247. package/dist/creatives-6FG6VAB4.js +87 -0
  248. package/dist/creatives-NHH4J2XW.js +58 -0
  249. package/dist/creatives-NHH4J2XW.js.map +1 -0
  250. package/dist/creatives-UD6TFATS.js +182 -0
  251. package/dist/credentials-ECPD2A7X.js +287 -0
  252. package/dist/critique-7OGWN5Q4.js +220 -0
  253. package/dist/critique-7OGWN5Q4.js.map +1 -0
  254. package/dist/critique-WQ3EP6E5.js +1450 -0
  255. package/dist/critique-WQ3EP6E5.js.map +1 -0
  256. package/dist/crm-4EWUWZNZ.js +318 -0
  257. package/dist/crm-ASWKMKF3.js +224 -0
  258. package/dist/crop-MIVSA2YF.js +113 -0
  259. package/dist/currency-5LU3D62R.js +88 -0
  260. package/dist/custom-conversions-3QGJQRYS.js +125 -0
  261. package/dist/customers-EEBZXQ4J.js +56 -0
  262. package/dist/decide-ZODJU7DY.js +199 -0
  263. package/dist/delete-CTH3TGNM.js +71 -0
  264. package/dist/delete-D6GNTBYI.js +54 -0
  265. package/dist/delete-IWIDUJNS.js +69 -0
  266. package/dist/delete-TLVYBVRP.js +71 -0
  267. package/dist/delete-XPHIQY5Z.js +63 -0
  268. package/dist/delete-XZEPLAKT.js +66 -0
  269. package/dist/demographics-L3TJJAFF.js +138 -0
  270. package/dist/describe-5PM5OSYK.js +97 -0
  271. package/dist/describe-KQLRHGFX.js +97 -0
  272. package/dist/dimensions-6H24D7CM.js +101 -0
  273. package/dist/discard-74I3M2DF.js +66 -0
  274. package/dist/discover-6LGIHWVP.js +93 -0
  275. package/dist/discover-HBQO4RSF.js +172 -0
  276. package/dist/domain-E5DTPAZI.js +98 -0
  277. package/dist/download-ED52W77T.js +299 -0
  278. package/dist/draft-3XYF2L4K.js +306 -0
  279. package/dist/draft-5IEMZ4W3.js +103 -0
  280. package/dist/draft-6UVGEERY.js +281 -0
  281. package/dist/draft-FDBE36CP.js +233 -0
  282. package/dist/draft-PE4DN44Y.js +307 -0
  283. package/dist/draft-QBR22TG2.js +328 -0
  284. package/dist/draft-VZYSJVF5.js +217 -0
  285. package/dist/draft-YWTLO2ON.js +100 -0
  286. package/dist/engine/index.js +15 -14
  287. package/dist/env-GS2TUVCM.js +43 -0
  288. package/dist/experiment-XDJHSOBC.js +1397 -0
  289. package/dist/export-GV5CF5UM.js +168 -0
  290. package/dist/extract-4OXK7L7R.js +113 -0
  291. package/dist/facets-XPB2ELM2.js +114 -0
  292. package/dist/favorites-VKPXGTK6.js +178 -0
  293. package/dist/feed-B2YLZQNU.js +177 -0
  294. package/dist/feedback-XF2TOS4P.js +66 -0
  295. package/dist/feedback-record-YPNGCJWS.js +246 -0
  296. package/dist/feedback-record-YPNGCJWS.js.map +1 -0
  297. package/dist/fetch-2O7EUCCZ.js +139 -0
  298. package/dist/fetch-GMNE6KOJ.js +176 -0
  299. package/dist/find-LZZNPFJH.js +134 -0
  300. package/dist/find-LZZNPFJH.js.map +1 -0
  301. package/dist/fit-INDYA6KP.js +56 -0
  302. package/dist/flows-5SXT5F22.js +247 -0
  303. package/dist/flows-5SXT5F22.js.map +1 -0
  304. package/dist/follow-UNIHLZKA.js +94 -0
  305. package/dist/follow-competitors-CQL2B55H.js +112 -0
  306. package/dist/following-GMXZIEDZ.js +113 -0
  307. package/dist/fonts-GPJQLNQL.js +35 -0
  308. package/dist/forecast-6AHSHRDJ.js +168 -0
  309. package/dist/forecast-V6BCMR4Y.js +104 -0
  310. package/dist/funding-WPREDQVA.js +85 -0
  311. package/dist/funnel-QDYX3UH5.js +394 -0
  312. package/dist/ga4-6AUOX2UW.js +55 -0
  313. package/dist/generate-LWSAKRIT.js +263 -0
  314. package/dist/generate-LWSAKRIT.js.map +1 -0
  315. package/dist/get-5OEDAT2Q.js +63 -0
  316. package/dist/get-7WEE5V7M.js +56 -0
  317. package/dist/get-DXGJSEZZ.js +63 -0
  318. package/dist/get-GQWOLALT.js +59 -0
  319. package/dist/get-W7F4FOAR.js +92 -0
  320. package/dist/get-WY6JXFP6.js +61 -0
  321. package/dist/get-X6DSFXN6.js +78 -0
  322. package/dist/gif-JXWSR2TC.js +94 -0
  323. package/dist/google-44QA3M4N.js +3190 -0
  324. package/dist/google-44QA3M4N.js.map +1 -0
  325. package/dist/google-6QFL6GV3.js +136 -0
  326. package/dist/google-ads-ZG3BDUEG.js +195 -0
  327. package/dist/group-7ADT2GWA.js +43 -0
  328. package/dist/group-VD3UIBKE.js +43 -0
  329. package/dist/gsc-WHMPFTYA.js +30 -0
  330. package/dist/history-33JKOKAV.js +133 -0
  331. package/dist/history-M3IKDCEO.js +67 -0
  332. package/dist/hubspot-B4IUIOYX.js +779 -0
  333. package/dist/icon-R2K27DKI.js +137 -0
  334. package/dist/ideas-ZFODHYVK.js +39 -0
  335. package/dist/images-PV6TZQLL.js +90 -0
  336. package/dist/improve-TVFAR27Q.js +86 -0
  337. package/dist/ingest-25ZX36RL.js +23 -0
  338. package/dist/ingest-MFIT3L23.js +107 -0
  339. package/dist/insights-CE3GICP7.js +423 -0
  340. package/dist/insights-CE3GICP7.js.map +1 -0
  341. package/dist/insights-TGAQLNHO.js +122 -0
  342. package/dist/insights-TGAQLNHO.js.map +1 -0
  343. package/dist/inspect-2IASA5YV.js +189 -0
  344. package/dist/inspiration-O56SOIQP.js +53 -0
  345. package/dist/intent-JOW24MTF.js +95 -0
  346. package/dist/job-QUO6KULI.js +202 -0
  347. package/dist/job-create-JTOG5M3Q.js +109 -0
  348. package/dist/job-status-3B4X5IPG.js +74 -0
  349. package/dist/keep-5TVGX7EG.js +78 -0
  350. package/dist/keyword-gap-SHLXRIHO.js +130 -0
  351. package/dist/keyword-metrics-NYH6DXKJ.js +197 -0
  352. package/dist/keywords-for-site-JTK64W4I.js +128 -0
  353. package/dist/landing-4V7HMYCZ.js +28 -0
  354. package/dist/landings-LZZO4VVW.js +151 -0
  355. package/dist/languages-TINK472E.js +55 -0
  356. package/dist/languages-ZIGJHY2T.js +40 -0
  357. package/dist/launches-C5XXNF7C.js +19 -0
  358. package/dist/layerize-YVCA4JO7.js +190 -0
  359. package/dist/leads-2WTL7F24.js +90 -0
  360. package/dist/leads-QUO3YNHO.js +293 -0
  361. package/dist/learn-RL66WKHT.js +204 -0
  362. package/dist/learn-RL66WKHT.js.map +1 -0
  363. package/dist/library-EEHRR7WX.js +109 -0
  364. package/dist/library-EEHRR7WX.js.map +1 -0
  365. package/dist/lighthouse-QLFI7PSQ.js +75 -0
  366. package/dist/line-item-writes-SYSYGV3L.js +208 -0
  367. package/dist/line-items-H3M6T7P2.js +103 -0
  368. package/dist/link-EHSSSV6K.js +64 -0
  369. package/dist/linkedin-BGZIR43P.js +1008 -0
  370. package/dist/list-2IAOPMQC.js +76 -0
  371. package/dist/list-BGT2BEWD.js +57 -0
  372. package/dist/list-G2VYAKYF.js +151 -0
  373. package/dist/list-IFXQWBBE.js +65 -0
  374. package/dist/list-LK3CVZ3B.js +50 -0
  375. package/dist/list-X2TMGY7C.js +303 -0
  376. package/dist/list-X3SEZDKE.js +51 -0
  377. package/dist/list-ZFS7XBD7.js +63 -0
  378. package/dist/locations-JC2H5JMY.js +67 -0
  379. package/dist/locations-M4L7FUOB.js +40 -0
  380. package/dist/log-4EINR63D.js +92 -0
  381. package/dist/logo-7GDRTSLI.js +18 -0
  382. package/dist/lookup-SJXNPUXG.js +22 -0
  383. package/dist/make-GJPQRROG.js +1137 -0
  384. package/dist/make-GJPQRROG.js.map +1 -0
  385. package/dist/map-EFEKUPNJ.js +433 -0
  386. package/dist/map-EFEKUPNJ.js.map +1 -0
  387. package/dist/mcp-RQJAEJCJ.js +463 -0
  388. package/dist/media-FYGHJAEG.js +89 -0
  389. package/dist/media-YYYCKXMZ.js +15 -0
  390. package/dist/media-sources-ZLBIC4RM.js +32 -0
  391. package/dist/members-SXATNT7V.js +44 -0
  392. package/dist/meta-OGB3NB2W.js +69 -0
  393. package/dist/metrics-52ZARN6M.js +152 -0
  394. package/dist/models-LSEMO4XH.js +155 -0
  395. package/dist/normalize-3HI26S34.js +806 -0
  396. package/dist/normalize-SOFYZQSJ.js +141 -0
  397. package/dist/options-GKSCCFM7.js +122 -0
  398. package/dist/options-GKSCCFM7.js.map +1 -0
  399. package/dist/output-YJ4YBUU4.js +24 -0
  400. package/dist/page-ZGCK6MOQ.js +105 -0
  401. package/dist/pages-QMP3W2R3.js +66 -0
  402. package/dist/performance-BQSWGNFO.js +24 -0
  403. package/dist/pinterest-LCVUB2ZL.js +96 -0
  404. package/dist/pixels-UQGAPBLG.js +60 -0
  405. package/dist/pixels-YM2DX7EN.js +108 -0
  406. package/dist/plan-Z5TZRRCH.js +207 -0
  407. package/dist/preview-DZQUUQGD.js +169 -0
  408. package/dist/profile-SXX36XVS.js +159 -0
  409. package/dist/profile-SXX36XVS.js.map +1 -0
  410. package/dist/promoted-tweet-writes-VUNJIUA3.js +180 -0
  411. package/dist/promoted-tweets-55X4H7NG.js +119 -0
  412. package/dist/properties-CSW67FJG.js +101 -0
  413. package/dist/publish-U73OR33K.js +322 -0
  414. package/dist/query-UQQNESTT.js +236 -0
  415. package/dist/query-V4I3VCJ7.js +61 -0
  416. package/dist/query-XPCC7OUP.js +247 -0
  417. package/dist/questionnaire-UQNRYZK7.js +93 -0
  418. package/dist/read-RXAOLPG5.js +141 -0
  419. package/dist/reddit-C2B7NT7X.js +26 -0
  420. package/dist/refresh-JN4HKE4H.js +94 -0
  421. package/dist/release-HSAOBN5K.js +60 -0
  422. package/dist/relevant-pages-XBWFEHHE.js +99 -0
  423. package/dist/remove-G5UXVQ2W.js +50 -0
  424. package/dist/remove-Q4TL5ZFS.js +48 -0
  425. package/dist/reopen-D26VSRRL.js +63 -0
  426. package/dist/rerun-77XP2DAH.js +89 -0
  427. package/dist/rerun-77XP2DAH.js.map +1 -0
  428. package/dist/research-CRYX2CAR.js +262 -0
  429. package/dist/research-XRVD2GSG.js +62 -0
  430. package/dist/reset-2VVN4CY7.js +54 -0
  431. package/dist/reset-FWDPBHYO.js +54 -0
  432. package/dist/resolve-D4PCGIWO.js +121 -0
  433. package/dist/retry-AHZFHMTH.js +60 -0
  434. package/dist/retry-FV6ASVO5.js +62 -0
  435. package/dist/retry-failed-AENQRGML.js +45 -0
  436. package/dist/rules-HJGFA6OT.js +95 -0
  437. package/dist/rules-HJGFA6OT.js.map +1 -0
  438. package/dist/rules-add-3YBX7UGL.js +448 -0
  439. package/dist/rules-add-3YBX7UGL.js.map +1 -0
  440. package/dist/run-AGSHZQND.js +65 -0
  441. package/dist/run-WBFKGA42.js +64 -0
  442. package/dist/scaffold-ad-6YO574PA.js +1553 -0
  443. package/dist/scaffold-ad-6YO574PA.js.map +1 -0
  444. package/dist/scaffold-static-ad-WBC2U5U4.js +976 -0
  445. package/dist/scaffold-static-ad-WBC2U5U4.js.map +1 -0
  446. package/dist/scaffold-video-2ZJMQMEZ.js +877 -0
  447. package/dist/scaffold-video-2ZJMQMEZ.js.map +1 -0
  448. package/dist/schedule-DTKBBIEH.js +66 -0
  449. package/dist/schedule-ESHQ4II7.js +61 -0
  450. package/dist/scheduled-agents-AREYFW23.js +50 -0
  451. package/dist/scheduled-agents-AREYFW23.js.map +1 -0
  452. package/dist/schema-OBF4T2QN.js +63 -0
  453. package/dist/schema-SWG2WKYX.js +132 -0
  454. package/dist/scrape-AGGDUPPD.js +2241 -0
  455. package/dist/screenshot-6GGCQCIV.js +102 -0
  456. package/dist/search-FRSFGJLZ.js +92 -0
  457. package/dist/search-I64WW2QC.js +174 -0
  458. package/dist/search-L2KHX5DO.js +224 -0
  459. package/dist/search-MBDEQ6EE.js +26 -0
  460. package/dist/search-UCDN4TOT.js +91 -0
  461. package/dist/search-copy-HX3FYZGT.js +168 -0
  462. package/dist/seeds-VFEFE4AK.js +101 -0
  463. package/dist/select-ONK2GLKS.js +100 -0
  464. package/dist/select-ONK2GLKS.js.map +1 -0
  465. package/dist/sends-WDSOXBSS.js +309 -0
  466. package/dist/sequences-NMJ55HS5.js +146 -0
  467. package/dist/set-prompt-KQSUL77B.js +192 -0
  468. package/dist/set-prompt-KQSUL77B.js.map +1 -0
  469. package/dist/setup-links-NAAUQD7O.js +141 -0
  470. package/dist/shared-3GVQQQNL.js +31 -0
  471. package/dist/site-VTJU5CRE.js +177 -0
  472. package/dist/sitemaps-KS57YDGB.js +87 -0
  473. package/dist/sites-PUEEVW7H.js +101 -0
  474. package/dist/skills-N6NRI2LC.js +47 -0
  475. package/dist/sources-CMUU4FER.js +454 -0
  476. package/dist/sources-CMUU4FER.js.map +1 -0
  477. package/dist/sources-YUMNEFK5.js +30 -0
  478. package/dist/stale-G25M2P7Q.js +70 -0
  479. package/dist/stale-G25M2P7Q.js.map +1 -0
  480. package/dist/stats-SY6GRHKB.js +34 -0
  481. package/dist/status-PVW64CLX.js +62 -0
  482. package/dist/sticker-YS6W5TSZ.js +94 -0
  483. package/dist/stock-DWL5E6K4.js +179 -0
  484. package/dist/studio-SXBK2IJJ.js +49 -0
  485. package/dist/sync-FOLYGQDI.js +54 -0
  486. package/dist/sync-NORMNZEE.js +54 -0
  487. package/dist/sync-XHJDCWWP.js +265 -0
  488. package/dist/sync-XHJDCWWP.js.map +1 -0
  489. package/dist/sync-definition-PGVMZTOX.js +61 -0
  490. package/dist/tag-manager-ARFZU46G.js +43 -0
  491. package/dist/tags-77JUO75W.js +20 -0
  492. package/dist/tags-DOJUSHJB.js +224 -0
  493. package/dist/tags-IESRRMGW.js +20 -0
  494. package/dist/tags-MRTUBMRD.js +20 -0
  495. package/dist/tags-SP6GW4R7.js +26 -0
  496. package/dist/targeting-constants-DVGRIRKD.js +118 -0
  497. package/dist/targeting-criteria-SOK3HUE2.js +113 -0
  498. package/dist/targets-V2HNKVUL.js +102 -0
  499. package/dist/testimonials-PA2FUV4H.js +32 -0
  500. package/dist/themes-IDB7YPHW.js +94 -0
  501. package/dist/top-companies-XDP4SZN7.js +108 -0
  502. package/dist/translate-SI6LSIY6.js +604 -0
  503. package/dist/translate-SI6LSIY6.js.map +1 -0
  504. package/dist/triggers-QDXCA5P4.js +141 -0
  505. package/dist/tweets-AISMWXM3.js +123 -0
  506. package/dist/unfollow-PHLMILG2.js +46 -0
  507. package/dist/unlink-GDZV5GVL.js +67 -0
  508. package/dist/unstage-WCC2TI5Z.js +95 -0
  509. package/dist/unstage-WDJXHSAV.js +84 -0
  510. package/dist/update-KBF35KYV.js +63 -0
  511. package/dist/update-MRG5MPHR.js +98 -0
  512. package/dist/update-XNNQGZBO.js +155 -0
  513. package/dist/update-ZGDQJPDL.js +142 -0
  514. package/dist/upload-ID35OCCY.js +126 -0
  515. package/dist/upload-R7YJORED.js +150 -0
  516. package/dist/upscale-XPGVJWW2.js +109 -0
  517. package/dist/url-options-6X7M2J7D.js +130 -0
  518. package/dist/url-params-WRLCJRJQ.js +98 -0
  519. package/dist/use-VCL3PRCB.js +95 -0
  520. package/dist/validate-QNBI74BM.js +95 -0
  521. package/dist/validate-QNBI74BM.js.map +1 -0
  522. package/dist/variant-2NADVT6Q.js +338 -0
  523. package/dist/videos-M6VK66NI.js +39 -0
  524. package/dist/view-Q5B57K42.js +121 -0
  525. package/dist/viewer-check-TEQ3WP2N.js +79 -0
  526. package/dist/viewer-check-TEQ3WP2N.js.map +1 -0
  527. package/dist/web-GOD7BF7X.js +140 -0
  528. package/dist/winners-PK6EMR6B.js +113 -0
  529. package/dist/winning-ads-EVOFUO3N.js +84 -0
  530. package/dist/write-commands-4KWMNH6A.js +1015 -0
  531. package/dist/write-commands-7ECRGXLK.js +737 -0
  532. package/dist/write-commands-GL2PHXSU.js +713 -0
  533. package/dist/write-commands-NMV65XXB.js +206 -0
  534. package/dist/x-MDENBZ3X.js +47 -0
  535. package/package.json +1 -1
  536. package/dist/account-67PZBEP6.js +0 -79
  537. package/dist/account-HZC6X2PH.js +0 -49
  538. package/dist/account-TQUV64XP.js +0 -80
  539. package/dist/account-reads-IRBTERTY.js +0 -218
  540. package/dist/account-writes-ALDSHAEV.js +0 -66
  541. package/dist/accounts-4P54UY6F.js +0 -115
  542. package/dist/accounts-6UNBLIUH.js +0 -75
  543. package/dist/accounts-GVTZN4VE.js +0 -114
  544. package/dist/accounts-NJ6TF6WH.js +0 -611
  545. package/dist/accounts-WTB737BM.js +0 -77
  546. package/dist/actions-D3BOWDEB.js +0 -55
  547. package/dist/active-entities-J2O76SRP.js +0 -103
  548. package/dist/activities-2J7FTZMN.js +0 -74
  549. package/dist/ad-group-writes-PQKDCMQF.js +0 -170
  550. package/dist/ad-groups-NGYEJMV4.js +0 -68
  551. package/dist/ad-writes-77FVHJTS.js +0 -174
  552. package/dist/add-2FHPLALV.js +0 -105
  553. package/dist/add-2XJYOGKW.js +0 -104
  554. package/dist/add-62JPGFD4.js +0 -302
  555. package/dist/add-JP76KCCY.js +0 -97
  556. package/dist/add-accounts-M5Y4DQFM.js +0 -91
  557. package/dist/ads-DB5NDHX5.js +0 -128
  558. package/dist/ads-J2F7BSHR.js +0 -45
  559. package/dist/ads-J2F7BSHR.js.map +0 -1
  560. package/dist/ads-LYNA2I7B.js +0 -77
  561. package/dist/ads-W2IPUWHQ.js +0 -113
  562. package/dist/adsets-PY5ZKGBO.js +0 -176
  563. package/dist/advertisers-BVAZ4XUX.js +0 -125
  564. package/dist/advertisers-NZPJQF7W.js +0 -120
  565. package/dist/analytics-K2QIWKBN.js +0 -444
  566. package/dist/analytics-K2QIWKBN.js.map +0 -1
  567. package/dist/analytics-NTPZKMYK.js +0 -1976
  568. package/dist/animate-EIV2OHXT.js +0 -480
  569. package/dist/assign-UNIA5YDC.js +0 -77
  570. package/dist/audience-size-4NN6ENP5.js +0 -94
  571. package/dist/audiences-45ZCY2VZ.js +0 -268
  572. package/dist/audiences-UUIYQFS6.js +0 -78
  573. package/dist/audiences-VYFX7OFS.js +0 -85
  574. package/dist/audit-NSVHNA5J.js +0 -151
  575. package/dist/audit-OWXTLQC4.js +0 -88
  576. package/dist/autocomplete-EHWAQYVB.js +0 -111
  577. package/dist/avatars-7WZPW7BV.js +0 -38
  578. package/dist/bid-pricing-F5NDMS6W.js +0 -99
  579. package/dist/brand-QAJ5VWFM.js +0 -22
  580. package/dist/brief-V2OB5OJW.js +0 -490
  581. package/dist/brief-V2OB5OJW.js.map +0 -1
  582. package/dist/businesses-ZH67AXR6.js +0 -53
  583. package/dist/campaign-groups-KFJKLNNU.js +0 -95
  584. package/dist/campaign-writes-BDGQ6XB3.js +0 -170
  585. package/dist/campaign-writes-FNMAGCKB.js +0 -165
  586. package/dist/campaigns-66OOGMDW.js +0 -110
  587. package/dist/campaigns-6HMHOXXY.js +0 -109
  588. package/dist/campaigns-HJTGX5WW.js +0 -76
  589. package/dist/campaigns-KT3J2O7S.js +0 -107
  590. package/dist/canvas-MQ6ZE5CZ.js +0 -46
  591. package/dist/capabilities-RVUMPP7C.js +0 -144
  592. package/dist/cards-I4BZIYUV.js +0 -85
  593. package/dist/catalog-NLL5VDRK.js +0 -64
  594. package/dist/catalog-NLL5VDRK.js.map +0 -1
  595. package/dist/catalogs-B2NKQO24.js +0 -128
  596. package/dist/changes-FX3TPYGT.js +0 -135
  597. package/dist/chatgpt-3NS2R442.js +0 -47
  598. package/dist/chats-72L7U4ML.js +0 -262
  599. package/dist/chunk-2KIF3U2C.js +0 -51
  600. package/dist/chunk-35ENAFJX.js +0 -46
  601. package/dist/chunk-3ZWHAIMU.js +0 -207
  602. package/dist/chunk-3ZWHAIMU.js.map +0 -1
  603. package/dist/chunk-4DM6OAQ6.js +0 -2065
  604. package/dist/chunk-4DM6OAQ6.js.map +0 -1
  605. package/dist/chunk-4TU2MWBJ.js +0 -275
  606. package/dist/chunk-57UECM77.js +0 -98
  607. package/dist/chunk-5HYSKH77.js +0 -315
  608. package/dist/chunk-5HYSKH77.js.map +0 -1
  609. package/dist/chunk-65BQAJMH.js +0 -136
  610. package/dist/chunk-6GFJFTG6.js +0 -75
  611. package/dist/chunk-6HPIWZHS.js +0 -76
  612. package/dist/chunk-73B3RQJC.js +0 -610
  613. package/dist/chunk-73B3RQJC.js.map +0 -1
  614. package/dist/chunk-7GYM4I5I.js +0 -206
  615. package/dist/chunk-7NTION5F.js +0 -26
  616. package/dist/chunk-7SX73SH2.js +0 -2902
  617. package/dist/chunk-7SX73SH2.js.map +0 -1
  618. package/dist/chunk-AFDPISNJ.js +0 -111
  619. package/dist/chunk-AIDXJHZ4.js +0 -433
  620. package/dist/chunk-AR7PU7BB.js +0 -76
  621. package/dist/chunk-AXVOBRQT.js +0 -1442
  622. package/dist/chunk-AXVOBRQT.js.map +0 -1
  623. package/dist/chunk-BBBZR7MF.js +0 -160
  624. package/dist/chunk-BBBZR7MF.js.map +0 -1
  625. package/dist/chunk-BVYPRGPG.js +0 -92
  626. package/dist/chunk-CAMX6OHF.js +0 -3182
  627. package/dist/chunk-CAMX6OHF.js.map +0 -1
  628. package/dist/chunk-CBCGVPHB.js +0 -125
  629. package/dist/chunk-CECS3DHZ.js +0 -333
  630. package/dist/chunk-CZYUZL6R.js +0 -3151
  631. package/dist/chunk-CZYUZL6R.js.map +0 -1
  632. package/dist/chunk-D5MF337I.js +0 -97
  633. package/dist/chunk-DDTILZXI.js +0 -103
  634. package/dist/chunk-DL2W4N7J.js +0 -52
  635. package/dist/chunk-DLUWHZCE.js +0 -225
  636. package/dist/chunk-EOGPNV25.js +0 -509
  637. package/dist/chunk-F3FSD6BO.js +0 -96
  638. package/dist/chunk-FDG2LLX7.js +0 -494
  639. package/dist/chunk-FE7T32YL.js +0 -163
  640. package/dist/chunk-FE7T32YL.js.map +0 -1
  641. package/dist/chunk-FIN4ZXGJ.js +0 -70
  642. package/dist/chunk-FIN4ZXGJ.js.map +0 -1
  643. package/dist/chunk-FO5EP6DA.js +0 -24008
  644. package/dist/chunk-FO5EP6DA.js.map +0 -1
  645. package/dist/chunk-FSGTITIW.js +0 -622
  646. package/dist/chunk-FSGTITIW.js.map +0 -1
  647. package/dist/chunk-FSPV2DUG.js +0 -310
  648. package/dist/chunk-FSPV2DUG.js.map +0 -1
  649. package/dist/chunk-FYAWA3FO.js +0 -1830
  650. package/dist/chunk-FYAWA3FO.js.map +0 -1
  651. package/dist/chunk-G3KO2HFZ.js +0 -35
  652. package/dist/chunk-GKXMIXEV.js +0 -166
  653. package/dist/chunk-GT4UFORX.js +0 -296
  654. package/dist/chunk-GZ6YS7TG.js +0 -106
  655. package/dist/chunk-H7JOVRHO.js +0 -106
  656. package/dist/chunk-IJDF7D4U.js +0 -139
  657. package/dist/chunk-INJHF7AF.js +0 -172
  658. package/dist/chunk-IZFGTGFR.js +0 -67
  659. package/dist/chunk-J2QOKD2F.js +0 -76
  660. package/dist/chunk-J5WZ7SAD.js +0 -346
  661. package/dist/chunk-JC6GNMA7.js +0 -297
  662. package/dist/chunk-KB5HBQEK.js +0 -25
  663. package/dist/chunk-KB5XJHQX.js +0 -216
  664. package/dist/chunk-KM4AAAHZ.js +0 -5187
  665. package/dist/chunk-KM4AAAHZ.js.map +0 -1
  666. package/dist/chunk-LFZTGIPJ.js +0 -384
  667. package/dist/chunk-LFZTGIPJ.js.map +0 -1
  668. package/dist/chunk-LHNL6JM2.js +0 -309
  669. package/dist/chunk-LMHVLUD4.js +0 -175
  670. package/dist/chunk-LMHVLUD4.js.map +0 -1
  671. package/dist/chunk-NAMEFVWL.js +0 -1743
  672. package/dist/chunk-NFSLRRIE.js +0 -77
  673. package/dist/chunk-NORAJYUI.js +0 -172
  674. package/dist/chunk-NQTSHC7Z.js +0 -304
  675. package/dist/chunk-NQTSHC7Z.js.map +0 -1
  676. package/dist/chunk-O3LHCQ7Q.js +0 -136
  677. package/dist/chunk-O4ABJ352.js +0 -4410
  678. package/dist/chunk-O4ABJ352.js.map +0 -1
  679. package/dist/chunk-O5XLQUDS.js +0 -846
  680. package/dist/chunk-OI7KSXZM.js +0 -6265
  681. package/dist/chunk-OI7KSXZM.js.map +0 -1
  682. package/dist/chunk-OO67YTPM.js +0 -35
  683. package/dist/chunk-OO67YTPM.js.map +0 -1
  684. package/dist/chunk-OXBPKBSK.js +0 -6667
  685. package/dist/chunk-OXBPKBSK.js.map +0 -1
  686. package/dist/chunk-P3XJUOWT.js +0 -474
  687. package/dist/chunk-P3XJUOWT.js.map +0 -1
  688. package/dist/chunk-P3ZJIIDS.js +0 -57
  689. package/dist/chunk-P5T7OZKV.js +0 -26
  690. package/dist/chunk-P66JWKAL.js +0 -533
  691. package/dist/chunk-P66JWKAL.js.map +0 -1
  692. package/dist/chunk-PA5MYVQY.js +0 -66
  693. package/dist/chunk-PELW56D7.js +0 -45
  694. package/dist/chunk-PGVF4SB7.js +0 -169
  695. package/dist/chunk-Q676JHJA.js +0 -58
  696. package/dist/chunk-QDOVBGKZ.js +0 -149
  697. package/dist/chunk-QHIUJXU7.js +0 -363
  698. package/dist/chunk-QJPPPQPD.js +0 -98
  699. package/dist/chunk-QNEX7FEC.js +0 -174
  700. package/dist/chunk-QTL4NJ5I.js +0 -65
  701. package/dist/chunk-QTL4NJ5I.js.map +0 -1
  702. package/dist/chunk-QWX3QJNM.js +0 -170
  703. package/dist/chunk-QXDEZKAR.js +0 -455
  704. package/dist/chunk-QXDEZKAR.js.map +0 -1
  705. package/dist/chunk-RG7OMI5W.js +0 -1621
  706. package/dist/chunk-RG7OMI5W.js.map +0 -1
  707. package/dist/chunk-RUHMLPH5.js +0 -455
  708. package/dist/chunk-SJLIV6PF.js +0 -19
  709. package/dist/chunk-SLCSLVGS.js +0 -274
  710. package/dist/chunk-THU74XR6.js +0 -96
  711. package/dist/chunk-TY7TEU3T.js +0 -1079
  712. package/dist/chunk-UXTZ5MBE.js +0 -56
  713. package/dist/chunk-V43RLLZE.js +0 -55
  714. package/dist/chunk-V7PMSMPF.js +0 -817
  715. package/dist/chunk-V7PMSMPF.js.map +0 -1
  716. package/dist/chunk-VFSLIDXA.js +0 -42
  717. package/dist/chunk-VHMNSO2B.js +0 -84
  718. package/dist/chunk-VKH6LSC2.js +0 -188
  719. package/dist/chunk-VTCBPYGE.js +0 -592
  720. package/dist/chunk-W6ASM6UP.js +0 -197
  721. package/dist/chunk-W7KB3LJE.js +0 -60
  722. package/dist/chunk-WESRVXFS.js +0 -133
  723. package/dist/chunk-WESRVXFS.js.map +0 -1
  724. package/dist/chunk-WILN7TD6.js +0 -84
  725. package/dist/chunk-YGK7ZHNI.js +0 -337
  726. package/dist/chunk-YGK7ZHNI.js.map +0 -1
  727. package/dist/chunk-YGL5LTEA.js +0 -665
  728. package/dist/chunk-YONSWWCF.js +0 -215
  729. package/dist/chunk-Z5KBRTB2.js +0 -191
  730. package/dist/chunk-Z62XZCBE.js +0 -541
  731. package/dist/chunk-Z62XZCBE.js.map +0 -1
  732. package/dist/chunk-ZBKBTTHD.js +0 -74
  733. package/dist/chunk-ZJR5E53N.js +0 -23
  734. package/dist/chunk-ZLU5QDLU.js +0 -486
  735. package/dist/chunk-ZLU5QDLU.js.map +0 -1
  736. package/dist/chunk-ZNNC6B75.js +0 -94
  737. package/dist/chunk-ZO2YLHRW.js +0 -74
  738. package/dist/chunk-ZPJE6D7W.js +0 -74
  739. package/dist/claim-DIITRUIN.js +0 -197
  740. package/dist/client-LY2JCQS2.js +0 -19
  741. package/dist/code-7CBNYUPU.js +0 -76
  742. package/dist/companies-HHSYHL74.js +0 -195
  743. package/dist/complete-M3TURPU5.js +0 -81
  744. package/dist/config-7COTFJWK.js +0 -88
  745. package/dist/connect-TQL5EVVE.js +0 -42
  746. package/dist/content-OXMONMHJ.js +0 -85
  747. package/dist/conversation-GE273GC4.js +0 -93
  748. package/dist/conversion-report-BH4HH2Q3.js +0 -125
  749. package/dist/conversion-upload-command-QWWYCTNV.js +0 -438
  750. package/dist/conversion-writes-HG2O6JI7.js +0 -120
  751. package/dist/conversions-DP6ZF57D.js +0 -135
  752. package/dist/conversions-XPSN7SOW.js +0 -76
  753. package/dist/countries-UXAUGSBR.js +0 -82
  754. package/dist/create-ENQWVWGB.js +0 -59
  755. package/dist/create-NVXJP477.js +0 -207
  756. package/dist/create-PITWGVAS.js +0 -130
  757. package/dist/create-PITWGVAS.js.map +0 -1
  758. package/dist/create-XLZYNFKN.js +0 -235
  759. package/dist/creatives-O3444SBT.js +0 -182
  760. package/dist/creatives-ONKKGW5T.js +0 -87
  761. package/dist/creatives-U6IKIQBT.js +0 -51
  762. package/dist/creatives-U6IKIQBT.js.map +0 -1
  763. package/dist/credentials-3UY7RVUL.js +0 -287
  764. package/dist/critique-3LMW73QJ.js +0 -1449
  765. package/dist/critique-3LMW73QJ.js.map +0 -1
  766. package/dist/critique-KB32Y4AW.js +0 -213
  767. package/dist/critique-KB32Y4AW.js.map +0 -1
  768. package/dist/crm-OX67TBWD.js +0 -224
  769. package/dist/crm-XXU5XZIQ.js +0 -318
  770. package/dist/crop-3ZV5BFCA.js +0 -113
  771. package/dist/currency-XP4EMU4M.js +0 -88
  772. package/dist/custom-conversions-TV23XQHW.js +0 -125
  773. package/dist/customers-EJ7FVCTC.js +0 -56
  774. package/dist/decide-EGQ3CRHI.js +0 -199
  775. package/dist/delete-55IHV25V.js +0 -63
  776. package/dist/delete-GXLPIGTC.js +0 -54
  777. package/dist/delete-MUPTLWHI.js +0 -71
  778. package/dist/delete-OW2N4WIA.js +0 -66
  779. package/dist/delete-R2SEUSLV.js +0 -69
  780. package/dist/delete-ZGBBWFAW.js +0 -71
  781. package/dist/demographics-K6DEWUE5.js +0 -138
  782. package/dist/describe-4O3VCV6L.js +0 -97
  783. package/dist/describe-FCTM53MM.js +0 -97
  784. package/dist/dimensions-AD4VS5AH.js +0 -101
  785. package/dist/discard-NZ7FQJEE.js +0 -66
  786. package/dist/discover-OISU5EJF.js +0 -172
  787. package/dist/discover-UQXQUPNO.js +0 -93
  788. package/dist/domain-DXBHNZLO.js +0 -98
  789. package/dist/download-IE6XLFHM.js +0 -299
  790. package/dist/draft-DB6KMBCH.js +0 -306
  791. package/dist/draft-ENA7S4Y7.js +0 -103
  792. package/dist/draft-HJBAG3SN.js +0 -307
  793. package/dist/draft-ICEVLF4E.js +0 -328
  794. package/dist/draft-MGKJ5RYI.js +0 -100
  795. package/dist/draft-OBFKQEPK.js +0 -281
  796. package/dist/draft-OOHU6NMA.js +0 -217
  797. package/dist/draft-S6VPKZYY.js +0 -233
  798. package/dist/env-YLOVBOAE.js +0 -43
  799. package/dist/experiment-PHFP6IBM.js +0 -1397
  800. package/dist/export-R2IMUCQO.js +0 -168
  801. package/dist/extract-OQP3TSQG.js +0 -113
  802. package/dist/facets-NUKR7I57.js +0 -114
  803. package/dist/favorites-NS73FDG5.js +0 -178
  804. package/dist/feed-SQPOB7SP.js +0 -177
  805. package/dist/feedback-SQAAAKOQ.js +0 -66
  806. package/dist/feedback-record-7W7WBHSQ.js +0 -175
  807. package/dist/feedback-record-7W7WBHSQ.js.map +0 -1
  808. package/dist/fetch-PQ3NOPIE.js +0 -139
  809. package/dist/fetch-PTSAVQW5.js +0 -176
  810. package/dist/find-Y22AANDE.js +0 -134
  811. package/dist/find-Y22AANDE.js.map +0 -1
  812. package/dist/fit-IITU6UWC.js +0 -45
  813. package/dist/flows-ZLF3QJ76.js +0 -247
  814. package/dist/flows-ZLF3QJ76.js.map +0 -1
  815. package/dist/follow-N3DQZV7M.js +0 -94
  816. package/dist/follow-competitors-BZPCBGIB.js +0 -112
  817. package/dist/following-KESWTEBR.js +0 -113
  818. package/dist/fonts-FG6XMK5A.js +0 -34
  819. package/dist/forecast-43XBSHJR.js +0 -168
  820. package/dist/forecast-MAFZQ4UF.js +0 -104
  821. package/dist/funding-HYSCYS62.js +0 -85
  822. package/dist/funnel-32CNV57L.js +0 -394
  823. package/dist/ga4-J2KTNCD4.js +0 -55
  824. package/dist/generate-G3I5BLLW.js +0 -262
  825. package/dist/generate-G3I5BLLW.js.map +0 -1
  826. package/dist/get-3P2EQLP3.js +0 -63
  827. package/dist/get-FJB3X44Z.js +0 -61
  828. package/dist/get-GDF5V3RN.js +0 -78
  829. package/dist/get-MBGO4VJD.js +0 -63
  830. package/dist/get-NOKSZPIV.js +0 -59
  831. package/dist/get-W7MKBMQ3.js +0 -56
  832. package/dist/get-WHC4SRYK.js +0 -92
  833. package/dist/gif-SFYVDLCU.js +0 -94
  834. package/dist/google-THWFDDHJ.js +0 -3191
  835. package/dist/google-THWFDDHJ.js.map +0 -1
  836. package/dist/google-XRAMIES5.js +0 -136
  837. package/dist/google-ads-N55SE2CB.js +0 -195
  838. package/dist/group-6RDJTWVN.js +0 -43
  839. package/dist/group-TZJCKHKS.js +0 -43
  840. package/dist/gsc-HD6UFRYM.js +0 -30
  841. package/dist/history-4RWCE7WW.js +0 -67
  842. package/dist/history-IROFQ6LA.js +0 -133
  843. package/dist/hubspot-75N4AI43.js +0 -779
  844. package/dist/icon-BMCDFGMN.js +0 -137
  845. package/dist/ideas-7UQMXLI5.js +0 -32
  846. package/dist/images-OFR3S2U4.js +0 -90
  847. package/dist/improve-P6F2HXYQ.js +0 -86
  848. package/dist/ingest-HGR7KSG4.js +0 -107
  849. package/dist/ingest-XU4WXE4U.js +0 -23
  850. package/dist/insights-7SI2TB72.js +0 -128
  851. package/dist/insights-7SI2TB72.js.map +0 -1
  852. package/dist/insights-P5VIDOZN.js +0 -432
  853. package/dist/insights-P5VIDOZN.js.map +0 -1
  854. package/dist/inspect-TL2VZBN7.js +0 -189
  855. package/dist/inspiration-7WTS3AVI.js +0 -53
  856. package/dist/intent-OCZE4O7R.js +0 -95
  857. package/dist/job-XMPQ27SJ.js +0 -202
  858. package/dist/job-create-HTDQHPEF.js +0 -109
  859. package/dist/job-status-L7WUTZ2C.js +0 -74
  860. package/dist/keep-42SLV4CR.js +0 -78
  861. package/dist/keyword-gap-323NE4AK.js +0 -130
  862. package/dist/keyword-metrics-V6DGO7U5.js +0 -197
  863. package/dist/keywords-for-site-ANSLXBHB.js +0 -128
  864. package/dist/landing-K25GUBLZ.js +0 -28
  865. package/dist/landings-5IYXHA5Z.js +0 -151
  866. package/dist/languages-SRFGW6Z3.js +0 -55
  867. package/dist/languages-US6JUATO.js +0 -40
  868. package/dist/launches-7U4TPNO3.js +0 -108
  869. package/dist/launches-7U4TPNO3.js.map +0 -1
  870. package/dist/layerize-U672AXED.js +0 -190
  871. package/dist/leads-MXUQISOC.js +0 -293
  872. package/dist/leads-UJVKPRXX.js +0 -90
  873. package/dist/learn-XTEU4K66.js +0 -203
  874. package/dist/learn-XTEU4K66.js.map +0 -1
  875. package/dist/library-RPFXNER4.js +0 -109
  876. package/dist/library-RPFXNER4.js.map +0 -1
  877. package/dist/lighthouse-SJ4QNLUS.js +0 -75
  878. package/dist/line-item-writes-NURRHJ7P.js +0 -208
  879. package/dist/line-items-PC6QWV5J.js +0 -103
  880. package/dist/link-ZSXKCLQD.js +0 -64
  881. package/dist/linkedin-EZJJBKY3.js +0 -1008
  882. package/dist/list-ECF3RA26.js +0 -303
  883. package/dist/list-GQ65MC2N.js +0 -65
  884. package/dist/list-K56J7FZW.js +0 -51
  885. package/dist/list-M4Z3WYPM.js +0 -76
  886. package/dist/list-N7ZLO2LE.js +0 -63
  887. package/dist/list-Q5ZZRPHO.js +0 -151
  888. package/dist/list-SXYVDDMU.js +0 -57
  889. package/dist/list-XFIOXFB2.js +0 -50
  890. package/dist/locations-LZUHWKZY.js +0 -40
  891. package/dist/locations-NG4YXIBT.js +0 -67
  892. package/dist/log-EEBJQ6X2.js +0 -92
  893. package/dist/logo-4JOWGJ5A.js +0 -18
  894. package/dist/lookup-7NBZ64TE.js +0 -22
  895. package/dist/make-3J5EK52U.js +0 -633
  896. package/dist/make-3J5EK52U.js.map +0 -1
  897. package/dist/map-JVVNH2RI.js +0 -404
  898. package/dist/map-JVVNH2RI.js.map +0 -1
  899. package/dist/mcp-DAKGMA2Z.js +0 -463
  900. package/dist/media-2SWDJDA6.js +0 -15
  901. package/dist/media-R64YP7T2.js +0 -89
  902. package/dist/media-sources-L2X3KRDU.js +0 -32
  903. package/dist/members-22BOEGQS.js +0 -44
  904. package/dist/meta-RBHF2RG3.js +0 -69
  905. package/dist/metrics-IXRQZVSM.js +0 -152
  906. package/dist/models-BDXZ56GI.js +0 -155
  907. package/dist/normalize-JAE3NVOX.js +0 -141
  908. package/dist/normalize-P5Q3F7FU.js +0 -806
  909. package/dist/options-YTIU3BDC.js +0 -121
  910. package/dist/options-YTIU3BDC.js.map +0 -1
  911. package/dist/output-ZL62UZHQ.js +0 -24
  912. package/dist/page-FZ7IZ5CV.js +0 -105
  913. package/dist/pages-SS7TZTHV.js +0 -66
  914. package/dist/performance-FOOV624A.js +0 -24
  915. package/dist/performance-VYEANYQ5.js +0 -4707
  916. package/dist/performance-VYEANYQ5.js.map +0 -1
  917. package/dist/pinterest-UETS7U7U.js +0 -96
  918. package/dist/pixels-LCTMLKGP.js +0 -108
  919. package/dist/pixels-MPZYWGFD.js +0 -60
  920. package/dist/plan-V74EVXTW.js +0 -207
  921. package/dist/preview-RU54Z4EM.js +0 -169
  922. package/dist/profile-NQOIBLJL.js +0 -150
  923. package/dist/profile-NQOIBLJL.js.map +0 -1
  924. package/dist/promoted-tweet-writes-FQRFU7PB.js +0 -180
  925. package/dist/promoted-tweets-L2L3V5SF.js +0 -119
  926. package/dist/properties-ZUDQH3LE.js +0 -101
  927. package/dist/publish-5XTAHTM4.js +0 -322
  928. package/dist/query-26T7XATH.js +0 -236
  929. package/dist/query-SHUOHXTO.js +0 -247
  930. package/dist/query-XISUHMBR.js +0 -62
  931. package/dist/questionnaire-UG55JLVW.js +0 -93
  932. package/dist/read-UYSQAXRV.js +0 -141
  933. package/dist/reddit-BCB4FT6J.js +0 -26
  934. package/dist/refresh-WY5NPNLX.js +0 -94
  935. package/dist/release-JBSPPNQE.js +0 -60
  936. package/dist/relevant-pages-OU5H56KY.js +0 -99
  937. package/dist/remove-2KACTXKP.js +0 -48
  938. package/dist/remove-M5P7M5JU.js +0 -50
  939. package/dist/reopen-J3VW5766.js +0 -63
  940. package/dist/rerun-5MRYJG6U.js +0 -84
  941. package/dist/rerun-5MRYJG6U.js.map +0 -1
  942. package/dist/research-4CAA5CA2.js +0 -262
  943. package/dist/research-7LBTJ2B2.js +0 -62
  944. package/dist/reset-DBWWGCXY.js +0 -54
  945. package/dist/reset-DJSSXC4Y.js +0 -54
  946. package/dist/resolve-BNRUYS56.js +0 -121
  947. package/dist/retry-TMRIFGVT.js +0 -62
  948. package/dist/retry-WRBGLB7O.js +0 -60
  949. package/dist/retry-failed-NWLH6WHK.js +0 -45
  950. package/dist/run-TA3DP6QG.js +0 -59
  951. package/dist/run-VVTLDRRW.js +0 -65
  952. package/dist/scaffold-ad-7DSV6XDB.js +0 -1548
  953. package/dist/scaffold-ad-7DSV6XDB.js.map +0 -1
  954. package/dist/scaffold-static-ad-BEZ37QWN.js +0 -971
  955. package/dist/scaffold-static-ad-BEZ37QWN.js.map +0 -1
  956. package/dist/scaffold-video-SPCMTYK3.js +0 -872
  957. package/dist/scaffold-video-SPCMTYK3.js.map +0 -1
  958. package/dist/schedule-BQQGYGT7.js +0 -61
  959. package/dist/schedule-S547HPUT.js +0 -66
  960. package/dist/scheduled-agents-4Q6WS333.js +0 -49
  961. package/dist/scheduled-agents-4Q6WS333.js.map +0 -1
  962. package/dist/schema-DDEWM5ZX.js +0 -132
  963. package/dist/schema-SQIP75WG.js +0 -63
  964. package/dist/scrape-TI6S2W7I.js +0 -2241
  965. package/dist/screenshot-XFAYY4WW.js +0 -102
  966. package/dist/search-4HIOKYFR.js +0 -26
  967. package/dist/search-D2IV7KFJ.js +0 -92
  968. package/dist/search-IZPDHRJ4.js +0 -224
  969. package/dist/search-KFDL2IGG.js +0 -91
  970. package/dist/search-VJBKRD2U.js +0 -174
  971. package/dist/search-copy-QZXCAGK4.js +0 -168
  972. package/dist/seeds-VUNZMHZH.js +0 -101
  973. package/dist/select-U5TPAXGY.js +0 -94
  974. package/dist/select-U5TPAXGY.js.map +0 -1
  975. package/dist/sends-7HWLIOUO.js +0 -309
  976. package/dist/sequences-5RAGZE7L.js +0 -146
  977. package/dist/set-prompt-MHU4WI3Q.js +0 -185
  978. package/dist/set-prompt-MHU4WI3Q.js.map +0 -1
  979. package/dist/setup-links-SPIGXQTY.js +0 -141
  980. package/dist/shared-3CGGKICB.js +0 -31
  981. package/dist/site-FW6K6L6M.js +0 -177
  982. package/dist/sitemaps-3WDYQHYR.js +0 -87
  983. package/dist/sites-G4DQ2Z2X.js +0 -101
  984. package/dist/skills-PA26HXEP.js +0 -47
  985. package/dist/sources-4NAC6HV6.js +0 -421
  986. package/dist/sources-4NAC6HV6.js.map +0 -1
  987. package/dist/sources-PMBWG4KO.js +0 -30
  988. package/dist/stale-5IMY6MWC.js +0 -63
  989. package/dist/stale-5IMY6MWC.js.map +0 -1
  990. package/dist/stats-Q35I5DRW.js +0 -34
  991. package/dist/status-62SUXUWW.js +0 -62
  992. package/dist/sticker-MC2IAIQB.js +0 -94
  993. package/dist/stock-B7LKMKUK.js +0 -179
  994. package/dist/studio-BB2EVW5I.js +0 -49
  995. package/dist/sync-CLZDZL5F.js +0 -54
  996. package/dist/sync-XCHBEBZG.js +0 -279
  997. package/dist/sync-XCHBEBZG.js.map +0 -1
  998. package/dist/sync-YTHNOAAM.js +0 -54
  999. package/dist/sync-definition-DYSVT7BJ.js +0 -52
  1000. package/dist/tag-manager-EAREWVYR.js +0 -43
  1001. package/dist/tags-53AG3FYG.js +0 -20
  1002. package/dist/tags-7TH7TVR6.js +0 -224
  1003. package/dist/tags-EB4RE3ML.js +0 -20
  1004. package/dist/tags-EUEWDTTN.js +0 -20
  1005. package/dist/tags-ICAWBCOR.js +0 -26
  1006. package/dist/targeting-constants-IFE72XKL.js +0 -118
  1007. package/dist/targeting-criteria-WZDGJKOI.js +0 -113
  1008. package/dist/targets-OKJ6A4YL.js +0 -102
  1009. package/dist/templates-IA5TDCCZ.js +0 -178
  1010. package/dist/templates-IA5TDCCZ.js.map +0 -1
  1011. package/dist/testimonials-THHR5JH5.js +0 -32
  1012. package/dist/themes-ZFRM6AVO.js +0 -94
  1013. package/dist/top-companies-63Q475IA.js +0 -108
  1014. package/dist/translate-XKUWIIOS.js +0 -598
  1015. package/dist/translate-XKUWIIOS.js.map +0 -1
  1016. package/dist/triggers-XLKO2QXQ.js +0 -141
  1017. package/dist/tweets-7EZRFG3Y.js +0 -123
  1018. package/dist/unfollow-WBBTVEHE.js +0 -46
  1019. package/dist/unlink-P7KU54YU.js +0 -67
  1020. package/dist/unstage-EG7AUE5X.js +0 -84
  1021. package/dist/unstage-GHXGDOT2.js +0 -95
  1022. package/dist/update-7EWDO32L.js +0 -98
  1023. package/dist/update-BVYGB4YL.js +0 -142
  1024. package/dist/update-KVMQOVQK.js +0 -63
  1025. package/dist/update-N74F5KXB.js +0 -155
  1026. package/dist/upload-6PYPHPCZ.js +0 -126
  1027. package/dist/upload-NA62W5RS.js +0 -150
  1028. package/dist/upscale-RXJUBHXN.js +0 -109
  1029. package/dist/url-options-EUDXLDBD.js +0 -130
  1030. package/dist/url-params-DBJSM2LP.js +0 -98
  1031. package/dist/use-MHPNS4V4.js +0 -95
  1032. package/dist/validate-TTAGVGM2.js +0 -88
  1033. package/dist/validate-TTAGVGM2.js.map +0 -1
  1034. package/dist/variant-ZFCWILPG.js +0 -338
  1035. package/dist/videos-DUG7JYUA.js +0 -39
  1036. package/dist/view-PYCGDGT2.js +0 -121
  1037. package/dist/viewer-check-HIMNCZGY.js +0 -68
  1038. package/dist/web-SDG42OBC.js +0 -140
  1039. package/dist/winners-AI4PVSOI.js +0 -113
  1040. package/dist/winning-ads-KGAYAIPG.js +0 -84
  1041. package/dist/write-commands-34L5LJIB.js +0 -713
  1042. package/dist/write-commands-5TJ3LQ5F.js +0 -737
  1043. package/dist/write-commands-OYMWOFEY.js +0 -1015
  1044. package/dist/write-commands-R3UCCBUI.js +0 -206
  1045. package/dist/x-VNRVGVLI.js +0 -47
  1046. /package/dist/{account-67PZBEP6.js.map → account-5VPZ3XQ3.js.map} +0 -0
  1047. /package/dist/{account-HZC6X2PH.js.map → account-SYUEXERA.js.map} +0 -0
  1048. /package/dist/{account-TQUV64XP.js.map → account-ZQH535IP.js.map} +0 -0
  1049. /package/dist/{account-reads-IRBTERTY.js.map → account-reads-GUYNJEZA.js.map} +0 -0
  1050. /package/dist/{account-writes-ALDSHAEV.js.map → account-writes-DLCRTL6Y.js.map} +0 -0
  1051. /package/dist/{accounts-4P54UY6F.js.map → accounts-3TNEMLLC.js.map} +0 -0
  1052. /package/dist/{accounts-NJ6TF6WH.js.map → accounts-GBRGCLE3.js.map} +0 -0
  1053. /package/dist/{accounts-GVTZN4VE.js.map → accounts-IPOCFAKK.js.map} +0 -0
  1054. /package/dist/{accounts-WTB737BM.js.map → accounts-QBWYIJ7D.js.map} +0 -0
  1055. /package/dist/{accounts-6UNBLIUH.js.map → accounts-TSM5EHRD.js.map} +0 -0
  1056. /package/dist/{actions-D3BOWDEB.js.map → actions-XZMLYLTK.js.map} +0 -0
  1057. /package/dist/{active-entities-J2O76SRP.js.map → active-entities-MFWTN4VJ.js.map} +0 -0
  1058. /package/dist/{activities-2J7FTZMN.js.map → activities-ZXA53KY7.js.map} +0 -0
  1059. /package/dist/{ad-group-writes-PQKDCMQF.js.map → ad-group-writes-2JBCTSJY.js.map} +0 -0
  1060. /package/dist/{ad-groups-NGYEJMV4.js.map → ad-groups-6JQSO32O.js.map} +0 -0
  1061. /package/dist/{ad-writes-77FVHJTS.js.map → ad-writes-P34Z3ZTX.js.map} +0 -0
  1062. /package/dist/{add-2FHPLALV.js.map → add-F2BF2HAK.js.map} +0 -0
  1063. /package/dist/{add-JP76KCCY.js.map → add-JAXBNDLC.js.map} +0 -0
  1064. /package/dist/{add-62JPGFD4.js.map → add-KAMQP5RM.js.map} +0 -0
  1065. /package/dist/{add-2XJYOGKW.js.map → add-Y6QCWI6Q.js.map} +0 -0
  1066. /package/dist/{add-accounts-M5Y4DQFM.js.map → add-accounts-M4R7ZVHN.js.map} +0 -0
  1067. /package/dist/{ads-DB5NDHX5.js.map → ads-KPUP4WG4.js.map} +0 -0
  1068. /package/dist/{ads-W2IPUWHQ.js.map → ads-UVQN4BTT.js.map} +0 -0
  1069. /package/dist/{ads-LYNA2I7B.js.map → ads-VPSHNIWG.js.map} +0 -0
  1070. /package/dist/{adsets-PY5ZKGBO.js.map → adsets-JAQKFDLX.js.map} +0 -0
  1071. /package/dist/{advertisers-NZPJQF7W.js.map → advertisers-2ETFYRKA.js.map} +0 -0
  1072. /package/dist/{advertisers-BVAZ4XUX.js.map → advertisers-6ONURKP2.js.map} +0 -0
  1073. /package/dist/{analytics-NTPZKMYK.js.map → analytics-XZ56777C.js.map} +0 -0
  1074. /package/dist/{animate-EIV2OHXT.js.map → animate-KZQCCL65.js.map} +0 -0
  1075. /package/dist/{assign-UNIA5YDC.js.map → assign-DDXB7A6W.js.map} +0 -0
  1076. /package/dist/{audience-size-4NN6ENP5.js.map → audience-size-5QQAABZQ.js.map} +0 -0
  1077. /package/dist/{audiences-VYFX7OFS.js.map → audiences-I4KJ6DZ7.js.map} +0 -0
  1078. /package/dist/{audiences-UUIYQFS6.js.map → audiences-IFBZCTME.js.map} +0 -0
  1079. /package/dist/{audiences-45ZCY2VZ.js.map → audiences-THTWZOMA.js.map} +0 -0
  1080. /package/dist/{audit-NSVHNA5J.js.map → audit-2KOD4YCF.js.map} +0 -0
  1081. /package/dist/{audit-OWXTLQC4.js.map → audit-MFTERSQZ.js.map} +0 -0
  1082. /package/dist/{autocomplete-EHWAQYVB.js.map → autocomplete-JC46QNHQ.js.map} +0 -0
  1083. /package/dist/{avatars-7WZPW7BV.js.map → avatars-ZXQRZJM2.js.map} +0 -0
  1084. /package/dist/{bid-pricing-F5NDMS6W.js.map → bid-pricing-46W7LSU5.js.map} +0 -0
  1085. /package/dist/{brand-QAJ5VWFM.js.map → brand-XROP2WL2.js.map} +0 -0
  1086. /package/dist/{businesses-ZH67AXR6.js.map → businesses-JWOIY3OR.js.map} +0 -0
  1087. /package/dist/{campaign-groups-KFJKLNNU.js.map → campaign-groups-5O3SR5X2.js.map} +0 -0
  1088. /package/dist/{campaign-writes-BDGQ6XB3.js.map → campaign-writes-4D4256DP.js.map} +0 -0
  1089. /package/dist/{campaign-writes-FNMAGCKB.js.map → campaign-writes-5BEK2QBJ.js.map} +0 -0
  1090. /package/dist/{campaigns-HJTGX5WW.js.map → campaigns-6DX2MACO.js.map} +0 -0
  1091. /package/dist/{campaigns-6HMHOXXY.js.map → campaigns-EJT7IMDT.js.map} +0 -0
  1092. /package/dist/{campaigns-KT3J2O7S.js.map → campaigns-OKU4HN5Q.js.map} +0 -0
  1093. /package/dist/{campaigns-66OOGMDW.js.map → campaigns-QVPLPTH3.js.map} +0 -0
  1094. /package/dist/{canvas-MQ6ZE5CZ.js.map → canvas-MNZLQZ74.js.map} +0 -0
  1095. /package/dist/{capabilities-RVUMPP7C.js.map → capabilities-W4XDJVDW.js.map} +0 -0
  1096. /package/dist/{cards-I4BZIYUV.js.map → cards-2QCVG77U.js.map} +0 -0
  1097. /package/dist/{catalogs-B2NKQO24.js.map → catalogs-RVW4L6C6.js.map} +0 -0
  1098. /package/dist/{changes-FX3TPYGT.js.map → changes-XRPDY2K4.js.map} +0 -0
  1099. /package/dist/{chatgpt-3NS2R442.js.map → chatgpt-RNGSOVHP.js.map} +0 -0
  1100. /package/dist/{chats-72L7U4ML.js.map → chats-JKCUA26S.js.map} +0 -0
  1101. /package/dist/{chunk-F3FSD6BO.js.map → chunk-2C36DHQH.js.map} +0 -0
  1102. /package/dist/{chunk-TY7TEU3T.js.map → chunk-2LIAXB3W.js.map} +0 -0
  1103. /package/dist/{chunk-CBCGVPHB.js.map → chunk-2MT3AWDE.js.map} +0 -0
  1104. /package/dist/{chunk-GT4UFORX.js.map → chunk-2WRK44LZ.js.map} +0 -0
  1105. /package/dist/{chunk-O5XLQUDS.js.map → chunk-3FDGC2UH.js.map} +0 -0
  1106. /package/dist/{chunk-CECS3DHZ.js.map → chunk-3FFJYMKM.js.map} +0 -0
  1107. /package/dist/{chunk-THU74XR6.js.map → chunk-3PL2QRF2.js.map} +0 -0
  1108. /package/dist/{chunk-IJDF7D4U.js.map → chunk-3XDZMLX6.js.map} +0 -0
  1109. /package/dist/{chunk-G3KO2HFZ.js.map → chunk-4R7H4RV6.js.map} +0 -0
  1110. /package/dist/{chunk-6GFJFTG6.js.map → chunk-4TBDEV7X.js.map} +0 -0
  1111. /package/dist/{chunk-Q676JHJA.js.map → chunk-5VD5GK6A.js.map} +0 -0
  1112. /package/dist/{chunk-GKXMIXEV.js.map → chunk-5ZIGEHQQ.js.map} +0 -0
  1113. /package/dist/{chunk-P5T7OZKV.js.map → chunk-66ZIZ7QP.js.map} +0 -0
  1114. /package/dist/{chunk-ZO2YLHRW.js.map → chunk-6DSLFOKJ.js.map} +0 -0
  1115. /package/dist/{chunk-VHMNSO2B.js.map → chunk-6FHP2HIK.js.map} +0 -0
  1116. /package/dist/{chunk-H7JOVRHO.js.map → chunk-6VI2DDGZ.js.map} +0 -0
  1117. /package/dist/{chunk-2KIF3U2C.js.map → chunk-7DBOLSUL.js.map} +0 -0
  1118. /package/dist/{chunk-KB5HBQEK.js.map → chunk-AN7CMLYY.js.map} +0 -0
  1119. /package/dist/{chunk-AIDXJHZ4.js.map → chunk-BDMZRWQI.js.map} +0 -0
  1120. /package/dist/{chunk-NFSLRRIE.js.map → chunk-BITS62MF.js.map} +0 -0
  1121. /package/dist/{chunk-AR7PU7BB.js.map → chunk-CCFZB42B.js.map} +0 -0
  1122. /package/dist/{chunk-Z5KBRTB2.js.map → chunk-CKRSSMRT.js.map} +0 -0
  1123. /package/dist/{chunk-YONSWWCF.js.map → chunk-D53AAUG4.js.map} +0 -0
  1124. /package/dist/{chunk-6HPIWZHS.js.map → chunk-DGUYFROS.js.map} +0 -0
  1125. /package/dist/{chunk-65BQAJMH.js.map → chunk-DS2ZRTAL.js.map} +0 -0
  1126. /package/dist/{chunk-NAMEFVWL.js.map → chunk-EIJDXZW5.js.map} +0 -0
  1127. /package/dist/{chunk-57UECM77.js.map → chunk-EJH2JOVG.js.map} +0 -0
  1128. /package/dist/{chunk-VKH6LSC2.js.map → chunk-EJWFD6T3.js.map} +0 -0
  1129. /package/dist/{chunk-DL2W4N7J.js.map → chunk-ELNN4SNW.js.map} +0 -0
  1130. /package/dist/{chunk-P3ZJIIDS.js.map → chunk-EUB327FC.js.map} +0 -0
  1131. /package/dist/{chunk-GZ6YS7TG.js.map → chunk-FBF5XDJX.js.map} +0 -0
  1132. /package/dist/{chunk-QJPPPQPD.js.map → chunk-FP3GNJN2.js.map} +0 -0
  1133. /package/dist/{chunk-PELW56D7.js.map → chunk-G373L4GL.js.map} +0 -0
  1134. /package/dist/{chunk-SLCSLVGS.js.map → chunk-GTOHNTTI.js.map} +0 -0
  1135. /package/dist/{chunk-YGL5LTEA.js.map → chunk-HDNZSVJJ.js.map} +0 -0
  1136. /package/dist/{chunk-J5WZ7SAD.js.map → chunk-HLAAGGDS.js.map} +0 -0
  1137. /package/dist/{chunk-W6ASM6UP.js.map → chunk-HX7PM34O.js.map} +0 -0
  1138. /package/dist/{chunk-EOGPNV25.js.map → chunk-HY6DIWDV.js.map} +0 -0
  1139. /package/dist/{chunk-SJLIV6PF.js.map → chunk-IBJA2A4E.js.map} +0 -0
  1140. /package/dist/{chunk-INJHF7AF.js.map → chunk-IKTKWXP6.js.map} +0 -0
  1141. /package/dist/{chunk-ZBKBTTHD.js.map → chunk-IOGKJZ4Z.js.map} +0 -0
  1142. /package/dist/{chunk-W7KB3LJE.js.map → chunk-IVRXPYQ7.js.map} +0 -0
  1143. /package/dist/{chunk-QHIUJXU7.js.map → chunk-JIJJCU6E.js.map} +0 -0
  1144. /package/dist/{chunk-JC6GNMA7.js.map → chunk-JOCKYH6U.js.map} +0 -0
  1145. /package/dist/{chunk-ZJR5E53N.js.map → chunk-L44WSWSZ.js.map} +0 -0
  1146. /package/dist/{chunk-4TU2MWBJ.js.map → chunk-M525HJTA.js.map} +0 -0
  1147. /package/dist/{chunk-BVYPRGPG.js.map → chunk-MKL7CL4P.js.map} +0 -0
  1148. /package/dist/{chunk-D5MF337I.js.map → chunk-MMU6XHCH.js.map} +0 -0
  1149. /package/dist/{chunk-WILN7TD6.js.map → chunk-MRRSKRZZ.js.map} +0 -0
  1150. /package/dist/{chunk-O3LHCQ7Q.js.map → chunk-NFHUJRDE.js.map} +0 -0
  1151. /package/dist/{chunk-IZFGTGFR.js.map → chunk-NSHJ6OOK.js.map} +0 -0
  1152. /package/dist/{chunk-J2QOKD2F.js.map → chunk-OCBAKPHH.js.map} +0 -0
  1153. /package/dist/{chunk-KB5XJHQX.js.map → chunk-OSWCEDFE.js.map} +0 -0
  1154. /package/dist/{chunk-AFDPISNJ.js.map → chunk-OTLYELOW.js.map} +0 -0
  1155. /package/dist/{chunk-LHNL6JM2.js.map → chunk-OTNGMKI6.js.map} +0 -0
  1156. /package/dist/{chunk-QWX3QJNM.js.map → chunk-PAJJXZ3Z.js.map} +0 -0
  1157. /package/dist/{chunk-7GYM4I5I.js.map → chunk-PGSXR5UM.js.map} +0 -0
  1158. /package/dist/{chunk-PGVF4SB7.js.map → chunk-R5HMAIZM.js.map} +0 -0
  1159. /package/dist/{chunk-DDTILZXI.js.map → chunk-RPRLCIHB.js.map} +0 -0
  1160. /package/dist/{chunk-QDOVBGKZ.js.map → chunk-RV4GIY23.js.map} +0 -0
  1161. /package/dist/{chunk-VTCBPYGE.js.map → chunk-RXUEYD2S.js.map} +0 -0
  1162. /package/dist/{chunk-UXTZ5MBE.js.map → chunk-SJOWZKNB.js.map} +0 -0
  1163. /package/dist/{chunk-ZNNC6B75.js.map → chunk-TE3N5AGN.js.map} +0 -0
  1164. /package/dist/{chunk-QNEX7FEC.js.map → chunk-TPQH4UXJ.js.map} +0 -0
  1165. /package/dist/{chunk-DLUWHZCE.js.map → chunk-TQUNJFGF.js.map} +0 -0
  1166. /package/dist/{chunk-V43RLLZE.js.map → chunk-TYSN5VVJ.js.map} +0 -0
  1167. /package/dist/{chunk-7NTION5F.js.map → chunk-UKMG6YWX.js.map} +0 -0
  1168. /package/dist/{chunk-PA5MYVQY.js.map → chunk-WDAWTHQK.js.map} +0 -0
  1169. /package/dist/{chunk-ZPJE6D7W.js.map → chunk-X3PCCHP2.js.map} +0 -0
  1170. /package/dist/{chunk-RUHMLPH5.js.map → chunk-YJAQWTS6.js.map} +0 -0
  1171. /package/dist/{chunk-VFSLIDXA.js.map → chunk-YNOJN5Z6.js.map} +0 -0
  1172. /package/dist/{chunk-FDG2LLX7.js.map → chunk-YTV5VW7S.js.map} +0 -0
  1173. /package/dist/{chunk-NORAJYUI.js.map → chunk-ZO4GMUO3.js.map} +0 -0
  1174. /package/dist/{chunk-35ENAFJX.js.map → chunk-ZSRLDTDC.js.map} +0 -0
  1175. /package/dist/{claim-DIITRUIN.js.map → claim-JBNO7M6J.js.map} +0 -0
  1176. /package/dist/{client-LY2JCQS2.js.map → client-CPAPILIF.js.map} +0 -0
  1177. /package/dist/{code-7CBNYUPU.js.map → code-GHOVETWX.js.map} +0 -0
  1178. /package/dist/{companies-HHSYHL74.js.map → companies-47T2PCRZ.js.map} +0 -0
  1179. /package/dist/{complete-M3TURPU5.js.map → complete-T3PKN4B7.js.map} +0 -0
  1180. /package/dist/{config-7COTFJWK.js.map → config-AFNXR5FA.js.map} +0 -0
  1181. /package/dist/{connect-TQL5EVVE.js.map → connect-T7R43GIH.js.map} +0 -0
  1182. /package/dist/{content-OXMONMHJ.js.map → content-M3U2SCFJ.js.map} +0 -0
  1183. /package/dist/{conversation-GE273GC4.js.map → conversation-BG7WEMXQ.js.map} +0 -0
  1184. /package/dist/{conversion-report-BH4HH2Q3.js.map → conversion-report-URDTPXQ7.js.map} +0 -0
  1185. /package/dist/{conversion-upload-command-QWWYCTNV.js.map → conversion-upload-command-BWF6MAOK.js.map} +0 -0
  1186. /package/dist/{conversion-writes-HG2O6JI7.js.map → conversion-writes-7MGIFJ3H.js.map} +0 -0
  1187. /package/dist/{conversions-XPSN7SOW.js.map → conversions-QY6COYPP.js.map} +0 -0
  1188. /package/dist/{conversions-DP6ZF57D.js.map → conversions-UTXG5YEO.js.map} +0 -0
  1189. /package/dist/{countries-UXAUGSBR.js.map → countries-MUZPFSYZ.js.map} +0 -0
  1190. /package/dist/{create-XLZYNFKN.js.map → create-6QASIASQ.js.map} +0 -0
  1191. /package/dist/{create-ENQWVWGB.js.map → create-FIHEJRAF.js.map} +0 -0
  1192. /package/dist/{create-NVXJP477.js.map → create-JXZBMXUS.js.map} +0 -0
  1193. /package/dist/{creatives-ONKKGW5T.js.map → creatives-6FG6VAB4.js.map} +0 -0
  1194. /package/dist/{creatives-O3444SBT.js.map → creatives-UD6TFATS.js.map} +0 -0
  1195. /package/dist/{credentials-3UY7RVUL.js.map → credentials-ECPD2A7X.js.map} +0 -0
  1196. /package/dist/{crm-XXU5XZIQ.js.map → crm-4EWUWZNZ.js.map} +0 -0
  1197. /package/dist/{crm-OX67TBWD.js.map → crm-ASWKMKF3.js.map} +0 -0
  1198. /package/dist/{crop-3ZV5BFCA.js.map → crop-MIVSA2YF.js.map} +0 -0
  1199. /package/dist/{currency-XP4EMU4M.js.map → currency-5LU3D62R.js.map} +0 -0
  1200. /package/dist/{custom-conversions-TV23XQHW.js.map → custom-conversions-3QGJQRYS.js.map} +0 -0
  1201. /package/dist/{customers-EJ7FVCTC.js.map → customers-EEBZXQ4J.js.map} +0 -0
  1202. /package/dist/{decide-EGQ3CRHI.js.map → decide-ZODJU7DY.js.map} +0 -0
  1203. /package/dist/{delete-MUPTLWHI.js.map → delete-CTH3TGNM.js.map} +0 -0
  1204. /package/dist/{delete-GXLPIGTC.js.map → delete-D6GNTBYI.js.map} +0 -0
  1205. /package/dist/{delete-R2SEUSLV.js.map → delete-IWIDUJNS.js.map} +0 -0
  1206. /package/dist/{delete-ZGBBWFAW.js.map → delete-TLVYBVRP.js.map} +0 -0
  1207. /package/dist/{delete-55IHV25V.js.map → delete-XPHIQY5Z.js.map} +0 -0
  1208. /package/dist/{delete-OW2N4WIA.js.map → delete-XZEPLAKT.js.map} +0 -0
  1209. /package/dist/{demographics-K6DEWUE5.js.map → demographics-L3TJJAFF.js.map} +0 -0
  1210. /package/dist/{describe-FCTM53MM.js.map → describe-5PM5OSYK.js.map} +0 -0
  1211. /package/dist/{describe-4O3VCV6L.js.map → describe-KQLRHGFX.js.map} +0 -0
  1212. /package/dist/{dimensions-AD4VS5AH.js.map → dimensions-6H24D7CM.js.map} +0 -0
  1213. /package/dist/{discard-NZ7FQJEE.js.map → discard-74I3M2DF.js.map} +0 -0
  1214. /package/dist/{discover-UQXQUPNO.js.map → discover-6LGIHWVP.js.map} +0 -0
  1215. /package/dist/{discover-OISU5EJF.js.map → discover-HBQO4RSF.js.map} +0 -0
  1216. /package/dist/{domain-DXBHNZLO.js.map → domain-E5DTPAZI.js.map} +0 -0
  1217. /package/dist/{download-IE6XLFHM.js.map → download-ED52W77T.js.map} +0 -0
  1218. /package/dist/{draft-DB6KMBCH.js.map → draft-3XYF2L4K.js.map} +0 -0
  1219. /package/dist/{draft-ENA7S4Y7.js.map → draft-5IEMZ4W3.js.map} +0 -0
  1220. /package/dist/{draft-OBFKQEPK.js.map → draft-6UVGEERY.js.map} +0 -0
  1221. /package/dist/{draft-S6VPKZYY.js.map → draft-FDBE36CP.js.map} +0 -0
  1222. /package/dist/{draft-HJBAG3SN.js.map → draft-PE4DN44Y.js.map} +0 -0
  1223. /package/dist/{draft-ICEVLF4E.js.map → draft-QBR22TG2.js.map} +0 -0
  1224. /package/dist/{draft-OOHU6NMA.js.map → draft-VZYSJVF5.js.map} +0 -0
  1225. /package/dist/{draft-MGKJ5RYI.js.map → draft-YWTLO2ON.js.map} +0 -0
  1226. /package/dist/{env-YLOVBOAE.js.map → env-GS2TUVCM.js.map} +0 -0
  1227. /package/dist/{experiment-PHFP6IBM.js.map → experiment-XDJHSOBC.js.map} +0 -0
  1228. /package/dist/{export-R2IMUCQO.js.map → export-GV5CF5UM.js.map} +0 -0
  1229. /package/dist/{extract-OQP3TSQG.js.map → extract-4OXK7L7R.js.map} +0 -0
  1230. /package/dist/{facets-NUKR7I57.js.map → facets-XPB2ELM2.js.map} +0 -0
  1231. /package/dist/{favorites-NS73FDG5.js.map → favorites-VKPXGTK6.js.map} +0 -0
  1232. /package/dist/{feed-SQPOB7SP.js.map → feed-B2YLZQNU.js.map} +0 -0
  1233. /package/dist/{feedback-SQAAAKOQ.js.map → feedback-XF2TOS4P.js.map} +0 -0
  1234. /package/dist/{fetch-PQ3NOPIE.js.map → fetch-2O7EUCCZ.js.map} +0 -0
  1235. /package/dist/{fetch-PTSAVQW5.js.map → fetch-GMNE6KOJ.js.map} +0 -0
  1236. /package/dist/{fit-IITU6UWC.js.map → fit-INDYA6KP.js.map} +0 -0
  1237. /package/dist/{follow-N3DQZV7M.js.map → follow-UNIHLZKA.js.map} +0 -0
  1238. /package/dist/{follow-competitors-BZPCBGIB.js.map → follow-competitors-CQL2B55H.js.map} +0 -0
  1239. /package/dist/{following-KESWTEBR.js.map → following-GMXZIEDZ.js.map} +0 -0
  1240. /package/dist/{fonts-FG6XMK5A.js.map → fonts-GPJQLNQL.js.map} +0 -0
  1241. /package/dist/{forecast-43XBSHJR.js.map → forecast-6AHSHRDJ.js.map} +0 -0
  1242. /package/dist/{forecast-MAFZQ4UF.js.map → forecast-V6BCMR4Y.js.map} +0 -0
  1243. /package/dist/{funding-HYSCYS62.js.map → funding-WPREDQVA.js.map} +0 -0
  1244. /package/dist/{funnel-32CNV57L.js.map → funnel-QDYX3UH5.js.map} +0 -0
  1245. /package/dist/{ga4-J2KTNCD4.js.map → ga4-6AUOX2UW.js.map} +0 -0
  1246. /package/dist/{get-MBGO4VJD.js.map → get-5OEDAT2Q.js.map} +0 -0
  1247. /package/dist/{get-W7MKBMQ3.js.map → get-7WEE5V7M.js.map} +0 -0
  1248. /package/dist/{get-3P2EQLP3.js.map → get-DXGJSEZZ.js.map} +0 -0
  1249. /package/dist/{get-NOKSZPIV.js.map → get-GQWOLALT.js.map} +0 -0
  1250. /package/dist/{get-WHC4SRYK.js.map → get-W7F4FOAR.js.map} +0 -0
  1251. /package/dist/{get-FJB3X44Z.js.map → get-WY6JXFP6.js.map} +0 -0
  1252. /package/dist/{get-GDF5V3RN.js.map → get-X6DSFXN6.js.map} +0 -0
  1253. /package/dist/{gif-SFYVDLCU.js.map → gif-JXWSR2TC.js.map} +0 -0
  1254. /package/dist/{google-XRAMIES5.js.map → google-6QFL6GV3.js.map} +0 -0
  1255. /package/dist/{google-ads-N55SE2CB.js.map → google-ads-ZG3BDUEG.js.map} +0 -0
  1256. /package/dist/{group-TZJCKHKS.js.map → group-7ADT2GWA.js.map} +0 -0
  1257. /package/dist/{group-6RDJTWVN.js.map → group-VD3UIBKE.js.map} +0 -0
  1258. /package/dist/{gsc-HD6UFRYM.js.map → gsc-WHMPFTYA.js.map} +0 -0
  1259. /package/dist/{history-IROFQ6LA.js.map → history-33JKOKAV.js.map} +0 -0
  1260. /package/dist/{history-4RWCE7WW.js.map → history-M3IKDCEO.js.map} +0 -0
  1261. /package/dist/{hubspot-75N4AI43.js.map → hubspot-B4IUIOYX.js.map} +0 -0
  1262. /package/dist/{icon-BMCDFGMN.js.map → icon-R2K27DKI.js.map} +0 -0
  1263. /package/dist/{ideas-7UQMXLI5.js.map → ideas-ZFODHYVK.js.map} +0 -0
  1264. /package/dist/{images-OFR3S2U4.js.map → images-PV6TZQLL.js.map} +0 -0
  1265. /package/dist/{improve-P6F2HXYQ.js.map → improve-TVFAR27Q.js.map} +0 -0
  1266. /package/dist/{ingest-XU4WXE4U.js.map → ingest-25ZX36RL.js.map} +0 -0
  1267. /package/dist/{ingest-HGR7KSG4.js.map → ingest-MFIT3L23.js.map} +0 -0
  1268. /package/dist/{inspect-TL2VZBN7.js.map → inspect-2IASA5YV.js.map} +0 -0
  1269. /package/dist/{inspiration-7WTS3AVI.js.map → inspiration-O56SOIQP.js.map} +0 -0
  1270. /package/dist/{intent-OCZE4O7R.js.map → intent-JOW24MTF.js.map} +0 -0
  1271. /package/dist/{job-XMPQ27SJ.js.map → job-QUO6KULI.js.map} +0 -0
  1272. /package/dist/{job-create-HTDQHPEF.js.map → job-create-JTOG5M3Q.js.map} +0 -0
  1273. /package/dist/{job-status-L7WUTZ2C.js.map → job-status-3B4X5IPG.js.map} +0 -0
  1274. /package/dist/{keep-42SLV4CR.js.map → keep-5TVGX7EG.js.map} +0 -0
  1275. /package/dist/{keyword-gap-323NE4AK.js.map → keyword-gap-SHLXRIHO.js.map} +0 -0
  1276. /package/dist/{keyword-metrics-V6DGO7U5.js.map → keyword-metrics-NYH6DXKJ.js.map} +0 -0
  1277. /package/dist/{keywords-for-site-ANSLXBHB.js.map → keywords-for-site-JTK64W4I.js.map} +0 -0
  1278. /package/dist/{landing-K25GUBLZ.js.map → landing-4V7HMYCZ.js.map} +0 -0
  1279. /package/dist/{landings-5IYXHA5Z.js.map → landings-LZZO4VVW.js.map} +0 -0
  1280. /package/dist/{languages-SRFGW6Z3.js.map → languages-TINK472E.js.map} +0 -0
  1281. /package/dist/{languages-US6JUATO.js.map → languages-ZIGJHY2T.js.map} +0 -0
  1282. /package/dist/{logo-4JOWGJ5A.js.map → launches-C5XXNF7C.js.map} +0 -0
  1283. /package/dist/{layerize-U672AXED.js.map → layerize-YVCA4JO7.js.map} +0 -0
  1284. /package/dist/{leads-UJVKPRXX.js.map → leads-2WTL7F24.js.map} +0 -0
  1285. /package/dist/{leads-MXUQISOC.js.map → leads-QUO3YNHO.js.map} +0 -0
  1286. /package/dist/{lighthouse-SJ4QNLUS.js.map → lighthouse-QLFI7PSQ.js.map} +0 -0
  1287. /package/dist/{line-item-writes-NURRHJ7P.js.map → line-item-writes-SYSYGV3L.js.map} +0 -0
  1288. /package/dist/{line-items-PC6QWV5J.js.map → line-items-H3M6T7P2.js.map} +0 -0
  1289. /package/dist/{link-ZSXKCLQD.js.map → link-EHSSSV6K.js.map} +0 -0
  1290. /package/dist/{linkedin-EZJJBKY3.js.map → linkedin-BGZIR43P.js.map} +0 -0
  1291. /package/dist/{list-M4Z3WYPM.js.map → list-2IAOPMQC.js.map} +0 -0
  1292. /package/dist/{list-SXYVDDMU.js.map → list-BGT2BEWD.js.map} +0 -0
  1293. /package/dist/{list-Q5ZZRPHO.js.map → list-G2VYAKYF.js.map} +0 -0
  1294. /package/dist/{list-GQ65MC2N.js.map → list-IFXQWBBE.js.map} +0 -0
  1295. /package/dist/{list-XFIOXFB2.js.map → list-LK3CVZ3B.js.map} +0 -0
  1296. /package/dist/{list-ECF3RA26.js.map → list-X2TMGY7C.js.map} +0 -0
  1297. /package/dist/{list-K56J7FZW.js.map → list-X3SEZDKE.js.map} +0 -0
  1298. /package/dist/{list-N7ZLO2LE.js.map → list-ZFS7XBD7.js.map} +0 -0
  1299. /package/dist/{locations-NG4YXIBT.js.map → locations-JC2H5JMY.js.map} +0 -0
  1300. /package/dist/{locations-LZUHWKZY.js.map → locations-M4L7FUOB.js.map} +0 -0
  1301. /package/dist/{log-EEBJQ6X2.js.map → log-4EINR63D.js.map} +0 -0
  1302. /package/dist/{lookup-7NBZ64TE.js.map → logo-7GDRTSLI.js.map} +0 -0
  1303. /package/dist/{output-ZL62UZHQ.js.map → lookup-SJXNPUXG.js.map} +0 -0
  1304. /package/dist/{mcp-DAKGMA2Z.js.map → mcp-RQJAEJCJ.js.map} +0 -0
  1305. /package/dist/{media-R64YP7T2.js.map → media-FYGHJAEG.js.map} +0 -0
  1306. /package/dist/{media-2SWDJDA6.js.map → media-YYYCKXMZ.js.map} +0 -0
  1307. /package/dist/{media-sources-L2X3KRDU.js.map → media-sources-ZLBIC4RM.js.map} +0 -0
  1308. /package/dist/{members-22BOEGQS.js.map → members-SXATNT7V.js.map} +0 -0
  1309. /package/dist/{meta-RBHF2RG3.js.map → meta-OGB3NB2W.js.map} +0 -0
  1310. /package/dist/{metrics-IXRQZVSM.js.map → metrics-52ZARN6M.js.map} +0 -0
  1311. /package/dist/{models-BDXZ56GI.js.map → models-LSEMO4XH.js.map} +0 -0
  1312. /package/dist/{normalize-P5Q3F7FU.js.map → normalize-3HI26S34.js.map} +0 -0
  1313. /package/dist/{normalize-JAE3NVOX.js.map → normalize-SOFYZQSJ.js.map} +0 -0
  1314. /package/dist/{performance-FOOV624A.js.map → output-YJ4YBUU4.js.map} +0 -0
  1315. /package/dist/{page-FZ7IZ5CV.js.map → page-ZGCK6MOQ.js.map} +0 -0
  1316. /package/dist/{pages-SS7TZTHV.js.map → pages-QMP3W2R3.js.map} +0 -0
  1317. /package/dist/{query-XISUHMBR.js.map → performance-BQSWGNFO.js.map} +0 -0
  1318. /package/dist/{pinterest-UETS7U7U.js.map → pinterest-LCVUB2ZL.js.map} +0 -0
  1319. /package/dist/{pixels-MPZYWGFD.js.map → pixels-UQGAPBLG.js.map} +0 -0
  1320. /package/dist/{pixels-LCTMLKGP.js.map → pixels-YM2DX7EN.js.map} +0 -0
  1321. /package/dist/{plan-V74EVXTW.js.map → plan-Z5TZRRCH.js.map} +0 -0
  1322. /package/dist/{preview-RU54Z4EM.js.map → preview-DZQUUQGD.js.map} +0 -0
  1323. /package/dist/{promoted-tweet-writes-FQRFU7PB.js.map → promoted-tweet-writes-VUNJIUA3.js.map} +0 -0
  1324. /package/dist/{promoted-tweets-L2L3V5SF.js.map → promoted-tweets-55X4H7NG.js.map} +0 -0
  1325. /package/dist/{properties-ZUDQH3LE.js.map → properties-CSW67FJG.js.map} +0 -0
  1326. /package/dist/{publish-5XTAHTM4.js.map → publish-U73OR33K.js.map} +0 -0
  1327. /package/dist/{query-26T7XATH.js.map → query-UQQNESTT.js.map} +0 -0
  1328. /package/dist/{reddit-BCB4FT6J.js.map → query-V4I3VCJ7.js.map} +0 -0
  1329. /package/dist/{query-SHUOHXTO.js.map → query-XPCC7OUP.js.map} +0 -0
  1330. /package/dist/{questionnaire-UG55JLVW.js.map → questionnaire-UQNRYZK7.js.map} +0 -0
  1331. /package/dist/{read-UYSQAXRV.js.map → read-RXAOLPG5.js.map} +0 -0
  1332. /package/dist/{run-TA3DP6QG.js.map → reddit-C2B7NT7X.js.map} +0 -0
  1333. /package/dist/{refresh-WY5NPNLX.js.map → refresh-JN4HKE4H.js.map} +0 -0
  1334. /package/dist/{release-JBSPPNQE.js.map → release-HSAOBN5K.js.map} +0 -0
  1335. /package/dist/{relevant-pages-OU5H56KY.js.map → relevant-pages-XBWFEHHE.js.map} +0 -0
  1336. /package/dist/{remove-M5P7M5JU.js.map → remove-G5UXVQ2W.js.map} +0 -0
  1337. /package/dist/{remove-2KACTXKP.js.map → remove-Q4TL5ZFS.js.map} +0 -0
  1338. /package/dist/{reopen-J3VW5766.js.map → reopen-D26VSRRL.js.map} +0 -0
  1339. /package/dist/{research-4CAA5CA2.js.map → research-CRYX2CAR.js.map} +0 -0
  1340. /package/dist/{research-7LBTJ2B2.js.map → research-XRVD2GSG.js.map} +0 -0
  1341. /package/dist/{reset-DJSSXC4Y.js.map → reset-2VVN4CY7.js.map} +0 -0
  1342. /package/dist/{reset-DBWWGCXY.js.map → reset-FWDPBHYO.js.map} +0 -0
  1343. /package/dist/{resolve-BNRUYS56.js.map → resolve-D4PCGIWO.js.map} +0 -0
  1344. /package/dist/{retry-WRBGLB7O.js.map → retry-AHZFHMTH.js.map} +0 -0
  1345. /package/dist/{retry-TMRIFGVT.js.map → retry-FV6ASVO5.js.map} +0 -0
  1346. /package/dist/{retry-failed-NWLH6WHK.js.map → retry-failed-AENQRGML.js.map} +0 -0
  1347. /package/dist/{run-VVTLDRRW.js.map → run-AGSHZQND.js.map} +0 -0
  1348. /package/dist/{search-4HIOKYFR.js.map → run-WBFKGA42.js.map} +0 -0
  1349. /package/dist/{schedule-S547HPUT.js.map → schedule-DTKBBIEH.js.map} +0 -0
  1350. /package/dist/{schedule-BQQGYGT7.js.map → schedule-ESHQ4II7.js.map} +0 -0
  1351. /package/dist/{schema-SQIP75WG.js.map → schema-OBF4T2QN.js.map} +0 -0
  1352. /package/dist/{schema-DDEWM5ZX.js.map → schema-SWG2WKYX.js.map} +0 -0
  1353. /package/dist/{scrape-TI6S2W7I.js.map → scrape-AGGDUPPD.js.map} +0 -0
  1354. /package/dist/{screenshot-XFAYY4WW.js.map → screenshot-6GGCQCIV.js.map} +0 -0
  1355. /package/dist/{search-D2IV7KFJ.js.map → search-FRSFGJLZ.js.map} +0 -0
  1356. /package/dist/{search-VJBKRD2U.js.map → search-I64WW2QC.js.map} +0 -0
  1357. /package/dist/{search-IZPDHRJ4.js.map → search-L2KHX5DO.js.map} +0 -0
  1358. /package/dist/{shared-3CGGKICB.js.map → search-MBDEQ6EE.js.map} +0 -0
  1359. /package/dist/{search-KFDL2IGG.js.map → search-UCDN4TOT.js.map} +0 -0
  1360. /package/dist/{search-copy-QZXCAGK4.js.map → search-copy-HX3FYZGT.js.map} +0 -0
  1361. /package/dist/{seeds-VUNZMHZH.js.map → seeds-VFEFE4AK.js.map} +0 -0
  1362. /package/dist/{sends-7HWLIOUO.js.map → sends-WDSOXBSS.js.map} +0 -0
  1363. /package/dist/{sequences-5RAGZE7L.js.map → sequences-NMJ55HS5.js.map} +0 -0
  1364. /package/dist/{setup-links-SPIGXQTY.js.map → setup-links-NAAUQD7O.js.map} +0 -0
  1365. /package/dist/{sync-definition-DYSVT7BJ.js.map → shared-3GVQQQNL.js.map} +0 -0
  1366. /package/dist/{site-FW6K6L6M.js.map → site-VTJU5CRE.js.map} +0 -0
  1367. /package/dist/{sitemaps-3WDYQHYR.js.map → sitemaps-KS57YDGB.js.map} +0 -0
  1368. /package/dist/{sites-G4DQ2Z2X.js.map → sites-PUEEVW7H.js.map} +0 -0
  1369. /package/dist/{skills-PA26HXEP.js.map → skills-N6NRI2LC.js.map} +0 -0
  1370. /package/dist/{sources-PMBWG4KO.js.map → sources-YUMNEFK5.js.map} +0 -0
  1371. /package/dist/{stats-Q35I5DRW.js.map → stats-SY6GRHKB.js.map} +0 -0
  1372. /package/dist/{status-62SUXUWW.js.map → status-PVW64CLX.js.map} +0 -0
  1373. /package/dist/{sticker-MC2IAIQB.js.map → sticker-YS6W5TSZ.js.map} +0 -0
  1374. /package/dist/{stock-B7LKMKUK.js.map → stock-DWL5E6K4.js.map} +0 -0
  1375. /package/dist/{studio-BB2EVW5I.js.map → studio-SXBK2IJJ.js.map} +0 -0
  1376. /package/dist/{sync-YTHNOAAM.js.map → sync-FOLYGQDI.js.map} +0 -0
  1377. /package/dist/{sync-CLZDZL5F.js.map → sync-NORMNZEE.js.map} +0 -0
  1378. /package/dist/{viewer-check-HIMNCZGY.js.map → sync-definition-PGVMZTOX.js.map} +0 -0
  1379. /package/dist/{tag-manager-EAREWVYR.js.map → tag-manager-ARFZU46G.js.map} +0 -0
  1380. /package/dist/{tags-53AG3FYG.js.map → tags-77JUO75W.js.map} +0 -0
  1381. /package/dist/{tags-7TH7TVR6.js.map → tags-DOJUSHJB.js.map} +0 -0
  1382. /package/dist/{tags-EUEWDTTN.js.map → tags-IESRRMGW.js.map} +0 -0
  1383. /package/dist/{tags-EB4RE3ML.js.map → tags-MRTUBMRD.js.map} +0 -0
  1384. /package/dist/{tags-ICAWBCOR.js.map → tags-SP6GW4R7.js.map} +0 -0
  1385. /package/dist/{targeting-constants-IFE72XKL.js.map → targeting-constants-DVGRIRKD.js.map} +0 -0
  1386. /package/dist/{targeting-criteria-WZDGJKOI.js.map → targeting-criteria-SOK3HUE2.js.map} +0 -0
  1387. /package/dist/{targets-OKJ6A4YL.js.map → targets-V2HNKVUL.js.map} +0 -0
  1388. /package/dist/{testimonials-THHR5JH5.js.map → testimonials-PA2FUV4H.js.map} +0 -0
  1389. /package/dist/{themes-ZFRM6AVO.js.map → themes-IDB7YPHW.js.map} +0 -0
  1390. /package/dist/{top-companies-63Q475IA.js.map → top-companies-XDP4SZN7.js.map} +0 -0
  1391. /package/dist/{triggers-XLKO2QXQ.js.map → triggers-QDXCA5P4.js.map} +0 -0
  1392. /package/dist/{tweets-7EZRFG3Y.js.map → tweets-AISMWXM3.js.map} +0 -0
  1393. /package/dist/{unfollow-WBBTVEHE.js.map → unfollow-PHLMILG2.js.map} +0 -0
  1394. /package/dist/{unlink-P7KU54YU.js.map → unlink-GDZV5GVL.js.map} +0 -0
  1395. /package/dist/{unstage-GHXGDOT2.js.map → unstage-WCC2TI5Z.js.map} +0 -0
  1396. /package/dist/{unstage-EG7AUE5X.js.map → unstage-WDJXHSAV.js.map} +0 -0
  1397. /package/dist/{update-KVMQOVQK.js.map → update-KBF35KYV.js.map} +0 -0
  1398. /package/dist/{update-7EWDO32L.js.map → update-MRG5MPHR.js.map} +0 -0
  1399. /package/dist/{update-N74F5KXB.js.map → update-XNNQGZBO.js.map} +0 -0
  1400. /package/dist/{update-BVYGB4YL.js.map → update-ZGDQJPDL.js.map} +0 -0
  1401. /package/dist/{upload-6PYPHPCZ.js.map → upload-ID35OCCY.js.map} +0 -0
  1402. /package/dist/{upload-NA62W5RS.js.map → upload-R7YJORED.js.map} +0 -0
  1403. /package/dist/{upscale-RXJUBHXN.js.map → upscale-XPGVJWW2.js.map} +0 -0
  1404. /package/dist/{url-options-EUDXLDBD.js.map → url-options-6X7M2J7D.js.map} +0 -0
  1405. /package/dist/{url-params-DBJSM2LP.js.map → url-params-WRLCJRJQ.js.map} +0 -0
  1406. /package/dist/{use-MHPNS4V4.js.map → use-VCL3PRCB.js.map} +0 -0
  1407. /package/dist/{variant-ZFCWILPG.js.map → variant-2NADVT6Q.js.map} +0 -0
  1408. /package/dist/{videos-DUG7JYUA.js.map → videos-M6VK66NI.js.map} +0 -0
  1409. /package/dist/{view-PYCGDGT2.js.map → view-Q5B57K42.js.map} +0 -0
  1410. /package/dist/{web-SDG42OBC.js.map → web-GOD7BF7X.js.map} +0 -0
  1411. /package/dist/{winners-AI4PVSOI.js.map → winners-PK6EMR6B.js.map} +0 -0
  1412. /package/dist/{winning-ads-KGAYAIPG.js.map → winning-ads-EVOFUO3N.js.map} +0 -0
  1413. /package/dist/{write-commands-OYMWOFEY.js.map → write-commands-4KWMNH6A.js.map} +0 -0
  1414. /package/dist/{write-commands-5TJ3LQ5F.js.map → write-commands-7ECRGXLK.js.map} +0 -0
  1415. /package/dist/{write-commands-34L5LJIB.js.map → write-commands-GL2PHXSU.js.map} +0 -0
  1416. /package/dist/{write-commands-R3UCCBUI.js.map → write-commands-NMV65XXB.js.map} +0 -0
  1417. /package/dist/{x-VNRVGVLI.js.map → x-MDENBZ3X.js.map} +0 -0
@@ -0,0 +1,518 @@
1
+ import {
2
+ readCreativeContext
3
+ } from "./chunk-5OAFKP6L.js";
4
+ import {
5
+ holdUnbilledSpend
6
+ } from "./chunk-6FHP2HIK.js";
7
+ import {
8
+ findWorkspaceRoot
9
+ } from "./chunk-DS2ZRTAL.js";
10
+ import {
11
+ bytesOf
12
+ } from "./chunk-XQ4KKF5E.js";
13
+ import {
14
+ CONCEPT_CARRY_LEVELS
15
+ } from "./chunk-5IGQ6IQO.js";
16
+ import {
17
+ AD_DESCRIBE_MODEL
18
+ } from "./chunk-QK5PEHFX.js";
19
+ import {
20
+ askAboutImages,
21
+ rulesBlock
22
+ } from "./chunk-QEW64BBR.js";
23
+ import {
24
+ apiGet
25
+ } from "./chunk-OSWCEDFE.js";
26
+ import {
27
+ registerSchema,
28
+ writeJson
29
+ } from "./chunk-4WYEGE4N.js";
30
+
31
+ // src/commands/winning-ads/fit.ts
32
+ import { createHash } from "crypto";
33
+ import { mkdir, readdir, readFile, writeFile } from "fs/promises";
34
+ import path from "path";
35
+ import { defineCommand } from "citty";
36
+ import sharp from "sharp";
37
+ import { z } from "zod";
38
+
39
+ // src/commands/canvas/library-reference.ts
40
+ var LIBRARY_PLATFORMS = ["meta", "linkedin", "tiktok", "google"];
41
+ function resolveSourcePlatform(flag) {
42
+ const value = flag?.trim();
43
+ if (!value) return { ok: true, platform: "meta" };
44
+ if (LIBRARY_PLATFORMS.includes(value)) return { ok: true, platform: value };
45
+ return {
46
+ ok: false,
47
+ message: `--source-platform "${value}" is not a library platform. Use one of: ${LIBRARY_PLATFORMS.join(", ")}.`
48
+ };
49
+ }
50
+ var PICK_A_DESIGN = "To build a static on a proven design, pick a Google display ad or a static from another platform (`baker winning-ads search --format static`); a YouTube ad is a video reference, read with `baker winning-ads content`.";
51
+ function notADesignReference(platform, adId, ad) {
52
+ if (platform !== "google") return null;
53
+ if (ad.format === "text" || ad.google_ad_type === "search") {
54
+ return {
55
+ code: "NOT_A_DESIGN_REFERENCE",
56
+ message: `Google ad ${adId} is a search text ad: a reference for wording, not a design.`,
57
+ fix: `Read it with \`baker winning-ads content ${adId} --platform google\` and write our own copy. ${PICK_A_DESIGN}`
58
+ };
59
+ }
60
+ const assembled = ad.google_ad_type === "shopping" ? "a Shopping product listing, which Google builds from a product feed" : ad.google_ad_type === "app" ? "an app-install ad, which Google builds from the app's store page" : null;
61
+ if (assembled) {
62
+ return {
63
+ code: "NOT_A_DESIGN_REFERENCE",
64
+ message: `Google ad ${adId} is ${assembled}: there is no design of the advertiser's to build on.`,
65
+ fix: PICK_A_DESIGN
66
+ };
67
+ }
68
+ return null;
69
+ }
70
+ async function fetchLibraryReference(adId, platform) {
71
+ const data = await apiGet("/api/ad-library/ad-content", { id: adId, platform });
72
+ if (!data?.ad) throw new Error(`the library returned no ad for ${adId} on ${platform}`);
73
+ return data.ad;
74
+ }
75
+ function filled(entries) {
76
+ return Object.fromEntries(
77
+ Object.entries(entries).filter(([, v]) => v !== null && v !== void 0 && !(Array.isArray(v) && v.length === 0))
78
+ );
79
+ }
80
+ function libraryReferenceBlock(ad, ids) {
81
+ const textBlocks = ad.on_screen_text.flatMap(
82
+ (o) => o.text ? [{ text: o.text, ...o.role ? { role: o.role } : {}, ...o.position ? { position: o.position } : {} }] : []
83
+ );
84
+ const advertiser = ad.advertiser ?? void 0;
85
+ const advertiserId = ids.advertiserId ?? ad.advertiser_id ?? void 0;
86
+ return {
87
+ ad_id: ids.adId,
88
+ platform: ids.platform,
89
+ ...advertiser ? { advertiser } : {},
90
+ ...advertiserId ? { advertiser_id: advertiserId } : {},
91
+ ...ad.layout.format_pattern ? { format_pattern: ad.layout.format_pattern } : {},
92
+ layout: filled({
93
+ composition: ad.layout.composition,
94
+ focal_subject: ad.layout.focal_subject,
95
+ aspect_ratio: ad.layout.aspect_ratio,
96
+ background: ad.layout.background,
97
+ palette_mood: ad.layout.palette_mood,
98
+ colors: ad.layout.colors,
99
+ production: ad.layout.production,
100
+ aesthetic: ad.layout.aesthetic,
101
+ cta_in_image: ad.layout.cta_in_image,
102
+ markers: ad.layout.markers
103
+ }),
104
+ message: filled({
105
+ mechanism: ad.message.mechanism,
106
+ awareness: ad.message.awareness_stage,
107
+ sophistication: ad.message.sophistication,
108
+ angle: ad.angle,
109
+ hook_archetype: ad.hook_archetype,
110
+ pain_points: ad.message.pain_points,
111
+ desires: ad.message.desires,
112
+ value_props: ad.message.value_props,
113
+ objections_handled: ad.message.objections_handled,
114
+ proof: ad.message.proof,
115
+ risk_reversal: ad.message.risk_reversal
116
+ }),
117
+ offer: filled({
118
+ offer_type: ad.offer.offer_type,
119
+ pricing_model: ad.offer.pricing_model,
120
+ entry_price: ad.offer.entry_price,
121
+ no_credit_card: ad.offer.no_credit_card,
122
+ guarantee: ad.offer.guarantee,
123
+ guarantee_days: ad.offer.guarantee_days,
124
+ urgency: ad.offer.urgency,
125
+ bonus: ad.offer.bonus
126
+ }),
127
+ text_blocks: textBlocks,
128
+ copy: filled({ primary_text: ad.primary_text, headline: ad.headline, cta: ad.cta })
129
+ };
130
+ }
131
+ function referenceDescribeContext(reference, agentContext) {
132
+ const own = agentContext?.trim() || void 0;
133
+ if (!reference) return own;
134
+ const facts = [];
135
+ if (reference.advertiser) facts.push(`advertiser: ${reference.advertiser}`);
136
+ if (reference.format_pattern) facts.push(`container (format_pattern): ${reference.format_pattern}`);
137
+ if (typeof reference.layout.composition === "string") facts.push(`composition: ${reference.layout.composition}`);
138
+ if (typeof reference.message.mechanism === "string") facts.push(`persuasion mechanism: ${reference.message.mechanism}`);
139
+ if (typeof reference.message.awareness === "string") facts.push(`awareness stage: ${reference.message.awareness}`);
140
+ if (typeof reference.offer.offer_type === "string") facts.push(`offer: ${reference.offer.offer_type}`);
141
+ if (reference.text_blocks.length > 0) {
142
+ facts.push(
143
+ `text blocks: ${reference.text_blocks.map((b) => `"${b.text}"${b.role ? ` (${b.role})` : ""}`).join("; ")}`
144
+ );
145
+ }
146
+ const library = `The ads library has already read this ad: ${facts.join(". ")}. Your blueprint must agree with it on the container and the mechanism; refine and detail them, never contradict them, and transcribe the text blocks exactly.`;
147
+ return own ? `${own}. ${library}` : library;
148
+ }
149
+ function mergeReferenceIntoBlueprint(blueprint, reference) {
150
+ if (!reference || !blueprint || typeof blueprint !== "object" || Array.isArray(blueprint)) return blueprint;
151
+ return { ...blueprint, reference };
152
+ }
153
+
154
+ // src/commands/winning-ads/fit.ts
155
+ var Layers = z.object({
156
+ disguise: z.string().optional(),
157
+ voice: z.string().optional(),
158
+ trigger: z.string().optional(),
159
+ attention: z.string().optional(),
160
+ logic: z.string().optional()
161
+ }).strip();
162
+ var FitAnswerSchema = z.object({
163
+ why_it_wins: Layers.default({}),
164
+ load_bearing: z.array(
165
+ z.object({
166
+ element: z.string().trim().min(1),
167
+ needs: z.string().optional(),
168
+ have: z.enum(["have", "adapt", "missing"]),
169
+ ours: z.string().optional()
170
+ }).strip()
171
+ ).default([]),
172
+ verdict: z.enum(["use", "adapt", "reject"]),
173
+ transfer_note: z.string().optional(),
174
+ brand_presence: z.enum(["native", "standard"]).optional(),
175
+ recognition: z.string().optional(),
176
+ carry: z.enum(CONCEPT_CARRY_LEVELS).optional(),
177
+ carry_why: z.string().optional(),
178
+ /** Asked only with a bet: would the viewer of the ad we are making stop for this one. */
179
+ our_viewer: z.object({ stops: z.enum(["yes", "maybe", "no"]), why: z.string().default("") }).strip().optional().catch(void 0)
180
+ });
181
+ function buildFitPrompt(input) {
182
+ const facts = libraryFacts(input.library);
183
+ return [
184
+ "The image is a winning ad by another advertiser. We want to build an ad for OUR company on its concept: keep why it wins, change everything else to ours.",
185
+ ...facts.length > 0 ? [`The ads library read it as: ${facts.join(". ")}.`] : [],
186
+ "",
187
+ "What OUR company has (its own documents):",
188
+ input.knowledge.trim() || "(nothing written down yet)",
189
+ "",
190
+ ...input.bet ? [...betLines(input.bet), ""] : [],
191
+ "Answer in English:",
192
+ "why_it_wins, in layers, one short phrase each, empty when a layer does nothing: disguise (what the ad pretends to be: a note, a tweet, a newspaper, a chat, a plain ad), voice (who speaks and how: a peer, a founder, a brand), trigger (the emotion or need it pulls: a free gift, fear of a hidden loss, status, curiosity), attention (what stops the scroll), logic (why it convinces: reciprocity, social proof, a comparison, a price anchor).",
193
+ "load_bearing: the 1-4 elements the ad stops working without (never decoration), each with: element, needs (what it takes to carry it), have (have: we have it as it is; adapt: we can carry it with something of ours; missing: we have nothing that carries it), ours (what of ours carries it, when we have or can adapt it; never invent an offer, a gift, a price, a review or a customer we do not have).",
194
+ "verdict: use (it transfers as it is), adapt (it transfers with ours in place of theirs), reject (a load-bearing element is missing: without it our version loses why it wins).",
195
+ "transfer_note: one sentence on how the idea becomes ours, or why it cannot.",
196
+ "brand_presence: native when the disguise only works without looking like an ad (the logo as the sender's picture, no big button), else standard.",
197
+ 'recognition: what kind of product a stranger must take OUR version for in one second, never its format ("a trade course", "a social media API for developers", "a payroll app").',
198
+ "carry: what made it a winner, so what OUR ad takes from it: whole_ad (it wins as one piece: its disguise, layout and hook together; ours keeps all three with our words, brand and pictures), layout (its composition or container does the work: ours keeps that arrangement), hook (its opening line or first visual stops the scroll: ours opens on the same pattern in our words), angle (the argument or need it pulls wins, its look is ordinary: ours keeps the argument and looks like ours). carry_why: one sentence on why that level.",
199
+ ...input.bet ? [
200
+ "our_viewer: would the viewer of the ad we are making stop on THIS ad's move, made ours? stops: yes, maybe or no; why: one sentence naming what in it would or would not reach them (their age, life, market, what they care about). An ad that wins with another audience is no reference for ours."
201
+ ] : [],
202
+ "",
203
+ `Reply with only this JSON: {"why_it_wins":{"disguise":"","voice":"","trigger":"","attention":"","logic":""},"load_bearing":[{"element":"","needs":"","have":"have|adapt|missing","ours":""}],"verdict":"use|adapt|reject","transfer_note":"","brand_presence":"native|standard","recognition":"","carry":"whole_ad|layout|hook|angle","carry_why":""${input.bet ? ',"our_viewer":{"stops":"yes|maybe|no","why":""}' : ""}}`
204
+ ].join("\n");
205
+ }
206
+ function libraryFacts(lib) {
207
+ return [
208
+ lib.advertiser ? `advertiser: ${lib.advertiser}` : "",
209
+ lib.format_pattern ? `container: ${lib.format_pattern}` : "",
210
+ lib.mechanism ? `persuasion mechanism: ${lib.mechanism}` : "",
211
+ lib.awareness ? `awareness stage: ${lib.awareness}` : "",
212
+ lib.offer ? `offer: ${lib.offer}` : "",
213
+ lib.winner_category ? `evidence it won: ${lib.winner_category}` : "",
214
+ lib.angle ? `angle: ${lib.angle}` : "",
215
+ lib.hook_archetype ? `hook: ${lib.hook_archetype}` : "",
216
+ lib.composition ? `composition: ${lib.composition}` : "",
217
+ lib.text && lib.text.length > 0 ? `its words: ${lib.text.map((t) => `"${t}"`).join("; ")}` : ""
218
+ ].filter(Boolean);
219
+ }
220
+ function betLines(bet) {
221
+ return [
222
+ "The ad we are making with it:",
223
+ `- For: ${bet.who}${bet.market ? `, ${bet.market}` : ""}${bet.awareness ? `; awareness: ${bet.awareness}` : ""}`,
224
+ `- It says: ${bet.message}${bet.angle ? ` (angle: ${bet.angle})` : ""}`,
225
+ ...bet.quotes && bet.quotes.length > 0 ? [`- In our customers' own words: ${bet.quotes.map((q) => `"${q}"`).join("; ")}`] : []
226
+ ];
227
+ }
228
+ function fitHints(fit, adId, platform = "meta") {
229
+ const missing = fit.load_bearing.filter((l) => l.have === "missing" && !l.ours?.trim()).map((l) => l.element);
230
+ if (fit.verdict === "reject" || missing.length > 0) {
231
+ return [
232
+ `Pick another reference: this one wins on ${missing.length > 0 ? missing.map((m) => `"${m}"`).join(" and ") : "something we cannot supply"}, and our version would lose why it won.${fit.transfer_note ? ` ${fit.transfer_note}` : ""} Do not stop or ask the person: check the next candidates (\`baker winning-ads fit <adId> --platform ${platform}\`, about three) and scaffold the first that fits.`
233
+ ];
234
+ }
235
+ return [
236
+ `It fits (${fit.verdict}). Scaffold it: \`baker canvas scaffold-static-ad --source-ad-id ${adId} --source-platform ${platform} --slug <slug>\`: prompt.json's \`concept\` is seeded from this fit, and every render keeps ${fit.load_bearing.map((l) => `"${l.element}"`).join(", ") || "its idea"}.`,
237
+ ...fit.brand_presence === "native" ? [
238
+ "The concept is a native disguise: the brand shows as the sender (the logo small, as its picture or signature) and there is no big button; prompt.json says `brand_presence: native`."
239
+ ] : []
240
+ ];
241
+ }
242
+ var NO_FIT_HINT = "No fit was made of this reference";
243
+ function conceptFromFit(fit, adId) {
244
+ return {
245
+ concept: {
246
+ reference_ad_id: adId,
247
+ why_it_wins: fit.why_it_wins,
248
+ load_bearing: fit.load_bearing,
249
+ verdict: fit.verdict,
250
+ ...fit.transfer_note ? { transfer_note: fit.transfer_note } : {},
251
+ // A fit that names no level (cached before `carry`) is read as the whole ad, and says so.
252
+ carry: fit.carry ?? "whole_ad",
253
+ ...fit.carry_why ? { carry_why: fit.carry_why } : {}
254
+ },
255
+ ...fit.brand_presence ? { brand_presence: fit.brand_presence } : {},
256
+ ...fit.recognition ? { recognition: fit.recognition } : {}
257
+ };
258
+ }
259
+ var MAX_DOC_CHARS = 6e3;
260
+ var MAX_ENTRY_CHARS = 1200;
261
+ var KNOWLEDGE_COLLECTIONS = ["offers", "products", "personas", "positioning"];
262
+ function readText(file) {
263
+ return readFile(file, "utf8").catch(() => null);
264
+ }
265
+ function brandLines(brand) {
266
+ const lines = [
267
+ ...brand?.voice ? [`Voice: ${brand.voice}`] : [],
268
+ ...brand?.imagery ? [`Pictures: ${brand.imagery}`] : [],
269
+ ...brand?.logoUsage ? [`Logo: ${brand.logoUsage}`] : []
270
+ ];
271
+ return lines.length > 0 ? `The brand:
272
+ ${lines.join("\n")}` : "";
273
+ }
274
+ async function readKnowledge(root, readers) {
275
+ const parts = [];
276
+ const company = await readText(path.join(root, "COMPANY.md"));
277
+ if (company) parts.push(`COMPANY.md:
278
+ ${company.slice(0, MAX_DOC_CHARS)}`);
279
+ const context = await readCreativeContext(root, { kind: "static" }, readers ? { readers } : {});
280
+ const brand = brandLines(context.brand);
281
+ if (brand) parts.push(brand);
282
+ const rules = rulesBlock(context.rules);
283
+ if (rules) parts.push(rules);
284
+ for (const collection of KNOWLEDGE_COLLECTIONS) {
285
+ const dir = path.join(root, "src", "content", collection);
286
+ const files = (await readdir(dir, { recursive: true }).catch(() => [])).filter(
287
+ (f) => f.endsWith(".md")
288
+ );
289
+ for (const file of files.sort().slice(0, 12)) {
290
+ const text = await readText(path.join(dir, file));
291
+ if (text) parts.push(`${collection}/${file}:
292
+ ${text.slice(0, MAX_ENTRY_CHARS)}`);
293
+ }
294
+ }
295
+ return parts.join("\n\n");
296
+ }
297
+ var ReviewSchema = z.object({
298
+ reviewText: z.string(),
299
+ sourceType: z.string().optional(),
300
+ rating: z.number().optional()
301
+ });
302
+ function reviewsForFit(data) {
303
+ const list = Array.isArray(data) ? data : [];
304
+ const lines = list.slice(0, 15).flatMap((item) => {
305
+ const review = ReviewSchema.safeParse(item);
306
+ if (!review.success || !review.data.reviewText.trim()) return [];
307
+ const { reviewText, sourceType, rating } = review.data;
308
+ const label = [sourceType, rating !== void 0 ? `${rating}\u2605` : ""].filter(Boolean).join(" ");
309
+ return [`- ${label ? `${label} ` : ""}"${reviewText.slice(0, 160)}"`];
310
+ });
311
+ return lines.length > 0 ? `Reviews we have (${lines.length}):
312
+ ${lines.join("\n")}` : "Reviews we have: none on file.";
313
+ }
314
+ async function readReviews() {
315
+ try {
316
+ return reviewsForFit(await apiGet("/api/testimonials", { limit: "15" }));
317
+ } catch {
318
+ return "";
319
+ }
320
+ }
321
+ function fitCachePath(root, platform, adId) {
322
+ return path.join(root, "canvas", ".cache", "fit", `${platform}-${adId.replace(/[^a-zA-Z0-9_-]/g, "_")}.json`);
323
+ }
324
+ function readCachedFit(root, platform, adId) {
325
+ return readFitFile(fitCachePath(root, platform, adId));
326
+ }
327
+ async function readFitFile(file) {
328
+ const raw = await readText(file);
329
+ if (!raw) return null;
330
+ try {
331
+ const parsed = FitAnswerSchema.safeParse(JSON.parse(raw));
332
+ return parsed.success ? parsed.data : null;
333
+ } catch {
334
+ return null;
335
+ }
336
+ }
337
+ var DESCRIPTION = "Does a winning ad fit this company? One vision call reads the reference beside what the company has (COMPANY.md, the brand's rules, the offers, products and personas in the Knowledge, its reviews) and says why the ad wins (disguise, voice, trigger, attention, logic), the elements it stops working without, whether we have each, and a verdict: use, adapt or reject. Start here before scaffolding a static ad from the library: check about three candidates, scaffold only one that fits. `baker canvas scaffold-static-ad --source-ad-id <adId>` then seeds prompt.json's `concept` from this verdict, and a run refuses a rejected concept. Example: baker winning-ads fit 1310524137919413 --platform meta. Output is compact; --full adds the whole read.";
338
+ var ARGS = {
339
+ "ad-id": { type: "positional", required: true, description: "The library ad id (from search/winners/feed)." },
340
+ platform: {
341
+ type: "string",
342
+ required: false,
343
+ description: `Which platform the ad id is on: ${LIBRARY_PLATFORMS.join("|")} (default meta). The fit reads a still picture: a static ad (on google, a display ad). A video ad, YouTube included, is read with \`content\`; a Google search, Shopping or app ad is refused.`
344
+ },
345
+ full: {
346
+ type: "boolean",
347
+ required: false,
348
+ default: false,
349
+ description: "Add the whole read: every layer, need and note."
350
+ }
351
+ };
352
+ registerSchema({ command: "winning-ads.fit", description: DESCRIPTION, args: ARGS });
353
+ async function pictureOf(url) {
354
+ if (!url) return null;
355
+ try {
356
+ const bytes = await bytesOf(url);
357
+ return (await sharp(bytes).resize(1024, 1024, { fit: "inside" }).jpeg({ quality: 85 }).toBuffer()).toString(
358
+ "base64"
359
+ );
360
+ } catch {
361
+ return null;
362
+ }
363
+ }
364
+ function libraryRead(ad) {
365
+ return {
366
+ ...ad.advertiser ? { advertiser: ad.advertiser } : {},
367
+ ...ad.layout.format_pattern ? { format_pattern: ad.layout.format_pattern } : {},
368
+ ...ad.message.mechanism ? { mechanism: ad.message.mechanism } : {},
369
+ ...ad.message.awareness_stage ? { awareness: ad.message.awareness_stage } : {},
370
+ ...ad.offer.offer_type ? { offer: ad.offer.offer_type } : {},
371
+ ...ad.winner_category ? { winner_category: ad.winner_category } : {},
372
+ ...ad.angle ? { angle: ad.angle } : {},
373
+ ...ad.hook_archetype ? { hook_archetype: ad.hook_archetype } : {},
374
+ ...ad.layout.composition ? { composition: ad.layout.composition } : {},
375
+ text: ad.on_screen_text.flatMap((o) => o.text ? [o.text] : []).slice(0, 10)
376
+ };
377
+ }
378
+ async function fitOnce(root, platform, adId, ask, bet) {
379
+ const betFile = bet ? fitCachePath(root, platform, `${adId}--${betKey(bet)}`) : null;
380
+ const cached = betFile ? await readFitFile(betFile) : await readCachedFit(root, platform, adId);
381
+ if (cached) return cached;
382
+ const fit = await ask();
383
+ if (!fit) return null;
384
+ const text = `${JSON.stringify(fit, null, 2)}
385
+ `;
386
+ for (const file of [betFile, fitCachePath(root, platform, adId)]) {
387
+ if (!file) continue;
388
+ await mkdir(path.dirname(file), { recursive: true });
389
+ await writeFile(file, text, "utf8");
390
+ }
391
+ return fit;
392
+ }
393
+ function betKey(bet) {
394
+ return createHash("sha256").update(bet).digest("hex").slice(0, 16);
395
+ }
396
+ async function askFit(jpeg, prompt, onSpend) {
397
+ for (let attempt = 0; attempt < 2; attempt++) {
398
+ const parsed = FitAnswerSchema.safeParse(await askAboutImages(AD_DESCRIBE_MODEL, [jpeg], prompt, onSpend));
399
+ if (parsed.success) return parsed.data;
400
+ }
401
+ return null;
402
+ }
403
+ async function fitReference(root, platform, adId, bet) {
404
+ let failure = null;
405
+ const askFor = async () => {
406
+ let ad;
407
+ try {
408
+ ad = await fetchLibraryReference(adId, platform);
409
+ } catch (e) {
410
+ failure = {
411
+ code: "NOT_FOUND",
412
+ message: `The library could not return ad ${adId} on ${platform} (${e instanceof Error ? e.message : String(e)}).`,
413
+ fix: "Check the ad id and --platform against `baker winning-ads search`."
414
+ };
415
+ return null;
416
+ }
417
+ const refusal = notADesignReference(platform, adId, ad);
418
+ if (refusal) {
419
+ failure = refusal;
420
+ return null;
421
+ }
422
+ if (ad.format === "video") {
423
+ failure = {
424
+ code: "VIDEO_REFERENCE",
425
+ message: `Ad ${adId} is a video: the fit reads still pictures.`,
426
+ fix: `Read it with \`baker winning-ads content ${adId} --platform ${platform}\` (transcript, on-screen text, pacing) and build the video with \`baker canvas scaffold-ad\`. For a static, pick a static ad.`
427
+ };
428
+ return null;
429
+ }
430
+ const jpeg = await pictureOf(ad.media_url);
431
+ if (!jpeg) {
432
+ failure = {
433
+ code: "NOT_FOUND",
434
+ message: `Ad ${adId} has no picture the fit can read.`,
435
+ fix: "Pick a static ad with a picture."
436
+ };
437
+ return null;
438
+ }
439
+ const knowledge = [await readKnowledge(root), await readReviews()].filter(Boolean).join("\n\n");
440
+ const prompt = buildFitPrompt({ library: libraryRead(ad), knowledge, ...bet ? { bet } : {} });
441
+ const spent = [];
442
+ const answer = await askFit(jpeg, prompt, (u) => spent.push(u));
443
+ await holdUnbilledSpend(path.join(root, "canvas", ".cache"), spent);
444
+ return answer;
445
+ };
446
+ const fit = await fitOnce(root, platform, adId, askFor, bet ? JSON.stringify(bet) : void 0);
447
+ if (fit) return { ok: true, fit };
448
+ return {
449
+ ok: false,
450
+ error: failure ?? {
451
+ code: "UNAVAILABLE",
452
+ message: "The fit model did not answer (no gateway key here, or it failed twice).",
453
+ fix: "Run it again, or read the reference yourself with `baker winning-ads content <adId> --full` and write prompt.json's `concept` by hand."
454
+ }
455
+ };
456
+ }
457
+ var fitCommand = defineCommand({
458
+ meta: { name: "fit", description: DESCRIPTION },
459
+ args: ARGS,
460
+ async run({ args }) {
461
+ const adId = String(args["ad-id"]);
462
+ const platformResult = resolveSourcePlatform(args.platform ? String(args.platform) : void 0);
463
+ if (!platformResult.ok) {
464
+ writeJson({ ok: false, error: { code: "INVALID_ARGUMENT", message: platformResult.message } });
465
+ process.exit(1);
466
+ }
467
+ const platform = platformResult.platform;
468
+ const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();
469
+ const result = await fitReference(root, platform, adId);
470
+ if (!result.ok) {
471
+ writeJson({ ok: false, error: result.error });
472
+ process.exit(1);
473
+ }
474
+ const fit = result.fit;
475
+ const why = [fit.why_it_wins.disguise, fit.why_it_wins.trigger, fit.why_it_wins.logic].filter(Boolean).join("; ");
476
+ writeJson({
477
+ ok: true,
478
+ data: {
479
+ ad_id: adId,
480
+ verdict: fit.verdict,
481
+ why_it_wins: why,
482
+ load_bearing: fit.load_bearing.map((l) => ({
483
+ element: l.element,
484
+ have: l.have,
485
+ ...l.ours ? { ours: l.ours } : {}
486
+ })),
487
+ ...fit.brand_presence ? { brand_presence: fit.brand_presence } : {},
488
+ ...fit.carry ? { carry: fit.carry } : {},
489
+ ...args.full ? { read: fit } : {}
490
+ },
491
+ hints: fitHints(fit, adId, platform)
492
+ });
493
+ }
494
+ });
495
+
496
+ export {
497
+ LIBRARY_PLATFORMS,
498
+ resolveSourcePlatform,
499
+ notADesignReference,
500
+ fetchLibraryReference,
501
+ libraryReferenceBlock,
502
+ referenceDescribeContext,
503
+ mergeReferenceIntoBlueprint,
504
+ FitAnswerSchema,
505
+ buildFitPrompt,
506
+ fitHints,
507
+ NO_FIT_HINT,
508
+ conceptFromFit,
509
+ readKnowledge,
510
+ reviewsForFit,
511
+ fitCachePath,
512
+ readCachedFit,
513
+ pictureOf,
514
+ fitOnce,
515
+ fitReference,
516
+ fitCommand
517
+ };
518
+ //# sourceMappingURL=chunk-T235G4C7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/winning-ads/fit.ts","../src/commands/canvas/library-reference.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\n/**\n * Does this winning ad fit this company, and what would we have to supply to keep why it won?\n *\n * Audited Sept 2026: of 33 creatives built from winning ads, 12 lost the concept. References\n * were picked whose load-bearing ingredient we could not supply (a gift, a peer's voice, priced\n * tiers, a native disguise our \"big logo, big button\" rule broke), and nothing said so until the\n * finished ad came back as a feature list in a notes app. So before scaffolding, one vision call\n * reads the reference beside what the company has (COMPANY.md, the brand's rules, the offers,\n * products and personas in the Knowledge, its reviews) and says, in layers, why the ad wins, what\n * each load-bearing element needs, whether we have it, and a verdict: use, adapt or reject. The\n * agent checks about three candidates and scaffolds only one that fits; the scaffold seeds the ad\n * spec's `concept` from the verdict, and `baker canvas run` refuses a `reject`.\n */\nimport { mkdir, readdir, readFile, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { AD_DESCRIBE_MODEL } from \"@baker/canvas-contract\";\nimport { defineCommand } from \"citty\";\nimport sharp from \"sharp\";\nimport { z } from \"zod\";\nimport { apiGet } from \"../../client.ts\";\nimport { type ContextReaders, type CreativeContext, readCreativeContext } from \"../../engine/creative-context/index.ts\";\nimport { rulesBlock } from \"../../engine/creative-rules/select.ts\";\nimport { askAboutImages, type ReviewUsage } from \"../../engine/nodes/local/lib/render-review.ts\";\nimport { bytesOf } from \"../../engine/nodes/local/lib/static-review.ts\";\nimport { CONCEPT_CARRY_LEVELS } from \"../../engine/scaffold/static-ad-spec.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport {\n type DesignRefusal,\n fetchLibraryReference,\n LIBRARY_PLATFORMS,\n type LibraryPlatform,\n notADesignReference,\n resolveSourcePlatform,\n} from \"../canvas/library-reference.ts\";\nimport { findWorkspaceRoot } from \"../canvas/normalize-paths.ts\";\nimport { holdUnbilledSpend } from \"../canvas/unbilled-spend.ts\";\n\nconst Layers = z\n .object({\n disguise: z.string().optional(),\n voice: z.string().optional(),\n trigger: z.string().optional(),\n attention: z.string().optional(),\n logic: z.string().optional(),\n })\n .strip();\n\n/** What the fit model answers. */\nexport const FitAnswerSchema = z.object({\n why_it_wins: Layers.default({}),\n load_bearing: z\n .array(\n z\n .object({\n element: z.string().trim().min(1),\n needs: z.string().optional(),\n have: z.enum([\"have\", \"adapt\", \"missing\"]),\n ours: z.string().optional(),\n })\n .strip(),\n )\n .default([]),\n verdict: z.enum([\"use\", \"adapt\", \"reject\"]),\n transfer_note: z.string().optional(),\n brand_presence: z.enum([\"native\", \"standard\"]).optional(),\n recognition: z.string().optional(),\n carry: z.enum(CONCEPT_CARRY_LEVELS).optional(),\n carry_why: z.string().optional(),\n /** Asked only with a bet: would the viewer of the ad we are making stop for this one. */\n our_viewer: z\n .object({ stops: z.enum([\"yes\", \"maybe\", \"no\"]), why: z.string().default(\"\") })\n .strip()\n .optional()\n .catch(undefined),\n});\n\n/** The ad we are making, as the fit judges a reference for it. */\nexport type FitBet = {\n who: string;\n message: string;\n awareness?: string;\n angle?: string;\n /** Our customers' own words the idea stands on. */\n quotes?: readonly string[];\n /** The viewer's market in words (`describeMarket`). */\n market?: string;\n};\nexport type FitAnswer = z.infer<typeof FitAnswerSchema>;\n\n/** The library's read of the reference, as far as the fit needs it. */\nexport type FitLibraryRead = {\n advertiser?: string;\n format_pattern?: string;\n mechanism?: string;\n awareness?: string;\n offer?: string;\n text?: string[];\n /** The library's evidence that it won: winner, scaled_winner, evergreen, rising. */\n winner_category?: string;\n angle?: string;\n hook_archetype?: string;\n composition?: string;\n};\n\n/**\n * The fit model's prompt: the company first, then the question, the answer a fixed JSON the code\n * reads. The layers are the ones the ad spec's `concept` keeps. Pure.\n */\nexport function buildFitPrompt(input: { library: FitLibraryRead; knowledge: string; bet?: FitBet }): string {\n const facts = libraryFacts(input.library);\n return [\n \"The image is a winning ad by another advertiser. We want to build an ad for OUR company on its concept: keep why it wins, change everything else to ours.\",\n ...(facts.length > 0 ? [`The ads library read it as: ${facts.join(\". \")}.`] : []),\n \"\",\n \"What OUR company has (its own documents):\",\n input.knowledge.trim() || \"(nothing written down yet)\",\n \"\",\n ...(input.bet ? [...betLines(input.bet), \"\"] : []),\n \"Answer in English:\",\n \"why_it_wins, in layers, one short phrase each, empty when a layer does nothing: disguise (what the ad pretends to be: a note, a tweet, a newspaper, a chat, a plain ad), voice (who speaks and how: a peer, a founder, a brand), trigger (the emotion or need it pulls: a free gift, fear of a hidden loss, status, curiosity), attention (what stops the scroll), logic (why it convinces: reciprocity, social proof, a comparison, a price anchor).\",\n \"load_bearing: the 1-4 elements the ad stops working without (never decoration), each with: element, needs (what it takes to carry it), have (have: we have it as it is; adapt: we can carry it with something of ours; missing: we have nothing that carries it), ours (what of ours carries it, when we have or can adapt it; never invent an offer, a gift, a price, a review or a customer we do not have).\",\n \"verdict: use (it transfers as it is), adapt (it transfers with ours in place of theirs), reject (a load-bearing element is missing: without it our version loses why it wins).\",\n \"transfer_note: one sentence on how the idea becomes ours, or why it cannot.\",\n \"brand_presence: native when the disguise only works without looking like an ad (the logo as the sender's picture, no big button), else standard.\",\n 'recognition: what kind of product a stranger must take OUR version for in one second, never its format (\"a trade course\", \"a social media API for developers\", \"a payroll app\").',\n \"carry: what made it a winner, so what OUR ad takes from it: whole_ad (it wins as one piece: its disguise, layout and hook together; ours keeps all three with our words, brand and pictures), layout (its composition or container does the work: ours keeps that arrangement), hook (its opening line or first visual stops the scroll: ours opens on the same pattern in our words), angle (the argument or need it pulls wins, its look is ordinary: ours keeps the argument and looks like ours). carry_why: one sentence on why that level.\",\n ...(input.bet\n ? [\n \"our_viewer: would the viewer of the ad we are making stop on THIS ad's move, made ours? stops: yes, maybe or no; why: one sentence naming what in it would or would not reach them (their age, life, market, what they care about). An ad that wins with another audience is no reference for ours.\",\n ]\n : []),\n \"\",\n `Reply with only this JSON: {\"why_it_wins\":{\"disguise\":\"\",\"voice\":\"\",\"trigger\":\"\",\"attention\":\"\",\"logic\":\"\"},\"load_bearing\":[{\"element\":\"\",\"needs\":\"\",\"have\":\"have|adapt|missing\",\"ours\":\"\"}],\"verdict\":\"use|adapt|reject\",\"transfer_note\":\"\",\"brand_presence\":\"native|standard\",\"recognition\":\"\",\"carry\":\"whole_ad|layout|hook|angle\",\"carry_why\":\"\"${input.bet ? ',\"our_viewer\":{\"stops\":\"yes|maybe|no\",\"why\":\"\"}' : \"\"}}`,\n ].join(\"\\n\");\n}\n\n/** The library's read of a reference, as lines the fit prompt quotes. Pure. */\nfunction libraryFacts(lib: FitLibraryRead): string[] {\n return [\n lib.advertiser ? `advertiser: ${lib.advertiser}` : \"\",\n lib.format_pattern ? `container: ${lib.format_pattern}` : \"\",\n lib.mechanism ? `persuasion mechanism: ${lib.mechanism}` : \"\",\n lib.awareness ? `awareness stage: ${lib.awareness}` : \"\",\n lib.offer ? `offer: ${lib.offer}` : \"\",\n lib.winner_category ? `evidence it won: ${lib.winner_category}` : \"\",\n lib.angle ? `angle: ${lib.angle}` : \"\",\n lib.hook_archetype ? `hook: ${lib.hook_archetype}` : \"\",\n lib.composition ? `composition: ${lib.composition}` : \"\",\n lib.text && lib.text.length > 0 ? `its words: ${lib.text.map((t) => `\"${t}\"`).join(\"; \")}` : \"\",\n ].filter(Boolean);\n}\n\n/** The ad we are making, as the fit reads it: who it is for, what it says, in our customers' words. Pure. */\nfunction betLines(bet: FitBet): string[] {\n return [\n \"The ad we are making with it:\",\n `- For: ${bet.who}${bet.market ? `, ${bet.market}` : \"\"}${bet.awareness ? `; awareness: ${bet.awareness}` : \"\"}`,\n `- It says: ${bet.message}${bet.angle ? ` (angle: ${bet.angle})` : \"\"}`,\n ...(bet.quotes && bet.quotes.length > 0\n ? [`- In our customers' own words: ${bet.quotes.map((q) => `\"${q}\"`).join(\"; \")}`]\n : []),\n ];\n}\n\n/** What the agent does next with a fit. Pure. */\nexport function fitHints(fit: FitAnswer, adId: string, platform = \"meta\"): string[] {\n const missing = fit.load_bearing.filter((l) => l.have === \"missing\" && !l.ours?.trim()).map((l) => l.element);\n if (fit.verdict === \"reject\" || missing.length > 0) {\n return [\n `Pick another reference: this one wins on ${missing.length > 0 ? missing.map((m) => `\"${m}\"`).join(\" and \") : \"something we cannot supply\"}, and our version would lose why it won.${fit.transfer_note ? ` ${fit.transfer_note}` : \"\"} Do not stop or ask the person: check the next candidates (\\`baker winning-ads fit <adId> --platform ${platform}\\`, about three) and scaffold the first that fits.`,\n ];\n }\n return [\n `It fits (${fit.verdict}). Scaffold it: \\`baker canvas scaffold-static-ad --source-ad-id ${adId} --source-platform ${platform} --slug <slug>\\`: prompt.json's \\`concept\\` is seeded from this fit, and every render keeps ${fit.load_bearing.map((l) => `\"${l.element}\"`).join(\", \") || \"its idea\"}.`,\n ...(fit.brand_presence === \"native\"\n ? [\n \"The concept is a native disguise: the brand shows as the sender (the logo small, as its picture or signature) and there is no big button; prompt.json says `brand_presence: native`.\",\n ]\n : []),\n ];\n}\n\n/** How the scaffold's hint for a reference built on with no fit opens (`creatives make` drops it once it checked the reference). */\nexport const NO_FIT_HINT = \"No fit was made of this reference\";\n\n/** The ad spec fields a fit seeds: `concept`, `brand_presence`, `recognition`. Pure. */\nexport function conceptFromFit(fit: FitAnswer, adId: string) {\n return {\n concept: {\n reference_ad_id: adId,\n why_it_wins: fit.why_it_wins,\n load_bearing: fit.load_bearing,\n verdict: fit.verdict,\n ...(fit.transfer_note ? { transfer_note: fit.transfer_note } : {}),\n // A fit that names no level (cached before `carry`) is read as the whole ad, and says so.\n carry: fit.carry ?? \"whole_ad\",\n ...(fit.carry_why ? { carry_why: fit.carry_why } : {}),\n },\n ...(fit.brand_presence ? { brand_presence: fit.brand_presence } : {}),\n ...(fit.recognition ? { recognition: fit.recognition } : {}),\n };\n}\n\nconst MAX_DOC_CHARS = 6000;\nconst MAX_ENTRY_CHARS = 1200;\nconst KNOWLEDGE_COLLECTIONS = [\"offers\", \"products\", \"personas\", \"positioning\"] as const;\n\nfunction readText(file: string): Promise<string | null> {\n return readFile(file, \"utf8\").catch(() => null);\n}\n\n/** How the brand speaks and looks and which logo its ads use, as its reading says. Pure. */\nfunction brandLines(brand: CreativeContext[\"brand\"]): string {\n const lines = [\n ...(brand?.voice ? [`Voice: ${brand.voice}`] : []),\n ...(brand?.imagery ? [`Pictures: ${brand.imagery}`] : []),\n ...(brand?.logoUsage ? [`Logo: ${brand.logoUsage}`] : []),\n ];\n return lines.length > 0 ? `The brand:\\n${lines.join(\"\\n\")}` : \"\";\n}\n\n/**\n * What the company has, as the fit reads it: COMPANY.md (the records of what it has), how its brand\n * speaks and looks, every rule it sets for a static ad, and every entry of the offers, products and\n * personas in the Knowledge, each cut short. Never throws.\n */\nexport async function readKnowledge(root: string, readers?: ContextReaders): Promise<string> {\n const parts: string[] = [];\n const company = await readText(path.join(root, \"COMPANY.md\"));\n if (company) parts.push(`COMPANY.md:\\n${company.slice(0, MAX_DOC_CHARS)}`);\n const context = await readCreativeContext(root, { kind: \"static\" }, readers ? { readers } : {});\n const brand = brandLines(context.brand);\n if (brand) parts.push(brand);\n const rules = rulesBlock(context.rules);\n if (rules) parts.push(rules);\n for (const collection of KNOWLEDGE_COLLECTIONS) {\n const dir = path.join(root, \"src\", \"content\", collection);\n const files = ((await readdir(dir, { recursive: true }).catch(() => [])) as string[]).filter((f) =>\n f.endsWith(\".md\"),\n );\n for (const file of files.sort().slice(0, 12)) {\n const text = await readText(path.join(dir, file));\n if (text) parts.push(`${collection}/${file}:\\n${text.slice(0, MAX_ENTRY_CHARS)}`);\n }\n }\n return parts.join(\"\\n\\n\");\n}\n\n/** One review as the testimonials route returns it, read loosely so a new field never empties the list. */\nconst ReviewSchema = z.object({\n reviewText: z.string(),\n sourceType: z.string().optional(),\n rating: z.number().optional(),\n});\n\n/** The company's reviews (`/api/testimonials`, a plain list), as a few lines the fit can weigh proof against. Pure. */\nexport function reviewsForFit(data: unknown): string {\n const list = Array.isArray(data) ? data : [];\n const lines = list.slice(0, 15).flatMap((item) => {\n const review = ReviewSchema.safeParse(item);\n if (!review.success || !review.data.reviewText.trim()) return [];\n const { reviewText, sourceType, rating } = review.data;\n const label = [sourceType, rating !== undefined ? `${rating}★` : \"\"].filter(Boolean).join(\" \");\n return [`- ${label ? `${label} ` : \"\"}\"${reviewText.slice(0, 160)}\"`];\n });\n return lines.length > 0\n ? `Reviews we have (${lines.length}):\\n${lines.join(\"\\n\")}`\n : \"Reviews we have: none on file.\";\n}\n\n/** The company's reviews for the fit. Never throws. */\nasync function readReviews(): Promise<string> {\n try {\n return reviewsForFit(await apiGet<unknown>(\"/api/testimonials\", { limit: \"15\" }));\n } catch {\n return \"\";\n }\n}\n\n/** Where a fit is kept, so the scaffold of the same reference seeds its concept from it. */\nexport function fitCachePath(root: string, platform: string, adId: string): string {\n return path.join(root, \"canvas\", \".cache\", \"fit\", `${platform}-${adId.replace(/[^a-zA-Z0-9_-]/g, \"_\")}.json`);\n}\n\n/** The fit this workspace made of a reference, or null. Never throws. */\nexport function readCachedFit(root: string, platform: string, adId: string): Promise<FitAnswer | null> {\n return readFitFile(fitCachePath(root, platform, adId));\n}\n\n/** A cached fit file's answer, or null. Never throws. */\nasync function readFitFile(file: string): Promise<FitAnswer | null> {\n const raw = await readText(file);\n if (!raw) return null;\n try {\n const parsed = FitAnswerSchema.safeParse(JSON.parse(raw));\n return parsed.success ? parsed.data : null;\n } catch {\n return null;\n }\n}\n\nconst DESCRIPTION =\n \"Does a winning ad fit this company? One vision call reads the reference beside what the company has (COMPANY.md, the brand's rules, the offers, products and personas in the Knowledge, its reviews) and says why the ad wins (disguise, voice, trigger, attention, logic), the elements it stops working without, whether we have each, and a verdict: use, adapt or reject. Start here before scaffolding a static ad from the library: check about three candidates, scaffold only one that fits. `baker canvas scaffold-static-ad --source-ad-id <adId>` then seeds prompt.json's `concept` from this verdict, and a run refuses a rejected concept. Example: baker winning-ads fit 1310524137919413 --platform meta. Output is compact; --full adds the whole read.\";\n\nconst ARGS = {\n \"ad-id\": { type: \"positional\", required: true, description: \"The library ad id (from search/winners/feed).\" },\n platform: {\n type: \"string\",\n required: false,\n description: `Which platform the ad id is on: ${LIBRARY_PLATFORMS.join(\"|\")} (default meta). The fit reads a still picture: a static ad (on google, a display ad). A video ad, YouTube included, is read with \\`content\\`; a Google search, Shopping or app ad is refused.`,\n },\n full: {\n type: \"boolean\",\n required: false,\n default: false,\n description: \"Add the whole read: every layer, need and note.\",\n },\n} as const;\n\nregisterSchema({ command: \"winning-ads.fit\", description: DESCRIPTION, args: ARGS });\n\ntype LibraryAd = Awaited<ReturnType<typeof fetchLibraryReference>>;\n\n/** The reference's picture as a JPEG the vision model reads, null when it has none to read. */\n/** A picture as the vision models read it: a JPEG at most 1024 px, base64; null when it cannot be read. */\nexport async function pictureOf(url: string | null | undefined): Promise<string | null> {\n if (!url) return null;\n try {\n const bytes = await bytesOf(url);\n return (await sharp(bytes).resize(1024, 1024, { fit: \"inside\" }).jpeg({ quality: 85 }).toBuffer()).toString(\n \"base64\",\n );\n } catch {\n return null;\n }\n}\n\n/** What the library already read of the ad, to ground the fit. */\nfunction libraryRead(ad: LibraryAd) {\n return {\n ...(ad.advertiser ? { advertiser: ad.advertiser } : {}),\n ...(ad.layout.format_pattern ? { format_pattern: ad.layout.format_pattern } : {}),\n ...(ad.message.mechanism ? { mechanism: ad.message.mechanism } : {}),\n ...(ad.message.awareness_stage ? { awareness: ad.message.awareness_stage } : {}),\n ...(ad.offer.offer_type ? { offer: ad.offer.offer_type } : {}),\n ...(ad.winner_category ? { winner_category: ad.winner_category } : {}),\n ...(ad.angle ? { angle: ad.angle } : {}),\n ...(ad.hook_archetype ? { hook_archetype: ad.hook_archetype } : {}),\n ...(ad.layout.composition ? { composition: ad.layout.composition } : {}),\n text: ad.on_screen_text.flatMap((o) => (o.text ? [o.text] : [])).slice(0, 10),\n };\n}\n\n/**\n * The fit this workspace already made of the ad, else a new one from `ask`, kept for next time:\n * asking again is free, and a `reject` stays a reject (the scaffold's concept gate reads it).\n * With a `bet` key (the ad being made), a fit made for another bet is never reused: one ad can\n * suit one idea's viewer and not another's. The latest fit stays the ad's own, for its readers.\n */\nexport async function fitOnce(\n root: string,\n platform: string,\n adId: string,\n ask: () => Promise<FitAnswer | null>,\n bet?: string,\n): Promise<FitAnswer | null> {\n const betFile = bet ? fitCachePath(root, platform, `${adId}--${betKey(bet)}`) : null;\n const cached = betFile ? await readFitFile(betFile) : await readCachedFit(root, platform, adId);\n if (cached) return cached;\n const fit = await ask();\n if (!fit) return null;\n const text = `${JSON.stringify(fit, null, 2)}\\n`;\n for (const file of [betFile, fitCachePath(root, platform, adId)]) {\n if (!file) continue;\n await mkdir(path.dirname(file), { recursive: true });\n await writeFile(file, text, \"utf8\");\n }\n return fit;\n}\n\n/** A short stable key for a bet's text. Pure. */\nfunction betKey(bet: string): string {\n return createHash(\"sha256\").update(bet).digest(\"hex\").slice(0, 16);\n}\n\n/** The fit, asked at most twice; null when the model never answered in shape. */\nasync function askFit(jpeg: string, prompt: string, onSpend: (usage: ReviewUsage) => void): Promise<FitAnswer | null> {\n for (let attempt = 0; attempt < 2; attempt++) {\n const parsed = FitAnswerSchema.safeParse(await askAboutImages(AD_DESCRIBE_MODEL, [jpeg], prompt, onSpend));\n if (parsed.success) return parsed.data;\n }\n return null;\n}\n\nexport type FitFailure =\n | { code: \"NOT_FOUND\" | \"UNAVAILABLE\" | \"VIDEO_REFERENCE\"; message: string; fix: string }\n | DesignRefusal;\n\n/**\n * The fit of one library ad for this workspace's company: cached, else one vision call. Never\n * exits; a reference the library cannot return, one with no picture, or a model that does not\n * answer is a failure the caller reports.\n */\nexport async function fitReference(\n root: string,\n platform: LibraryPlatform,\n adId: string,\n bet?: FitBet,\n): Promise<{ ok: true; fit: FitAnswer } | { ok: false; error: FitFailure }> {\n let failure = null as FitFailure | null;\n const askFor = async () => {\n let ad: LibraryAd;\n try {\n ad = await fetchLibraryReference(adId, platform);\n } catch (e) {\n failure = {\n code: \"NOT_FOUND\",\n message: `The library could not return ad ${adId} on ${platform} (${e instanceof Error ? e.message : String(e)}).`,\n fix: \"Check the ad id and --platform against `baker winning-ads search`.\",\n };\n return null;\n }\n // A search text ad, a Shopping listing or an app-install ad is no design: never billed a fit.\n const refusal = notADesignReference(platform, adId, ad);\n if (refusal) {\n failure = refusal;\n return null;\n }\n // The fit reads one still picture: a video is studied whole with `content`, never fetched here.\n if (ad.format === \"video\") {\n failure = {\n code: \"VIDEO_REFERENCE\",\n message: `Ad ${adId} is a video: the fit reads still pictures.`,\n fix: `Read it with \\`baker winning-ads content ${adId} --platform ${platform}\\` (transcript, on-screen text, pacing) and build the video with \\`baker canvas scaffold-ad\\`. For a static, pick a static ad.`,\n };\n return null;\n }\n const jpeg = await pictureOf(ad.media_url);\n if (!jpeg) {\n failure = {\n code: \"NOT_FOUND\",\n message: `Ad ${adId} has no picture the fit can read.`,\n fix: \"Pick a static ad with a picture.\",\n };\n return null;\n }\n const knowledge = [await readKnowledge(root), await readReviews()].filter(Boolean).join(\"\\n\\n\");\n const prompt = buildFitPrompt({ library: libraryRead(ad), knowledge, ...(bet ? { bet } : {}) });\n const spent: ReviewUsage[] = [];\n const answer = await askFit(jpeg, prompt, (u) => spent.push(u));\n // No run record carries this call: the next render of this workspace bills it.\n await holdUnbilledSpend(path.join(root, \"canvas\", \".cache\"), spent);\n return answer;\n };\n const fit = await fitOnce(root, platform, adId, askFor, bet ? JSON.stringify(bet) : undefined);\n if (fit) return { ok: true, fit };\n return {\n ok: false,\n error: failure ?? {\n code: \"UNAVAILABLE\",\n message: \"The fit model did not answer (no gateway key here, or it failed twice).\",\n fix: \"Run it again, or read the reference yourself with `baker winning-ads content <adId> --full` and write prompt.json's `concept` by hand.\",\n },\n };\n}\n\nexport const fitCommand = defineCommand({\n meta: { name: \"fit\", description: DESCRIPTION },\n args: ARGS,\n async run({ args }) {\n const adId = String(args[\"ad-id\"]);\n const platformResult = resolveSourcePlatform(args.platform ? String(args.platform) : undefined);\n if (!platformResult.ok) {\n writeJson({ ok: false, error: { code: \"INVALID_ARGUMENT\", message: platformResult.message } });\n process.exit(1);\n }\n const platform = platformResult.platform;\n const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();\n const result = await fitReference(root, platform, adId);\n if (!result.ok) {\n writeJson({ ok: false, error: result.error });\n process.exit(1);\n }\n const fit = result.fit;\n const why = [fit.why_it_wins.disguise, fit.why_it_wins.trigger, fit.why_it_wins.logic].filter(Boolean).join(\"; \");\n writeJson({\n ok: true,\n data: {\n ad_id: adId,\n verdict: fit.verdict,\n why_it_wins: why,\n load_bearing: fit.load_bearing.map((l) => ({\n element: l.element,\n have: l.have,\n ...(l.ours ? { ours: l.ours } : {}),\n })),\n ...(fit.brand_presence ? { brand_presence: fit.brand_presence } : {}),\n ...(fit.carry ? { carry: fit.carry } : {}),\n ...(args.full ? { read: fit } : {}),\n },\n hints: fitHints(fit, adId, platform),\n });\n },\n});\n","import type { AdContent, AdContentResponse } from \"@baker/api/ad-library\";\nimport { apiGet } from \"../../client.ts\";\n\n/**\n * The winners library's structured read of the reference ad, carried into the scaffold by id.\n *\n * Before this, the reference reached `scaffold-static-ad` as a picture plus free text, and the\n * describe pass re-read from pixels what ad-dna had already extracted: the container\n * (`format_pattern`), the composition, the persuasion mechanism, the offer, every text block\n * with its role. That read is fetched here the way `baker winning-ads content <adId> --full`\n * fetches it, projected to what the render can act on, and written into `prompt.json` as\n * `reference`, so the agent and the render prompt read one account of why the ad won.\n */\n\n/** The platforms the library indexes: the `sourcePlatform` enum of the scaffold's creatives collection. */\nexport const LIBRARY_PLATFORMS = [\"meta\", \"linkedin\", \"tiktok\", \"google\"] as const;\nexport type LibraryPlatform = (typeof LIBRARY_PLATFORMS)[number];\n\nexport type SourcePlatformResolution = { ok: true; platform: LibraryPlatform } | { ok: false; message: string };\n\n/** `--source-platform`, default meta; an unknown value is refused, never mapped to a guess. */\nexport function resolveSourcePlatform(flag: string | undefined): SourcePlatformResolution {\n const value = flag?.trim();\n if (!value) return { ok: true, platform: \"meta\" };\n if ((LIBRARY_PLATFORMS as readonly string[]).includes(value)) return { ok: true, platform: value as LibraryPlatform };\n return {\n ok: false,\n message: `--source-platform \"${value}\" is not a library platform. Use one of: ${LIBRARY_PLATFORMS.join(\", \")}.`,\n };\n}\n\nconst PICK_A_DESIGN =\n \"To build a static on a proven design, pick a Google display ad or a static from another platform (`baker winning-ads search --format static`); a YouTube ad is a video reference, read with `baker winning-ads content`.\";\n\n/** Why an ad cannot be built on: what the agent reads it for instead. */\nexport type DesignRefusal = { code: \"NOT_A_DESIGN_REFERENCE\"; message: string; fix: string };\n\n/** What a reference is judged on: its format and, on Google, which kind of ad it is. */\nexport type ReferenceKind = Pick<AdContent, \"format\"> & Partial<Pick<AdContent, \"google_ad_type\">>;\n\n/**\n * Why a library ad is no design to build on, else null. Only Google's display (image) and YouTube\n * (video) ads are: a search ad is words, and a Shopping listing or an app-install ad is assembled by\n * Google from a feed or a store page. An ad whose kind the library does not say is judged by its\n * format alone. Pure.\n */\nexport function notADesignReference(\n platform: LibraryPlatform,\n adId: string,\n ad: ReferenceKind,\n): DesignRefusal | null {\n if (platform !== \"google\") return null;\n if (ad.format === \"text\" || ad.google_ad_type === \"search\") {\n return {\n code: \"NOT_A_DESIGN_REFERENCE\",\n message: `Google ad ${adId} is a search text ad: a reference for wording, not a design.`,\n fix: `Read it with \\`baker winning-ads content ${adId} --platform google\\` and write our own copy. ${PICK_A_DESIGN}`,\n };\n }\n const assembled =\n ad.google_ad_type === \"shopping\"\n ? \"a Shopping product listing, which Google builds from a product feed\"\n : ad.google_ad_type === \"app\"\n ? \"an app-install ad, which Google builds from the app's store page\"\n : null;\n if (assembled) {\n return {\n code: \"NOT_A_DESIGN_REFERENCE\",\n message: `Google ad ${adId} is ${assembled}: there is no design of the advertiser's to build on.`,\n fix: PICK_A_DESIGN,\n };\n }\n return null;\n}\n\nexport type ReferenceTextBlock = { text: string; role?: string; position?: string };\n\n/** The `reference` block `prompt.json` carries: the library's read of the source ad, filled fields only. */\nexport type LibraryReference = {\n ad_id: string;\n platform: LibraryPlatform;\n advertiser?: string;\n advertiser_id?: string;\n format_pattern?: string;\n layout: Record<string, unknown>;\n message: Record<string, unknown>;\n offer: Record<string, unknown>;\n text_blocks: ReferenceTextBlock[];\n copy: Record<string, unknown>;\n};\n\n/** Fetch one ad's content as `baker winning-ads content --full` does. Throws on any failure; the caller degrades. */\nexport async function fetchLibraryReference(adId: string, platform: LibraryPlatform): Promise<AdContent> {\n const data = await apiGet<AdContentResponse>(\"/api/ad-library/ad-content\", { id: adId, platform });\n if (!data?.ad) throw new Error(`the library returned no ad for ${adId} on ${platform}`);\n return data.ad;\n}\n\n/** Only what the library found: null, undefined and empty lists are absences, never findings. */\nfunction filled(entries: Record<string, unknown>): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(entries).filter(([, v]) => v !== null && v !== undefined && !(Array.isArray(v) && v.length === 0)),\n );\n}\n\n/** Project the library's ad content to the block the blueprint and the render prompt read. */\nexport function libraryReferenceBlock(\n ad: AdContent,\n ids: { adId: string; platform: LibraryPlatform; advertiserId: string | undefined },\n): LibraryReference {\n const textBlocks: ReferenceTextBlock[] = ad.on_screen_text.flatMap((o) =>\n o.text\n ? [{ text: o.text, ...(o.role ? { role: o.role } : {}), ...(o.position ? { position: o.position } : {}) }]\n : [],\n );\n const advertiser = ad.advertiser ?? undefined;\n const advertiserId = ids.advertiserId ?? ad.advertiser_id ?? undefined;\n return {\n ad_id: ids.adId,\n platform: ids.platform,\n ...(advertiser ? { advertiser } : {}),\n ...(advertiserId ? { advertiser_id: advertiserId } : {}),\n ...(ad.layout.format_pattern ? { format_pattern: ad.layout.format_pattern } : {}),\n layout: filled({\n composition: ad.layout.composition,\n focal_subject: ad.layout.focal_subject,\n aspect_ratio: ad.layout.aspect_ratio,\n background: ad.layout.background,\n palette_mood: ad.layout.palette_mood,\n colors: ad.layout.colors,\n production: ad.layout.production,\n aesthetic: ad.layout.aesthetic,\n cta_in_image: ad.layout.cta_in_image,\n markers: ad.layout.markers,\n }),\n message: filled({\n mechanism: ad.message.mechanism,\n awareness: ad.message.awareness_stage,\n sophistication: ad.message.sophistication,\n angle: ad.angle,\n hook_archetype: ad.hook_archetype,\n pain_points: ad.message.pain_points,\n desires: ad.message.desires,\n value_props: ad.message.value_props,\n objections_handled: ad.message.objections_handled,\n proof: ad.message.proof,\n risk_reversal: ad.message.risk_reversal,\n }),\n offer: filled({\n offer_type: ad.offer.offer_type,\n pricing_model: ad.offer.pricing_model,\n entry_price: ad.offer.entry_price,\n no_credit_card: ad.offer.no_credit_card,\n guarantee: ad.offer.guarantee,\n guarantee_days: ad.offer.guarantee_days,\n urgency: ad.offer.urgency,\n bonus: ad.offer.bonus,\n }),\n text_blocks: textBlocks,\n copy: filled({ primary_text: ad.primary_text, headline: ad.headline, cta: ad.cta }),\n };\n}\n\n/**\n * The `context` the describe pass gets: the agent's own provenance plus what the library\n * already read off this ad. The describe pass still reads the pixels (the layout grid, the\n * fonts, the expressions), but it is told the container, the mechanism and the words up front\n * so its blueprint and the library's read cannot disagree on what the ad is.\n */\nexport function referenceDescribeContext(\n reference: LibraryReference | undefined,\n agentContext: string | undefined,\n): string | undefined {\n const own = agentContext?.trim() || undefined;\n if (!reference) return own;\n const facts: string[] = [];\n if (reference.advertiser) facts.push(`advertiser: ${reference.advertiser}`);\n if (reference.format_pattern) facts.push(`container (format_pattern): ${reference.format_pattern}`);\n if (typeof reference.layout.composition === \"string\") facts.push(`composition: ${reference.layout.composition}`);\n if (typeof reference.message.mechanism === \"string\") facts.push(`persuasion mechanism: ${reference.message.mechanism}`);\n if (typeof reference.message.awareness === \"string\") facts.push(`awareness stage: ${reference.message.awareness}`);\n if (typeof reference.offer.offer_type === \"string\") facts.push(`offer: ${reference.offer.offer_type}`);\n if (reference.text_blocks.length > 0) {\n facts.push(\n `text blocks: ${reference.text_blocks.map((b) => `\"${b.text}\"${b.role ? ` (${b.role})` : \"\"}`).join(\"; \")}`,\n );\n }\n const library =\n `The ads library has already read this ad: ${facts.join(\". \")}. ` +\n \"Your blueprint must agree with it on the container and the mechanism; refine and detail them, never contradict them, and transcribe the text blocks exactly.\";\n return own ? `${own}. ${library}` : library;\n}\n\n/**\n * Write the library's read into the blueprint as `reference`. Never a mechanism: the library's\n * container and persuasion label (\"comparison_table container carrying us_vs_them\") name the\n * format, not why the ad won, and seeded as the mechanism they hid that the read found none\n * (audited Sept 2026). Why it wins is `baker winning-ads fit`'s to say.\n */\nexport function mergeReferenceIntoBlueprint(blueprint: unknown, reference: LibraryReference | undefined): unknown {\n if (!reference || !blueprint || typeof blueprint !== \"object\" || Array.isArray(blueprint)) return blueprint;\n return { ...(blueprint as Record<string, unknown>), reference };\n}\n"],"mappings":"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","names":[]}