@koda-sl/baker-cli 0.552.0 → 0.554.0

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 (1492) hide show
  1. package/README.md +7 -2
  2. package/dist/account-NSRT5KE6.js +139 -0
  3. package/dist/account-OXD426YD.js +82 -0
  4. package/dist/account-XIC5TTV3.js +82 -0
  5. package/dist/account-assets-V7KSSTVP.js +290 -0
  6. package/dist/account-level-2KLG6HTG.js +611 -0
  7. package/dist/account-reads-ZPZUCB3P.js +219 -0
  8. package/dist/account-users-XTUKRDWK.js +64 -0
  9. package/dist/account-writes-VRRLT356.js +68 -0
  10. package/dist/accounts-25JL77F7.js +701 -0
  11. package/dist/accounts-45MUDNOM.js +76 -0
  12. package/dist/accounts-AF72N4NV.js +80 -0
  13. package/dist/accounts-HJAQTVDA.js +114 -0
  14. package/dist/accounts-KQ7NCM4L.js +115 -0
  15. package/dist/actions-IJO4JW7J.js +55 -0
  16. package/dist/active-entities-3266UJYN.js +103 -0
  17. package/dist/activecampaign-PBTUMTO5.js +938 -0
  18. package/dist/activities-ORMACIG2.js +75 -0
  19. package/dist/ad-group-writes-Y6CCMPCM.js +172 -0
  20. package/dist/ad-groups-TW2UKDVU.js +70 -0
  21. package/dist/ad-writes-J3UVUH7D.js +176 -0
  22. package/dist/add-CKJXQUVI.js +97 -0
  23. package/dist/add-CSRB6GVJ.js +80 -0
  24. package/dist/add-KHQXXHC5.js +107 -0
  25. package/dist/add-NJUG3IQ2.js +81 -0
  26. package/dist/add-XYSUKZSU.js +148 -0
  27. package/dist/add-YQPFRDVM.js +305 -0
  28. package/dist/add-accounts-IRHBFNNC.js +91 -0
  29. package/dist/ads-5CJQRTUN.js +79 -0
  30. package/dist/ads-5YCCRXEU.js +48 -0
  31. package/dist/ads-DI3J3KCQ.js +128 -0
  32. package/dist/ads-EVQ37EV3.js +120 -0
  33. package/dist/adsets-4IW5TRAK.js +182 -0
  34. package/dist/advertisers-5XCIZ7WS.js +125 -0
  35. package/dist/advertisers-JNOWSZZC.js +123 -0
  36. package/dist/analytics-CZMCM7XC.js +2437 -0
  37. package/dist/analytics-K5FCQLI5.js +447 -0
  38. package/dist/animate-C6BRMRRD.js +480 -0
  39. package/dist/approved-RP5ADN7E.js +73 -0
  40. package/dist/asset-writes-RF6XTWLY.js +50 -0
  41. package/dist/assign-WXZNXVJH.js +80 -0
  42. package/dist/audience-size-ZCWH4CFC.js +76 -0
  43. package/dist/audience-writes-5KT6FHUY.js +327 -0
  44. package/dist/audiences-4MYDTY74.js +280 -0
  45. package/dist/audiences-5TOTVZMK.js +85 -0
  46. package/dist/audiences-ZDOK3OYC.js +106 -0
  47. package/dist/audit-RBRXPPKK.js +154 -0
  48. package/dist/audit-SACXTAIP.js +88 -0
  49. package/dist/autocomplete-P5OU7QVL.js +114 -0
  50. package/dist/avatars-UHBA2BQ3.js +38 -0
  51. package/dist/bid-pricing-LHNYSDG4.js +103 -0
  52. package/dist/brand-7WL3O74X.js +22 -0
  53. package/dist/brief-HWZU75WP.js +543 -0
  54. package/dist/businesses-F6PN34WK.js +54 -0
  55. package/dist/campaign-groups-BYS3GNEP.js +99 -0
  56. package/dist/campaign-writes-BHS3POAH.js +176 -0
  57. package/dist/campaign-writes-N6OHAK6V.js +168 -0
  58. package/dist/campaigns-2E4AQBFB.js +113 -0
  59. package/dist/campaigns-3U5IRXSV.js +130 -0
  60. package/dist/campaigns-IRMLPW6N.js +78 -0
  61. package/dist/campaigns-QLKGN4FB.js +111 -0
  62. package/dist/canvas-GGHJ26ZM.js +46 -0
  63. package/dist/capabilities-TKEEHR7K.js +147 -0
  64. package/dist/cards-HUXBNMEM.js +85 -0
  65. package/dist/catalog-7KQN43HS.js +66 -0
  66. package/dist/catalogs-5CHPI4H6.js +782 -0
  67. package/dist/catalogs-5CHPI4H6.js.map +1 -0
  68. package/dist/catalogs-WYRRTRCM.js +130 -0
  69. package/dist/changes-OIVPZJHE.js +143 -0
  70. package/dist/chatgpt-YBHXCXWZ.js +47 -0
  71. package/dist/chats-PBXYH2LT.js +449 -0
  72. package/dist/check-SVYI72DF.js +107 -0
  73. package/dist/chunk-2RL2T5JO.js +142 -0
  74. package/dist/chunk-3HLQZTQ3.js +685 -0
  75. package/dist/chunk-3J52GJAY.js +46 -0
  76. package/dist/chunk-42JTSTQ3.js +207 -0
  77. package/dist/chunk-45D6WRCJ.js +476 -0
  78. package/dist/chunk-4AEAL63J.js +203 -0
  79. package/dist/chunk-4H6XLX7E.js +97 -0
  80. package/dist/chunk-4ULGRGBG.js +333 -0
  81. package/dist/chunk-4XMPL3RU.js +19 -0
  82. package/dist/chunk-5AOTCCTT.js +831 -0
  83. package/dist/chunk-5G6R3WYN.js +58 -0
  84. package/dist/chunk-5HPKYRTE.js +45 -0
  85. package/dist/chunk-5NLUTJCQ.js +5368 -0
  86. package/dist/chunk-6FWVRXDW.js +64 -0
  87. package/dist/chunk-6HPTF5YS.js +857 -0
  88. package/dist/chunk-6KEVNO5O.js +191 -0
  89. package/dist/chunk-6MXM6DA6.js +225 -0
  90. package/dist/chunk-6MXM6DA6.js.map +1 -0
  91. package/dist/chunk-6QINKM6T.js +46 -0
  92. package/dist/chunk-73MLPGI2.js +66 -0
  93. package/dist/chunk-7OVPQX4X.js +163 -0
  94. package/dist/chunk-7SNNQCDD.js +274 -0
  95. package/dist/chunk-B5UVOCYA.js +344 -0
  96. package/dist/chunk-BRNZMKO4.js +604 -0
  97. package/dist/chunk-BU7W7MKF.js +42 -0
  98. package/dist/chunk-CCYZJMZ7.js +2522 -0
  99. package/dist/chunk-CCYZJMZ7.js.map +1 -0
  100. package/dist/chunk-CJFCQMUY.js +438 -0
  101. package/dist/chunk-CQMAR4BH.js +69 -0
  102. package/dist/chunk-CXYX6G3I.js +98 -0
  103. package/dist/chunk-CZESYOCC.js +94 -0
  104. package/dist/chunk-D6VQPBVM.js +5471 -0
  105. package/dist/chunk-D7FJ5KHG.js +39 -0
  106. package/dist/chunk-DEZBCK5P.js +66 -0
  107. package/dist/chunk-DK66PUXL.js +275 -0
  108. package/dist/chunk-DLM5OSHM.js +843 -0
  109. package/dist/chunk-DNH2ZPZP.js +287 -0
  110. package/dist/chunk-DSDI5DY3.js +115 -0
  111. package/dist/chunk-DSDI5DY3.js.map +1 -0
  112. package/dist/chunk-DWSSQBLO.js +103 -0
  113. package/dist/chunk-E56V3RFO.js +75 -0
  114. package/dist/chunk-EHNORFUW.js +225 -0
  115. package/dist/chunk-ESXUIV6V.js +169 -0
  116. package/dist/chunk-FAV6GUOZ.js +24026 -0
  117. package/dist/chunk-FHN4QXZN.js +139 -0
  118. package/dist/chunk-FSEFZZ2T.js +930 -0
  119. package/dist/chunk-G4JTXVLA.js +74 -0
  120. package/dist/chunk-G6U45QD3.js +296 -0
  121. package/dist/chunk-GAP7SOGA.js +188 -0
  122. package/dist/chunk-GFWWHCBF.js +229 -0
  123. package/dist/chunk-GO6ISZUZ.js +52 -0
  124. package/dist/chunk-GWLP45WQ.js +1518 -0
  125. package/dist/chunk-H3HA22Z3.js +1919 -0
  126. package/dist/chunk-H6GTG665.js +106 -0
  127. package/dist/chunk-I4BQTVMY.js +225 -0
  128. package/dist/chunk-IAZKXDWV.js +100 -0
  129. package/dist/chunk-IBBGABK2.js +91 -0
  130. package/dist/chunk-IC4MREQH.js +219 -0
  131. package/dist/chunk-IIK4WNWV.js +84 -0
  132. package/dist/chunk-IZROFBH7.js +167 -0
  133. package/dist/chunk-J5UTL4HE.js +3510 -0
  134. package/dist/chunk-JBMZVC5D.js +91 -0
  135. package/dist/chunk-JXTNP3B5.js +215 -0
  136. package/dist/chunk-LBJ2CLRT.js +106 -0
  137. package/dist/chunk-LFELUKCA.js +249 -0
  138. package/dist/chunk-LK5OKVCM.js +544 -0
  139. package/dist/chunk-LMOZWB4G.js +98 -0
  140. package/dist/chunk-N5AIO23H.js +2209 -0
  141. package/dist/chunk-NE3OMP7R.js +23 -0
  142. package/dist/chunk-NO52OH3Y.js +156 -0
  143. package/dist/chunk-NRIKX35V.js +399 -0
  144. package/dist/chunk-NRIKX35V.js.map +1 -0
  145. package/dist/chunk-NZYWKZ3Q.js +76 -0
  146. package/dist/chunk-OIORUNKH.js +1902 -0
  147. package/dist/chunk-OKXLOLEV.js +455 -0
  148. package/dist/chunk-OVC2PIOP.js +111 -0
  149. package/dist/chunk-P4MXGSSJ.js +178 -0
  150. package/dist/chunk-P4MXGSSJ.js.map +1 -0
  151. package/dist/chunk-P5HG6WDH.js +152 -0
  152. package/dist/chunk-PGAYESXE.js +25 -0
  153. package/dist/chunk-PQ7RLE43.js +1646 -0
  154. package/dist/chunk-QFODAMYR.js +69 -0
  155. package/dist/chunk-QFVZIQRQ.js +8954 -0
  156. package/dist/chunk-QI5UKQX3.js +297 -0
  157. package/dist/chunk-QY7EK6Q4.js +217 -0
  158. package/dist/chunk-QYH2UZAK.js +324 -0
  159. package/dist/chunk-R7XDGNZD.js +297 -0
  160. package/dist/chunk-R7XDGNZD.js.map +1 -0
  161. package/dist/chunk-RHNNFCRY.js +494 -0
  162. package/dist/chunk-RIVHJC6L.js +35 -0
  163. package/dist/chunk-RJQT7QXX.js +547 -0
  164. package/dist/chunk-RMZLB4AH.js +197 -0
  165. package/dist/chunk-S4NMWYHW.js +51 -0
  166. package/dist/chunk-SFQFUQDW.js +170 -0
  167. package/dist/chunk-SNSLYZIT.js +64 -0
  168. package/dist/chunk-SP3MHBME.js +89 -0
  169. package/dist/chunk-TGT4XHLX.js +131 -0
  170. package/dist/chunk-TLNYAZX5.js +76 -0
  171. package/dist/chunk-UGRL642V.js +73 -0
  172. package/dist/chunk-UKZKLXTE.js +638 -0
  173. package/dist/chunk-VAQOSV3I.js +138 -0
  174. package/dist/chunk-VIRPAJEF.js +97 -0
  175. package/dist/chunk-VX6GTRT3.js +910 -0
  176. package/dist/chunk-WR5Y64OE.js +718 -0
  177. package/dist/chunk-X3YYZLBH.js +285 -0
  178. package/dist/chunk-XB4NKZAQ.js +136 -0
  179. package/dist/chunk-XSBX3LJP.js +430 -0
  180. package/dist/chunk-XXBP73RV.js +148 -0
  181. package/dist/chunk-XZMO52BP.js +56 -0
  182. package/dist/chunk-Y3SK6EMU.js +84 -0
  183. package/dist/chunk-Y4ZBNZBU.js +191 -0
  184. package/dist/chunk-YCAJCVW4.js +224 -0
  185. package/dist/chunk-ZANXEMON.js +1744 -0
  186. package/dist/chunk-ZMTWQDFC.js +709 -0
  187. package/dist/chunk-ZMTWQDFC.js.map +1 -0
  188. package/dist/chunk-ZSZ76MUL.js +125 -0
  189. package/dist/chunk-ZU6JW3ZB.js +26 -0
  190. package/dist/chunk-ZW2CN6L6.js +288 -0
  191. package/dist/cite-TRNZYG4W.js +191 -0
  192. package/dist/claim-Q76T3MYA.js +200 -0
  193. package/dist/cli.js +46 -46
  194. package/dist/client-45COYUUH.js +19 -0
  195. package/dist/code-K4YTLOPA.js +76 -0
  196. package/dist/companies-MLWRWQ73.js +198 -0
  197. package/dist/company-X5Z67PMK.js +308 -0
  198. package/dist/complete-3CFP6XVY.js +84 -0
  199. package/dist/config-TCAHWE6T.js +88 -0
  200. package/dist/connect-QXFAB4RJ.js +45 -0
  201. package/dist/content-MKJP7T7L.js +85 -0
  202. package/dist/conversation-C6K6IZTH.js +96 -0
  203. package/dist/conversion-report-OFV4EKTA.js +127 -0
  204. package/dist/conversion-upload-command-D7S5HF22.js +439 -0
  205. package/dist/conversion-writes-B3H6VLA2.js +122 -0
  206. package/dist/conversions-4ILDIG3K.js +140 -0
  207. package/dist/conversions-CRL327RY.js +78 -0
  208. package/dist/copy-writes-FYXKHJDB.js +170 -0
  209. package/dist/countries-6ST54UGJ.js +82 -0
  210. package/dist/create-LDQ3YHET.js +62 -0
  211. package/dist/create-TKOG7DNJ.js +210 -0
  212. package/dist/create-WFMJOZLO.js +135 -0
  213. package/dist/create-WQNT345R.js +239 -0
  214. package/dist/creatives-45SJAD3G.js +118 -0
  215. package/dist/creatives-E4CTMZJJ.js +223 -0
  216. package/dist/creatives-Q4OXNCTT.js +58 -0
  217. package/dist/credentials-E2AIMWKX.js +290 -0
  218. package/dist/critique-EWV3O3TD.js +1451 -0
  219. package/dist/critique-JVT6X2T3.js +232 -0
  220. package/dist/crm-NQH5FTK6.js +227 -0
  221. package/dist/crm-YGQKK76D.js +323 -0
  222. package/dist/crop-KV24WHOR.js +113 -0
  223. package/dist/currency-B5T7TYKD.js +88 -0
  224. package/dist/custom-conversions-EJNX4MCK.js +128 -0
  225. package/dist/customers-YFEPJF4G.js +65 -0
  226. package/dist/decide-JZXG6LZR.js +199 -0
  227. package/dist/delete-2UJVTHRE.js +67 -0
  228. package/dist/delete-7QAJSOCO.js +69 -0
  229. package/dist/delete-O4RO2HMR.js +57 -0
  230. package/dist/delete-POHL3TKX.js +69 -0
  231. package/dist/delete-Q7J734W2.js +71 -0
  232. package/dist/delete-XWD37C4T.js +85 -0
  233. package/dist/demographics-YWBHAMZ5.js +141 -0
  234. package/dist/describe-MA54W67X.js +97 -0
  235. package/dist/describe-MJ5SOVWY.js +97 -0
  236. package/dist/dimensions-YXOXHOXW.js +101 -0
  237. package/dist/discard-YX4XUXG3.js +69 -0
  238. package/dist/discover-PPMLFJMU.js +93 -0
  239. package/dist/discover-SS3PO5Y6.js +172 -0
  240. package/dist/domain-5R6CYVFY.js +101 -0
  241. package/dist/download-D2O4RYJ3.js +172 -0
  242. package/dist/download-SYWQXF57.js +299 -0
  243. package/dist/draft-2JVWCYRF.js +134 -0
  244. package/dist/draft-2JVWCYRF.js.map +1 -0
  245. package/dist/draft-3MPADYS4.js +220 -0
  246. package/dist/draft-4WMYCA7I.js +315 -0
  247. package/dist/draft-4WMYCA7I.js.map +1 -0
  248. package/dist/draft-7VGBJIJU.js +260 -0
  249. package/dist/draft-7VGBJIJU.js.map +1 -0
  250. package/dist/draft-DR5BJK7V.js +138 -0
  251. package/dist/draft-DR5BJK7V.js.map +1 -0
  252. package/dist/draft-L56EMJQT.js +374 -0
  253. package/dist/draft-L56EMJQT.js.map +1 -0
  254. package/dist/draft-NLSQDRVQ.js +332 -0
  255. package/dist/draft-NLSQDRVQ.js.map +1 -0
  256. package/dist/draft-SGNQOUYH.js +557 -0
  257. package/dist/draft-SGNQOUYH.js.map +1 -0
  258. package/dist/engine/index.js +14 -14
  259. package/dist/env-2RHPS2VF.js +53 -0
  260. package/dist/experiment-3NDXGQK6.js +1397 -0
  261. package/dist/experiments-DYNNWQRB.js +236 -0
  262. package/dist/export-6WWVO4O6.js +168 -0
  263. package/dist/extract-DWDZI35Y.js +121 -0
  264. package/dist/facets-Y2IEM37E.js +117 -0
  265. package/dist/favorites-54Z7PTYR.js +178 -0
  266. package/dist/feed-TAGQWMRK.js +177 -0
  267. package/dist/feedback-HJRVTU6C.js +115 -0
  268. package/dist/feedback-IVSLM5PN.js +136 -0
  269. package/dist/feedback-record-P7CO3IGE.js +269 -0
  270. package/dist/fetch-KB64NPDF.js +139 -0
  271. package/dist/fetch-V2U5VUQZ.js +204 -0
  272. package/dist/find-UB4JSORZ.js +143 -0
  273. package/dist/fit-JDG6E46O.js +65 -0
  274. package/dist/flows-DP574PEX.js +250 -0
  275. package/dist/follow-SX6BV6VZ.js +94 -0
  276. package/dist/follow-competitors-UBJJHX36.js +112 -0
  277. package/dist/following-L7WUEMZ2.js +113 -0
  278. package/dist/fonts-RMROS3LX.js +39 -0
  279. package/dist/forecast-AAHHVTBK.js +169 -0
  280. package/dist/forecast-BRXNGMGD.js +121 -0
  281. package/dist/funding-7M4TJ3MW.js +85 -0
  282. package/dist/funnel-FQX3DOE7.js +397 -0
  283. package/dist/ga4-IJ2UUICC.js +55 -0
  284. package/dist/generate-SYOQE3F7.js +263 -0
  285. package/dist/get-4NDYA3G6.js +62 -0
  286. package/dist/get-HMTI2IR6.js +82 -0
  287. package/dist/get-JIB6PMGI.js +59 -0
  288. package/dist/get-JX5JVWH7.js +56 -0
  289. package/dist/get-KNP2EQRI.js +74 -0
  290. package/dist/get-Q4M6G7YN.js +92 -0
  291. package/dist/get-VFDNTZ54.js +62 -0
  292. package/dist/get-X44ZCIFN.js +38 -0
  293. package/dist/gif-6244RM75.js +110 -0
  294. package/dist/google-4FP6AHBL.js +3285 -0
  295. package/dist/google-4FP6AHBL.js.map +1 -0
  296. package/dist/google-HWEDJ4YS.js +144 -0
  297. package/dist/google-ads-4DLYASRC.js +198 -0
  298. package/dist/group-45M7V46T.js +43 -0
  299. package/dist/group-RAXOR36M.js +43 -0
  300. package/dist/gsc-YAU4EA75.js +30 -0
  301. package/dist/history-6B6RXNV3.js +102 -0
  302. package/dist/history-BEEREY26.js +69 -0
  303. package/dist/history-NLZSX4BK.js +153 -0
  304. package/dist/hubspot-LABBRJ44.js +782 -0
  305. package/dist/icon-2237C4LP.js +137 -0
  306. package/dist/ideas-A4ELJN23.js +45 -0
  307. package/dist/images-JVNT7KYM.js +92 -0
  308. package/dist/improve-PHFWWTOL.js +86 -0
  309. package/dist/ingest-GQWR3RHR.js +27 -0
  310. package/dist/ingest-JYN2IDKV.js +123 -0
  311. package/dist/insights-A5BKVXFQ.js +132 -0
  312. package/dist/insights-U6QAA77O.js +658 -0
  313. package/dist/inspect-72DY33YD.js +192 -0
  314. package/dist/inspiration-DNWTXEPX.js +53 -0
  315. package/dist/instant-experiences-6NTBX4SL.js +264 -0
  316. package/dist/instant-experiences-6NTBX4SL.js.map +1 -0
  317. package/dist/intent-OMSJPOJZ.js +95 -0
  318. package/dist/job-RCEPBGZC.js +202 -0
  319. package/dist/job-create-MDVJ3E7K.js +109 -0
  320. package/dist/job-status-53FJIFYR.js +74 -0
  321. package/dist/keep-ZIHW5OEQ.js +78 -0
  322. package/dist/keyword-gap-3P72T4NV.js +130 -0
  323. package/dist/keyword-metrics-GP7L2MQE.js +200 -0
  324. package/dist/keywords-for-site-6YWAUOKJ.js +131 -0
  325. package/dist/knowledge-PN3FAZJ2.js +195 -0
  326. package/dist/landing-EKHAZS5P.js +28 -0
  327. package/dist/landings-FBRB3FF5.js +151 -0
  328. package/dist/languages-Q5RMPGI4.js +55 -0
  329. package/dist/languages-WWKMRZCH.js +40 -0
  330. package/dist/launches-EQ4VS2OR.js +19 -0
  331. package/dist/layerize-SX6LQK35.js +190 -0
  332. package/dist/lead-routes-RLYGO47M.js +733 -0
  333. package/dist/leads-RN6RYOMU.js +541 -0
  334. package/dist/leads-RN6RYOMU.js.map +1 -0
  335. package/dist/leads-UCXIIA5K.js +115 -0
  336. package/dist/learn-EJEFERQZ.js +207 -0
  337. package/dist/library-RZI7QHRV.js +211 -0
  338. package/dist/lighthouse-D3BJGHLO.js +75 -0
  339. package/dist/line-item-writes-IMCE2FDW.js +211 -0
  340. package/dist/line-items-ISUC3WDO.js +107 -0
  341. package/dist/link-6QL4ZVSU.js +67 -0
  342. package/dist/linkedin-OFL77SUR.js +1330 -0
  343. package/dist/linkedin-OFL77SUR.js.map +1 -0
  344. package/dist/linkedin-person-C24CBKCH.js +139 -0
  345. package/dist/list-2NWMHKTR.js +93 -0
  346. package/dist/list-2VNI3U7I.js +154 -0
  347. package/dist/list-5H6UAX6T.js +57 -0
  348. package/dist/list-ACJBOHPS.js +50 -0
  349. package/dist/list-COWCCJ4F.js +65 -0
  350. package/dist/list-EEQJSTLN.js +51 -0
  351. package/dist/list-OTZB7DOX.js +76 -0
  352. package/dist/list-PZD2QOZL.js +67 -0
  353. package/dist/list-SUXUMXPJ.js +306 -0
  354. package/dist/locations-P3CUBKYZ.js +40 -0
  355. package/dist/locations-ZO7F75KT.js +69 -0
  356. package/dist/log-VLI7KQF2.js +95 -0
  357. package/dist/logo-R34AWI4C.js +18 -0
  358. package/dist/lookup-BGNLEZMU.js +23 -0
  359. package/dist/make-365ZJ25L.js +1367 -0
  360. package/dist/map-OEFL45WA.js +436 -0
  361. package/dist/mcp-NCZYQXQL.js +729 -0
  362. package/dist/media-422INJCD.js +89 -0
  363. package/dist/media-WASM45QW.js +18 -0
  364. package/dist/media-sources-CZDK4W5Q.js +35 -0
  365. package/dist/members-N3PQSVQC.js +47 -0
  366. package/dist/meme-NH4DAORT.js +100 -0
  367. package/dist/meta-QFLNABF5.js +122 -0
  368. package/dist/metrics-PSXIV4QS.js +152 -0
  369. package/dist/models-SITHUNAA.js +155 -0
  370. package/dist/normalize-4OKUF5BJ.js +806 -0
  371. package/dist/normalize-6DEJPTBF.js +144 -0
  372. package/dist/options-OJX77MYT.js +125 -0
  373. package/dist/organization-URQGKFEC.js +949 -0
  374. package/dist/output-2MGOSPDE.js +24 -0
  375. package/dist/page-WKWRKLTC.js +105 -0
  376. package/dist/page-photos-N4S7U7FR.js +118 -0
  377. package/dist/pages-LT3KCVC3.js +67 -0
  378. package/dist/performance-P5T4LJRG.js +27 -0
  379. package/dist/performance-SIWBDORI.js +5565 -0
  380. package/dist/pinterest-KZ7RIHRS.js +104 -0
  381. package/dist/pixels-3BHTXTDV.js +62 -0
  382. package/dist/pixels-IGJFC2XC.js +109 -0
  383. package/dist/plan-ATH2VCVA.js +208 -0
  384. package/dist/posts-MVCGZV54.js +36 -0
  385. package/dist/preview-DMTQR6ZW.js +218 -0
  386. package/dist/profile-OWDBNPNI.js +159 -0
  387. package/dist/promoted-tweet-writes-S2HP5DEI.js +183 -0
  388. package/dist/promoted-tweets-WZT4N5IR.js +119 -0
  389. package/dist/properties-VSOMFI5V.js +101 -0
  390. package/dist/publish-EDYBQHGJ.js +344 -0
  391. package/dist/query-5OS6M4ON.js +231 -0
  392. package/dist/query-NTWXOWPZ.js +236 -0
  393. package/dist/query-PC7V3OFF.js +62 -0
  394. package/dist/questionnaire-HUNGUZNQ.js +94 -0
  395. package/dist/read-DXZJ7UOJ.js +141 -0
  396. package/dist/reddit-DEGGHR4M.js +29 -0
  397. package/dist/refresh-BKYZXXRF.js +42 -0
  398. package/dist/refresh-HPNJGI2U.js +97 -0
  399. package/dist/release-H7M37CEO.js +63 -0
  400. package/dist/relevant-pages-3CCAQA5Y.js +99 -0
  401. package/dist/remove-MV4YS72N.js +53 -0
  402. package/dist/remove-MX2FV44C.js +49 -0
  403. package/dist/reopen-EFW2SKOY.js +66 -0
  404. package/dist/rerun-OM4N74YK.js +96 -0
  405. package/dist/research-7YDQOKA6.js +265 -0
  406. package/dist/research-MHXKAQW4.js +75 -0
  407. package/dist/reset-HT4AGJPR.js +57 -0
  408. package/dist/reset-XPZQ5F4D.js +57 -0
  409. package/dist/resolve-RTTXEN2B.js +124 -0
  410. package/dist/retry-DVLVWHEK.js +63 -0
  411. package/dist/retry-SBGWOUQO.js +65 -0
  412. package/dist/retry-failed-T6PK5SKL.js +45 -0
  413. package/dist/revenue-KJLJ53XY.js +91 -0
  414. package/dist/rule-writes-DNXELESR.js +530 -0
  415. package/dist/rule-writes-DNXELESR.js.map +1 -0
  416. package/dist/rules-KCSET46P.js +217 -0
  417. package/dist/rules-NVKU732Z.js +99 -0
  418. package/dist/rules-add-KY42EHJE.js +465 -0
  419. package/dist/run-2LQ7XJEO.js +69 -0
  420. package/dist/run-M7YU6KCV.js +71 -0
  421. package/dist/scaffold-ad-6YPZ75YJ.js +1513 -0
  422. package/dist/scaffold-static-ad-UJEWTDU5.js +1011 -0
  423. package/dist/scaffold-video-M4VWSVJ6.js +885 -0
  424. package/dist/schedule-ANIYXLG6.js +67 -0
  425. package/dist/schedule-J7HZQ2EL.js +64 -0
  426. package/dist/scheduled-agents-IVUQUKF4.js +55 -0
  427. package/dist/schema-L4PETLZT.js +152 -0
  428. package/dist/schema-L4PETLZT.js.map +1 -0
  429. package/dist/schema-LHBKBUV7.js +135 -0
  430. package/dist/scrape-FQUGOXCG.js +2241 -0
  431. package/dist/screenshot-YRYAOP5E.js +102 -0
  432. package/dist/search-3AW52FO6.js +177 -0
  433. package/dist/search-6XKFFDMJ.js +228 -0
  434. package/dist/search-E75B5APM.js +92 -0
  435. package/dist/search-EKTUTXVN.js +51 -0
  436. package/dist/search-OW3E2Z7Z.js +91 -0
  437. package/dist/search-YARSBZ6D.js +26 -0
  438. package/dist/search-copy-2KO3VR6R.js +168 -0
  439. package/dist/seeds-E64JKXWS.js +101 -0
  440. package/dist/select-STIWQ36I.js +110 -0
  441. package/dist/sends-DEVRKO4M.js +349 -0
  442. package/dist/sequences-YIQSLKV5.js +146 -0
  443. package/dist/set-prompt-TODWV2F4.js +199 -0
  444. package/dist/setup-links-MNBD3UMH.js +144 -0
  445. package/dist/shared-V5ZS25EO.js +32 -0
  446. package/dist/shopify-RJWLTNPQ.js +4009 -0
  447. package/dist/shopify-RJWLTNPQ.js.map +1 -0
  448. package/dist/site-ZZUKS6MQ.js +180 -0
  449. package/dist/sitemaps-ZSISKT6L.js +77 -0
  450. package/dist/sites-XMZ3HPHT.js +97 -0
  451. package/dist/skills-6MJC6CSZ.js +47 -0
  452. package/dist/sources-36MJ6T4V.js +30 -0
  453. package/dist/sources-GNLQHTSJ.js +457 -0
  454. package/dist/stale-GJN7UO3D.js +90 -0
  455. package/dist/stats-FSAXWTSE.js +34 -0
  456. package/dist/status-6EGB6ORB.js +65 -0
  457. package/dist/sticker-GXCI4WL5.js +102 -0
  458. package/dist/stock-DJ6I3CTO.js +187 -0
  459. package/dist/studies-4XXCEAHH.js +250 -0
  460. package/dist/studio-OARORMDJ.js +49 -0
  461. package/dist/study-writes-J56UIIE3.js +471 -0
  462. package/dist/study-writes-J56UIIE3.js.map +1 -0
  463. package/dist/suggest-DSMKK4FP.js +66 -0
  464. package/dist/sync-QHM3LMAX.js +57 -0
  465. package/dist/sync-WKV3N3LD.js +279 -0
  466. package/dist/sync-XFK4U6TA.js +55 -0
  467. package/dist/sync-definition-YXGN6PIQ.js +70 -0
  468. package/dist/tag-L2H5TSFJ.js +57 -0
  469. package/dist/tag-manager-5WZPX2FJ.js +43 -0
  470. package/dist/tags-GHV5R7NI.js +26 -0
  471. package/dist/tags-IDWUV2FY.js +227 -0
  472. package/dist/tags-MBBRBZJH.js +23 -0
  473. package/dist/tags-MQYF2JHQ.js +23 -0
  474. package/dist/tags-ZGXJHATH.js +23 -0
  475. package/dist/targeting-KJ4DI56R.js +762 -0
  476. package/dist/targeting-constants-ZS422W5A.js +118 -0
  477. package/dist/targeting-criteria-GDCXOAUD.js +113 -0
  478. package/dist/targets-MYHOPAYY.js +106 -0
  479. package/dist/terms-NX5CAJXT.js +102 -0
  480. package/dist/testimonials-R6RFGAKP.js +32 -0
  481. package/dist/themes-LHVXXVTX.js +95 -0
  482. package/dist/top-companies-POTV3Y2A.js +111 -0
  483. package/dist/transcript-4RVYKDVZ.js +165 -0
  484. package/dist/translate-UCASCVMN.js +603 -0
  485. package/dist/triggers-XHMMOZJK.js +144 -0
  486. package/dist/tweets-33OCH74J.js +123 -0
  487. package/dist/unfollow-G26NHR5X.js +46 -0
  488. package/dist/unlink-3IW3EORE.js +70 -0
  489. package/dist/unstage-APVF6KHB.js +88 -0
  490. package/dist/unstage-OAPP6Z5V.js +96 -0
  491. package/dist/update-2VSJH4LQ.js +66 -0
  492. package/dist/update-42QYBUE3.js +101 -0
  493. package/dist/update-ESK6PSME.js +192 -0
  494. package/dist/update-KXTP3VPI.js +81 -0
  495. package/dist/update-V7SRDGHN.js +155 -0
  496. package/dist/upload-42IR5RIL.js +130 -0
  497. package/dist/upload-LSEV74SF.js +150 -0
  498. package/dist/upscale-X3B5CHG3.js +109 -0
  499. package/dist/url-options-GJ7ZIUPD.js +131 -0
  500. package/dist/url-params-GEESXN57.js +101 -0
  501. package/dist/use-D3SKAKUU.js +111 -0
  502. package/dist/validate-Z5SSEUES.js +125 -0
  503. package/dist/variant-MEHXEXFK.js +338 -0
  504. package/dist/videos-PJAPZPOT.js +41 -0
  505. package/dist/view-HTCYEBXN.js +133 -0
  506. package/dist/viewer-check-6M34VY7K.js +83 -0
  507. package/dist/web-PUVVFMV3.js +173 -0
  508. package/dist/winners-CGLS7SZ3.js +113 -0
  509. package/dist/winning-ads-ZCP4MIEQ.js +86 -0
  510. package/dist/write-commands-5LEEPKA7.js +1169 -0
  511. package/dist/write-commands-5LEEPKA7.js.map +1 -0
  512. package/dist/write-commands-HQQOJGP4.js +721 -0
  513. package/dist/write-commands-HQQOJGP4.js.map +1 -0
  514. package/dist/write-commands-QNXR5ENS.js +206 -0
  515. package/dist/write-commands-ZS4O4DSV.js +1524 -0
  516. package/dist/write-commands-ZS4O4DSV.js.map +1 -0
  517. package/dist/x-ZKCLP23S.js +47 -0
  518. package/package.json +1 -1
  519. package/dist/account-2EUMSJ6E.js +0 -82
  520. package/dist/account-7YEN7D6B.js +0 -139
  521. package/dist/account-RXX6HCCL.js +0 -82
  522. package/dist/account-assets-HX7OYWZA.js +0 -290
  523. package/dist/account-level-I5BKCGP5.js +0 -611
  524. package/dist/account-reads-7FUCOWBE.js +0 -219
  525. package/dist/account-users-Z5RFUBXP.js +0 -64
  526. package/dist/account-writes-TG3XVEPD.js +0 -68
  527. package/dist/accounts-AC7ZBCS2.js +0 -76
  528. package/dist/accounts-I4EXOKR7.js +0 -115
  529. package/dist/accounts-MFCQIHYM.js +0 -701
  530. package/dist/accounts-MMIWLNGB.js +0 -80
  531. package/dist/accounts-WYFUDH2V.js +0 -114
  532. package/dist/actions-QIKHRNJX.js +0 -55
  533. package/dist/active-entities-AEXKE2EN.js +0 -103
  534. package/dist/activecampaign-RQJ7PQPM.js +0 -938
  535. package/dist/activities-N5BD57MF.js +0 -75
  536. package/dist/ad-group-writes-OLQM2VNX.js +0 -172
  537. package/dist/ad-groups-ENLD7CU4.js +0 -70
  538. package/dist/ad-writes-FF6PT3R5.js +0 -176
  539. package/dist/add-3JWLLGUJ.js +0 -80
  540. package/dist/add-4JUXMRNA.js +0 -148
  541. package/dist/add-4NK4DIER.js +0 -97
  542. package/dist/add-AO3F6EJY.js +0 -107
  543. package/dist/add-NQUHPVZ5.js +0 -81
  544. package/dist/add-QYLIXGQT.js +0 -305
  545. package/dist/add-accounts-XCYWXGO3.js +0 -91
  546. package/dist/ads-H6TOLQKA.js +0 -79
  547. package/dist/ads-JNXLC3PU.js +0 -120
  548. package/dist/ads-MXH4DNG2.js +0 -48
  549. package/dist/ads-XEAMDEZW.js +0 -128
  550. package/dist/adsets-W5JSNW4Q.js +0 -182
  551. package/dist/advertisers-7KCF3ODT.js +0 -123
  552. package/dist/advertisers-IAXF43LX.js +0 -125
  553. package/dist/analytics-3AMSN535.js +0 -447
  554. package/dist/analytics-5SPL5E7Q.js +0 -2437
  555. package/dist/animate-WXSSXUTY.js +0 -480
  556. package/dist/approved-HDDHLECJ.js +0 -73
  557. package/dist/asset-writes-VYGJRLEA.js +0 -50
  558. package/dist/assign-D3XCS6PD.js +0 -80
  559. package/dist/audience-size-SQRAXCQD.js +0 -76
  560. package/dist/audience-writes-YMCOA47Z.js +0 -327
  561. package/dist/audiences-VKU7E4LI.js +0 -85
  562. package/dist/audiences-XUY2Y6OH.js +0 -280
  563. package/dist/audiences-Y4UIPHB7.js +0 -106
  564. package/dist/audit-DVIKUMSU.js +0 -154
  565. package/dist/audit-HWA6SOH3.js +0 -88
  566. package/dist/autocomplete-FJNOPOVG.js +0 -114
  567. package/dist/avatars-VMJE6IL4.js +0 -38
  568. package/dist/bid-pricing-HFPRGFPN.js +0 -103
  569. package/dist/brand-NJI7MUWN.js +0 -22
  570. package/dist/brief-LHQJCJOK.js +0 -543
  571. package/dist/businesses-DEKE2CRX.js +0 -54
  572. package/dist/campaign-groups-QPTKMJBU.js +0 -99
  573. package/dist/campaign-writes-3NFFDIFM.js +0 -176
  574. package/dist/campaign-writes-YSFLDOPH.js +0 -168
  575. package/dist/campaigns-4KDJBCA7.js +0 -78
  576. package/dist/campaigns-AI2ZHOK6.js +0 -111
  577. package/dist/campaigns-KXQDUFVX.js +0 -130
  578. package/dist/campaigns-P6WHQMG3.js +0 -113
  579. package/dist/canvas-CDMROW44.js +0 -46
  580. package/dist/capabilities-B24L6H6H.js +0 -147
  581. package/dist/cards-UCEENP55.js +0 -85
  582. package/dist/catalog-FBJC7XUE.js +0 -66
  583. package/dist/catalogs-2CCZQAS3.js +0 -130
  584. package/dist/catalogs-TAQIAKNJ.js +0 -781
  585. package/dist/catalogs-TAQIAKNJ.js.map +0 -1
  586. package/dist/changes-TTQCZMYX.js +0 -143
  587. package/dist/chatgpt-D7MUGYE5.js +0 -47
  588. package/dist/chats-AI4NH34F.js +0 -449
  589. package/dist/check-L2BVFQU6.js +0 -107
  590. package/dist/chunk-23LJR6WD.js +0 -26
  591. package/dist/chunk-26ALFAKU.js +0 -8954
  592. package/dist/chunk-2YYOFA2A.js +0 -638
  593. package/dist/chunk-353QTP3X.js +0 -69
  594. package/dist/chunk-3A7BDDXS.js +0 -188
  595. package/dist/chunk-3I62TYHW.js +0 -438
  596. package/dist/chunk-3XJM5HX6.js +0 -136
  597. package/dist/chunk-3XWQ4ZS5.js +0 -494
  598. package/dist/chunk-43ECPEJT.js +0 -274
  599. package/dist/chunk-46P74AFU.js +0 -51
  600. package/dist/chunk-4HHIW7PR.js +0 -46
  601. package/dist/chunk-4UJOEGWH.js +0 -377
  602. package/dist/chunk-4UJOEGWH.js.map +0 -1
  603. package/dist/chunk-542AB7CV.js +0 -718
  604. package/dist/chunk-5HLAN4U2.js +0 -219
  605. package/dist/chunk-6VVSAVMC.js +0 -84
  606. package/dist/chunk-72K4LY24.js +0 -76
  607. package/dist/chunk-7KJ24KFI.js +0 -324
  608. package/dist/chunk-7SYPFWCW.js +0 -297
  609. package/dist/chunk-A2EZCLLG.js +0 -100
  610. package/dist/chunk-BUKBQPDY.js +0 -1902
  611. package/dist/chunk-BXHS4OIS.js +0 -207
  612. package/dist/chunk-BXHS4OIS.js.map +0 -1
  613. package/dist/chunk-BXTSQUBI.js +0 -544
  614. package/dist/chunk-CECKSPNC.js +0 -125
  615. package/dist/chunk-CRORJLBL.js +0 -91
  616. package/dist/chunk-CTX4RST4.js +0 -287
  617. package/dist/chunk-DF7IGB3K.js +0 -296
  618. package/dist/chunk-DNZILIEW.js +0 -56
  619. package/dist/chunk-DZLPWNR4.js +0 -275
  620. package/dist/chunk-EFDL5R3O.js +0 -169
  621. package/dist/chunk-EZ6GOPHI.js +0 -843
  622. package/dist/chunk-FBTQGEUE.js +0 -225
  623. package/dist/chunk-FKWXVASL.js +0 -106
  624. package/dist/chunk-GJKEGZJB.js +0 -84
  625. package/dist/chunk-GUEFMO3G.js +0 -64
  626. package/dist/chunk-GUPOLYU5.js +0 -23
  627. package/dist/chunk-H3KQKEQH.js +0 -74
  628. package/dist/chunk-H7FWXSSR.js +0 -430
  629. package/dist/chunk-HQSBYDPE.js +0 -679
  630. package/dist/chunk-HQSBYDPE.js.map +0 -1
  631. package/dist/chunk-IWNQRZHT.js +0 -910
  632. package/dist/chunk-J5RABWAF.js +0 -25
  633. package/dist/chunk-JGAF356Q.js +0 -46
  634. package/dist/chunk-JTHOGRB6.js +0 -45
  635. package/dist/chunk-KDTF2SN6.js +0 -547
  636. package/dist/chunk-KMQKTZ47.js +0 -19
  637. package/dist/chunk-KQEDNZ7K.js +0 -73
  638. package/dist/chunk-KXVJJQG6.js +0 -58
  639. package/dist/chunk-LFSSOKDJ.js +0 -76
  640. package/dist/chunk-MBJHRRDS.js +0 -66
  641. package/dist/chunk-MGHPM72R.js +0 -217
  642. package/dist/chunk-MPNYIGO7.js +0 -857
  643. package/dist/chunk-MPQ5HUAO.js +0 -131
  644. package/dist/chunk-NNQCVHVJ.js +0 -1919
  645. package/dist/chunk-NNSDAAPZ.js +0 -97
  646. package/dist/chunk-NSBNIPIW.js +0 -225
  647. package/dist/chunk-NSBNIPIW.js.map +0 -1
  648. package/dist/chunk-O3HSNUTL.js +0 -344
  649. package/dist/chunk-O4OPH3ZE.js +0 -476
  650. package/dist/chunk-OMOHRYZ3.js +0 -94
  651. package/dist/chunk-OOGGID5L.js +0 -148
  652. package/dist/chunk-OPWDBSU4.js +0 -604
  653. package/dist/chunk-OQ53NO5K.js +0 -42
  654. package/dist/chunk-OQ7CLFEL.js +0 -229
  655. package/dist/chunk-OX5OAT7L.js +0 -831
  656. package/dist/chunk-P4TA3B4C.js +0 -35
  657. package/dist/chunk-PA5PS5KO.js +0 -333
  658. package/dist/chunk-PF3SQX7Z.js +0 -197
  659. package/dist/chunk-PFNUAV22.js +0 -64
  660. package/dist/chunk-QWRZIHFS.js +0 -685
  661. package/dist/chunk-QYOEFBWO.js +0 -69
  662. package/dist/chunk-RFVEHOOC.js +0 -91
  663. package/dist/chunk-RKNSYZX3.js +0 -142
  664. package/dist/chunk-RQA2NP4Y.js +0 -207
  665. package/dist/chunk-S3TBE37M.js +0 -215
  666. package/dist/chunk-S6ZLKSQJ.js +0 -285
  667. package/dist/chunk-SF3GHRMB.js +0 -139
  668. package/dist/chunk-SFDDNAFB.js +0 -152
  669. package/dist/chunk-SW5ONXMD.js +0 -225
  670. package/dist/chunk-T764KNWP.js +0 -52
  671. package/dist/chunk-TDTFJZAC.js +0 -156
  672. package/dist/chunk-TFEPULZS.js +0 -97
  673. package/dist/chunk-TMYLRI3S.js +0 -3510
  674. package/dist/chunk-TSVQTNXZ.js +0 -166
  675. package/dist/chunk-TSVQTNXZ.js.map +0 -1
  676. package/dist/chunk-TV67FGUQ.js +0 -39
  677. package/dist/chunk-U73TWJRK.js +0 -249
  678. package/dist/chunk-UMLSSKXS.js +0 -103
  679. package/dist/chunk-UOWWM3YF.js +0 -930
  680. package/dist/chunk-UOYVUUTX.js +0 -288
  681. package/dist/chunk-V2FZ4QNC.js +0 -191
  682. package/dist/chunk-V3O7ZSQD.js +0 -106
  683. package/dist/chunk-V4GSW4NH.js +0 -1518
  684. package/dist/chunk-VGEW4R4Y.js +0 -191
  685. package/dist/chunk-VYEFXIEM.js +0 -2511
  686. package/dist/chunk-VYEFXIEM.js.map +0 -1
  687. package/dist/chunk-W2OX5K3G.js +0 -98
  688. package/dist/chunk-WBZXRHL7.js +0 -163
  689. package/dist/chunk-X45ABI5E.js +0 -167
  690. package/dist/chunk-XGEJTRNF.js +0 -455
  691. package/dist/chunk-XLYLRUFX.js +0 -24026
  692. package/dist/chunk-XR6FJ272.js +0 -111
  693. package/dist/chunk-Y5IMWZZN.js +0 -5471
  694. package/dist/chunk-Y7KAVULE.js +0 -66
  695. package/dist/chunk-YIQ7PMJG.js +0 -1646
  696. package/dist/chunk-YKXSJGMA.js +0 -1744
  697. package/dist/chunk-YUA6VVET.js +0 -75
  698. package/dist/chunk-YYK4CXLY.js +0 -138
  699. package/dist/chunk-YYQQPDVY.js +0 -2209
  700. package/dist/chunk-Z5AO4Y6W.js +0 -5368
  701. package/dist/chunk-Z5KZ5BV3.js +0 -170
  702. package/dist/chunk-ZPO3NAJY.js +0 -203
  703. package/dist/chunk-ZR3BISO2.js +0 -224
  704. package/dist/chunk-ZR5H5CZI.js +0 -89
  705. package/dist/chunk-ZSZGKMOK.js +0 -98
  706. package/dist/cite-KDF6WQXE.js +0 -191
  707. package/dist/claim-BKJBLN7A.js +0 -200
  708. package/dist/client-MRXMPXJE.js +0 -19
  709. package/dist/code-XZWB4INH.js +0 -76
  710. package/dist/companies-6IQS5YAR.js +0 -198
  711. package/dist/company-WT4Q52W6.js +0 -308
  712. package/dist/complete-TTL4GXUZ.js +0 -84
  713. package/dist/config-ZXODU47A.js +0 -88
  714. package/dist/connect-G6RW4GPI.js +0 -45
  715. package/dist/content-3SZYVF56.js +0 -85
  716. package/dist/conversation-QDMNXK5P.js +0 -96
  717. package/dist/conversion-report-EIZEII3H.js +0 -127
  718. package/dist/conversion-upload-command-BYYYQXY5.js +0 -439
  719. package/dist/conversion-writes-3N2J25ZN.js +0 -122
  720. package/dist/conversions-3DNIEYY2.js +0 -78
  721. package/dist/conversions-DPKOO7H5.js +0 -140
  722. package/dist/copy-writes-OFXLTBQN.js +0 -170
  723. package/dist/countries-JM54BJXV.js +0 -82
  724. package/dist/create-64UE6JVK.js +0 -135
  725. package/dist/create-NKMOQC7A.js +0 -239
  726. package/dist/create-OXBIHL72.js +0 -62
  727. package/dist/create-ZM3I3NSN.js +0 -210
  728. package/dist/creatives-63O6HUXF.js +0 -58
  729. package/dist/creatives-J6MZKMCX.js +0 -118
  730. package/dist/creatives-XRLYZ2ME.js +0 -223
  731. package/dist/credentials-FC36D37N.js +0 -290
  732. package/dist/critique-AC7EPDQA.js +0 -1451
  733. package/dist/critique-RHN32S7D.js +0 -232
  734. package/dist/crm-NFDEK2GT.js +0 -227
  735. package/dist/crm-NQ4FDJ7E.js +0 -323
  736. package/dist/crop-B2CACBC4.js +0 -113
  737. package/dist/currency-XRGG5OKI.js +0 -88
  738. package/dist/custom-conversions-R3ROXHYL.js +0 -128
  739. package/dist/customers-TNVCX27L.js +0 -65
  740. package/dist/decide-MDNIHSQG.js +0 -199
  741. package/dist/delete-DTHXGG5F.js +0 -67
  742. package/dist/delete-F43G4Z3D.js +0 -85
  743. package/dist/delete-LGUXPTBC.js +0 -69
  744. package/dist/delete-RSZU4I76.js +0 -57
  745. package/dist/delete-VXYTITXA.js +0 -71
  746. package/dist/delete-ZKKB553W.js +0 -69
  747. package/dist/demographics-2UXLA4GW.js +0 -141
  748. package/dist/describe-CH3IFPOT.js +0 -97
  749. package/dist/describe-QTAOAQM4.js +0 -97
  750. package/dist/dimensions-5E3AN6A7.js +0 -101
  751. package/dist/discard-E7AD6IVJ.js +0 -69
  752. package/dist/discover-ELMDMJRX.js +0 -93
  753. package/dist/discover-SRXLIPGU.js +0 -172
  754. package/dist/domain-B6GYZ6BX.js +0 -101
  755. package/dist/download-FS5WHNFA.js +0 -172
  756. package/dist/download-XOABASZF.js +0 -299
  757. package/dist/draft-4KW5SRI2.js +0 -106
  758. package/dist/draft-4KW5SRI2.js.map +0 -1
  759. package/dist/draft-7VI5GTEY.js +0 -247
  760. package/dist/draft-7VI5GTEY.js.map +0 -1
  761. package/dist/draft-EWR2ADNX.js +0 -313
  762. package/dist/draft-EWR2ADNX.js.map +0 -1
  763. package/dist/draft-F26LGHM5.js +0 -408
  764. package/dist/draft-F26LGHM5.js.map +0 -1
  765. package/dist/draft-ICHAAUVH.js +0 -106
  766. package/dist/draft-ICHAAUVH.js.map +0 -1
  767. package/dist/draft-MSWSLIY2.js +0 -288
  768. package/dist/draft-MSWSLIY2.js.map +0 -1
  769. package/dist/draft-PFW24WXM.js +0 -342
  770. package/dist/draft-PFW24WXM.js.map +0 -1
  771. package/dist/draft-XBD3UC64.js +0 -220
  772. package/dist/env-BNQON23N.js +0 -53
  773. package/dist/experiment-SNC6RCF3.js +0 -1397
  774. package/dist/experiments-E6NXWJ7X.js +0 -236
  775. package/dist/export-6O62J5I2.js +0 -168
  776. package/dist/extract-D2WSRIKY.js +0 -121
  777. package/dist/facets-R5U2G3R2.js +0 -117
  778. package/dist/favorites-GGJGLED7.js +0 -178
  779. package/dist/feed-FN3BLYD2.js +0 -177
  780. package/dist/feedback-LPFQ567L.js +0 -136
  781. package/dist/feedback-QQRAOFJN.js +0 -115
  782. package/dist/feedback-record-OCKDPXGM.js +0 -269
  783. package/dist/fetch-ET734X4Q.js +0 -139
  784. package/dist/fetch-I5VVAVLY.js +0 -204
  785. package/dist/find-XS42XIYQ.js +0 -143
  786. package/dist/fit-C7SYZA65.js +0 -65
  787. package/dist/flows-I5G5ICEQ.js +0 -250
  788. package/dist/follow-7O37OI4Q.js +0 -94
  789. package/dist/follow-competitors-XLLDO72Q.js +0 -112
  790. package/dist/following-VLSMUMOM.js +0 -113
  791. package/dist/fonts-BOQTTVX5.js +0 -39
  792. package/dist/forecast-5G5LMGHN.js +0 -121
  793. package/dist/forecast-QBXVLV7Q.js +0 -169
  794. package/dist/funding-XLY5LNY6.js +0 -85
  795. package/dist/funnel-O43PBVPI.js +0 -397
  796. package/dist/ga4-3JQDPZ27.js +0 -55
  797. package/dist/generate-FW5ZPZCC.js +0 -263
  798. package/dist/get-4N4F4F5P.js +0 -62
  799. package/dist/get-55JEQM4R.js +0 -59
  800. package/dist/get-5P4WESPY.js +0 -92
  801. package/dist/get-6VRSSUJJ.js +0 -38
  802. package/dist/get-DOZKX4LD.js +0 -74
  803. package/dist/get-MS7HTZBZ.js +0 -62
  804. package/dist/get-RTEW2UQK.js +0 -82
  805. package/dist/get-SZ3BKDS6.js +0 -56
  806. package/dist/gif-H2GKAG4C.js +0 -110
  807. package/dist/google-FJJ34DCE.js +0 -144
  808. package/dist/google-V74DJSG6.js +0 -3270
  809. package/dist/google-V74DJSG6.js.map +0 -1
  810. package/dist/google-ads-3TEGRLIY.js +0 -198
  811. package/dist/group-JNLMRIKV.js +0 -43
  812. package/dist/group-KEJHQXTJ.js +0 -43
  813. package/dist/gsc-N7ILDOX4.js +0 -30
  814. package/dist/history-IXKSY5DE.js +0 -69
  815. package/dist/history-SWBZK2YL.js +0 -102
  816. package/dist/history-ZWU3ZV2E.js +0 -153
  817. package/dist/hubspot-WIZRU3UE.js +0 -782
  818. package/dist/icon-V6VRNURZ.js +0 -137
  819. package/dist/ideas-CXDU7YCE.js +0 -45
  820. package/dist/images-PB6SWXTZ.js +0 -92
  821. package/dist/improve-JWQYC7AP.js +0 -86
  822. package/dist/ingest-7ZN46XK4.js +0 -123
  823. package/dist/ingest-GZ6EXNHT.js +0 -27
  824. package/dist/insights-BWZXYBZY.js +0 -658
  825. package/dist/insights-P7JG6Y2H.js +0 -132
  826. package/dist/inspect-BCKUHTRR.js +0 -192
  827. package/dist/inspiration-WGMKYSGM.js +0 -53
  828. package/dist/instant-experiences-B4HZ7KV4.js +0 -263
  829. package/dist/instant-experiences-B4HZ7KV4.js.map +0 -1
  830. package/dist/intent-EWNVDZKU.js +0 -95
  831. package/dist/job-FJRS3GVA.js +0 -202
  832. package/dist/job-create-MVXMKPXS.js +0 -109
  833. package/dist/job-status-O3GGFMAW.js +0 -74
  834. package/dist/keep-55NEIXH2.js +0 -78
  835. package/dist/keyword-gap-YUG6BVQI.js +0 -130
  836. package/dist/keyword-metrics-7VH4DGCR.js +0 -200
  837. package/dist/keywords-for-site-OIICFZI5.js +0 -131
  838. package/dist/knowledge-OM3GKZHU.js +0 -195
  839. package/dist/landing-T42TKOBK.js +0 -28
  840. package/dist/landings-JKO53RI4.js +0 -151
  841. package/dist/languages-TAFIWRI6.js +0 -40
  842. package/dist/languages-YU5YUGFN.js +0 -55
  843. package/dist/launches-SJTNJHZY.js +0 -19
  844. package/dist/layerize-HUELG4D3.js +0 -190
  845. package/dist/lead-routes-KLTGRS2S.js +0 -733
  846. package/dist/leads-LQT5KDYJ.js +0 -115
  847. package/dist/leads-YEM6VQAB.js +0 -540
  848. package/dist/leads-YEM6VQAB.js.map +0 -1
  849. package/dist/learn-UY5FNEQF.js +0 -207
  850. package/dist/library-2ZTAEY4Y.js +0 -211
  851. package/dist/lighthouse-FA4NNWNM.js +0 -75
  852. package/dist/line-item-writes-CQRO25FM.js +0 -211
  853. package/dist/line-items-56KP6W53.js +0 -107
  854. package/dist/link-CQNRSZ2Z.js +0 -67
  855. package/dist/linkedin-ICM5CNNS.js +0 -1330
  856. package/dist/linkedin-ICM5CNNS.js.map +0 -1
  857. package/dist/linkedin-person-F74QX3WE.js +0 -139
  858. package/dist/list-5L74D5T5.js +0 -67
  859. package/dist/list-6PNILPKX.js +0 -76
  860. package/dist/list-FXMOUNMB.js +0 -93
  861. package/dist/list-GMEW776J.js +0 -154
  862. package/dist/list-O6KMSZUA.js +0 -57
  863. package/dist/list-OLBLGL5J.js +0 -65
  864. package/dist/list-TLKWSNZR.js +0 -51
  865. package/dist/list-TSM2LE2Q.js +0 -306
  866. package/dist/list-VQLA4C62.js +0 -50
  867. package/dist/locations-CPLAS65V.js +0 -69
  868. package/dist/locations-ONA23SAQ.js +0 -40
  869. package/dist/log-55GU4YPD.js +0 -95
  870. package/dist/logo-3YBVVQ4K.js +0 -18
  871. package/dist/lookup-Z3AA3ON4.js +0 -23
  872. package/dist/make-3LNSICDO.js +0 -1367
  873. package/dist/map-ARNZ3BY3.js +0 -436
  874. package/dist/mcp-PXKB5LQD.js +0 -729
  875. package/dist/media-3ON3VBC3.js +0 -18
  876. package/dist/media-SEC7SPHW.js +0 -89
  877. package/dist/media-sources-7EXSVEAE.js +0 -35
  878. package/dist/members-35KOCZHC.js +0 -47
  879. package/dist/meme-JL24ZEUF.js +0 -100
  880. package/dist/meta-W2YTPZE7.js +0 -122
  881. package/dist/metrics-WDFO5ESK.js +0 -152
  882. package/dist/models-UVJ7M7DP.js +0 -155
  883. package/dist/normalize-I7KCFLAK.js +0 -144
  884. package/dist/normalize-KXI3OOFS.js +0 -806
  885. package/dist/options-EYZEFVNI.js +0 -125
  886. package/dist/organization-KJPIZ66W.js +0 -949
  887. package/dist/output-LECDMH7S.js +0 -24
  888. package/dist/page-OUC6APBH.js +0 -105
  889. package/dist/page-photos-UULNPJL2.js +0 -118
  890. package/dist/pages-WBJTWSBH.js +0 -67
  891. package/dist/performance-4MEHG2H3.js +0 -27
  892. package/dist/performance-QZGRGTTY.js +0 -5565
  893. package/dist/pinterest-PXWEV5OM.js +0 -104
  894. package/dist/pixels-CBZQK7ME.js +0 -62
  895. package/dist/pixels-ZXBYDD64.js +0 -109
  896. package/dist/plan-QND22WEP.js +0 -208
  897. package/dist/posts-XZUV6SGX.js +0 -36
  898. package/dist/preview-KMEUO2CB.js +0 -218
  899. package/dist/profile-WXAGYNMQ.js +0 -159
  900. package/dist/promoted-tweet-writes-RKRDYXAF.js +0 -183
  901. package/dist/promoted-tweets-UTOGYF5N.js +0 -119
  902. package/dist/properties-Q7W4YPU6.js +0 -101
  903. package/dist/publish-4BXIE5GB.js +0 -344
  904. package/dist/query-H3VKUXUG.js +0 -236
  905. package/dist/query-ICQABM2L.js +0 -62
  906. package/dist/query-ZFU76BDS.js +0 -231
  907. package/dist/questionnaire-7AO5NN34.js +0 -94
  908. package/dist/read-RQ6B75BE.js +0 -141
  909. package/dist/reddit-CGDBA7SX.js +0 -29
  910. package/dist/refresh-L2HDEKPI.js +0 -97
  911. package/dist/refresh-LMGFOXE6.js +0 -42
  912. package/dist/release-DLUKLF5A.js +0 -63
  913. package/dist/relevant-pages-DTSXV6J2.js +0 -99
  914. package/dist/remove-GOLZDJ7V.js +0 -49
  915. package/dist/remove-VM3KCNGB.js +0 -53
  916. package/dist/reopen-HJBG23JS.js +0 -66
  917. package/dist/rerun-SYTG4PF6.js +0 -96
  918. package/dist/research-TW6Z74VO.js +0 -265
  919. package/dist/research-VHJI5A3Y.js +0 -75
  920. package/dist/reset-L2UK4NTV.js +0 -57
  921. package/dist/reset-RZFVT6EV.js +0 -57
  922. package/dist/resolve-2BBQKCP7.js +0 -124
  923. package/dist/retry-2QFOQQIC.js +0 -63
  924. package/dist/retry-YN7FECGJ.js +0 -65
  925. package/dist/retry-failed-NOCAPHDH.js +0 -45
  926. package/dist/revenue-Y3USV6E7.js +0 -91
  927. package/dist/rule-writes-DU55RVJE.js +0 -525
  928. package/dist/rule-writes-DU55RVJE.js.map +0 -1
  929. package/dist/rules-DQBFGPKC.js +0 -217
  930. package/dist/rules-S5H4CTN6.js +0 -99
  931. package/dist/rules-add-UZR5X7QG.js +0 -465
  932. package/dist/run-DPRASW62.js +0 -69
  933. package/dist/run-TBGBI522.js +0 -71
  934. package/dist/scaffold-ad-RCGPKWBQ.js +0 -1513
  935. package/dist/scaffold-static-ad-2GJOXOKA.js +0 -1011
  936. package/dist/scaffold-video-Y7X34F3N.js +0 -885
  937. package/dist/schedule-MMW63ZDZ.js +0 -67
  938. package/dist/schedule-VY75FPE3.js +0 -64
  939. package/dist/scheduled-agents-2ZSA5S3K.js +0 -55
  940. package/dist/schema-KIJGNKJA.js +0 -135
  941. package/dist/schema-LJTWPB45.js +0 -121
  942. package/dist/schema-LJTWPB45.js.map +0 -1
  943. package/dist/scrape-G6QIBY6U.js +0 -2241
  944. package/dist/screenshot-CMOGVSDO.js +0 -102
  945. package/dist/search-CSHJCL73.js +0 -228
  946. package/dist/search-DZGN5GDP.js +0 -51
  947. package/dist/search-EIIDSTTZ.js +0 -177
  948. package/dist/search-FY53LEQY.js +0 -26
  949. package/dist/search-S4YK5ACT.js +0 -92
  950. package/dist/search-XT22RJG2.js +0 -91
  951. package/dist/search-copy-32URULZJ.js +0 -168
  952. package/dist/seeds-XH2263HW.js +0 -101
  953. package/dist/select-HXFWS3YO.js +0 -110
  954. package/dist/sends-OKJS7WVX.js +0 -349
  955. package/dist/sequences-DOITIST4.js +0 -146
  956. package/dist/set-prompt-QPIXPF4Q.js +0 -199
  957. package/dist/setup-links-7XH4QW57.js +0 -144
  958. package/dist/shared-5EPTXTGW.js +0 -32
  959. package/dist/shopify-MNHCP5JX.js +0 -3980
  960. package/dist/shopify-MNHCP5JX.js.map +0 -1
  961. package/dist/site-JH5HWJ7P.js +0 -180
  962. package/dist/sitemaps-NSOO5DBU.js +0 -77
  963. package/dist/sites-VJDFYXP4.js +0 -97
  964. package/dist/skills-RFKWA74T.js +0 -47
  965. package/dist/sources-QZNISAXZ.js +0 -30
  966. package/dist/sources-X6R7OCG2.js +0 -457
  967. package/dist/stale-BVP4XBGS.js +0 -90
  968. package/dist/stats-IYESUTZB.js +0 -34
  969. package/dist/status-4DXPN6EW.js +0 -65
  970. package/dist/sticker-C7O2K75Q.js +0 -102
  971. package/dist/stock-YA27CW4K.js +0 -187
  972. package/dist/studies-OSYBQE7W.js +0 -250
  973. package/dist/studio-V3HINEVU.js +0 -49
  974. package/dist/study-writes-UA2CDAUF.js +0 -470
  975. package/dist/study-writes-UA2CDAUF.js.map +0 -1
  976. package/dist/suggest-BLYWQV4H.js +0 -66
  977. package/dist/sync-BP2NL7BA.js +0 -57
  978. package/dist/sync-KXOJMM2K.js +0 -279
  979. package/dist/sync-WGZ4522U.js +0 -55
  980. package/dist/sync-definition-SAOKH7RQ.js +0 -70
  981. package/dist/tag-MKWBX22O.js +0 -57
  982. package/dist/tag-manager-AKW4EG4W.js +0 -43
  983. package/dist/tags-DV3IVJBS.js +0 -23
  984. package/dist/tags-N54OQ55M.js +0 -23
  985. package/dist/tags-QAL6XAHS.js +0 -26
  986. package/dist/tags-RMPC3Q5E.js +0 -23
  987. package/dist/tags-TSEVQAKY.js +0 -227
  988. package/dist/targeting-VOZUDYFI.js +0 -762
  989. package/dist/targeting-constants-7YWLK6KM.js +0 -118
  990. package/dist/targeting-criteria-OUN7VYFP.js +0 -113
  991. package/dist/targets-SUDKTBLH.js +0 -106
  992. package/dist/terms-AY5LECWX.js +0 -102
  993. package/dist/testimonials-JMKFBJYD.js +0 -32
  994. package/dist/themes-WJ35YEXI.js +0 -95
  995. package/dist/top-companies-ESGGS2SE.js +0 -111
  996. package/dist/transcript-YXTBCJ67.js +0 -165
  997. package/dist/translate-W6AMHQWO.js +0 -603
  998. package/dist/triggers-YZTGKFBI.js +0 -144
  999. package/dist/tweets-B6EWPDYI.js +0 -123
  1000. package/dist/unfollow-ACQTL2GW.js +0 -46
  1001. package/dist/unlink-FEKMX5Q7.js +0 -70
  1002. package/dist/unstage-MWAG2SLK.js +0 -96
  1003. package/dist/unstage-PIO6RJLT.js +0 -88
  1004. package/dist/update-3PFWIMEI.js +0 -192
  1005. package/dist/update-4ANTGEPT.js +0 -81
  1006. package/dist/update-HCJC2OG4.js +0 -101
  1007. package/dist/update-IHWWJFD5.js +0 -66
  1008. package/dist/update-NGLID7LC.js +0 -155
  1009. package/dist/upload-JMXCQDCA.js +0 -130
  1010. package/dist/upload-JYLLFY3P.js +0 -150
  1011. package/dist/upscale-FZQ5P2UR.js +0 -109
  1012. package/dist/url-options-BWNHNIAK.js +0 -131
  1013. package/dist/url-params-4ROYWFVV.js +0 -101
  1014. package/dist/use-SMS2UK32.js +0 -111
  1015. package/dist/validate-P4RRB3QA.js +0 -125
  1016. package/dist/variant-2PJH7U2M.js +0 -338
  1017. package/dist/videos-RRXYBR52.js +0 -41
  1018. package/dist/view-AJ7ROYFP.js +0 -133
  1019. package/dist/viewer-check-PD6UQ63S.js +0 -83
  1020. package/dist/web-5SWHU5KW.js +0 -173
  1021. package/dist/winners-FJXS3LGU.js +0 -113
  1022. package/dist/winning-ads-HH3WI5KB.js +0 -86
  1023. package/dist/write-commands-EOIXXSVY.js +0 -1172
  1024. package/dist/write-commands-EOIXXSVY.js.map +0 -1
  1025. package/dist/write-commands-GBMVUFZU.js +0 -1525
  1026. package/dist/write-commands-GBMVUFZU.js.map +0 -1
  1027. package/dist/write-commands-GQP24VMR.js +0 -713
  1028. package/dist/write-commands-GQP24VMR.js.map +0 -1
  1029. package/dist/write-commands-HY2OKPWW.js +0 -206
  1030. package/dist/x-6VIOYUKX.js +0 -47
  1031. /package/dist/{account-7YEN7D6B.js.map → account-NSRT5KE6.js.map} +0 -0
  1032. /package/dist/{account-RXX6HCCL.js.map → account-OXD426YD.js.map} +0 -0
  1033. /package/dist/{account-2EUMSJ6E.js.map → account-XIC5TTV3.js.map} +0 -0
  1034. /package/dist/{account-assets-HX7OYWZA.js.map → account-assets-V7KSSTVP.js.map} +0 -0
  1035. /package/dist/{account-level-I5BKCGP5.js.map → account-level-2KLG6HTG.js.map} +0 -0
  1036. /package/dist/{account-reads-7FUCOWBE.js.map → account-reads-ZPZUCB3P.js.map} +0 -0
  1037. /package/dist/{account-users-Z5RFUBXP.js.map → account-users-XTUKRDWK.js.map} +0 -0
  1038. /package/dist/{account-writes-TG3XVEPD.js.map → account-writes-VRRLT356.js.map} +0 -0
  1039. /package/dist/{accounts-MFCQIHYM.js.map → accounts-25JL77F7.js.map} +0 -0
  1040. /package/dist/{accounts-AC7ZBCS2.js.map → accounts-45MUDNOM.js.map} +0 -0
  1041. /package/dist/{accounts-MMIWLNGB.js.map → accounts-AF72N4NV.js.map} +0 -0
  1042. /package/dist/{accounts-WYFUDH2V.js.map → accounts-HJAQTVDA.js.map} +0 -0
  1043. /package/dist/{accounts-I4EXOKR7.js.map → accounts-KQ7NCM4L.js.map} +0 -0
  1044. /package/dist/{actions-QIKHRNJX.js.map → actions-IJO4JW7J.js.map} +0 -0
  1045. /package/dist/{active-entities-AEXKE2EN.js.map → active-entities-3266UJYN.js.map} +0 -0
  1046. /package/dist/{activecampaign-RQJ7PQPM.js.map → activecampaign-PBTUMTO5.js.map} +0 -0
  1047. /package/dist/{activities-N5BD57MF.js.map → activities-ORMACIG2.js.map} +0 -0
  1048. /package/dist/{ad-group-writes-OLQM2VNX.js.map → ad-group-writes-Y6CCMPCM.js.map} +0 -0
  1049. /package/dist/{ad-groups-ENLD7CU4.js.map → ad-groups-TW2UKDVU.js.map} +0 -0
  1050. /package/dist/{ad-writes-FF6PT3R5.js.map → ad-writes-J3UVUH7D.js.map} +0 -0
  1051. /package/dist/{add-4NK4DIER.js.map → add-CKJXQUVI.js.map} +0 -0
  1052. /package/dist/{add-3JWLLGUJ.js.map → add-CSRB6GVJ.js.map} +0 -0
  1053. /package/dist/{add-AO3F6EJY.js.map → add-KHQXXHC5.js.map} +0 -0
  1054. /package/dist/{add-NQUHPVZ5.js.map → add-NJUG3IQ2.js.map} +0 -0
  1055. /package/dist/{add-4JUXMRNA.js.map → add-XYSUKZSU.js.map} +0 -0
  1056. /package/dist/{add-QYLIXGQT.js.map → add-YQPFRDVM.js.map} +0 -0
  1057. /package/dist/{add-accounts-XCYWXGO3.js.map → add-accounts-IRHBFNNC.js.map} +0 -0
  1058. /package/dist/{ads-H6TOLQKA.js.map → ads-5CJQRTUN.js.map} +0 -0
  1059. /package/dist/{ads-MXH4DNG2.js.map → ads-5YCCRXEU.js.map} +0 -0
  1060. /package/dist/{ads-XEAMDEZW.js.map → ads-DI3J3KCQ.js.map} +0 -0
  1061. /package/dist/{ads-JNXLC3PU.js.map → ads-EVQ37EV3.js.map} +0 -0
  1062. /package/dist/{adsets-W5JSNW4Q.js.map → adsets-4IW5TRAK.js.map} +0 -0
  1063. /package/dist/{advertisers-IAXF43LX.js.map → advertisers-5XCIZ7WS.js.map} +0 -0
  1064. /package/dist/{advertisers-7KCF3ODT.js.map → advertisers-JNOWSZZC.js.map} +0 -0
  1065. /package/dist/{analytics-5SPL5E7Q.js.map → analytics-CZMCM7XC.js.map} +0 -0
  1066. /package/dist/{analytics-3AMSN535.js.map → analytics-K5FCQLI5.js.map} +0 -0
  1067. /package/dist/{animate-WXSSXUTY.js.map → animate-C6BRMRRD.js.map} +0 -0
  1068. /package/dist/{approved-HDDHLECJ.js.map → approved-RP5ADN7E.js.map} +0 -0
  1069. /package/dist/{asset-writes-VYGJRLEA.js.map → asset-writes-RF6XTWLY.js.map} +0 -0
  1070. /package/dist/{assign-D3XCS6PD.js.map → assign-WXZNXVJH.js.map} +0 -0
  1071. /package/dist/{audience-size-SQRAXCQD.js.map → audience-size-ZCWH4CFC.js.map} +0 -0
  1072. /package/dist/{audience-writes-YMCOA47Z.js.map → audience-writes-5KT6FHUY.js.map} +0 -0
  1073. /package/dist/{audiences-XUY2Y6OH.js.map → audiences-4MYDTY74.js.map} +0 -0
  1074. /package/dist/{audiences-VKU7E4LI.js.map → audiences-5TOTVZMK.js.map} +0 -0
  1075. /package/dist/{audiences-Y4UIPHB7.js.map → audiences-ZDOK3OYC.js.map} +0 -0
  1076. /package/dist/{audit-DVIKUMSU.js.map → audit-RBRXPPKK.js.map} +0 -0
  1077. /package/dist/{audit-HWA6SOH3.js.map → audit-SACXTAIP.js.map} +0 -0
  1078. /package/dist/{autocomplete-FJNOPOVG.js.map → autocomplete-P5OU7QVL.js.map} +0 -0
  1079. /package/dist/{avatars-VMJE6IL4.js.map → avatars-UHBA2BQ3.js.map} +0 -0
  1080. /package/dist/{bid-pricing-HFPRGFPN.js.map → bid-pricing-LHNYSDG4.js.map} +0 -0
  1081. /package/dist/{brand-NJI7MUWN.js.map → brand-7WL3O74X.js.map} +0 -0
  1082. /package/dist/{brief-LHQJCJOK.js.map → brief-HWZU75WP.js.map} +0 -0
  1083. /package/dist/{businesses-DEKE2CRX.js.map → businesses-F6PN34WK.js.map} +0 -0
  1084. /package/dist/{campaign-groups-QPTKMJBU.js.map → campaign-groups-BYS3GNEP.js.map} +0 -0
  1085. /package/dist/{campaign-writes-3NFFDIFM.js.map → campaign-writes-BHS3POAH.js.map} +0 -0
  1086. /package/dist/{campaign-writes-YSFLDOPH.js.map → campaign-writes-N6OHAK6V.js.map} +0 -0
  1087. /package/dist/{campaigns-P6WHQMG3.js.map → campaigns-2E4AQBFB.js.map} +0 -0
  1088. /package/dist/{campaigns-KXQDUFVX.js.map → campaigns-3U5IRXSV.js.map} +0 -0
  1089. /package/dist/{campaigns-4KDJBCA7.js.map → campaigns-IRMLPW6N.js.map} +0 -0
  1090. /package/dist/{campaigns-AI2ZHOK6.js.map → campaigns-QLKGN4FB.js.map} +0 -0
  1091. /package/dist/{canvas-CDMROW44.js.map → canvas-GGHJ26ZM.js.map} +0 -0
  1092. /package/dist/{capabilities-B24L6H6H.js.map → capabilities-TKEEHR7K.js.map} +0 -0
  1093. /package/dist/{cards-UCEENP55.js.map → cards-HUXBNMEM.js.map} +0 -0
  1094. /package/dist/{catalog-FBJC7XUE.js.map → catalog-7KQN43HS.js.map} +0 -0
  1095. /package/dist/{catalogs-2CCZQAS3.js.map → catalogs-WYRRTRCM.js.map} +0 -0
  1096. /package/dist/{changes-TTQCZMYX.js.map → changes-OIVPZJHE.js.map} +0 -0
  1097. /package/dist/{chatgpt-D7MUGYE5.js.map → chatgpt-YBHXCXWZ.js.map} +0 -0
  1098. /package/dist/{chats-AI4NH34F.js.map → chats-PBXYH2LT.js.map} +0 -0
  1099. /package/dist/{check-L2BVFQU6.js.map → check-SVYI72DF.js.map} +0 -0
  1100. /package/dist/{chunk-RKNSYZX3.js.map → chunk-2RL2T5JO.js.map} +0 -0
  1101. /package/dist/{chunk-QWRZIHFS.js.map → chunk-3HLQZTQ3.js.map} +0 -0
  1102. /package/dist/{chunk-4HHIW7PR.js.map → chunk-3J52GJAY.js.map} +0 -0
  1103. /package/dist/{chunk-RQA2NP4Y.js.map → chunk-42JTSTQ3.js.map} +0 -0
  1104. /package/dist/{chunk-O4OPH3ZE.js.map → chunk-45D6WRCJ.js.map} +0 -0
  1105. /package/dist/{chunk-ZPO3NAJY.js.map → chunk-4AEAL63J.js.map} +0 -0
  1106. /package/dist/{chunk-NNSDAAPZ.js.map → chunk-4H6XLX7E.js.map} +0 -0
  1107. /package/dist/{chunk-PA5PS5KO.js.map → chunk-4ULGRGBG.js.map} +0 -0
  1108. /package/dist/{chunk-KMQKTZ47.js.map → chunk-4XMPL3RU.js.map} +0 -0
  1109. /package/dist/{chunk-OX5OAT7L.js.map → chunk-5AOTCCTT.js.map} +0 -0
  1110. /package/dist/{chunk-KXVJJQG6.js.map → chunk-5G6R3WYN.js.map} +0 -0
  1111. /package/dist/{chunk-JTHOGRB6.js.map → chunk-5HPKYRTE.js.map} +0 -0
  1112. /package/dist/{chunk-Z5AO4Y6W.js.map → chunk-5NLUTJCQ.js.map} +0 -0
  1113. /package/dist/{chunk-GUEFMO3G.js.map → chunk-6FWVRXDW.js.map} +0 -0
  1114. /package/dist/{chunk-MPNYIGO7.js.map → chunk-6HPTF5YS.js.map} +0 -0
  1115. /package/dist/{chunk-V2FZ4QNC.js.map → chunk-6KEVNO5O.js.map} +0 -0
  1116. /package/dist/{chunk-JGAF356Q.js.map → chunk-6QINKM6T.js.map} +0 -0
  1117. /package/dist/{chunk-MBJHRRDS.js.map → chunk-73MLPGI2.js.map} +0 -0
  1118. /package/dist/{chunk-WBZXRHL7.js.map → chunk-7OVPQX4X.js.map} +0 -0
  1119. /package/dist/{chunk-43ECPEJT.js.map → chunk-7SNNQCDD.js.map} +0 -0
  1120. /package/dist/{chunk-O3HSNUTL.js.map → chunk-B5UVOCYA.js.map} +0 -0
  1121. /package/dist/{chunk-OPWDBSU4.js.map → chunk-BRNZMKO4.js.map} +0 -0
  1122. /package/dist/{chunk-OQ53NO5K.js.map → chunk-BU7W7MKF.js.map} +0 -0
  1123. /package/dist/{chunk-3I62TYHW.js.map → chunk-CJFCQMUY.js.map} +0 -0
  1124. /package/dist/{chunk-QYOEFBWO.js.map → chunk-CQMAR4BH.js.map} +0 -0
  1125. /package/dist/{chunk-W2OX5K3G.js.map → chunk-CXYX6G3I.js.map} +0 -0
  1126. /package/dist/{chunk-OMOHRYZ3.js.map → chunk-CZESYOCC.js.map} +0 -0
  1127. /package/dist/{chunk-Y5IMWZZN.js.map → chunk-D6VQPBVM.js.map} +0 -0
  1128. /package/dist/{chunk-TV67FGUQ.js.map → chunk-D7FJ5KHG.js.map} +0 -0
  1129. /package/dist/{chunk-Y7KAVULE.js.map → chunk-DEZBCK5P.js.map} +0 -0
  1130. /package/dist/{chunk-DZLPWNR4.js.map → chunk-DK66PUXL.js.map} +0 -0
  1131. /package/dist/{chunk-EZ6GOPHI.js.map → chunk-DLM5OSHM.js.map} +0 -0
  1132. /package/dist/{chunk-CTX4RST4.js.map → chunk-DNH2ZPZP.js.map} +0 -0
  1133. /package/dist/{chunk-UMLSSKXS.js.map → chunk-DWSSQBLO.js.map} +0 -0
  1134. /package/dist/{chunk-YUA6VVET.js.map → chunk-E56V3RFO.js.map} +0 -0
  1135. /package/dist/{chunk-SW5ONXMD.js.map → chunk-EHNORFUW.js.map} +0 -0
  1136. /package/dist/{chunk-EFDL5R3O.js.map → chunk-ESXUIV6V.js.map} +0 -0
  1137. /package/dist/{chunk-XLYLRUFX.js.map → chunk-FAV6GUOZ.js.map} +0 -0
  1138. /package/dist/{chunk-SF3GHRMB.js.map → chunk-FHN4QXZN.js.map} +0 -0
  1139. /package/dist/{chunk-UOWWM3YF.js.map → chunk-FSEFZZ2T.js.map} +0 -0
  1140. /package/dist/{chunk-H3KQKEQH.js.map → chunk-G4JTXVLA.js.map} +0 -0
  1141. /package/dist/{chunk-DF7IGB3K.js.map → chunk-G6U45QD3.js.map} +0 -0
  1142. /package/dist/{chunk-3A7BDDXS.js.map → chunk-GAP7SOGA.js.map} +0 -0
  1143. /package/dist/{chunk-OQ7CLFEL.js.map → chunk-GFWWHCBF.js.map} +0 -0
  1144. /package/dist/{chunk-T764KNWP.js.map → chunk-GO6ISZUZ.js.map} +0 -0
  1145. /package/dist/{chunk-V4GSW4NH.js.map → chunk-GWLP45WQ.js.map} +0 -0
  1146. /package/dist/{chunk-NNQCVHVJ.js.map → chunk-H3HA22Z3.js.map} +0 -0
  1147. /package/dist/{chunk-V3O7ZSQD.js.map → chunk-H6GTG665.js.map} +0 -0
  1148. /package/dist/{chunk-FBTQGEUE.js.map → chunk-I4BQTVMY.js.map} +0 -0
  1149. /package/dist/{chunk-A2EZCLLG.js.map → chunk-IAZKXDWV.js.map} +0 -0
  1150. /package/dist/{chunk-RFVEHOOC.js.map → chunk-IBBGABK2.js.map} +0 -0
  1151. /package/dist/{chunk-5HLAN4U2.js.map → chunk-IC4MREQH.js.map} +0 -0
  1152. /package/dist/{chunk-GJKEGZJB.js.map → chunk-IIK4WNWV.js.map} +0 -0
  1153. /package/dist/{chunk-X45ABI5E.js.map → chunk-IZROFBH7.js.map} +0 -0
  1154. /package/dist/{chunk-TMYLRI3S.js.map → chunk-J5UTL4HE.js.map} +0 -0
  1155. /package/dist/{chunk-CRORJLBL.js.map → chunk-JBMZVC5D.js.map} +0 -0
  1156. /package/dist/{chunk-S3TBE37M.js.map → chunk-JXTNP3B5.js.map} +0 -0
  1157. /package/dist/{chunk-FKWXVASL.js.map → chunk-LBJ2CLRT.js.map} +0 -0
  1158. /package/dist/{chunk-U73TWJRK.js.map → chunk-LFELUKCA.js.map} +0 -0
  1159. /package/dist/{chunk-BXTSQUBI.js.map → chunk-LK5OKVCM.js.map} +0 -0
  1160. /package/dist/{chunk-ZSZGKMOK.js.map → chunk-LMOZWB4G.js.map} +0 -0
  1161. /package/dist/{chunk-YYQQPDVY.js.map → chunk-N5AIO23H.js.map} +0 -0
  1162. /package/dist/{chunk-GUPOLYU5.js.map → chunk-NE3OMP7R.js.map} +0 -0
  1163. /package/dist/{chunk-TDTFJZAC.js.map → chunk-NO52OH3Y.js.map} +0 -0
  1164. /package/dist/{chunk-72K4LY24.js.map → chunk-NZYWKZ3Q.js.map} +0 -0
  1165. /package/dist/{chunk-BUKBQPDY.js.map → chunk-OIORUNKH.js.map} +0 -0
  1166. /package/dist/{chunk-XGEJTRNF.js.map → chunk-OKXLOLEV.js.map} +0 -0
  1167. /package/dist/{chunk-XR6FJ272.js.map → chunk-OVC2PIOP.js.map} +0 -0
  1168. /package/dist/{chunk-SFDDNAFB.js.map → chunk-P5HG6WDH.js.map} +0 -0
  1169. /package/dist/{chunk-J5RABWAF.js.map → chunk-PGAYESXE.js.map} +0 -0
  1170. /package/dist/{chunk-YIQ7PMJG.js.map → chunk-PQ7RLE43.js.map} +0 -0
  1171. /package/dist/{chunk-353QTP3X.js.map → chunk-QFODAMYR.js.map} +0 -0
  1172. /package/dist/{chunk-26ALFAKU.js.map → chunk-QFVZIQRQ.js.map} +0 -0
  1173. /package/dist/{chunk-7SYPFWCW.js.map → chunk-QI5UKQX3.js.map} +0 -0
  1174. /package/dist/{chunk-MGHPM72R.js.map → chunk-QY7EK6Q4.js.map} +0 -0
  1175. /package/dist/{chunk-7KJ24KFI.js.map → chunk-QYH2UZAK.js.map} +0 -0
  1176. /package/dist/{chunk-3XWQ4ZS5.js.map → chunk-RHNNFCRY.js.map} +0 -0
  1177. /package/dist/{chunk-P4TA3B4C.js.map → chunk-RIVHJC6L.js.map} +0 -0
  1178. /package/dist/{chunk-KDTF2SN6.js.map → chunk-RJQT7QXX.js.map} +0 -0
  1179. /package/dist/{chunk-PF3SQX7Z.js.map → chunk-RMZLB4AH.js.map} +0 -0
  1180. /package/dist/{chunk-46P74AFU.js.map → chunk-S4NMWYHW.js.map} +0 -0
  1181. /package/dist/{chunk-Z5KZ5BV3.js.map → chunk-SFQFUQDW.js.map} +0 -0
  1182. /package/dist/{chunk-PFNUAV22.js.map → chunk-SNSLYZIT.js.map} +0 -0
  1183. /package/dist/{chunk-ZR5H5CZI.js.map → chunk-SP3MHBME.js.map} +0 -0
  1184. /package/dist/{chunk-MPQ5HUAO.js.map → chunk-TGT4XHLX.js.map} +0 -0
  1185. /package/dist/{chunk-LFSSOKDJ.js.map → chunk-TLNYAZX5.js.map} +0 -0
  1186. /package/dist/{chunk-KQEDNZ7K.js.map → chunk-UGRL642V.js.map} +0 -0
  1187. /package/dist/{chunk-2YYOFA2A.js.map → chunk-UKZKLXTE.js.map} +0 -0
  1188. /package/dist/{chunk-YYK4CXLY.js.map → chunk-VAQOSV3I.js.map} +0 -0
  1189. /package/dist/{chunk-TFEPULZS.js.map → chunk-VIRPAJEF.js.map} +0 -0
  1190. /package/dist/{chunk-IWNQRZHT.js.map → chunk-VX6GTRT3.js.map} +0 -0
  1191. /package/dist/{chunk-542AB7CV.js.map → chunk-WR5Y64OE.js.map} +0 -0
  1192. /package/dist/{chunk-S6ZLKSQJ.js.map → chunk-X3YYZLBH.js.map} +0 -0
  1193. /package/dist/{chunk-3XJM5HX6.js.map → chunk-XB4NKZAQ.js.map} +0 -0
  1194. /package/dist/{chunk-H7FWXSSR.js.map → chunk-XSBX3LJP.js.map} +0 -0
  1195. /package/dist/{chunk-OOGGID5L.js.map → chunk-XXBP73RV.js.map} +0 -0
  1196. /package/dist/{chunk-DNZILIEW.js.map → chunk-XZMO52BP.js.map} +0 -0
  1197. /package/dist/{chunk-6VVSAVMC.js.map → chunk-Y3SK6EMU.js.map} +0 -0
  1198. /package/dist/{chunk-VGEW4R4Y.js.map → chunk-Y4ZBNZBU.js.map} +0 -0
  1199. /package/dist/{chunk-ZR3BISO2.js.map → chunk-YCAJCVW4.js.map} +0 -0
  1200. /package/dist/{chunk-YKXSJGMA.js.map → chunk-ZANXEMON.js.map} +0 -0
  1201. /package/dist/{chunk-CECKSPNC.js.map → chunk-ZSZ76MUL.js.map} +0 -0
  1202. /package/dist/{chunk-23LJR6WD.js.map → chunk-ZU6JW3ZB.js.map} +0 -0
  1203. /package/dist/{chunk-UOYVUUTX.js.map → chunk-ZW2CN6L6.js.map} +0 -0
  1204. /package/dist/{cite-KDF6WQXE.js.map → cite-TRNZYG4W.js.map} +0 -0
  1205. /package/dist/{claim-BKJBLN7A.js.map → claim-Q76T3MYA.js.map} +0 -0
  1206. /package/dist/{client-MRXMPXJE.js.map → client-45COYUUH.js.map} +0 -0
  1207. /package/dist/{code-XZWB4INH.js.map → code-K4YTLOPA.js.map} +0 -0
  1208. /package/dist/{companies-6IQS5YAR.js.map → companies-MLWRWQ73.js.map} +0 -0
  1209. /package/dist/{company-WT4Q52W6.js.map → company-X5Z67PMK.js.map} +0 -0
  1210. /package/dist/{complete-TTL4GXUZ.js.map → complete-3CFP6XVY.js.map} +0 -0
  1211. /package/dist/{config-ZXODU47A.js.map → config-TCAHWE6T.js.map} +0 -0
  1212. /package/dist/{connect-G6RW4GPI.js.map → connect-QXFAB4RJ.js.map} +0 -0
  1213. /package/dist/{content-3SZYVF56.js.map → content-MKJP7T7L.js.map} +0 -0
  1214. /package/dist/{conversation-QDMNXK5P.js.map → conversation-C6K6IZTH.js.map} +0 -0
  1215. /package/dist/{conversion-report-EIZEII3H.js.map → conversion-report-OFV4EKTA.js.map} +0 -0
  1216. /package/dist/{conversion-upload-command-BYYYQXY5.js.map → conversion-upload-command-D7S5HF22.js.map} +0 -0
  1217. /package/dist/{conversion-writes-3N2J25ZN.js.map → conversion-writes-B3H6VLA2.js.map} +0 -0
  1218. /package/dist/{conversions-DPKOO7H5.js.map → conversions-4ILDIG3K.js.map} +0 -0
  1219. /package/dist/{conversions-3DNIEYY2.js.map → conversions-CRL327RY.js.map} +0 -0
  1220. /package/dist/{copy-writes-OFXLTBQN.js.map → copy-writes-FYXKHJDB.js.map} +0 -0
  1221. /package/dist/{countries-JM54BJXV.js.map → countries-6ST54UGJ.js.map} +0 -0
  1222. /package/dist/{create-OXBIHL72.js.map → create-LDQ3YHET.js.map} +0 -0
  1223. /package/dist/{create-ZM3I3NSN.js.map → create-TKOG7DNJ.js.map} +0 -0
  1224. /package/dist/{create-64UE6JVK.js.map → create-WFMJOZLO.js.map} +0 -0
  1225. /package/dist/{create-NKMOQC7A.js.map → create-WQNT345R.js.map} +0 -0
  1226. /package/dist/{creatives-J6MZKMCX.js.map → creatives-45SJAD3G.js.map} +0 -0
  1227. /package/dist/{creatives-XRLYZ2ME.js.map → creatives-E4CTMZJJ.js.map} +0 -0
  1228. /package/dist/{creatives-63O6HUXF.js.map → creatives-Q4OXNCTT.js.map} +0 -0
  1229. /package/dist/{credentials-FC36D37N.js.map → credentials-E2AIMWKX.js.map} +0 -0
  1230. /package/dist/{critique-AC7EPDQA.js.map → critique-EWV3O3TD.js.map} +0 -0
  1231. /package/dist/{critique-RHN32S7D.js.map → critique-JVT6X2T3.js.map} +0 -0
  1232. /package/dist/{crm-NFDEK2GT.js.map → crm-NQH5FTK6.js.map} +0 -0
  1233. /package/dist/{crm-NQ4FDJ7E.js.map → crm-YGQKK76D.js.map} +0 -0
  1234. /package/dist/{crop-B2CACBC4.js.map → crop-KV24WHOR.js.map} +0 -0
  1235. /package/dist/{currency-XRGG5OKI.js.map → currency-B5T7TYKD.js.map} +0 -0
  1236. /package/dist/{custom-conversions-R3ROXHYL.js.map → custom-conversions-EJNX4MCK.js.map} +0 -0
  1237. /package/dist/{customers-TNVCX27L.js.map → customers-YFEPJF4G.js.map} +0 -0
  1238. /package/dist/{decide-MDNIHSQG.js.map → decide-JZXG6LZR.js.map} +0 -0
  1239. /package/dist/{delete-DTHXGG5F.js.map → delete-2UJVTHRE.js.map} +0 -0
  1240. /package/dist/{delete-ZKKB553W.js.map → delete-7QAJSOCO.js.map} +0 -0
  1241. /package/dist/{delete-RSZU4I76.js.map → delete-O4RO2HMR.js.map} +0 -0
  1242. /package/dist/{delete-LGUXPTBC.js.map → delete-POHL3TKX.js.map} +0 -0
  1243. /package/dist/{delete-VXYTITXA.js.map → delete-Q7J734W2.js.map} +0 -0
  1244. /package/dist/{delete-F43G4Z3D.js.map → delete-XWD37C4T.js.map} +0 -0
  1245. /package/dist/{demographics-2UXLA4GW.js.map → demographics-YWBHAMZ5.js.map} +0 -0
  1246. /package/dist/{describe-QTAOAQM4.js.map → describe-MA54W67X.js.map} +0 -0
  1247. /package/dist/{describe-CH3IFPOT.js.map → describe-MJ5SOVWY.js.map} +0 -0
  1248. /package/dist/{dimensions-5E3AN6A7.js.map → dimensions-YXOXHOXW.js.map} +0 -0
  1249. /package/dist/{discard-E7AD6IVJ.js.map → discard-YX4XUXG3.js.map} +0 -0
  1250. /package/dist/{discover-ELMDMJRX.js.map → discover-PPMLFJMU.js.map} +0 -0
  1251. /package/dist/{discover-SRXLIPGU.js.map → discover-SS3PO5Y6.js.map} +0 -0
  1252. /package/dist/{domain-B6GYZ6BX.js.map → domain-5R6CYVFY.js.map} +0 -0
  1253. /package/dist/{download-FS5WHNFA.js.map → download-D2O4RYJ3.js.map} +0 -0
  1254. /package/dist/{download-XOABASZF.js.map → download-SYWQXF57.js.map} +0 -0
  1255. /package/dist/{draft-XBD3UC64.js.map → draft-3MPADYS4.js.map} +0 -0
  1256. /package/dist/{env-BNQON23N.js.map → env-2RHPS2VF.js.map} +0 -0
  1257. /package/dist/{experiment-SNC6RCF3.js.map → experiment-3NDXGQK6.js.map} +0 -0
  1258. /package/dist/{experiments-E6NXWJ7X.js.map → experiments-DYNNWQRB.js.map} +0 -0
  1259. /package/dist/{export-6O62J5I2.js.map → export-6WWVO4O6.js.map} +0 -0
  1260. /package/dist/{extract-D2WSRIKY.js.map → extract-DWDZI35Y.js.map} +0 -0
  1261. /package/dist/{facets-R5U2G3R2.js.map → facets-Y2IEM37E.js.map} +0 -0
  1262. /package/dist/{favorites-GGJGLED7.js.map → favorites-54Z7PTYR.js.map} +0 -0
  1263. /package/dist/{feed-FN3BLYD2.js.map → feed-TAGQWMRK.js.map} +0 -0
  1264. /package/dist/{feedback-QQRAOFJN.js.map → feedback-HJRVTU6C.js.map} +0 -0
  1265. /package/dist/{feedback-LPFQ567L.js.map → feedback-IVSLM5PN.js.map} +0 -0
  1266. /package/dist/{feedback-record-OCKDPXGM.js.map → feedback-record-P7CO3IGE.js.map} +0 -0
  1267. /package/dist/{fetch-ET734X4Q.js.map → fetch-KB64NPDF.js.map} +0 -0
  1268. /package/dist/{fetch-I5VVAVLY.js.map → fetch-V2U5VUQZ.js.map} +0 -0
  1269. /package/dist/{find-XS42XIYQ.js.map → find-UB4JSORZ.js.map} +0 -0
  1270. /package/dist/{fit-C7SYZA65.js.map → fit-JDG6E46O.js.map} +0 -0
  1271. /package/dist/{flows-I5G5ICEQ.js.map → flows-DP574PEX.js.map} +0 -0
  1272. /package/dist/{follow-7O37OI4Q.js.map → follow-SX6BV6VZ.js.map} +0 -0
  1273. /package/dist/{follow-competitors-XLLDO72Q.js.map → follow-competitors-UBJJHX36.js.map} +0 -0
  1274. /package/dist/{following-VLSMUMOM.js.map → following-L7WUEMZ2.js.map} +0 -0
  1275. /package/dist/{fonts-BOQTTVX5.js.map → fonts-RMROS3LX.js.map} +0 -0
  1276. /package/dist/{forecast-QBXVLV7Q.js.map → forecast-AAHHVTBK.js.map} +0 -0
  1277. /package/dist/{forecast-5G5LMGHN.js.map → forecast-BRXNGMGD.js.map} +0 -0
  1278. /package/dist/{funding-XLY5LNY6.js.map → funding-7M4TJ3MW.js.map} +0 -0
  1279. /package/dist/{funnel-O43PBVPI.js.map → funnel-FQX3DOE7.js.map} +0 -0
  1280. /package/dist/{ga4-3JQDPZ27.js.map → ga4-IJ2UUICC.js.map} +0 -0
  1281. /package/dist/{generate-FW5ZPZCC.js.map → generate-SYOQE3F7.js.map} +0 -0
  1282. /package/dist/{get-4N4F4F5P.js.map → get-4NDYA3G6.js.map} +0 -0
  1283. /package/dist/{get-RTEW2UQK.js.map → get-HMTI2IR6.js.map} +0 -0
  1284. /package/dist/{get-55JEQM4R.js.map → get-JIB6PMGI.js.map} +0 -0
  1285. /package/dist/{get-SZ3BKDS6.js.map → get-JX5JVWH7.js.map} +0 -0
  1286. /package/dist/{get-DOZKX4LD.js.map → get-KNP2EQRI.js.map} +0 -0
  1287. /package/dist/{get-5P4WESPY.js.map → get-Q4M6G7YN.js.map} +0 -0
  1288. /package/dist/{get-MS7HTZBZ.js.map → get-VFDNTZ54.js.map} +0 -0
  1289. /package/dist/{get-6VRSSUJJ.js.map → get-X44ZCIFN.js.map} +0 -0
  1290. /package/dist/{gif-H2GKAG4C.js.map → gif-6244RM75.js.map} +0 -0
  1291. /package/dist/{google-FJJ34DCE.js.map → google-HWEDJ4YS.js.map} +0 -0
  1292. /package/dist/{google-ads-3TEGRLIY.js.map → google-ads-4DLYASRC.js.map} +0 -0
  1293. /package/dist/{group-JNLMRIKV.js.map → group-45M7V46T.js.map} +0 -0
  1294. /package/dist/{group-KEJHQXTJ.js.map → group-RAXOR36M.js.map} +0 -0
  1295. /package/dist/{gsc-N7ILDOX4.js.map → gsc-YAU4EA75.js.map} +0 -0
  1296. /package/dist/{history-SWBZK2YL.js.map → history-6B6RXNV3.js.map} +0 -0
  1297. /package/dist/{history-IXKSY5DE.js.map → history-BEEREY26.js.map} +0 -0
  1298. /package/dist/{history-ZWU3ZV2E.js.map → history-NLZSX4BK.js.map} +0 -0
  1299. /package/dist/{hubspot-WIZRU3UE.js.map → hubspot-LABBRJ44.js.map} +0 -0
  1300. /package/dist/{icon-V6VRNURZ.js.map → icon-2237C4LP.js.map} +0 -0
  1301. /package/dist/{ideas-CXDU7YCE.js.map → ideas-A4ELJN23.js.map} +0 -0
  1302. /package/dist/{images-PB6SWXTZ.js.map → images-JVNT7KYM.js.map} +0 -0
  1303. /package/dist/{improve-JWQYC7AP.js.map → improve-PHFWWTOL.js.map} +0 -0
  1304. /package/dist/{ingest-GZ6EXNHT.js.map → ingest-GQWR3RHR.js.map} +0 -0
  1305. /package/dist/{ingest-7ZN46XK4.js.map → ingest-JYN2IDKV.js.map} +0 -0
  1306. /package/dist/{insights-P7JG6Y2H.js.map → insights-A5BKVXFQ.js.map} +0 -0
  1307. /package/dist/{insights-BWZXYBZY.js.map → insights-U6QAA77O.js.map} +0 -0
  1308. /package/dist/{inspect-BCKUHTRR.js.map → inspect-72DY33YD.js.map} +0 -0
  1309. /package/dist/{inspiration-WGMKYSGM.js.map → inspiration-DNWTXEPX.js.map} +0 -0
  1310. /package/dist/{intent-EWNVDZKU.js.map → intent-OMSJPOJZ.js.map} +0 -0
  1311. /package/dist/{job-FJRS3GVA.js.map → job-RCEPBGZC.js.map} +0 -0
  1312. /package/dist/{job-create-MVXMKPXS.js.map → job-create-MDVJ3E7K.js.map} +0 -0
  1313. /package/dist/{job-status-O3GGFMAW.js.map → job-status-53FJIFYR.js.map} +0 -0
  1314. /package/dist/{keep-55NEIXH2.js.map → keep-ZIHW5OEQ.js.map} +0 -0
  1315. /package/dist/{keyword-gap-YUG6BVQI.js.map → keyword-gap-3P72T4NV.js.map} +0 -0
  1316. /package/dist/{keyword-metrics-7VH4DGCR.js.map → keyword-metrics-GP7L2MQE.js.map} +0 -0
  1317. /package/dist/{keywords-for-site-OIICFZI5.js.map → keywords-for-site-6YWAUOKJ.js.map} +0 -0
  1318. /package/dist/{knowledge-OM3GKZHU.js.map → knowledge-PN3FAZJ2.js.map} +0 -0
  1319. /package/dist/{landing-T42TKOBK.js.map → landing-EKHAZS5P.js.map} +0 -0
  1320. /package/dist/{landings-JKO53RI4.js.map → landings-FBRB3FF5.js.map} +0 -0
  1321. /package/dist/{languages-YU5YUGFN.js.map → languages-Q5RMPGI4.js.map} +0 -0
  1322. /package/dist/{languages-TAFIWRI6.js.map → languages-WWKMRZCH.js.map} +0 -0
  1323. /package/dist/{launches-SJTNJHZY.js.map → launches-EQ4VS2OR.js.map} +0 -0
  1324. /package/dist/{layerize-HUELG4D3.js.map → layerize-SX6LQK35.js.map} +0 -0
  1325. /package/dist/{lead-routes-KLTGRS2S.js.map → lead-routes-RLYGO47M.js.map} +0 -0
  1326. /package/dist/{leads-LQT5KDYJ.js.map → leads-UCXIIA5K.js.map} +0 -0
  1327. /package/dist/{learn-UY5FNEQF.js.map → learn-EJEFERQZ.js.map} +0 -0
  1328. /package/dist/{library-2ZTAEY4Y.js.map → library-RZI7QHRV.js.map} +0 -0
  1329. /package/dist/{lighthouse-FA4NNWNM.js.map → lighthouse-D3BJGHLO.js.map} +0 -0
  1330. /package/dist/{line-item-writes-CQRO25FM.js.map → line-item-writes-IMCE2FDW.js.map} +0 -0
  1331. /package/dist/{line-items-56KP6W53.js.map → line-items-ISUC3WDO.js.map} +0 -0
  1332. /package/dist/{link-CQNRSZ2Z.js.map → link-6QL4ZVSU.js.map} +0 -0
  1333. /package/dist/{linkedin-person-F74QX3WE.js.map → linkedin-person-C24CBKCH.js.map} +0 -0
  1334. /package/dist/{list-FXMOUNMB.js.map → list-2NWMHKTR.js.map} +0 -0
  1335. /package/dist/{list-GMEW776J.js.map → list-2VNI3U7I.js.map} +0 -0
  1336. /package/dist/{list-O6KMSZUA.js.map → list-5H6UAX6T.js.map} +0 -0
  1337. /package/dist/{list-VQLA4C62.js.map → list-ACJBOHPS.js.map} +0 -0
  1338. /package/dist/{list-OLBLGL5J.js.map → list-COWCCJ4F.js.map} +0 -0
  1339. /package/dist/{list-TLKWSNZR.js.map → list-EEQJSTLN.js.map} +0 -0
  1340. /package/dist/{list-6PNILPKX.js.map → list-OTZB7DOX.js.map} +0 -0
  1341. /package/dist/{list-5L74D5T5.js.map → list-PZD2QOZL.js.map} +0 -0
  1342. /package/dist/{list-TSM2LE2Q.js.map → list-SUXUMXPJ.js.map} +0 -0
  1343. /package/dist/{locations-ONA23SAQ.js.map → locations-P3CUBKYZ.js.map} +0 -0
  1344. /package/dist/{locations-CPLAS65V.js.map → locations-ZO7F75KT.js.map} +0 -0
  1345. /package/dist/{log-55GU4YPD.js.map → log-VLI7KQF2.js.map} +0 -0
  1346. /package/dist/{logo-3YBVVQ4K.js.map → logo-R34AWI4C.js.map} +0 -0
  1347. /package/dist/{lookup-Z3AA3ON4.js.map → lookup-BGNLEZMU.js.map} +0 -0
  1348. /package/dist/{make-3LNSICDO.js.map → make-365ZJ25L.js.map} +0 -0
  1349. /package/dist/{map-ARNZ3BY3.js.map → map-OEFL45WA.js.map} +0 -0
  1350. /package/dist/{mcp-PXKB5LQD.js.map → mcp-NCZYQXQL.js.map} +0 -0
  1351. /package/dist/{media-SEC7SPHW.js.map → media-422INJCD.js.map} +0 -0
  1352. /package/dist/{media-3ON3VBC3.js.map → media-WASM45QW.js.map} +0 -0
  1353. /package/dist/{media-sources-7EXSVEAE.js.map → media-sources-CZDK4W5Q.js.map} +0 -0
  1354. /package/dist/{members-35KOCZHC.js.map → members-N3PQSVQC.js.map} +0 -0
  1355. /package/dist/{meme-JL24ZEUF.js.map → meme-NH4DAORT.js.map} +0 -0
  1356. /package/dist/{meta-W2YTPZE7.js.map → meta-QFLNABF5.js.map} +0 -0
  1357. /package/dist/{metrics-WDFO5ESK.js.map → metrics-PSXIV4QS.js.map} +0 -0
  1358. /package/dist/{models-UVJ7M7DP.js.map → models-SITHUNAA.js.map} +0 -0
  1359. /package/dist/{normalize-KXI3OOFS.js.map → normalize-4OKUF5BJ.js.map} +0 -0
  1360. /package/dist/{normalize-I7KCFLAK.js.map → normalize-6DEJPTBF.js.map} +0 -0
  1361. /package/dist/{options-EYZEFVNI.js.map → options-OJX77MYT.js.map} +0 -0
  1362. /package/dist/{organization-KJPIZ66W.js.map → organization-URQGKFEC.js.map} +0 -0
  1363. /package/dist/{output-LECDMH7S.js.map → output-2MGOSPDE.js.map} +0 -0
  1364. /package/dist/{page-OUC6APBH.js.map → page-WKWRKLTC.js.map} +0 -0
  1365. /package/dist/{page-photos-UULNPJL2.js.map → page-photos-N4S7U7FR.js.map} +0 -0
  1366. /package/dist/{pages-WBJTWSBH.js.map → pages-LT3KCVC3.js.map} +0 -0
  1367. /package/dist/{performance-4MEHG2H3.js.map → performance-P5T4LJRG.js.map} +0 -0
  1368. /package/dist/{performance-QZGRGTTY.js.map → performance-SIWBDORI.js.map} +0 -0
  1369. /package/dist/{pinterest-PXWEV5OM.js.map → pinterest-KZ7RIHRS.js.map} +0 -0
  1370. /package/dist/{pixels-CBZQK7ME.js.map → pixels-3BHTXTDV.js.map} +0 -0
  1371. /package/dist/{pixels-ZXBYDD64.js.map → pixels-IGJFC2XC.js.map} +0 -0
  1372. /package/dist/{plan-QND22WEP.js.map → plan-ATH2VCVA.js.map} +0 -0
  1373. /package/dist/{posts-XZUV6SGX.js.map → posts-MVCGZV54.js.map} +0 -0
  1374. /package/dist/{preview-KMEUO2CB.js.map → preview-DMTQR6ZW.js.map} +0 -0
  1375. /package/dist/{profile-WXAGYNMQ.js.map → profile-OWDBNPNI.js.map} +0 -0
  1376. /package/dist/{promoted-tweet-writes-RKRDYXAF.js.map → promoted-tweet-writes-S2HP5DEI.js.map} +0 -0
  1377. /package/dist/{promoted-tweets-UTOGYF5N.js.map → promoted-tweets-WZT4N5IR.js.map} +0 -0
  1378. /package/dist/{properties-Q7W4YPU6.js.map → properties-VSOMFI5V.js.map} +0 -0
  1379. /package/dist/{publish-4BXIE5GB.js.map → publish-EDYBQHGJ.js.map} +0 -0
  1380. /package/dist/{query-ZFU76BDS.js.map → query-5OS6M4ON.js.map} +0 -0
  1381. /package/dist/{query-H3VKUXUG.js.map → query-NTWXOWPZ.js.map} +0 -0
  1382. /package/dist/{query-ICQABM2L.js.map → query-PC7V3OFF.js.map} +0 -0
  1383. /package/dist/{questionnaire-7AO5NN34.js.map → questionnaire-HUNGUZNQ.js.map} +0 -0
  1384. /package/dist/{read-RQ6B75BE.js.map → read-DXZJ7UOJ.js.map} +0 -0
  1385. /package/dist/{reddit-CGDBA7SX.js.map → reddit-DEGGHR4M.js.map} +0 -0
  1386. /package/dist/{refresh-LMGFOXE6.js.map → refresh-BKYZXXRF.js.map} +0 -0
  1387. /package/dist/{refresh-L2HDEKPI.js.map → refresh-HPNJGI2U.js.map} +0 -0
  1388. /package/dist/{release-DLUKLF5A.js.map → release-H7M37CEO.js.map} +0 -0
  1389. /package/dist/{relevant-pages-DTSXV6J2.js.map → relevant-pages-3CCAQA5Y.js.map} +0 -0
  1390. /package/dist/{remove-VM3KCNGB.js.map → remove-MV4YS72N.js.map} +0 -0
  1391. /package/dist/{remove-GOLZDJ7V.js.map → remove-MX2FV44C.js.map} +0 -0
  1392. /package/dist/{reopen-HJBG23JS.js.map → reopen-EFW2SKOY.js.map} +0 -0
  1393. /package/dist/{rerun-SYTG4PF6.js.map → rerun-OM4N74YK.js.map} +0 -0
  1394. /package/dist/{research-TW6Z74VO.js.map → research-7YDQOKA6.js.map} +0 -0
  1395. /package/dist/{research-VHJI5A3Y.js.map → research-MHXKAQW4.js.map} +0 -0
  1396. /package/dist/{reset-L2UK4NTV.js.map → reset-HT4AGJPR.js.map} +0 -0
  1397. /package/dist/{reset-RZFVT6EV.js.map → reset-XPZQ5F4D.js.map} +0 -0
  1398. /package/dist/{resolve-2BBQKCP7.js.map → resolve-RTTXEN2B.js.map} +0 -0
  1399. /package/dist/{retry-2QFOQQIC.js.map → retry-DVLVWHEK.js.map} +0 -0
  1400. /package/dist/{retry-YN7FECGJ.js.map → retry-SBGWOUQO.js.map} +0 -0
  1401. /package/dist/{retry-failed-NOCAPHDH.js.map → retry-failed-T6PK5SKL.js.map} +0 -0
  1402. /package/dist/{revenue-Y3USV6E7.js.map → revenue-KJLJ53XY.js.map} +0 -0
  1403. /package/dist/{rules-DQBFGPKC.js.map → rules-KCSET46P.js.map} +0 -0
  1404. /package/dist/{rules-S5H4CTN6.js.map → rules-NVKU732Z.js.map} +0 -0
  1405. /package/dist/{rules-add-UZR5X7QG.js.map → rules-add-KY42EHJE.js.map} +0 -0
  1406. /package/dist/{run-DPRASW62.js.map → run-2LQ7XJEO.js.map} +0 -0
  1407. /package/dist/{run-TBGBI522.js.map → run-M7YU6KCV.js.map} +0 -0
  1408. /package/dist/{scaffold-ad-RCGPKWBQ.js.map → scaffold-ad-6YPZ75YJ.js.map} +0 -0
  1409. /package/dist/{scaffold-static-ad-2GJOXOKA.js.map → scaffold-static-ad-UJEWTDU5.js.map} +0 -0
  1410. /package/dist/{scaffold-video-Y7X34F3N.js.map → scaffold-video-M4VWSVJ6.js.map} +0 -0
  1411. /package/dist/{schedule-MMW63ZDZ.js.map → schedule-ANIYXLG6.js.map} +0 -0
  1412. /package/dist/{schedule-VY75FPE3.js.map → schedule-J7HZQ2EL.js.map} +0 -0
  1413. /package/dist/{scheduled-agents-2ZSA5S3K.js.map → scheduled-agents-IVUQUKF4.js.map} +0 -0
  1414. /package/dist/{schema-KIJGNKJA.js.map → schema-LHBKBUV7.js.map} +0 -0
  1415. /package/dist/{scrape-G6QIBY6U.js.map → scrape-FQUGOXCG.js.map} +0 -0
  1416. /package/dist/{screenshot-CMOGVSDO.js.map → screenshot-YRYAOP5E.js.map} +0 -0
  1417. /package/dist/{search-EIIDSTTZ.js.map → search-3AW52FO6.js.map} +0 -0
  1418. /package/dist/{search-CSHJCL73.js.map → search-6XKFFDMJ.js.map} +0 -0
  1419. /package/dist/{search-S4YK5ACT.js.map → search-E75B5APM.js.map} +0 -0
  1420. /package/dist/{search-DZGN5GDP.js.map → search-EKTUTXVN.js.map} +0 -0
  1421. /package/dist/{search-XT22RJG2.js.map → search-OW3E2Z7Z.js.map} +0 -0
  1422. /package/dist/{search-FY53LEQY.js.map → search-YARSBZ6D.js.map} +0 -0
  1423. /package/dist/{search-copy-32URULZJ.js.map → search-copy-2KO3VR6R.js.map} +0 -0
  1424. /package/dist/{seeds-XH2263HW.js.map → seeds-E64JKXWS.js.map} +0 -0
  1425. /package/dist/{select-HXFWS3YO.js.map → select-STIWQ36I.js.map} +0 -0
  1426. /package/dist/{sends-OKJS7WVX.js.map → sends-DEVRKO4M.js.map} +0 -0
  1427. /package/dist/{sequences-DOITIST4.js.map → sequences-YIQSLKV5.js.map} +0 -0
  1428. /package/dist/{set-prompt-QPIXPF4Q.js.map → set-prompt-TODWV2F4.js.map} +0 -0
  1429. /package/dist/{setup-links-7XH4QW57.js.map → setup-links-MNBD3UMH.js.map} +0 -0
  1430. /package/dist/{shared-5EPTXTGW.js.map → shared-V5ZS25EO.js.map} +0 -0
  1431. /package/dist/{site-JH5HWJ7P.js.map → site-ZZUKS6MQ.js.map} +0 -0
  1432. /package/dist/{sitemaps-NSOO5DBU.js.map → sitemaps-ZSISKT6L.js.map} +0 -0
  1433. /package/dist/{sites-VJDFYXP4.js.map → sites-XMZ3HPHT.js.map} +0 -0
  1434. /package/dist/{skills-RFKWA74T.js.map → skills-6MJC6CSZ.js.map} +0 -0
  1435. /package/dist/{sources-QZNISAXZ.js.map → sources-36MJ6T4V.js.map} +0 -0
  1436. /package/dist/{sources-X6R7OCG2.js.map → sources-GNLQHTSJ.js.map} +0 -0
  1437. /package/dist/{stale-BVP4XBGS.js.map → stale-GJN7UO3D.js.map} +0 -0
  1438. /package/dist/{stats-IYESUTZB.js.map → stats-FSAXWTSE.js.map} +0 -0
  1439. /package/dist/{status-4DXPN6EW.js.map → status-6EGB6ORB.js.map} +0 -0
  1440. /package/dist/{sticker-C7O2K75Q.js.map → sticker-GXCI4WL5.js.map} +0 -0
  1441. /package/dist/{stock-YA27CW4K.js.map → stock-DJ6I3CTO.js.map} +0 -0
  1442. /package/dist/{studies-OSYBQE7W.js.map → studies-4XXCEAHH.js.map} +0 -0
  1443. /package/dist/{studio-V3HINEVU.js.map → studio-OARORMDJ.js.map} +0 -0
  1444. /package/dist/{suggest-BLYWQV4H.js.map → suggest-DSMKK4FP.js.map} +0 -0
  1445. /package/dist/{sync-BP2NL7BA.js.map → sync-QHM3LMAX.js.map} +0 -0
  1446. /package/dist/{sync-KXOJMM2K.js.map → sync-WKV3N3LD.js.map} +0 -0
  1447. /package/dist/{sync-WGZ4522U.js.map → sync-XFK4U6TA.js.map} +0 -0
  1448. /package/dist/{sync-definition-SAOKH7RQ.js.map → sync-definition-YXGN6PIQ.js.map} +0 -0
  1449. /package/dist/{tag-MKWBX22O.js.map → tag-L2H5TSFJ.js.map} +0 -0
  1450. /package/dist/{tag-manager-AKW4EG4W.js.map → tag-manager-5WZPX2FJ.js.map} +0 -0
  1451. /package/dist/{tags-QAL6XAHS.js.map → tags-GHV5R7NI.js.map} +0 -0
  1452. /package/dist/{tags-TSEVQAKY.js.map → tags-IDWUV2FY.js.map} +0 -0
  1453. /package/dist/{tags-N54OQ55M.js.map → tags-MBBRBZJH.js.map} +0 -0
  1454. /package/dist/{tags-RMPC3Q5E.js.map → tags-MQYF2JHQ.js.map} +0 -0
  1455. /package/dist/{tags-DV3IVJBS.js.map → tags-ZGXJHATH.js.map} +0 -0
  1456. /package/dist/{targeting-VOZUDYFI.js.map → targeting-KJ4DI56R.js.map} +0 -0
  1457. /package/dist/{targeting-constants-7YWLK6KM.js.map → targeting-constants-ZS422W5A.js.map} +0 -0
  1458. /package/dist/{targeting-criteria-OUN7VYFP.js.map → targeting-criteria-GDCXOAUD.js.map} +0 -0
  1459. /package/dist/{targets-SUDKTBLH.js.map → targets-MYHOPAYY.js.map} +0 -0
  1460. /package/dist/{terms-AY5LECWX.js.map → terms-NX5CAJXT.js.map} +0 -0
  1461. /package/dist/{testimonials-JMKFBJYD.js.map → testimonials-R6RFGAKP.js.map} +0 -0
  1462. /package/dist/{themes-WJ35YEXI.js.map → themes-LHVXXVTX.js.map} +0 -0
  1463. /package/dist/{top-companies-ESGGS2SE.js.map → top-companies-POTV3Y2A.js.map} +0 -0
  1464. /package/dist/{transcript-YXTBCJ67.js.map → transcript-4RVYKDVZ.js.map} +0 -0
  1465. /package/dist/{translate-W6AMHQWO.js.map → translate-UCASCVMN.js.map} +0 -0
  1466. /package/dist/{triggers-YZTGKFBI.js.map → triggers-XHMMOZJK.js.map} +0 -0
  1467. /package/dist/{tweets-B6EWPDYI.js.map → tweets-33OCH74J.js.map} +0 -0
  1468. /package/dist/{unfollow-ACQTL2GW.js.map → unfollow-G26NHR5X.js.map} +0 -0
  1469. /package/dist/{unlink-FEKMX5Q7.js.map → unlink-3IW3EORE.js.map} +0 -0
  1470. /package/dist/{unstage-PIO6RJLT.js.map → unstage-APVF6KHB.js.map} +0 -0
  1471. /package/dist/{unstage-MWAG2SLK.js.map → unstage-OAPP6Z5V.js.map} +0 -0
  1472. /package/dist/{update-IHWWJFD5.js.map → update-2VSJH4LQ.js.map} +0 -0
  1473. /package/dist/{update-HCJC2OG4.js.map → update-42QYBUE3.js.map} +0 -0
  1474. /package/dist/{update-3PFWIMEI.js.map → update-ESK6PSME.js.map} +0 -0
  1475. /package/dist/{update-4ANTGEPT.js.map → update-KXTP3VPI.js.map} +0 -0
  1476. /package/dist/{update-NGLID7LC.js.map → update-V7SRDGHN.js.map} +0 -0
  1477. /package/dist/{upload-JMXCQDCA.js.map → upload-42IR5RIL.js.map} +0 -0
  1478. /package/dist/{upload-JYLLFY3P.js.map → upload-LSEV74SF.js.map} +0 -0
  1479. /package/dist/{upscale-FZQ5P2UR.js.map → upscale-X3B5CHG3.js.map} +0 -0
  1480. /package/dist/{url-options-BWNHNIAK.js.map → url-options-GJ7ZIUPD.js.map} +0 -0
  1481. /package/dist/{url-params-4ROYWFVV.js.map → url-params-GEESXN57.js.map} +0 -0
  1482. /package/dist/{use-SMS2UK32.js.map → use-D3SKAKUU.js.map} +0 -0
  1483. /package/dist/{validate-P4RRB3QA.js.map → validate-Z5SSEUES.js.map} +0 -0
  1484. /package/dist/{variant-2PJH7U2M.js.map → variant-MEHXEXFK.js.map} +0 -0
  1485. /package/dist/{videos-RRXYBR52.js.map → videos-PJAPZPOT.js.map} +0 -0
  1486. /package/dist/{view-AJ7ROYFP.js.map → view-HTCYEBXN.js.map} +0 -0
  1487. /package/dist/{viewer-check-PD6UQ63S.js.map → viewer-check-6M34VY7K.js.map} +0 -0
  1488. /package/dist/{web-5SWHU5KW.js.map → web-PUVVFMV3.js.map} +0 -0
  1489. /package/dist/{winners-FJXS3LGU.js.map → winners-CGLS7SZ3.js.map} +0 -0
  1490. /package/dist/{winning-ads-HH3WI5KB.js.map → winning-ads-ZCP4MIEQ.js.map} +0 -0
  1491. /package/dist/{write-commands-HY2OKPWW.js.map → write-commands-QNXR5ENS.js.map} +0 -0
  1492. /package/dist/{x-6VIOYUKX.js.map → x-ZKCLP23S.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../api/src/capabilities/surfaces.ts","../../api/src/capabilities/index.ts","../../api/src/capabilities/op-fields.ts"],"sourcesContent":["/**\n * The marketing surfaces Baker can reach, and — the part that exists nowhere\n * else — what it cannot do on each of them.\n *\n * Every other introspection surface (`baker schema <cmd>`, the family docs)\n * describes what the agent CAN do. An agent that needs to know a capability is\n * absent has, until now, only been able to find out by trying: promising a GA4\n * property merge and then discovering the connection is read-only, or probing\n * four spellings of a conversion-action field that does not exist. Both cost a\n * retraction in front of a client.\n *\n * This module is deliberately thin on prose and heavy on `evidence`. A\n * hand-maintained \"cannot do\" list rots the same way the Tag Manager built-in\n * trigger whitelist in this repo rotted down to one entry, so each limit carries\n * a machine-checkable claim about the code that makes it true, and\n * `packages/backend/convex/capabilities/coverage.test.ts` fails when a claim\n * stops holding — when the scope is finally requested, when the op ships, when\n * the guard is renamed away. `asserted` is the escape hatch for the handful of\n * facts that live outside this repo entirely, and it has to say why.\n */\n\nexport const CAPABILITY_SURFACES = [\n \"google-ads\",\n \"meta-ads\",\n \"linkedin-ads\",\n \"x-ads\",\n \"chatgpt-ads\",\n \"tag-manager\",\n \"ga4\",\n \"gsc\",\n \"shopify\",\n] as const;\nexport type CapabilitySurfaceId = (typeof CAPABILITY_SURFACES)[number];\n\n/**\n * How a change on this surface reaches the outside world.\n * - `staged-live` — staged during the chat and applied against the real\n * ad account at publish. The per-company write flags\n * that could once make this simulated are retired, so\n * a completed chat spends the client's money.\n * - `staged-immediate` — staged during the chat and applied at publish for\n * real, every time. Tag Manager: completing the chat\n * changes the user's production container.\n * - `read-only` — nothing here writes.\n *\n * The first two split on consequence, not on certainty: both always apply, but\n * one costs ad spend and the other cuts a container version, and the agent has\n * to tell the user which.\n */\nexport type CapabilityWritePath = \"staged-live\" | \"staged-immediate\" | \"read-only\";\n\nexport interface CapabilitySurfaceSpec {\n id: CapabilitySurfaceId;\n /** How the user names it. */\n label: string;\n /** The `oauthProviders.type` this surface connects through; `chatgpt-ads` connects with a pasted key instead. */\n provider: string;\n /** What the user picks when connecting: \"ad account\", \"property\", \"container\". */\n resourceNoun: string;\n writePath: CapabilityWritePath;\n /**\n * OAuth scopes that would grant writes. Access is derived by intersecting these\n * with the scopes the app actually requests — which is why \"GA4 is read-only\"\n * is a fact about the connection, not a sentence someone typed.\n */\n writeScopes: string[];\n /** Where to look next on this surface. */\n commands: string;\n /**\n * How the company connects. Absent is an OAuth grant, whose scopes decide\n * access. `api-key` is a pasted key that reaches one account whole, so the\n * write path alone decides it.\n */\n connectsWith?: \"api-key\";\n}\n\nexport const CAPABILITY_SURFACE_SPECS: Readonly<Record<CapabilitySurfaceId, CapabilitySurfaceSpec>> = {\n \"google-ads\": {\n id: \"google-ads\",\n label: \"Google Ads\",\n provider: \"google-ads\",\n resourceNoun: \"ad account\",\n writePath: \"staged-live\",\n writeScopes: [\"https://www.googleapis.com/auth/adwords\"],\n commands: \"baker ads google\",\n },\n \"meta-ads\": {\n id: \"meta-ads\",\n label: \"Meta Ads\",\n provider: \"meta\",\n resourceNoun: \"ad account\",\n writePath: \"staged-live\",\n writeScopes: [\"ads_management\"],\n commands: \"baker ads meta\",\n },\n \"linkedin-ads\": {\n id: \"linkedin-ads\",\n label: \"LinkedIn Ads\",\n provider: \"linkedin\",\n resourceNoun: \"ad account\",\n writePath: \"staged-live\",\n writeScopes: [\"rw_ads\"],\n commands: \"baker ads linkedin\",\n },\n \"x-ads\": {\n id: \"x-ads\",\n label: \"X Ads\",\n provider: \"x-ads\",\n resourceNoun: \"ad account\",\n writePath: \"staged-live\",\n /**\n * Empty on purpose, and the one surface where that does NOT mean read-only.\n * X Ads authenticates with OAuth 1.0a, which has no scope strings at all —\n * write access is granted to the *app* by X's Ads API access review, not\n * per connection. There is therefore no scope to check, and inventing one\n * would make `scopeBlockers` refuse every X write for a permission that\n * does not exist.\n */\n writeScopes: [],\n commands: \"baker ads x\",\n },\n \"chatgpt-ads\": {\n id: \"chatgpt-ads\",\n label: \"ChatGPT Ads\",\n // Connected with the client's own Ads API key (`chatgptAdsConnections`), not an OAuth grant.\n provider: \"chatgpt-ads\",\n resourceNoun: \"ad account\",\n writePath: \"staged-live\",\n /**\n * Empty because the pasted key has no scopes: it reaches its one account\n * whole. When OpenAI approves Baker's OAuth app this becomes\n * `ads.admin.all.write` and `connectsWith` goes away.\n */\n writeScopes: [],\n commands: \"baker ads chatgpt\",\n connectsWith: \"api-key\",\n },\n \"tag-manager\": {\n id: \"tag-manager\",\n label: \"Tag Manager\",\n provider: \"google-tag-manager\",\n resourceNoun: \"container\",\n writePath: \"staged-immediate\",\n writeScopes: [\n \"https://www.googleapis.com/auth/tagmanager.edit.containers\",\n \"https://www.googleapis.com/auth/tagmanager.edit.containerversions\",\n \"https://www.googleapis.com/auth/tagmanager.publish\",\n ],\n commands: \"baker tag-manager\",\n },\n ga4: {\n id: \"ga4\",\n label: \"Google Analytics 4\",\n provider: \"google-analytics\",\n resourceNoun: \"property\",\n // Like Tag Manager: staged during the chat, applied for real at publish,\n // every time. A connection made before writes existed is\n // read-only until it is reconnected, and `access` does NOT say so — it\n // reports what the Baker app asks Google for, which is now app-wide\n // read-write. The per-company signal is `scopeBlockers`, which compares\n // `writeScopes` against the scopes that connection actually recorded.\n writePath: \"staged-immediate\",\n writeScopes: [\"https://www.googleapis.com/auth/analytics.edit\"],\n commands: \"baker ga4\",\n },\n gsc: {\n id: \"gsc\",\n label: \"Search Console\",\n provider: \"google-search-console\",\n resourceNoun: \"site\",\n writePath: \"read-only\",\n writeScopes: [\"https://www.googleapis.com/auth/webmasters\"],\n commands: \"baker gsc\",\n },\n shopify: {\n id: \"shopify\",\n label: \"Shopify store\",\n provider: \"shopify\",\n resourceNoun: \"store\",\n // Staged during the chat and applied to the real store when it completes,\n // every time; each applied change can be put back by another publish\n // (`baker shopify undo`). The write permissions are optional scopes the\n // store grants when a change first needs one, so `scopeBlockers` is the\n // per-company signal.\n writePath: \"staged-immediate\",\n writeScopes: [\n \"write_products\",\n \"write_publications\",\n \"write_discounts\",\n \"write_online_store_navigation\",\n \"write_marketing_events\",\n ],\n commands: \"baker shopify\",\n },\n};\n\n/**\n * Why a capability is missing. The distinction is what decides what the agent\n * tells the user, so it is part of the contract rather than left to prose:\n * - `not_built` — the platform allows it, Baker has not built it. It may\n * be possible by hand in the platform's own interface.\n * - `provider_forbids` — the platform rejects it however it is asked. Nobody can\n * do it, so do not hand the user a manual route.\n * - `no_permission` — the connection was never granted the access. Reading\n * works, changing does not; it is manual work today.\n */\nexport type CapabilityLimitCause = \"not_built\" | \"provider_forbids\" | \"no_permission\";\n\n/**\n * The checkable claim behind a limit. `coverage.test.ts` re-derives each one.\n */\nexport type CapabilityLimitEvidence =\n /** The app never requests this OAuth scope, so nothing can write here. */\n | { kind: \"scope\"; scope: string }\n /** No staged op with these kinds exists, so there is nothing to stage. */\n | { kind: \"noOpKind\"; kinds: string[] }\n /** A field on a staged op does not accept this value. */\n | { kind: \"noChoice\"; opKind: string; field: string; value: string }\n /** A stage-time guard refuses it before anything is spent. */\n | { kind: \"guard\"; module: string; symbol: string }\n /** Nothing in this repository encodes it; the note says why. */\n | { kind: \"asserted\"; note: string };\n\nexport interface CapabilityLimit {\n surface: CapabilitySurfaceId;\n /** What an agent would set out to do, in the words it would use. */\n capability: string;\n cause: CapabilityLimitCause;\n /** Why it cannot happen and what to do instead. Agent-facing, plain English. */\n detail: string;\n evidence: CapabilityLimitEvidence;\n}\n\n/**\n * Ordered by how often getting it wrong has cost something. Keep entries to\n * things an agent would plausibly promise a client before checking.\n */\nexport const CAPABILITY_LIMITS: readonly CapabilityLimit[] = [\n {\n surface: \"shopify\",\n capability: \"Edit the store's theme files — templates, sections, the theme's code or its stylesheet\",\n cause: \"provider_forbids\",\n detail:\n \"Shopify only lets an app write theme files with an exemption it grants case by case, and editing a merchant's theme breaks the App Store's rules for an app like Baker. Say exactly what to change and where (Online Store → Themes → Customize), and carry on with the rest of the job.\",\n evidence: {\n kind: \"asserted\",\n note: \"Shopify's rule, not this repository's: `write_themes` needs Shopify's exemption and App Store requirement 5.1.1 forbids theme edits by an app of this kind. The app's TOML declares no `write_themes` (scopes.test.ts holds the backend's list equal to it).\",\n },\n },\n {\n surface: \"shopify\",\n capability: \"Create or delete products, change stock levels, or change whether a product is published\",\n cause: \"not_built\",\n detail:\n \"Baker changes products' copy, SEO, tags, type, options' SKU, barcode, weight and price, custom fields, collections, discount codes, redirects and its own campaigns in Shopify Marketing. Making or removing a product, its stock and its status are the merchant's, in Shopify admin; say what to do there and carry on.\",\n evidence: {\n kind: \"noOpKind\",\n kinds: [\"shopify.product.create\", \"shopify.product.delete\", \"shopify.inventory.set\", \"shopify.product.publish\"],\n },\n },\n {\n surface: \"shopify\",\n capability: \"Make a discount code for named customers or a customer segment\",\n cause: \"not_built\",\n detail:\n \"Every discount code Baker creates is for everyone who has the code. A code for named customers or a segment is made in Shopify admin → Discounts.\",\n evidence: {\n kind: \"noOpKind\",\n kinds: [\"shopify.discountCode.createForCustomers\", \"shopify.discountAutomatic.create\"],\n },\n },\n {\n surface: \"shopify\",\n capability: \"Make a collection whose products join by rules (a tag, a price, a type), or delete one\",\n cause: \"not_built\",\n detail:\n \"Baker makes collections of hand-picked products and adds or removes products by hand. A collection whose products join by its rules is set up in Shopify admin; Baker refuses to delete one, because undo could not rebuild its rules.\",\n evidence: { kind: \"guard\", module: \"shopify/writes/collectionRestore.ts\", symbol: \"restorability\" },\n },\n {\n surface: \"ga4\",\n capability:\n \"Create, merge or delete a property; create a data stream or change its name, URL or cross-domain settings; change the property's time zone or currency\",\n cause: \"not_built\",\n detail:\n \"Baker configures what a property MEASURES — key events, custom dimensions and metrics, custom events, audiences, the data retention window, a web stream's enhanced measurement (the events GA4 collects on its own) — plus the property's name, industry category and Google Ads link. It does not create or merge properties, create data streams or change a stream's name, URL or cross-domain settings. Time zone and currency are deliberately excluded even though the API allows them: both change how every future day is bucketed without reprocessing history, so a correction puts a step in the middle of every time series the user compares against. Tell the user exactly what to change in the Google Analytics admin screens and carry on with the rest of the job.\",\n evidence: {\n kind: \"noOpKind\",\n kinds: [\"ga4.dataStream.create\", \"ga4.dataStream.update\", \"ga4.property.create\"],\n },\n },\n {\n surface: \"ga4\",\n capability: \"Change who is already in an audience, or build one from a sequence of steps\",\n cause: \"provider_forbids\",\n detail:\n \"An audience can be CREATED and ARCHIVED here, and its name and description changed. Everything that defines who is in it — the conditions, the membership window, the exclusion mode — is marked Immutable by Google and cannot be edited on an audience that exists, however it is asked. Fixing a definition therefore means archiving the audience and creating a replacement, which does NOT carry the users the first one gathered. Say that before staging the archive. Sequence-based audiences (`sequenceFilter`) are not offered: they are the easiest shape in this API to get subtly wrong and the mistake is permanent, so build them by hand in Google Analytics if one is genuinely needed.\",\n evidence: {\n kind: \"asserted\",\n note: \"The immutability is Google's, declared in the Admin API v1alpha `Audience` resource (`filter_clauses`, `membership_duration_days` and `exclusion_duration_mode` are all marked Immutable) — no code in this repository can be read to confirm a rule the provider enforces. What this repo does hold is the consequence: `GA4_IMMUTABLE_FIELDS.audience` in `packages/api/src/ga4/ops.ts` drives the refusal, and `ga4.test.ts` pins that an update carrying one of those fields is rejected with the archive-and-recreate wording rather than a zod key error.\",\n },\n },\n {\n surface: \"ga4\",\n capability: \"Try a Google Analytics configuration change without it taking effect\",\n cause: \"not_built\",\n detail:\n \"Google Analytics changes always apply to the real property: staged changes apply when the chat completes, and an applied change is in effect immediately — there is no version to publish afterwards and no undo. The user reviewing the Analytics tab and completing the chat is the review, so agree the changes with them before you complete it.\",\n evidence: {\n kind: \"asserted\",\n note: \"An absence: the GA4 executor has no simulated branch and GA4 drafts have no `mode` column, and no test can assert the absence of a mode that was never modelled. The nearest positive check is that the three ad surfaces do carry one — a `mode` column on their drafts and an `executeSimulated` branch in each executor — which the `staged-live` vs `staged-immediate` write paths already encode. Their per-company write gates are retired, so every ad draft is stamped `live`; the branch survives only for drafts published while the gates existed.\",\n },\n },\n {\n surface: \"gsc\",\n capability:\n \"Change anything in Search Console — add or verify a property, submit or delete a sitemap, set a preferred domain\",\n cause: \"no_permission\",\n detail:\n \"Baker's Search Console connection is read-only (webmasters.readonly). `baker gsc sitemaps` lists what is already submitted; it cannot submit one. Hand submission to the user in Search Console and carry on.\",\n evidence: { kind: \"scope\", scope: \"https://www.googleapis.com/auth/webmasters\" },\n },\n {\n surface: \"google-ads\",\n capability:\n \"Change a conversion action that Google itself created — Smart campaign calls and directions, the in-ad lead form's submit, YouTube subscriptions and follow-on views, Floodlight and Search Ads 360 imports, store visits, codeless webpage actions\",\n cause: \"provider_forbids\",\n detail:\n \"Google rejects every write against one of its own conversion actions, a rename as flatly as a removal. Baker refuses these at stage time so no publish is spent on them. There is no manual route either — the Google Ads interface will not change them — so do not hand the user one. Leave the action alone and say so.\",\n evidence: {\n module: \"ads/google/writes/conversionSafety.ts\",\n kind: \"guard\",\n symbol: \"googleOwnedConversionRefusal\",\n },\n },\n {\n surface: \"google-ads\",\n capability:\n \"Switch a demographic dimension — age, gender, parental status, household income — between Targeting and Observation\",\n cause: \"not_built\",\n detail:\n \"`baker ads google audiences targeting` sets the AUDIENCE dimension only. The demographic rows are read before every write and sent back exactly as they were, so nothing is lost — but changing one is manual work in the Google Ads interface. Say which one to change and where, and carry on with the rest of the job.\",\n evidence: { kind: \"noChoice\", opKind: \"google.targetingSetting.set\", field: \"audience\", value: \"AGE_RANGE\" },\n },\n {\n surface: \"google-ads\",\n capability: \"Hide a conversion action (status HIDDEN)\",\n cause: \"provider_forbids\",\n detail:\n 'Google denies HIDDEN on every conversion-action write (\"the field\\'s value is on a deny-list for this field\"), so it is not part of the write contract — even though actions hidden long ago still read back as HIDDEN. To take an action out of automated bidding while it keeps measuring, demote it: `baker ads google conversions update <id> --no-primary`. To stop it counting, set status REMOVED.',\n evidence: { kind: \"noChoice\", opKind: \"google.conversionAction.update\", field: \"status\", value: \"HIDDEN\" },\n },\n {\n surface: \"google-ads\",\n capability:\n \"Build a combined, converters or lookalike audience from an audience or conversion action created in the same chat\",\n cause: \"provider_forbids\",\n detail:\n \"Google builds these lists from audiences and conversion actions that already exist in the account; one created in the same publish is not found. Stage and publish the parts first, then build the combined, converters or lookalike audience on their ids in a later chat — and tell the user it takes two publishes.\",\n evidence: {\n kind: \"asserted\",\n note: \"Enforced by `existingRefSchema` inside `audienceCreateSchema` (packages/api ops.ts), which no capability check reads; the provider half is live on v25: a logical operand on a list created in the same request was RESOURCE_NOT_FOUND, a basic list over a conversion action created with it INVALID_CONVERSION_TYPE, and lookalike seeds are int64 ids.\",\n },\n },\n {\n surface: \"google-ads\",\n capability: \"Create a Google Analytics (GA4) conversion action in Google Ads\",\n cause: \"provider_forbids\",\n detail:\n \"Google's API cannot create a Google Analytics conversion — they are imported, not created. Make sure the event is a key event in Google Analytics and the property is linked to Google Ads, then ask the user to import it in Google Ads (Goals → Conversions → New conversion action → Import → Google Analytics 4). To measure it with a Google Ads tag instead, stage a WEBPAGE conversion.\",\n evidence: {\n kind: \"noChoice\",\n opKind: \"google.conversionAction.create\",\n field: \"type\",\n value: \"GOOGLE_ANALYTICS_4_CUSTOM\",\n },\n },\n {\n surface: \"google-ads\",\n capability: \"Target the area around the business's own locations (a location group)\",\n cause: \"not_built\",\n detail:\n 'A location group targets a radius around the account\\'s location assets, and Baker cannot stage location assets yet — Google refuses a location group on an account without them. Target a radius around an address or a point instead (`criterionType: \"proximity\"` on `campaign-criteria add`), or tell the user to add the business locations in Google Ads; carry on with the rest of the job.',\n evidence: {\n kind: \"asserted\",\n note: 'The refusal is in the shared criterion contract, not a Convex guard: `criterionSpecSchema` in `packages/api/src/ads-google/criteria.ts` answers `criterionType: \"locationGroup\"` with LOCATION_GROUP_MESSAGE, pinned by `criteria.test.ts`. Live on v25 (3865083115, no location assets) every location-group variant was refused — `enable_customer_level_location_asset_set` with \"The error code is not in this version.\", a geo-constant group with `location_group.feed` REQUIRED.',\n },\n },\n {\n surface: \"google-ads\",\n capability: \"Create a Video or Local campaign\",\n cause: \"provider_forbids\",\n detail:\n \"Google's API does not create Video campaigns at all (refused for every sub-type and bidding), and Local campaigns were retired into Performance Max. For video on YouTube, stage a Demand Gen campaign with a Demand Gen video ad; for store visits, Performance Max. A Video views or reach campaign is the user's to create in Google Ads — say so, with the settings you recommend. Existing Video campaigns can still be read, paused and edited.\",\n evidence: { kind: \"noChoice\", opKind: \"google.campaign.create\", field: \"channelType\", value: \"VIDEO\" },\n },\n {\n surface: \"google-ads\",\n capability: \"Create a Smart campaign\",\n cause: \"not_built\",\n detail:\n \"A Smart campaign's business details (phone, website, business profile) are a setting Google refuses to check before publishing (RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY), so Baker cannot stage one it could validate. Stage a Search or Performance Max campaign instead, or hand the Smart campaign to the user in Google Ads and carry on with the rest of the job. Shopping, App, Travel and Hotel campaigns ARE stageable — each with the account link it needs. Existing Smart campaigns can still be read, paused and edited.\",\n evidence: { kind: \"noChoice\", opKind: \"google.campaign.create\", field: \"channelType\", value: \"SMART\" },\n },\n {\n surface: \"google-ads\",\n capability:\n \"Create a campaign of a retired sub-type — Search or Display Express, Gmail, Smart Display, Smart Shopping, Video action, app promotion on Search\",\n cause: \"provider_forbids\",\n detail:\n \"Google refuses every one of these on a create. Leave the sub-type out for a standard campaign of the same type; Gmail and Video action now run through Demand Gen, Smart Shopping through Performance Max.\",\n evidence: {\n kind: \"noChoice\",\n opKind: \"google.campaign.create\",\n field: \"channelSubType\",\n value: \"DISPLAY_GMAIL_AD\",\n },\n },\n {\n surface: \"google-ads\",\n capability: \"Set a campaign budget to accelerated delivery\",\n cause: \"provider_forbids\",\n detail:\n \"Google still stores a budget set to accelerated delivery, but refuses to attach it to any campaign, so it can never spend. Every budget is staged with standard delivery (Google paces it across the day). If the user wants to spend faster, raise the daily amount instead — and say that is what you did.\",\n evidence: { kind: \"noChoice\", opKind: \"google.budget.create\", field: \"deliveryMethod\", value: \"ACCELERATED\" },\n },\n {\n surface: \"google-ads\",\n capability: \"Create or edit a call ad (call-only ad)\",\n cause: \"provider_forbids\",\n detail:\n \"Google removed the call ad from its API, so nobody can create one or change an existing one through it. To take phone calls from search, stage a responsive search ad and tell the user to add the phone number as a call asset in Google Ads (Baker cannot stage call assets yet). Carry on with the rest of the job.\",\n evidence: {\n kind: \"asserted\",\n note: 'The format sits inside the ad content union, not on a top-level payload field, so no `noChoice` check can see it. `adContentSchema` answers `format: \"call\"` with CALL_AD_RETIRED_MESSAGE (packages/api ops.test.ts pins it); the provider half is v25\\'s `Ad` message having no `call_ad` — a validateOnly request on 3865083115 was refused `Unknown name \"callAd\"` (2026-10-08).',\n },\n },\n {\n surface: \"google-ads\",\n capability: \"Remove a device setting from a campaign once it has one\",\n cause: \"provider_forbids\",\n detail:\n \"A device criterion can be added with `campaign-criteria add` and re-bid afterwards, but Google rejects every removal of one — including a criterion the same account created itself days earlier (observed). So the undo for a bid boost is NOT a removal: it is `baker ads google campaign-criteria update <criterion-resource-name> --bid-modifier 1`, where 0 stops ads serving on that device and 0.1–10.0 bid down or up. Read `campaign_criterion.resource_name` and `campaign_criterion.bid_modifier` (type = DEVICE) first to see which devices the campaign already has. Baker refuses a staged device removal before publish; don't abort the job over it.\",\n evidence: {\n kind: \"guard\",\n module: \"ads/google/writes/stage.ts\",\n symbol: \"deviceCriterionRemovalRefusal\",\n },\n },\n {\n surface: \"google-ads\",\n capability: \"Change which conversion action counts calls from ads (account call reporting)\",\n cause: \"provider_forbids\",\n detail:\n \"Google's API refuses any write of the account's call conversion action, even the one it already uses. Call reporting itself and whether calls count as conversions ARE stageable (`baker ads google account update --call-reporting --call-conversions`). Hand the action choice to the user: Google Ads → Admin → Account settings → Call reporting. Carry on with the rest of the job.\",\n evidence: {\n kind: \"asserted\",\n note: '`customerUpdateSchema` is strict and carries no callConversionAction, so an op naming it is refused at stage; the provider half: a validateOnly customer update of `call_reporting_setting.call_conversion_action` on 3865083115 — with the live value and with another action — was refused \"The error code is not in this version.\" (v25, 2026-10-08).',\n },\n },\n {\n surface: \"google-ads\",\n capability: \"Put a label on an asset (sitelink, image, callout …)\",\n cause: \"provider_forbids\",\n detail:\n \"Google Ads has no labels on assets — its API labels campaigns, ad groups, ads and keywords only, and staging refuses an asset. Label the campaign or ad group that uses the asset, or give the asset a findable name, and carry on with the rest of the job.\",\n evidence: { kind: \"noChoice\", opKind: \"google.label.attach\", field: \"level\", value: \"asset\" },\n },\n {\n surface: \"google-ads\",\n capability: \"Put a label on the advertiser account itself\",\n cause: \"provider_forbids\",\n detail:\n \"Google applies a label to an account only from the manager account above it (CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER, live v25), and Baker works inside the advertiser account. Label the campaigns instead, or tell the user to label the account from their manager account in Google Ads; carry on with the rest of the job.\",\n evidence: { kind: \"noChoice\", opKind: \"google.label.attach\", field: \"level\", value: \"customer\" },\n },\n {\n surface: \"google-ads\",\n capability: \"Change billing, payment methods, or account-level spend limits\",\n cause: \"not_built\",\n detail:\n \"Nothing that touches money setup is stageable — no op exists for it. Report on spend, then hand billing changes to the user in Google Ads. Account settings that are not money (auto-tagging, the account tracking template and final URL suffix, call reporting, video inventory) ARE stageable: `baker ads google account update`.\",\n evidence: {\n kind: \"noOpKind\",\n kinds: [\"google.billingSetup.create\", \"google.accountBudget.create\"],\n },\n },\n {\n surface: \"meta-ads\",\n capability:\n \"Push delivery to an ad — dedicate a share of the campaign or ad-set budget to one ad for a set number of days\",\n cause: \"not_built\",\n detail:\n 'Meta ships push delivery as an Ads Manager control only: the Marketing API\\'s ad object takes a schedule, a display sequence and tracking, and nothing that dedicates budget to one ad. So nothing can stage it and no publish can apply it — do not offer to switch it on, and never report a starved ad as pushed. Hand the user the click path and the settings you are recommending: Ad level > Ad setup > \"show more settings\" (next to ad scheduling) > \"Help ensure delivery by dedicating a portion of your budget to your ad\", then the percentage of budget and the number of days, for the one ad you name. It needs at least 2 ads in the ad set, and only one ad per ad set should be pushed. Then carry on with the rest of the job.',\n evidence: { kind: \"noOpKind\", kinds: [\"ad.pushDelivery\"] },\n },\n {\n surface: \"linkedin-ads\",\n capability: \"Move a live ad to another ad set, or change a live ad set's type, locale, or associated organization\",\n cause: \"provider_forbids\",\n detail:\n \"LinkedIn treats these as create-only: they can be corrected while the change is still staged, but not on something already live. Baker refuses the amend rather than staging a write LinkedIn will reject. Create the replacement instead, and say why.\",\n evidence: { kind: \"guard\", module: \"ads/linkedin/writes/amend.ts\", symbol: \"rejectedLiveKeys\" },\n },\n {\n surface: \"tag-manager\",\n capability: \"Create, delete, or move a Tag Manager account, container, or workspace\",\n cause: \"not_built\",\n detail:\n \"Baker works inside the containers the company connected — it changes tags, triggers, variables, folders, built-in variables and container settings, and nothing above that level. Ask the user to create the container in Tag Manager and connect it, then carry on.\",\n evidence: {\n kind: \"noOpKind\",\n kinds: [\n \"tagManager.container.create\",\n \"tagManager.container.delete\",\n \"tagManager.account.create\",\n \"tagManager.workspace.create\",\n ],\n },\n },\n {\n surface: \"tag-manager\",\n capability: \"Try a container change without it going live\",\n cause: \"not_built\",\n detail:\n \"Tag Manager changes always apply to the real container: staged changes apply to its working workspace when the chat completes, and a clean run cuts and publishes a container version, which takes them live on the site. Completing the chat is the review, so get the user's agreement before you complete it.\",\n evidence: {\n kind: \"asserted\",\n note: \"An absence: the Tag Manager executor has no simulated branch and its drafts have no `mode` column, and no test can assert the absence of a mode that was never modelled. The nearest positive check is that the three ad surfaces do carry one — a `mode` column on their drafts and an `executeSimulated` branch in each executor — which the `staged-live` vs `staged-immediate` write paths already encode. Their per-company write gates are retired, so every ad draft is stamped `live`; the branch survives only for drafts published while the gates existed.\",\n },\n },\n];\n","/**\n * Contract for `/api/capabilities` — what Baker can and cannot do for this\n * company, answered before any work starts (`baker capabilities`).\n *\n * Convex `Id<T>` values are plain `z.string()`; this package must not depend on\n * `convex`. Nothing here carries a token, key, or anything a credential could be\n * reconstructed from — the response names accounts and permissions, never\n * secrets.\n */\nimport { z } from \"zod\";\nimport { CAPABILITY_SURFACES } from \"./surfaces\";\n\nexport { describeOpPayload, describeOpUnion, type OpDescription } from \"./op-fields\";\nexport {\n CAPABILITY_LIMITS,\n CAPABILITY_SURFACE_SPECS,\n CAPABILITY_SURFACES,\n type CapabilityLimit,\n type CapabilityLimitCause,\n type CapabilityLimitEvidence,\n type CapabilitySurfaceId,\n type CapabilitySurfaceSpec,\n type CapabilityWritePath,\n} from \"./surfaces\";\n\nexport const capabilitySurfaceSchema = z.enum(CAPABILITY_SURFACES);\n\nexport const capabilitiesRequestSchema = z.object({\n /** Narrow to one surface. Omit for every surface the company could use. */\n surface: capabilitySurfaceSchema.optional(),\n /** Include the field-level contract of every op, not just the entity list. */\n full: z.boolean().optional(),\n /**\n * Who the chat acts as (`BAKER_ACTING_USER_ID`). Adds that person's own\n * connected tools — they load for this turn, and for nobody else's.\n */\n actingUserId: z.string().optional(),\n});\nexport type CapabilitiesRequest = z.infer<typeof capabilitiesRequestSchema>;\n\n/** A connected account, property, site or container. Identity only. */\nexport const capabilityResourceSchema = z.object({\n id: z.string(),\n name: z.string().optional(),\n});\nexport type CapabilityResource = z.infer<typeof capabilityResourceSchema>;\n\nexport const capabilityOpSchema = z.object({\n kind: z.string(),\n /** True when the op changes something that already exists and must be named. */\n needsTarget: z.boolean(),\n required: z.array(z.string()),\n optional: z.array(z.string()),\n /** Field → the values it accepts, for fields that take a fixed set. */\n choices: z.record(z.string(), z.array(z.string())),\n /** False when the platform accepts fields beyond the listed ones. */\n fieldsAreComplete: z.boolean(),\n});\nexport type CapabilityOp = z.infer<typeof capabilityOpSchema>;\n\nexport const capabilityLimitViewSchema = z.object({\n capability: z.string(),\n cause: z.enum([\"not_built\", \"provider_forbids\", \"no_permission\"]),\n detail: z.string(),\n});\nexport type CapabilityLimitView = z.infer<typeof capabilityLimitViewSchema>;\n\n/**\n * `live` — writes reach the real platform at publish.\n * `applies-at-publish` — publishing changes the real thing, with no version step after.\n * `none` — this surface does not write.\n *\n * There is no `simulated`: the per-company gates that produced it on Google,\n * Meta and LinkedIn are all retired, so no surface can report a write that\n * touches nothing. Leaving the value in the contract would keep alive the one\n * sentence this report exists to prevent — \"your ads are only a preview\".\n */\nexport const capabilityWriteModeSchema = z.enum([\"live\", \"applies-at-publish\", \"none\"]);\nexport type CapabilityWriteMode = z.infer<typeof capabilityWriteModeSchema>;\n\nexport const capabilitySurfaceReportSchema = z.object({\n surface: capabilitySurfaceSchema,\n label: z.string(),\n connected: z.boolean(),\n /** What the user picked when connecting. Empty when nothing is selected yet. */\n resources: z.array(capabilityResourceSchema),\n access: z.enum([\"read-write\", \"read-only\", \"not-connected\"]),\n writeMode: capabilityWriteModeSchema,\n /** One sentence about the write mode, safe to repeat to the user. */\n writeModeNote: z.string(),\n /** Entities this surface can change at all, e.g. \"campaign\", \"keyword\". */\n writableEntities: z.array(z.string()),\n /** Things wrong with the connection itself: needs reconnecting, missing a permission. */\n blockers: z.array(z.string()),\n /** What cannot be done here, and why. */\n limits: z.array(capabilityLimitViewSchema),\n /** The per-op contract. Present when one surface was asked for, or with `full`. */\n ops: z.array(capabilityOpSchema).optional(),\n /** Where to look next: `baker ads google`, `baker ga4`, … */\n commands: z.string(),\n});\nexport type CapabilitySurfaceReport = z.infer<typeof capabilitySurfaceReportSchema>;\n\n/**\n * A source that is available to this company but is not one of the seven\n * marketing surfaces above.\n *\n * These exist because \"what do I have?\" had no single answer, and the gap was\n * not academic: Microsoft Clarity arrives over MCP and HubSpot is read through\n * the CLI, so neither appears in `surfaces` — and an agent that checked only\n * this command concluded it had no Clarity while Clarity was sitting in its own\n * tool list. That is the source most likely to change what it decides.\n *\n * Deliberately NOT modelled as a surface. A surface carries `ops`,\n * `writableEntities` and a write mode, all of which describe a staged-write\n * contract Baker owns. An MCP toolkit has none of that — Baker did not define\n * its tools and cannot enumerate their fields — so filing one under `surfaces`\n * would mean either lying about the contract or leaving four fields empty on\n * every row and inviting the reader to wonder which.\n */\nexport const capabilityToolSchema = z.object({\n /** `microsoft_clarity`, `hubspot`, or the name the user gave a custom server. */\n key: z.string(),\n label: z.string(),\n /** `mcp` — tools in the agent's own list. `platform` — signed in, read through the CLI. */\n kind: z.enum([\"mcp\", \"platform\"]),\n /** How to actually reach it, in one phrase the agent can act on. */\n reach: z.string(),\n /**\n * Whether it can be used right now.\n *\n * A connection that exists and is expired is worse than one that is absent:\n * it reads as available and fails at the moment it is needed, which on an\n * unattended run is a report with a hole in it and no explanation.\n */\n ready: z.boolean(),\n /** Why it is not ready, or what it is for. Absent when neither needs saying. */\n note: z.string().optional(),\n});\nexport type CapabilityTool = z.infer<typeof capabilityToolSchema>;\n\nexport const capabilitiesResponseSchema = z.object({\n ok: z.literal(true),\n data: z.object({\n surfaces: z.array(capabilitySurfaceReportSchema),\n /**\n * Everything else this company can reach. Shared connections only —\n * a teammate's private per-user connection belongs to whoever started the\n * session and is visible in the agent's own tool list, not here.\n */\n tools: z.array(capabilityToolSchema),\n }),\n});\nexport type CapabilitiesResponse = z.infer<typeof capabilitiesResponseSchema>;\n","import { z } from \"zod\";\n\n/**\n * What each staged write op actually accepts, read off the contract itself.\n *\n * The alternative is a hand-written table of \"fields you can set\", and the\n * repository already knows how that ends: a list nobody re-reads drifts from the\n * schema, and the agent trusts it until a publish fails. Every fact here is\n * derived from the same `z.discriminatedUnion` the CLI preflights against and\n * the backend parses with, so it cannot disagree with what a write will accept.\n *\n * Zod internals are read through `_zod.def` on purpose: zod 4 exposes no public\n * introspection API, and the alternative (parsing probe payloads) can only ever\n * tell you a field was rejected, never that it exists. `unwrapObject` and the\n * `optional`/`default` handling are the whole surface of that coupling — if zod\n * changes it, `op-fields.test.ts` fails on the real shipped unions, not just on\n * toy fixtures, which is why those two cases are in the test.\n */\n\n/**\n * A payload field's own metadata never crosses this boundary — only names and,\n * where the field takes a fixed set, its accepted values.\n */\nexport interface OpDescription {\n /** The op kind, e.g. `google.conversionAction.update`. */\n kind: string;\n /** True when the op changes an entity that already exists and must be named. */\n needsTarget: boolean;\n /** Payload fields that must be supplied. */\n required: string[];\n /** Payload fields that may be supplied (a defaulted field counts — it can be omitted). */\n optional: string[];\n /** Field name → the values it accepts, for fields that take a fixed set. */\n choices: Record<string, string[]>;\n /**\n * False when the platform accepts fields beyond the declared ones — Tag Manager\n * payloads pass unknown keys straight through to Google, so \"not listed here\"\n * does not mean \"not accepted\" there.\n */\n fieldsAreComplete: boolean;\n}\n\ninterface ZodDef {\n type?: string;\n shape?: Record<string, unknown>;\n options?: unknown[];\n values?: unknown[];\n entries?: Record<string, unknown>;\n innerType?: unknown;\n catchall?: unknown;\n}\n\nfunction def(schema: unknown): ZodDef | undefined {\n if (typeof schema !== \"object\" || schema === null) return undefined;\n const internals = (schema as { _zod?: { def?: ZodDef } })._zod;\n return internals?.def;\n}\n\n/** Peel `.optional()` / `.default()` / `.nullable()` wrappers off a field. */\nfunction unwrap(schema: unknown): { inner: unknown; omittable: boolean } {\n let current = schema;\n let omittable = false;\n for (let depth = 0; depth < 8; depth += 1) {\n const d = def(current);\n if (!d) break;\n if (d.type === \"optional\" || d.type === \"default\" || d.type === \"prefault\") {\n omittable = true;\n current = d.innerType;\n continue;\n }\n if (d.type === \"nullable\" || d.type === \"readonly\") {\n current = d.innerType;\n continue;\n }\n break;\n }\n return { inner: current, omittable };\n}\n\n/**\n * The object underneath a payload schema, or undefined when the payload is not\n * an object at all (a discriminated union of formats, say). A cross-field rule\n * added with `.refine()` keeps the shape in zod 4, but `.innerType` is followed\n * anyway so a wrapped schema degrades to the object rather than to nothing.\n */\nfunction unwrapObject(schema: unknown): ZodDef | undefined {\n let current = schema;\n for (let depth = 0; depth < 8; depth += 1) {\n const d = def(current);\n if (!d) return undefined;\n if (d.shape) return d;\n if (d.innerType === undefined) return undefined;\n current = d.innerType;\n }\n return undefined;\n}\n\nfunction literalValue(schema: unknown): string | undefined {\n const values = def(schema)?.values;\n const first = values?.[0];\n return typeof first === \"string\" ? first : undefined;\n}\n\nfunction acceptedValues(schema: unknown): string[] | undefined {\n const d = def(schema);\n if (d?.type === \"enum\" && d.entries) return Object.keys(d.entries);\n if (d?.type === \"literal\" && d.values) {\n const values = d.values.filter((value): value is string => typeof value === \"string\");\n return values.length > 0 ? values : undefined;\n }\n return undefined;\n}\n\n/** Anything with `.options` — the shipped op unions, or a fixture built in a test. */\ninterface DiscriminatedUnionLike {\n options: readonly unknown[];\n}\n\ntype PayloadFields = Pick<OpDescription, \"required\" | \"optional\" | \"choices\">;\n\nfunction payloadFields(payload: ZodDef | undefined): PayloadFields {\n const required: string[] = [];\n const optional: string[] = [];\n const choices: Record<string, string[]> = {};\n for (const [name, field] of Object.entries(payload?.shape ?? {})) {\n const { inner, omittable } = unwrap(field);\n (omittable ? optional : required).push(name);\n const values = acceptedValues(inner);\n if (values) choices[name] = values;\n }\n return { required, optional, choices };\n}\n\n/**\n * True when a key outside the shape cannot get through: stripped (plain object) or refused (a\n * strict object's catchall is `never`). A `looseObject` / `.catchall(z.unknown())` passes it on.\n */\nfunction refusesUnknownKeys(payload: ZodDef): boolean {\n return payload.catchall === undefined || def(payload.catchall)?.type === \"never\";\n}\n\nfunction describeOption(option: unknown): OpDescription | undefined {\n const shape = def(option)?.shape;\n if (!shape) return undefined;\n const kind = literalValue(shape.kind);\n if (kind === undefined) return undefined;\n const payload = unwrapObject(shape.payload);\n return {\n kind,\n needsTarget: shape.target !== undefined,\n ...payloadFields(payload),\n fieldsAreComplete: shape.payload === undefined || (payload !== undefined && refusesUnknownKeys(payload)),\n };\n}\n\n/**\n * One description per member of a staged-write op union, in declaration order.\n */\nexport function describeOpUnion(union: DiscriminatedUnionLike): OpDescription[] {\n const options = def(union)?.options ?? union.options;\n return options.map(describeOption).filter((entry): entry is OpDescription => entry !== undefined);\n}\n\n/** The slice of JSON Schema `z.toJSONSchema` writes that a payload's shape is read from. */\ninterface JsonSchema {\n type?: string | string[];\n const?: unknown;\n enum?: unknown[];\n anyOf?: JsonSchema[];\n oneOf?: JsonSchema[];\n properties?: Record<string, JsonSchema>;\n required?: string[];\n items?: JsonSchema;\n prefixItems?: JsonSchema[];\n additionalProperties?: boolean | JsonSchema;\n $ref?: string;\n $defs?: Record<string, JsonSchema>;\n}\n\n/**\n * A shape that contains itself (a Tag Manager parameter holds a list of parameters) arrives as a\n * `$ref` into `$defs`: it is spelled out the first time and written `…` inside itself.\n */\ninterface Rendering {\n defs: Record<string, JsonSchema>;\n expanding: ReadonlySet<string>;\n indent: string;\n}\n\nfunction isObjectSchema(schema: JsonSchema): boolean {\n return schema.properties !== undefined;\n}\n\n/** Members of a union of objects go one per line, so a reader scans the variants, not a wall. */\nfunction unionText(members: JsonSchema[], at: Rendering): string {\n const texts = [...new Set(members.map((member) => shapeText(member, { ...at, indent: `${at.indent} ` })))];\n if (!members.every(isObjectSchema) || texts.length < 2) return texts.join(\" | \");\n return texts.map((text, index) => (index === 0 ? text : `\\n${at.indent}| ${text}`)).join(\"\");\n}\n\nfunction objectText(schema: JsonSchema, at: Rendering): string {\n const required = new Set(schema.required ?? []);\n const fields = Object.entries(schema.properties ?? {}).map(([name, field]) => {\n const value = shapeText(field, at);\n const optional = required.has(name) ? \"\" : \"?\";\n return value.startsWith(\"\\n\") || !value.includes(\"\\n\")\n ? `${name}${optional}: ${value}`\n : `${name}${optional}:\\n${at.indent} ${value}`;\n });\n return fields.length === 0 ? \"{}\" : `{ ${fields.join(\", \")} }`;\n}\n\nfunction typeText(type: string, schema: JsonSchema, at: Rendering): string {\n if (type === \"array\" && schema.prefixItems) {\n return `[${schema.prefixItems.map((item) => shapeText(item, at)).join(\", \")}]`;\n }\n if (type === \"array\") {\n const item = schema.items ? shapeText(schema.items, at) : \"unknown\";\n return item.includes(\" \") ? `(${item})[]` : `${item}[]`;\n }\n if (type === \"object\") {\n const values =\n typeof schema.additionalProperties === \"object\" ? shapeText(schema.additionalProperties, at) : \"unknown\";\n return `{ [key: string]: ${values} }`;\n }\n return type === \"integer\" ? \"number\" : type;\n}\n\n/** A TypeScript-like one-glance rendering: names, nesting, literals and enums — no patterns or bounds. */\nfunction shapeText(schema: JsonSchema, at: Rendering): string {\n if (schema.$ref !== undefined) {\n const name = schema.$ref.replace(\"#/$defs/\", \"\");\n const target = at.defs[name];\n if (target === undefined || at.expanding.has(name)) return \"…\";\n return shapeText(target, { ...at, expanding: new Set([...at.expanding, name]) });\n }\n if (schema.const !== undefined) return JSON.stringify(schema.const);\n if (schema.enum) return schema.enum.map((value) => JSON.stringify(value)).join(\" | \");\n const members = schema.oneOf ?? schema.anyOf;\n if (members) return unionText(members, at);\n if (isObjectSchema(schema)) return objectText(schema, at);\n const types = Array.isArray(schema.type) ? schema.type : [schema.type ?? \"unknown\"];\n return types.map((type) => typeText(type, schema, at)).join(\" | \");\n}\n\n/**\n * The payload an op kind takes, as one readable shape: every field, nested objects and each member\n * of a union with its own fields, the literals and enum values each accepts. Read off the contract\n * with zod's own `toJSONSchema`, so it is the shape `--file` is parsed with — undefined for a kind\n * the union does not hold, or one whose op carries no payload.\n */\nexport function describeOpPayload(union: DiscriminatedUnionLike, kind: string): string | undefined {\n const options = def(union)?.options ?? union.options;\n const option = options.find((candidate) => literalValue(def(candidate)?.shape?.kind) === kind);\n const payload = def(option)?.shape?.payload;\n if (payload === undefined) return undefined;\n const schema = z.toJSONSchema(payload as z.ZodType, { io: \"input\", unrepresentable: \"any\" }) as JsonSchema;\n return shapeText(schema, { defs: schema.$defs ?? {}, expanding: new Set(), indent: \"\" });\n}\n\n/** The close of a refusal that names the payload the op takes, or nothing when there is none to name. */\nexport function payloadShapeSentence(union: DiscriminatedUnionLike, kind: string): string {\n const shape = describeOpPayload(union, kind);\n return shape === undefined ? \"\" : `. ${kind} takes this payload (a field marked ? may be left out):\\n${shape}`;\n}\n"],"mappings":";AAqBO,IAAM,sBAAsB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AA6CO,IAAM,2BAAyF;AAAA,EACpG,cAAc;AAAA,IACZ,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAc;AAAA,IACd,WAAW;AAAA,IACX,aAAa,CAAC,yCAAyC;AAAA,IACvD,UAAU;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAc;AAAA,IACd,WAAW;AAAA,IACX,aAAa,CAAC,gBAAgB;AAAA,IAC9B,UAAU;AAAA,EACZ;AAAA,EACA,gBAAgB;AAAA,IACd,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAc;AAAA,IACd,WAAW;AAAA,IACX,aAAa,CAAC,QAAQ;AAAA,IACtB,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAc;AAAA,IACd,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASX,aAAa,CAAC;AAAA,IACd,UAAU;AAAA,EACZ;AAAA,EACA,eAAe;AAAA,IACb,IAAI;AAAA,IACJ,OAAO;AAAA;AAAA,IAEP,UAAU;AAAA,IACV,cAAc;AAAA,IACd,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMX,aAAa,CAAC;AAAA,IACd,UAAU;AAAA,IACV,cAAc;AAAA,EAChB;AAAA,EACA,eAAe;AAAA,IACb,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAc;AAAA,IACd,WAAW;AAAA,IACX,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,UAAU;AAAA,EACZ;AAAA,EACA,KAAK;AAAA,IACH,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOd,WAAW;AAAA,IACX,aAAa,CAAC,gDAAgD;AAAA,IAC9D,UAAU;AAAA,EACZ;AAAA,EACA,KAAK;AAAA,IACH,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAc;AAAA,IACd,WAAW;AAAA,IACX,aAAa,CAAC,4CAA4C;AAAA,IAC1D,UAAU;AAAA,EACZ;AAAA,EACA,SAAS;AAAA,IACP,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMd,WAAW;AAAA,IACX,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,UAAU;AAAA,EACZ;AACF;;;ACzLA,SAAS,KAAAA,UAAS;;;ACTlB,SAAS,SAAS;AAoDlB,SAAS,IAAI,QAAqC;AAChD,MAAI,OAAO,WAAW,YAAY,WAAW,KAAM,QAAO;AAC1D,QAAM,YAAa,OAAuC;AAC1D,SAAO,WAAW;AACpB;AAyCA,SAAS,aAAa,QAAqC;AACzD,QAAM,SAAS,IAAI,MAAM,GAAG;AAC5B,QAAM,QAAQ,SAAS,CAAC;AACxB,SAAO,OAAO,UAAU,WAAW,QAAQ;AAC7C;AAwFA,SAAS,eAAe,QAA6B;AACnD,SAAO,OAAO,eAAe;AAC/B;AAGA,SAAS,UAAU,SAAuB,IAAuB;AAC/D,QAAM,QAAQ,CAAC,GAAG,IAAI,IAAI,QAAQ,IAAI,CAAC,WAAW,UAAU,QAAQ,EAAE,GAAG,IAAI,QAAQ,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1G,MAAI,CAAC,QAAQ,MAAM,cAAc,KAAK,MAAM,SAAS,EAAG,QAAO,MAAM,KAAK,KAAK;AAC/E,SAAO,MAAM,IAAI,CAAC,MAAM,UAAW,UAAU,IAAI,OAAO;AAAA,EAAK,GAAG,MAAM,KAAK,IAAI,EAAG,EAAE,KAAK,EAAE;AAC7F;AAEA,SAAS,WAAW,QAAoB,IAAuB;AAC7D,QAAM,WAAW,IAAI,IAAI,OAAO,YAAY,CAAC,CAAC;AAC9C,QAAM,SAAS,OAAO,QAAQ,OAAO,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM;AAC5E,UAAM,QAAQ,UAAU,OAAO,EAAE;AACjC,UAAM,WAAW,SAAS,IAAI,IAAI,IAAI,KAAK;AAC3C,WAAO,MAAM,WAAW,IAAI,KAAK,CAAC,MAAM,SAAS,IAAI,IACjD,GAAG,IAAI,GAAG,QAAQ,KAAK,KAAK,KAC5B,GAAG,IAAI,GAAG,QAAQ;AAAA,EAAM,GAAG,MAAM,KAAK,KAAK;AAAA,EACjD,CAAC;AACD,SAAO,OAAO,WAAW,IAAI,OAAO,KAAK,OAAO,KAAK,IAAI,CAAC;AAC5D;AAEA,SAAS,SAAS,MAAc,QAAoB,IAAuB;AACzE,MAAI,SAAS,WAAW,OAAO,aAAa;AAC1C,WAAO,IAAI,OAAO,YAAY,IAAI,CAAC,SAAS,UAAU,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,EAC7E;AACA,MAAI,SAAS,SAAS;AACpB,UAAM,OAAO,OAAO,QAAQ,UAAU,OAAO,OAAO,EAAE,IAAI;AAC1D,WAAO,KAAK,SAAS,GAAG,IAAI,IAAI,IAAI,QAAQ,GAAG,IAAI;AAAA,EACrD;AACA,MAAI,SAAS,UAAU;AACrB,UAAM,SACJ,OAAO,OAAO,yBAAyB,WAAW,UAAU,OAAO,sBAAsB,EAAE,IAAI;AACjG,WAAO,oBAAoB,MAAM;AAAA,EACnC;AACA,SAAO,SAAS,YAAY,WAAW;AACzC;AAGA,SAAS,UAAU,QAAoB,IAAuB;AAC5D,MAAI,OAAO,SAAS,QAAW;AAC7B,UAAM,OAAO,OAAO,KAAK,QAAQ,YAAY,EAAE;AAC/C,UAAM,SAAS,GAAG,KAAK,IAAI;AAC3B,QAAI,WAAW,UAAa,GAAG,UAAU,IAAI,IAAI,EAAG,QAAO;AAC3D,WAAO,UAAU,QAAQ,EAAE,GAAG,IAAI,WAAW,oBAAI,IAAI,CAAC,GAAG,GAAG,WAAW,IAAI,CAAC,EAAE,CAAC;AAAA,EACjF;AACA,MAAI,OAAO,UAAU,OAAW,QAAO,KAAK,UAAU,OAAO,KAAK;AAClE,MAAI,OAAO,KAAM,QAAO,OAAO,KAAK,IAAI,CAAC,UAAU,KAAK,UAAU,KAAK,CAAC,EAAE,KAAK,KAAK;AACpF,QAAM,UAAU,OAAO,SAAS,OAAO;AACvC,MAAI,QAAS,QAAO,UAAU,SAAS,EAAE;AACzC,MAAI,eAAe,MAAM,EAAG,QAAO,WAAW,QAAQ,EAAE;AACxD,QAAM,QAAQ,MAAM,QAAQ,OAAO,IAAI,IAAI,OAAO,OAAO,CAAC,OAAO,QAAQ,SAAS;AAClF,SAAO,MAAM,IAAI,CAAC,SAAS,SAAS,MAAM,QAAQ,EAAE,CAAC,EAAE,KAAK,KAAK;AACnE;AAQO,SAAS,kBAAkB,OAA+B,MAAkC;AACjG,QAAM,UAAU,IAAI,KAAK,GAAG,WAAW,MAAM;AAC7C,QAAM,SAAS,QAAQ,KAAK,CAAC,cAAc,aAAa,IAAI,SAAS,GAAG,OAAO,IAAI,MAAM,IAAI;AAC7F,QAAM,UAAU,IAAI,MAAM,GAAG,OAAO;AACpC,MAAI,YAAY,OAAW,QAAO;AAClC,QAAM,SAAS,EAAE,aAAa,SAAsB,EAAE,IAAI,SAAS,iBAAiB,MAAM,CAAC;AAC3F,SAAO,UAAU,QAAQ,EAAE,MAAM,OAAO,SAAS,CAAC,GAAG,WAAW,oBAAI,IAAI,GAAG,QAAQ,GAAG,CAAC;AACzF;;;ADzOO,IAAM,0BAA0BC,GAAE,KAAK,mBAAmB;AAE1D,IAAM,4BAA4BA,GAAE,OAAO;AAAA;AAAA,EAEhD,SAAS,wBAAwB,SAAS;AAAA;AAAA,EAE1C,MAAMA,GAAE,QAAQ,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAK3B,cAAcA,GAAE,OAAO,EAAE,SAAS;AACpC,CAAC;AAIM,IAAM,2BAA2BA,GAAE,OAAO;AAAA,EAC/C,IAAIA,GAAE,OAAO;AAAA,EACb,MAAMA,GAAE,OAAO,EAAE,SAAS;AAC5B,CAAC;AAGM,IAAM,qBAAqBA,GAAE,OAAO;AAAA,EACzC,MAAMA,GAAE,OAAO;AAAA;AAAA,EAEf,aAAaA,GAAE,QAAQ;AAAA,EACvB,UAAUA,GAAE,MAAMA,GAAE,OAAO,CAAC;AAAA,EAC5B,UAAUA,GAAE,MAAMA,GAAE,OAAO,CAAC;AAAA;AAAA,EAE5B,SAASA,GAAE,OAAOA,GAAE,OAAO,GAAGA,GAAE,MAAMA,GAAE,OAAO,CAAC,CAAC;AAAA;AAAA,EAEjD,mBAAmBA,GAAE,QAAQ;AAC/B,CAAC;AAGM,IAAM,4BAA4BA,GAAE,OAAO;AAAA,EAChD,YAAYA,GAAE,OAAO;AAAA,EACrB,OAAOA,GAAE,KAAK,CAAC,aAAa,oBAAoB,eAAe,CAAC;AAAA,EAChE,QAAQA,GAAE,OAAO;AACnB,CAAC;AAaM,IAAM,4BAA4BA,GAAE,KAAK,CAAC,QAAQ,sBAAsB,MAAM,CAAC;AAG/E,IAAM,gCAAgCA,GAAE,OAAO;AAAA,EACpD,SAAS;AAAA,EACT,OAAOA,GAAE,OAAO;AAAA,EAChB,WAAWA,GAAE,QAAQ;AAAA;AAAA,EAErB,WAAWA,GAAE,MAAM,wBAAwB;AAAA,EAC3C,QAAQA,GAAE,KAAK,CAAC,cAAc,aAAa,eAAe,CAAC;AAAA,EAC3D,WAAW;AAAA;AAAA,EAEX,eAAeA,GAAE,OAAO;AAAA;AAAA,EAExB,kBAAkBA,GAAE,MAAMA,GAAE,OAAO,CAAC;AAAA;AAAA,EAEpC,UAAUA,GAAE,MAAMA,GAAE,OAAO,CAAC;AAAA;AAAA,EAE5B,QAAQA,GAAE,MAAM,yBAAyB;AAAA;AAAA,EAEzC,KAAKA,GAAE,MAAM,kBAAkB,EAAE,SAAS;AAAA;AAAA,EAE1C,UAAUA,GAAE,OAAO;AACrB,CAAC;AAoBM,IAAM,uBAAuBA,GAAE,OAAO;AAAA;AAAA,EAE3C,KAAKA,GAAE,OAAO;AAAA,EACd,OAAOA,GAAE,OAAO;AAAA;AAAA,EAEhB,MAAMA,GAAE,KAAK,CAAC,OAAO,UAAU,CAAC;AAAA;AAAA,EAEhC,OAAOA,GAAE,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQhB,OAAOA,GAAE,QAAQ;AAAA;AAAA,EAEjB,MAAMA,GAAE,OAAO,EAAE,SAAS;AAC5B,CAAC;AAGM,IAAM,6BAA6BA,GAAE,OAAO;AAAA,EACjD,IAAIA,GAAE,QAAQ,IAAI;AAAA,EAClB,MAAMA,GAAE,OAAO;AAAA,IACb,UAAUA,GAAE,MAAM,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAM/C,OAAOA,GAAE,MAAM,oBAAoB;AAAA,EACrC,CAAC;AACH,CAAC;","names":["z","z"]}
@@ -0,0 +1,494 @@
1
+ import {
2
+ DEFAULT_SUBSETS,
3
+ FONT_PROVIDERS,
4
+ checkFontRequests,
5
+ fontFileName,
6
+ fontsourceCatalogue,
7
+ fontsourceFamilies,
8
+ googleFontRequests,
9
+ missingFontFiles,
10
+ planFontAdoption,
11
+ renderFontFaceCss,
12
+ resolveBrandFaces,
13
+ resolveFetchStyles,
14
+ resolveFetchSubsets,
15
+ resolveFetchWeights,
16
+ selfHostedStyles,
17
+ selfHostedSubsets,
18
+ selfHostedWeights,
19
+ stripFontFaceBlocks,
20
+ suggestFamilies,
21
+ unresolvedBrandFamilies,
22
+ upsertFontFaceCss
23
+ } from "./chunk-OKXLOLEV.js";
24
+ import {
25
+ registerSchema,
26
+ writeJson
27
+ } from "./chunk-CCYZJMZ7.js";
28
+
29
+ // src/commands/brand/fonts.ts
30
+ import { mkdir, readdir, readFile, writeFile } from "fs/promises";
31
+ import path from "path";
32
+ import { defineCommand } from "citty";
33
+ var GLOBAL_CSS = path.join("src", "styles", "global.css");
34
+ var FONTS_DIR = path.join("src", "brand", "fonts");
35
+ var DEFAULT_SUBSETS_LABEL = DEFAULT_SUBSETS.join(",");
36
+ var BROWSER_UA = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/120.0 Safari/537.36";
37
+ registerSchema({
38
+ command: "brand.fonts.check",
39
+ description: "Start here when a brand's fonts are 'confirmed' but nobody verified it. Fails if any --font-* family in src/styles/global.css has nothing loading it (no @font-face, no Google import) \u2014 the silent fallback that also fails the client's verify \u2014 then asks Google Fonts what it ACTUALLY serves for every family/weight the stylesheet requests.",
40
+ args: {}
41
+ });
42
+ registerSchema({
43
+ command: "brand.fonts.adopt",
44
+ description: "Move brand faces a page already self-hosts into src/styles/global.css, so every page loads them rather than only the page that declared them. Use when `check` reports a family as not loaded but its files are already in src/brand/fonts/. Never downloads: re-fetching would hand that page a different build of the same face.",
45
+ args: {}
46
+ });
47
+ registerSchema({
48
+ command: "brand.fonts.fetch",
49
+ description: "Download a font into src/brand/fonts/ so the brand stops depending on a third party at page load, and write its @font-face into src/styles/global.css above @theme. Resolves against Google Fonts first, then Fontsource \u2014 which carries ~2000 open-licence families Google does not, so a name Google 400s is often still fetchable. Idempotent: re-running replaces that family's faces rather than stacking duplicates.",
50
+ args: {
51
+ family: { type: "string", description: 'Font family, e.g. "DM Sans"', required: true },
52
+ weights: {
53
+ type: "string",
54
+ description: "Comma-separated weights (default: the weights global.css already requests or self-hosts, else 400)",
55
+ required: false
56
+ },
57
+ subsets: {
58
+ type: "string",
59
+ description: `Comma-separated unicode subsets (default: the subsets global.css already self-hosts, else ${DEFAULT_SUBSETS_LABEL})`,
60
+ required: false
61
+ },
62
+ italic: {
63
+ type: "boolean",
64
+ description: "Also self-host the family's italic faces. On automatically when global.css already loads one, so a re-fetch never strands it.",
65
+ required: false
66
+ }
67
+ }
68
+ });
69
+ function fail(code, message, fix) {
70
+ writeJson({ ok: false, error: { code, message, ...fix ? { fix } : {} } });
71
+ process.exit(2);
72
+ }
73
+ var REQUEST_TIMEOUT_MS = 15e3;
74
+ async function fetchJson(url) {
75
+ const res = await fetch(url, {
76
+ headers: { "User-Agent": BROWSER_UA },
77
+ signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS)
78
+ });
79
+ if (res.status === 404) return null;
80
+ if (!res.ok) throw new Error(`Fontsource answered ${res.status}`);
81
+ return await res.json();
82
+ }
83
+ async function lookupGoogleCss(url) {
84
+ try {
85
+ const res = await fetch(url, {
86
+ headers: { "User-Agent": BROWSER_UA },
87
+ signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS)
88
+ });
89
+ if (res.ok) return { status: "served", css: await res.text() };
90
+ return { status: res.status === 400 ? "absent" : "unreachable" };
91
+ } catch {
92
+ return { status: "unreachable" };
93
+ }
94
+ }
95
+ var fetchGoogleCss = async (url) => {
96
+ const got = await lookupGoogleCss(url);
97
+ return got.status === "served" ? got.css : null;
98
+ };
99
+ var WIRING_HINT = {
100
+ written: (family) => `Wrote the @font-face for "${family}" into ${GLOBAL_CSS}, above @theme. Remove "${family}" from the Google @import if one is still there, so the page stops fetching it at load.`,
101
+ // Told apart from "no stylesheet" on purpose: they used to share one hint, so
102
+ // an idempotent re-run instructed the agent to paste a block that was already
103
+ // in the file, and doing as it was told duplicated the face.
104
+ "already-wired": (family) => `${GLOBAL_CSS} already loads exactly these faces for "${family}" \u2014 nothing to change.`,
105
+ "no-stylesheet": () => `No ${GLOBAL_CSS} to write to \u2014 paste the \`fontFace\` block above the @theme block once the stylesheet exists, or the files just downloaded will never load.`
106
+ };
107
+ var PROVIDER_DEPS = { lookupGoogleCss, fetchJson };
108
+ var PROVIDER_LABEL = { google: "Google Fonts", fontsource: "Fontsource" };
109
+ function italicHints(family, wantedStyles, availableStyles, downloadedStyles, provider) {
110
+ const wanted = wantedStyles.includes("italic");
111
+ const available = availableStyles.includes("italic");
112
+ if (wanted && !downloadedStyles.includes("italic")) {
113
+ return [
114
+ `NO ITALIC: ${PROVIDER_LABEL[provider]} does not ship an italic for "${family}", so none was written. Drop italic from src/brand/BRAND.md, or the browser will slant the upright face instead.`
115
+ ];
116
+ }
117
+ if (!wanted && available) {
118
+ return [
119
+ `${PROVIDER_LABEL[provider]} also ships an italic for "${family}", which was NOT downloaded. If the brand uses italic anywhere, re-run with \`--italic\` \u2014 otherwise the browser slants the upright face, which is not the same shapes.`
120
+ ];
121
+ }
122
+ return [];
123
+ }
124
+ function fetchHints({
125
+ family,
126
+ downloadedWeights,
127
+ downloadedStyles,
128
+ incomplete,
129
+ wiring,
130
+ provider,
131
+ wantedStyles,
132
+ availableStyles
133
+ }) {
134
+ return [
135
+ WIRING_HINT[wiring](family),
136
+ ...italicHints(family, wantedStyles, availableStyles, downloadedStyles, provider),
137
+ `Record the exact weights (${downloadedWeights.join(", ")}) in src/brand/tokens.json and BRAND.md \u2014 a weight tokens.json lists but nothing loads renders as a synthesized fallback, and verify warns about it.`,
138
+ ...incomplete.length > 0 ? [
139
+ // The remedy is provider-specific: only a Google family has an @import
140
+ // to fall back on, and telling an agent to keep one for a Fontsource
141
+ // family sends it to write an import Google will 400.
142
+ provider === "google" ? `PARTIAL: ${incomplete.join(", ")} did not download and is NOT in the \`fontFace\` block. Re-run \`baker brand fonts fetch "${family}" --weights ${incomplete.join(",")}\` \u2014 a Google @import cannot cover those weights, because the build drops it before the page loads.` : `PARTIAL: ${incomplete.join(", ")} did not download and is NOT in the \`fontFace\` block. ${PROVIDER_LABEL[provider]} does not serve them, so re-run \`baker brand fonts fetch "${family}" --weights ${downloadedWeights.join(",")}\` and record only those weights in src/brand/BRAND.md.`
143
+ ] : [],
144
+ `Licensing: ${PROVIDER_LABEL[provider]} carries open-licensed families. A client's own typeface is licensed for its landings and ads too \u2014 self-host it without asking about rights.`
145
+ ];
146
+ }
147
+ async function wireFontFaceIntoStylesheet(css, family, fontFace) {
148
+ if (!css) return "no-stylesheet";
149
+ const wired = upsertFontFaceCss(css, family, fontFace);
150
+ if (wired === css) return "already-wired";
151
+ await writeFile(path.resolve(process.cwd(), GLOBAL_CSS), wired);
152
+ return "written";
153
+ }
154
+ function failResolution(family, weights, outcome) {
155
+ if (outcome.reason === "unreachable") {
156
+ return fail(
157
+ "CATALOGUE_UNREACHABLE",
158
+ `Could not reach ${PROVIDER_LABEL[outcome.provider]} to ask about "${family}".`,
159
+ {
160
+ action: "Run the same command again.",
161
+ explanation: `${PROVIDER_LABEL[outcome.provider]} did not answer, which is not the same as not having the family \u2014 so nothing was concluded from it. Guessing either way would self-host the wrong build, or report a real family as missing.`,
162
+ provider: outcome.provider
163
+ }
164
+ );
165
+ }
166
+ if (outcome.reason === "ambiguous-subsets") {
167
+ return fail(
168
+ "SUBSET_AMBIGUOUS",
169
+ `${PROVIDER_LABEL[outcome.provider]} serves "${family}" in several subsets but reports no unicode-range to tell them apart.`,
170
+ {
171
+ action: `Retry with a single --subsets value, e.g. --subsets ${outcome.available[0] ?? "latin"}.`,
172
+ explanation: "Two @font-face rules with the same family, style and weight and no unicode-range both claim every character, so the last one silently wins and the other file is downloaded and never read.",
173
+ available: outcome.available
174
+ }
175
+ );
176
+ }
177
+ if (outcome.reason === "subset") {
178
+ return fail("SUBSET_NOT_SERVED", `${PROVIDER_LABEL[outcome.provider]} has "${family}", but not in that subset.`, {
179
+ action: `Retry with --subsets set to one it serves: ${outcome.available.join(",")}.`,
180
+ explanation: "A family is split into unicode subsets and not every family ships every one. The weights you asked for are fine \u2014 only the subset is wrong.",
181
+ available: outcome.available
182
+ });
183
+ }
184
+ if (outcome.reason === "weight") {
185
+ return fail(
186
+ "FONT_NOT_SERVED",
187
+ `${PROVIDER_LABEL[outcome.provider]} has "${family}", but not at weight ${weights.join("/")}.`,
188
+ {
189
+ action: `Retry with --weights set to one of these: ${outcome.available.join(",")}.`,
190
+ explanation: "The family exists; the weight you asked for is not one it ships.",
191
+ served: outcome.available
192
+ }
193
+ );
194
+ }
195
+ return failUnknownFamily(family);
196
+ }
197
+ async function failUnknownFamily(family) {
198
+ const didYouMean = suggestFamilies(family, await fontsourceCatalogue(PROVIDER_DEPS));
199
+ return fail("FONT_NOT_SERVED", `No font catalogue carries a family called "${family}".`, {
200
+ action: didYouMean.length ? `Did you mean one of these? ${didYouMean.join(", ")}. Retry with the exact name, and update the --font-* token in ${GLOBAL_CSS} to match whichever you pick.` : `Check the exact spelling, then retry. If it is a commercial typeface, add the file to ${FONTS_DIR} and write the @font-face by hand \u2014 it cannot be downloaded.`,
201
+ explanation: `Tried ${FONT_PROVIDERS.join(" then ")}. Family names are case- and space-sensitive in every catalogue.`,
202
+ tried: [...FONT_PROVIDERS],
203
+ ...didYouMean.length ? { didYouMean } : {}
204
+ });
205
+ }
206
+ async function listFontFiles() {
207
+ try {
208
+ const entries = await readdir(path.resolve(process.cwd(), FONTS_DIR), { withFileTypes: true });
209
+ return entries.filter((e) => e.isFile()).map((e) => e.name);
210
+ } catch {
211
+ return [];
212
+ }
213
+ }
214
+ async function readGlobalCss() {
215
+ try {
216
+ return await readFile(path.resolve(process.cwd(), GLOBAL_CSS), "utf8");
217
+ } catch {
218
+ return "";
219
+ }
220
+ }
221
+ async function unresolvedAction(css, unresolved) {
222
+ const { plans } = planFontAdoption(await astroSources(), unresolved);
223
+ if (plans.length > 0) {
224
+ const names = plans.map((p) => `"${p.family}"`).join(", ");
225
+ return `Run \`baker brand fonts adopt\` \u2014 ${names} is already self-hosted by ${plans[0]?.files.join(", ")}, so it only needs moving into ${GLOBAL_CSS} to load on every page. Don't fetch it: that downloads a different build of the same face.`;
226
+ }
227
+ const viaFontsource = [...fontsourceFamilies(css)];
228
+ const stranded = unresolved.filter((family) => viaFontsource.includes(family.toLowerCase()));
229
+ if (stranded.length > 0) {
230
+ return `Run \`baker brand fonts fetch "${stranded[0]}"\` to self-host it. Its only provider is an @fontsource import, and that package does not survive a workspace sync \u2014 the import is left pointing at nothing, which fails the build before the font check even runs.`;
231
+ }
232
+ return `Run \`baker brand fonts fetch "${unresolved[0]}"\` to self-host it, which writes the @font-face for you. For a face no catalogue carries, add an @font-face pointing at a file in ${FONTS_DIR}.`;
233
+ }
234
+ var fontsCheckCommand = defineCommand({
235
+ meta: {
236
+ name: "check",
237
+ description: "Verify the brand's fonts really exist. First: every --font-* family in src/styles/global.css must be provided by a local @font-face, or it renders as a fallback on every page \u2014 a Google @import does not provide one here, the build drops it before the page loads. Then, for families still requested from Google, ask Google what it actually serves \u2014 a weight nobody serves is silently synthesized."
238
+ },
239
+ async run() {
240
+ const css = await readGlobalCss();
241
+ const requests = googleFontRequests(css);
242
+ const unresolved = unresolvedBrandFamilies(css);
243
+ if (unresolved.length > 0) {
244
+ fail("FONT_NOT_LOADED", `Nothing loads ${unresolved.map((f) => `"${f}"`).join(", ")} in ${GLOBAL_CSS}.`, {
245
+ action: await unresolvedAction(css, unresolved),
246
+ explanation: "The family is declared as a brand font but no @font-face provides it, so every page silently renders a fallback. A Google @import does not count: Astro merges component CSS ahead of global.css into one inlined <style>, so the import lands after rules and the browser drops it \u2014 measured on a live client site. The client's verify fails on this too.",
247
+ unresolved
248
+ });
249
+ }
250
+ if (requests.length === 0) {
251
+ writeJson({
252
+ ok: true,
253
+ data: { families: [], selfHosted: true },
254
+ hints: [
255
+ `No Google Fonts requested in ${GLOBAL_CSS}, and every brand face is provided by an @font-face \u2014 nothing to verify against Google.`
256
+ ]
257
+ });
258
+ return;
259
+ }
260
+ const families = await checkFontRequests(requests, fetchGoogleCss);
261
+ const broken = families.filter((f) => f.missing.length > 0);
262
+ if (broken.length > 0) {
263
+ const summary = broken.map(
264
+ (f) => f.cause === "unknown-family" ? `${f.family} (no such family on Google Fonts \u2014 check the exact spelling)` : `${f.family} ${f.missing.join("/")} (served: ${f.served.join("/") || "none"})`
265
+ ).join("; ");
266
+ fail("FONT_NOT_SERVED", `Google Fonts does not serve: ${summary}`, {
267
+ action: `Correct the family name or weight in ${GLOBAL_CSS} and src/brand/BRAND.md, picking from the \`served\` weights below.`,
268
+ explanation: "A requested weight Google does not serve is silently synthesized by the browser, so the page looks subtly wrong with nothing failing.",
269
+ // The per-family breakdown is the point of the command, so it ships on
270
+ // the failure path too — otherwise the only remedy is re-running the
271
+ // command that just failed. Healthy families are included so a
272
+ // multi-family brand shows what NOT to touch.
273
+ families
274
+ });
275
+ }
276
+ writeJson({
277
+ ok: true,
278
+ data: { families },
279
+ hints: [
280
+ "Every requested family and weight is really served by Google.",
281
+ `To stop depending on Google at page load, run \`baker brand fonts fetch "<family>"\` to self-host into ${FONTS_DIR}.`
282
+ ]
283
+ });
284
+ }
285
+ });
286
+ var fontsFetchCommand = defineCommand({
287
+ meta: {
288
+ name: "fetch",
289
+ description: "Download a font from Google Fonts or Fontsource into src/brand/fonts/ and write its @font-face into src/styles/global.css above @theme, so the family actually loads. Use when a brand font should be self-hosted rather than requested from a third party on every page load."
290
+ },
291
+ args: {
292
+ family: { type: "positional", required: true, description: 'Font family, e.g. "DM Sans"' },
293
+ weights: {
294
+ type: "string",
295
+ description: "Comma-separated weights (default: the weights global.css already requests or self-hosts, else 400)"
296
+ },
297
+ subsets: {
298
+ type: "string",
299
+ description: `Comma-separated unicode subsets (default: the subsets global.css already self-hosts, else ${DEFAULT_SUBSETS_LABEL})`
300
+ },
301
+ italic: {
302
+ type: "boolean",
303
+ description: "Also self-host the family's italic faces (default: on when global.css already loads one, off otherwise)"
304
+ }
305
+ },
306
+ async run({ args }) {
307
+ const family = String(args.family).trim();
308
+ if (!family) fail("INVALID_FAMILY", 'Pass a font family, e.g. `baker brand fonts fetch "DM Sans"`.');
309
+ const css = await readGlobalCss();
310
+ const declared = googleFontRequests(css).find((r) => r.family.toLowerCase() === family.toLowerCase());
311
+ const provided = declared?.weights.length ? declared.weights : selfHostedWeights(css, family);
312
+ const weights = resolveFetchWeights(args.weights, provided);
313
+ if (weights.length === 0) {
314
+ fail("INVALID_WEIGHTS", `"${args.weights}" has no usable weight \u2014 pass whole hundreds, e.g. --weights 400,700.`);
315
+ }
316
+ const wanted = new Set(resolveFetchSubsets(args.subsets, selfHostedSubsets(css, family)));
317
+ const styles = resolveFetchStyles(args.italic, selfHostedStyles(css, family));
318
+ const resolved = await resolveBrandFaces(family, weights, [...wanted], PROVIDER_DEPS, styles);
319
+ if (!resolved.ok) return failResolution(family, weights, resolved);
320
+ const faces = resolved.faces;
321
+ const fontsDir = path.resolve(process.cwd(), FONTS_DIR);
322
+ await mkdir(fontsDir, { recursive: true });
323
+ const downloaded = [];
324
+ for (const face of faces) {
325
+ const res = await fetch(face.url, {
326
+ headers: { "User-Agent": BROWSER_UA },
327
+ signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS)
328
+ });
329
+ if (!res.ok) continue;
330
+ await writeFile(path.join(fontsDir, fontFileName(face)), Buffer.from(await res.arrayBuffer()));
331
+ downloaded.push(face);
332
+ }
333
+ const written = downloaded.map(fontFileName);
334
+ if (written.length === 0) {
335
+ fail("DOWNLOAD_FAILED", `Could not download any file for "${family}".`, {
336
+ action: "Retry; if it keeps failing, keep the Google @import and note it in BRAND.md.",
337
+ explanation: "The font stylesheet resolved but the font files themselves did not download."
338
+ });
339
+ }
340
+ const fontFace = renderFontFaceCss(downloaded);
341
+ const downloadedWeights = [...new Set(downloaded.map((f) => f.weight))].sort((a, b) => a - b);
342
+ const downloadedStyles = [...new Set(downloaded.map((f) => f.style))].sort();
343
+ const incomplete = weights.filter((w) => !downloadedWeights.includes(w));
344
+ const wiring = await wireFontFaceIntoStylesheet(css, family, fontFace);
345
+ writeJson({
346
+ ok: true,
347
+ data: {
348
+ family,
349
+ provider: resolved.provider,
350
+ weights: downloadedWeights,
351
+ styles: downloadedStyles,
352
+ files: written,
353
+ fontFace,
354
+ stylesheet: wiring
355
+ },
356
+ hints: fetchHints({
357
+ family,
358
+ downloadedWeights,
359
+ downloadedStyles,
360
+ incomplete,
361
+ wiring,
362
+ provider: resolved.provider,
363
+ wantedStyles: styles,
364
+ availableStyles: resolved.availableStyles
365
+ })
366
+ });
367
+ }
368
+ });
369
+ async function astroSources() {
370
+ const out = [];
371
+ let entries;
372
+ try {
373
+ entries = await readdir("src", { recursive: true, withFileTypes: true });
374
+ } catch {
375
+ return out;
376
+ }
377
+ for (const entry of entries) {
378
+ if (!entry.isFile() || !entry.name.endsWith(".astro")) continue;
379
+ const file = path.posix.join(entry.parentPath ?? "src", entry.name);
380
+ try {
381
+ out.push({ path: file, source: await readFile(file, "utf8") });
382
+ } catch {
383
+ }
384
+ }
385
+ return out;
386
+ }
387
+ var fontsAdoptCommand = defineCommand({
388
+ meta: {
389
+ name: "adopt",
390
+ description: "Move brand faces a page already self-hosts into src/styles/global.css, so every page loads them instead of just that one. Use when `check` reports a family as not loaded but the font files are already in src/brand/fonts/ \u2014 downloading it again would hand that page a different build of the same face."
391
+ },
392
+ async run() {
393
+ const css = await readGlobalCss();
394
+ if (!css) fail("NO_STYLESHEET", `There is no ${GLOBAL_CSS} to adopt faces into.`);
395
+ const unresolved = unresolvedBrandFamilies(css);
396
+ if (unresolved.length === 0) {
397
+ writeJson({
398
+ ok: true,
399
+ data: { adopted: [], conflicts: [] },
400
+ hints: [`Every --font-* family in ${GLOBAL_CSS} is already loaded by it \u2014 nothing to adopt.`]
401
+ });
402
+ return;
403
+ }
404
+ const { plans, conflicts } = planFontAdoption(await astroSources(), unresolved);
405
+ const available = new Set(await listFontFiles());
406
+ const adopted = [];
407
+ const skipped = [];
408
+ let next = css;
409
+ for (const plan of plans) {
410
+ const missing = missingFontFiles(plan.urls, available);
411
+ if (missing.length > 0) {
412
+ skipped.push({ family: plan.family, reason: `${missing.join(", ")} is not in ${FONTS_DIR}` });
413
+ continue;
414
+ }
415
+ next = upsertFontFaceCss(next, plan.family, plan.blocks.join("\n"));
416
+ adopted.push({
417
+ family: plan.family,
418
+ files: plan.files,
419
+ weights: plan.blocks.map((b) => b.match(/font-weight\s*:\s*([^;]+)/i)?.[1]?.trim() ?? "400")
420
+ });
421
+ }
422
+ if (adopted.length === 0) {
423
+ if (conflicts.length > 0) {
424
+ fail(
425
+ "ADOPTION_CONFLICT",
426
+ `${conflicts.map((c) => `"${c.family}" is declared differently in ${c.files.join(" and ")}`).join("; ")}.`,
427
+ {
428
+ action: "Make the declarations match \u2014 same weights, same files \u2014 then re-run. Pick the one whose page renders correctly.",
429
+ explanation: "One global scope holds one mapping per family, so adopting would silently repaint whichever page lost.",
430
+ conflicts
431
+ }
432
+ );
433
+ }
434
+ if (skipped.length > 0) {
435
+ fail("FONT_FILE_MISSING", `${skipped.map((s) => `${s.family} \u2014 ${s.reason}`).join("; ")}.`, {
436
+ action: `Add the missing file to ${FONTS_DIR}, or fix the src: url() in the page that declares it, then re-run.`,
437
+ explanation: "The page declares the face but points at a file that is not in the repo, so the rule renders as a fallback. Moving it into the stylesheet would spread that fallback to every page.",
438
+ skipped
439
+ });
440
+ }
441
+ fail("NOTHING_TO_ADOPT", `No page declares a face for ${unresolved.map((f) => `"${f}"`).join(", ")}.`, {
442
+ action: `Self-host it instead: \`baker brand fonts fetch "${unresolved[0]}"\`.`,
443
+ explanation: "Adopting only moves faces the repo already ships; it never downloads one."
444
+ });
445
+ }
446
+ await writeFile(path.resolve(process.cwd(), GLOBAL_CSS), next);
447
+ for (const plan of plans.filter((p) => adopted.some((a) => a.family === p.family))) {
448
+ for (const file of plan.files) {
449
+ const source = await readFile(file, "utf8");
450
+ await writeFile(file, stripFontFaceBlocks(source, plan.family));
451
+ }
452
+ }
453
+ writeJson({
454
+ ok: true,
455
+ data: { adopted, conflicts, skipped },
456
+ hints: [
457
+ `Moved ${adopted.map((a) => `"${a.family}" (${a.weights.join("/")})`).join(", ")} into ${GLOBAL_CSS} and removed the page copies, so every page loads them \u2014 not just the one that declared them.`,
458
+ ...conflicts.length > 0 ? [
459
+ `CONFLICT: ${conflicts.map((c) => `"${c.family}" is declared differently in ${c.files.join(" and ")}`).join("; ")}. One global scope can hold only one mapping, so pick which files the family should use and make the declarations match before re-running.`
460
+ ] : [],
461
+ ...skipped.length > 0 ? [`SKIPPED: ${skipped.map((s) => `${s.family} \u2014 ${s.reason}`).join("; ")}.`] : [],
462
+ `Run \`baker brand fonts check\` to confirm nothing is left unresolved.`
463
+ ]
464
+ });
465
+ }
466
+ });
467
+ var fontsCommand = defineCommand({
468
+ meta: {
469
+ name: "fonts",
470
+ description: `Verify and self-host the brand's typefaces.
471
+
472
+ Start here: \`baker brand fonts check\` \u2014 confirms the fonts the brand claims really load.
473
+
474
+ Subcommands:
475
+ baker brand fonts check \u2014 fail if any --font-* family has nothing loading it, then ask Google what it actually serves for the ones global.css requests
476
+ baker brand fonts fetch <family> \u2014 download a family into src/brand/fonts/ and wire its @font-face into src/styles/global.css
477
+ baker brand fonts adopt \u2014 move faces a page already self-hosts into global.css, so every page loads them. Try this BEFORE fetch when the font files are already in src/brand/fonts/`
478
+ },
479
+ subCommands: {
480
+ check: fontsCheckCommand,
481
+ fetch: fontsFetchCommand,
482
+ adopt: fontsAdoptCommand
483
+ }
484
+ });
485
+
486
+ export {
487
+ fetchJson,
488
+ lookupGoogleCss,
489
+ fontsCheckCommand,
490
+ fontsFetchCommand,
491
+ fontsAdoptCommand,
492
+ fontsCommand
493
+ };
494
+ //# sourceMappingURL=chunk-RHNNFCRY.js.map