@koda-sl/baker-cli 0.531.0 → 0.534.0-dev.911a80433

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 (1528) hide show
  1. package/README.md +13 -11
  2. package/dist/account-BRRFMDXZ.js +82 -0
  3. package/dist/account-HQD5P3AF.js +139 -0
  4. package/dist/account-MQI7EZBH.js +82 -0
  5. package/dist/account-assets-JRMYVXQP.js +290 -0
  6. package/dist/account-level-PEGLZQTI.js +611 -0
  7. package/dist/account-reads-K6YDAOHX.js +219 -0
  8. package/dist/account-users-QS54ZEOD.js +64 -0
  9. package/dist/account-writes-PGGGP26M.js +68 -0
  10. package/dist/accounts-H3U7LARM.js +80 -0
  11. package/dist/accounts-IW62WBX5.js +701 -0
  12. package/dist/accounts-MQMEOGQD.js +114 -0
  13. package/dist/accounts-T6SRCZJQ.js +76 -0
  14. package/dist/accounts-Y2VWI3AA.js +115 -0
  15. package/dist/actions-2CUQFZNA.js +55 -0
  16. package/dist/active-entities-BOMM4YDF.js +103 -0
  17. package/dist/activecampaign-WAMDVBUO.js +938 -0
  18. package/dist/activities-YH4K4JAI.js +75 -0
  19. package/dist/ad-group-writes-ROUU6BHU.js +172 -0
  20. package/dist/ad-groups-Y2BSRLIN.js +70 -0
  21. package/dist/ad-writes-NF4LCGVP.js +176 -0
  22. package/dist/add-2L2VQ5MU.js +80 -0
  23. package/dist/add-4P3CUHAN.js +305 -0
  24. package/dist/add-PS36Q2S3.js +97 -0
  25. package/dist/add-RLMXZLLO.js +148 -0
  26. package/dist/add-UHWRBSFE.js +107 -0
  27. package/dist/add-Z2OTFSQO.js +81 -0
  28. package/dist/add-accounts-GXBE4ZR2.js +91 -0
  29. package/dist/ads-CPMX3L4A.js +79 -0
  30. package/dist/ads-TDN7OYSU.js +48 -0
  31. package/dist/ads-WYQYZ44U.js +128 -0
  32. package/dist/ads-ZEF5AU3D.js +120 -0
  33. package/dist/adsets-ZRS7AZIK.js +182 -0
  34. package/dist/advertisers-6CHV5N2V.js +123 -0
  35. package/dist/advertisers-AAGUUSAX.js +125 -0
  36. package/dist/analytics-4GTUW42V.js +2437 -0
  37. package/dist/analytics-MV2RQ6KR.js +447 -0
  38. package/dist/animate-EOSLSA7F.js +480 -0
  39. package/dist/approved-LHYBVDXH.js +73 -0
  40. package/dist/asset-writes-CUF25BLM.js +50 -0
  41. package/dist/assign-RN5DGDS2.js +80 -0
  42. package/dist/audience-size-7DYMCXDM.js +76 -0
  43. package/dist/audience-writes-L7SNU2SB.js +327 -0
  44. package/dist/audiences-A54MU63W.js +86 -0
  45. package/dist/audiences-SG2BBM7R.js +85 -0
  46. package/dist/audiences-VMGB2JZG.js +280 -0
  47. package/dist/audit-6K5FFV6K.js +88 -0
  48. package/dist/audit-7U7G2JKS.js +154 -0
  49. package/dist/autocomplete-E6YHJ3HH.js +114 -0
  50. package/dist/avatars-6JHVTSXH.js +38 -0
  51. package/dist/bid-pricing-J3OJK4J3.js +103 -0
  52. package/dist/brand-3EAQFDYN.js +22 -0
  53. package/dist/brief-ADGCGC3H.js +543 -0
  54. package/dist/businesses-GQ5FOZDU.js +54 -0
  55. package/dist/campaign-groups-GN7D5UXE.js +99 -0
  56. package/dist/campaign-writes-HKWI6GYU.js +168 -0
  57. package/dist/campaign-writes-UORRIIWY.js +176 -0
  58. package/dist/campaigns-5I76AV7F.js +113 -0
  59. package/dist/campaigns-BEXDLBT3.js +111 -0
  60. package/dist/campaigns-GONROKTU.js +78 -0
  61. package/dist/campaigns-VZJMYETG.js +130 -0
  62. package/dist/canvas-CHV34G62.js +46 -0
  63. package/dist/capabilities-VKBIQ2BR.js +147 -0
  64. package/dist/cards-YHZFJ3US.js +85 -0
  65. package/dist/catalog-VXANSX2O.js +66 -0
  66. package/dist/catalog-VXANSX2O.js.map +1 -0
  67. package/dist/catalogs-LXEM7NNC.js +130 -0
  68. package/dist/catalogs-ZHCLH43A.js +781 -0
  69. package/dist/changes-4OYC4NMW.js +135 -0
  70. package/dist/chatgpt-XV6CVKLN.js +47 -0
  71. package/dist/chats-W35ZPZEW.js +279 -0
  72. package/dist/check-3D63D4ZT.js +107 -0
  73. package/dist/chunk-23KN4NL4.js +45 -0
  74. package/dist/chunk-2PC26XRF.js +592 -0
  75. package/dist/chunk-2UZHRLLO.js +148 -0
  76. package/dist/chunk-3JV4T6XW.js +69 -0
  77. package/dist/chunk-45EERHDB.js +783 -0
  78. package/dist/chunk-4BTUF2AV.js +69 -0
  79. package/dist/chunk-4D37LCBS.js +111 -0
  80. package/dist/chunk-55B4AJY3.js +249 -0
  81. package/dist/chunk-56UWXQEN.js +392 -0
  82. package/dist/chunk-5G5QFFJY.js +275 -0
  83. package/dist/chunk-5GHKZLID.js +438 -0
  84. package/dist/chunk-5GHKZLID.js.map +1 -0
  85. package/dist/chunk-5HGAO4ZI.js +89 -0
  86. package/dist/chunk-5ITB24SC.js +544 -0
  87. package/dist/chunk-5YN53OAA.js +61 -0
  88. package/dist/chunk-6CCEEVXJ.js +285 -0
  89. package/dist/chunk-6CQOHJZW.js +125 -0
  90. package/dist/chunk-6HGLQJ6A.js +638 -0
  91. package/dist/chunk-6OIKNJ7G.js +26 -0
  92. package/dist/chunk-6OXENBTF.js +74 -0
  93. package/dist/chunk-6QGBBX7F.js +46 -0
  94. package/dist/chunk-6RTZPBAT.js +19 -0
  95. package/dist/chunk-7JFVMJZI.js +207 -0
  96. package/dist/chunk-7MY3QHGA.js +203 -0
  97. package/dist/chunk-A6VODUO3.js +166 -0
  98. package/dist/chunk-AGTA5FJX.js +139 -0
  99. package/dist/chunk-AGU4KGT6.js +84 -0
  100. package/dist/chunk-AH6TDWYS.js +3510 -0
  101. package/dist/chunk-AH6TDWYS.js.map +1 -0
  102. package/dist/chunk-BKOUVU6X.js +547 -0
  103. package/dist/chunk-C7IOSSI4.js +58 -0
  104. package/dist/chunk-CBQPKCFE.js +170 -0
  105. package/dist/chunk-CIW3Q7B2.js +229 -0
  106. package/dist/chunk-CNPYG4F3.js +75 -0
  107. package/dist/chunk-CWZ2ODJQ.js +57 -0
  108. package/dist/chunk-D7Y3UNWO.js +66 -0
  109. package/dist/chunk-DBPPTM3W.js +24026 -0
  110. package/dist/chunk-DBPPTM3W.js.map +1 -0
  111. package/dist/chunk-DGZYZWMK.js +843 -0
  112. package/dist/chunk-DMA67YC3.js +344 -0
  113. package/dist/chunk-DT3V5EGL.js +2209 -0
  114. package/dist/chunk-DT3V5EGL.js.map +1 -0
  115. package/dist/chunk-DYOUJERF.js +7234 -0
  116. package/dist/chunk-E34YYDCE.js +35 -0
  117. package/dist/chunk-E3FMS5DA.js +297 -0
  118. package/dist/chunk-EIRGJD3Q.js +167 -0
  119. package/dist/chunk-F3CZFUXZ.js +3187 -0
  120. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  121. package/dist/chunk-FESQ5TXU.js +42 -0
  122. package/dist/chunk-FEUKUZRA.js +106 -0
  123. package/dist/chunk-G3MEYGXC.js +1518 -0
  124. package/dist/chunk-G3MN4HIX.js +831 -0
  125. package/dist/chunk-G53CUQZV.js +207 -0
  126. package/dist/chunk-GPZVYXJZ.js +455 -0
  127. package/dist/chunk-GYMZCJX6.js +97 -0
  128. package/dist/chunk-HGHVNUJT.js +156 -0
  129. package/dist/chunk-HZPTQRX6.js +2441 -0
  130. package/dist/chunk-HZPTQRX6.js.map +1 -0
  131. package/dist/chunk-IQWFJEA3.js +217 -0
  132. package/dist/chunk-IZABTTW5.js +228 -0
  133. package/dist/chunk-J3HA4RFY.js +51 -0
  134. package/dist/chunk-JGOYO7I2.js +103 -0
  135. package/dist/chunk-JNSRQQDP.js +94 -0
  136. package/dist/chunk-JUF6Q5X7.js +8954 -0
  137. package/dist/chunk-KAAYVKBH.js +479 -0
  138. package/dist/chunk-KGAI4E2I.js +106 -0
  139. package/dist/chunk-KUM36NSV.js +429 -0
  140. package/dist/chunk-L763CNKH.js +333 -0
  141. package/dist/chunk-LO2MZJJP.js +225 -0
  142. package/dist/chunk-LV7EU6HM.js +324 -0
  143. package/dist/chunk-LXZ5E6AC.js +84 -0
  144. package/dist/chunk-LZRZVIEJ.js +191 -0
  145. package/dist/chunk-MCKYNFPH.js +219 -0
  146. package/dist/chunk-MHSVWQK6.js +91 -0
  147. package/dist/chunk-MTV2RSGY.js +63 -0
  148. package/dist/chunk-MUEJVDHI.js +200 -0
  149. package/dist/chunk-MUS2UTWU.js +4254 -0
  150. package/dist/chunk-MUS2UTWU.js.map +1 -0
  151. package/dist/chunk-N4BK6OKX.js +91 -0
  152. package/dist/chunk-NCO5NGBN.js +74 -0
  153. package/dist/chunk-NLW25WW3.js +52 -0
  154. package/dist/chunk-NP3FPCPN.js +377 -0
  155. package/dist/chunk-NYAFSC5V.js +287 -0
  156. package/dist/chunk-O7AMKMII.js +215 -0
  157. package/dist/chunk-OAXQPLTG.js +604 -0
  158. package/dist/chunk-OI2CKYAQ.js +846 -0
  159. package/dist/chunk-OL3QHART.js +188 -0
  160. package/dist/chunk-OXYWSVOJ.js +100 -0
  161. package/dist/chunk-PG5R35QY.js +73 -0
  162. package/dist/chunk-PG5R35QY.js.map +1 -0
  163. package/dist/chunk-PHZOMTI6.js +97 -0
  164. package/dist/chunk-PYWIHAVD.js +64 -0
  165. package/dist/chunk-QPPQXU3U.js +98 -0
  166. package/dist/chunk-QTKNS2U2.js +149 -0
  167. package/dist/chunk-QTLIXCVN.js +46 -0
  168. package/dist/chunk-QUYDMAQN.js +169 -0
  169. package/dist/chunk-R5LRBDEM.js +136 -0
  170. package/dist/chunk-RIA5RXPL.js +387 -0
  171. package/dist/chunk-S556LOAP.js +930 -0
  172. package/dist/chunk-S556LOAP.js.map +1 -0
  173. package/dist/chunk-SIKCVWM3.js +76 -0
  174. package/dist/chunk-SOS4QFLE.js +5471 -0
  175. package/dist/chunk-SOS4QFLE.js.map +1 -0
  176. package/dist/chunk-SVNH6P7O.js +1744 -0
  177. package/dist/chunk-T65Y7N7H.js +225 -0
  178. package/dist/chunk-T75WL56Z.js +224 -0
  179. package/dist/chunk-TGCDXZ5X.js +910 -0
  180. package/dist/chunk-TOUF5ME6.js +1646 -0
  181. package/dist/chunk-TWCS6FSC.js +191 -0
  182. package/dist/chunk-ULW4EWAA.js +39 -0
  183. package/dist/chunk-UPXPBA4W.js +676 -0
  184. package/dist/chunk-URMAEVZO.js +150 -0
  185. package/dist/chunk-UUWUJ64R.js +197 -0
  186. package/dist/chunk-VCOIFNYH.js +714 -0
  187. package/dist/chunk-VGUGFRWF.js +494 -0
  188. package/dist/chunk-VPF5A7CM.js +476 -0
  189. package/dist/chunk-VYJLS64A.js +1902 -0
  190. package/dist/chunk-VYJLS64A.js.map +1 -0
  191. package/dist/chunk-WEQZ563U.js +319 -0
  192. package/dist/chunk-WUCTGDV7.js +163 -0
  193. package/dist/chunk-XAW5GL6B.js +76 -0
  194. package/dist/chunk-XCRYRVKK.js +5368 -0
  195. package/dist/chunk-XJ5TX772.js +131 -0
  196. package/dist/chunk-XPIBSDG4.js +274 -0
  197. package/dist/chunk-XRNJRQ6Q.js +26 -0
  198. package/dist/chunk-Y5GQO6CR.js +56 -0
  199. package/dist/chunk-Y6MLSN6W.js +1919 -0
  200. package/dist/chunk-YBFZJ5EB.js +66 -0
  201. package/dist/chunk-YJYKSMLF.js +296 -0
  202. package/dist/chunk-YR3OPPUE.js +142 -0
  203. package/dist/chunk-YXQFCQX2.js +64 -0
  204. package/dist/chunk-Z3Y67AH6.js +98 -0
  205. package/dist/chunk-Z6T6VDDA.js +76 -0
  206. package/dist/chunk-ZKRRYVDG.js +23 -0
  207. package/dist/chunk-ZOH672S6.js +25 -0
  208. package/dist/claim-DWGPEVJN.js +200 -0
  209. package/dist/cli.js +45 -45
  210. package/dist/client-YUVT3RZN.js +19 -0
  211. package/dist/code-LOOWLRUL.js +76 -0
  212. package/dist/companies-3VT7OJAA.js +198 -0
  213. package/dist/company-XEPW45AT.js +308 -0
  214. package/dist/complete-AEX34ICU.js +84 -0
  215. package/dist/config-AOF6ACIP.js +88 -0
  216. package/dist/connect-TF4FCXDV.js +45 -0
  217. package/dist/content-NCW5IJFR.js +85 -0
  218. package/dist/conversation-6WWZMPAB.js +96 -0
  219. package/dist/conversion-report-I6R2FDCD.js +127 -0
  220. package/dist/conversion-upload-command-QD6MGLY4.js +439 -0
  221. package/dist/conversion-writes-H2JOAORW.js +122 -0
  222. package/dist/conversions-D46PQRWF.js +140 -0
  223. package/dist/conversions-WGW43FUE.js +78 -0
  224. package/dist/copy-writes-ONVSSBLJ.js +170 -0
  225. package/dist/countries-Q6TA42P7.js +82 -0
  226. package/dist/create-7WV7XWZV.js +62 -0
  227. package/dist/create-OUZZLPQK.js +210 -0
  228. package/dist/create-QRT6O5PN.js +135 -0
  229. package/dist/create-WSEYNFTP.js +239 -0
  230. package/dist/creatives-BSZY7VDQ.js +223 -0
  231. package/dist/creatives-DBDFDHX7.js +58 -0
  232. package/dist/creatives-S3EZCXUT.js +89 -0
  233. package/dist/credentials-P7GQYIE3.js +290 -0
  234. package/dist/critique-6F4FWQN5.js +232 -0
  235. package/dist/critique-X2YDOMON.js +1451 -0
  236. package/dist/crm-O6YG6777.js +227 -0
  237. package/dist/crm-VNAUSVC5.js +323 -0
  238. package/dist/crop-RDP7YCNV.js +113 -0
  239. package/dist/currency-UVT3HEZT.js +88 -0
  240. package/dist/custom-conversions-7MZFTHUM.js +128 -0
  241. package/dist/customers-VJ3TXILQ.js +59 -0
  242. package/dist/decide-OPCCKAIT.js +199 -0
  243. package/dist/delete-3H377GOM.js +67 -0
  244. package/dist/delete-EH3XL26Z.js +57 -0
  245. package/dist/delete-GKQTDOZF.js +69 -0
  246. package/dist/delete-KZFI235B.js +85 -0
  247. package/dist/delete-KZFI235B.js.map +1 -0
  248. package/dist/delete-QYSOAVP4.js +69 -0
  249. package/dist/delete-R3LXCKA4.js +71 -0
  250. package/dist/demographics-GKJZ5PV2.js +141 -0
  251. package/dist/describe-537PPL7P.js +97 -0
  252. package/dist/describe-GIG46DT5.js +97 -0
  253. package/dist/dimensions-UXK7DMTF.js +101 -0
  254. package/dist/discard-46RALLBO.js +69 -0
  255. package/dist/discover-C4TG7JP7.js +172 -0
  256. package/dist/discover-MKFDG6NK.js +93 -0
  257. package/dist/domain-JNNWJNQE.js +101 -0
  258. package/dist/download-3R5IHN5F.js +172 -0
  259. package/dist/download-PRBLR6IQ.js +299 -0
  260. package/dist/draft-3L4SNDGO.js +283 -0
  261. package/dist/draft-EADHX7XL.js +335 -0
  262. package/dist/draft-H5RVDTFD.js +240 -0
  263. package/dist/draft-TAM7IUPH.js +220 -0
  264. package/dist/draft-UMPCOCP6.js +100 -0
  265. package/dist/draft-VSXBSXSX.js +308 -0
  266. package/dist/draft-XCYSZWA6.js +310 -0
  267. package/dist/draft-XEUHTUMR.js +103 -0
  268. package/dist/engine/index.js +15 -14
  269. package/dist/env-VBSATLEF.js +53 -0
  270. package/dist/experiment-2XR6MBE2.js +1397 -0
  271. package/dist/experiments-JVGAKWFA.js +236 -0
  272. package/dist/export-YCLJG5YP.js +168 -0
  273. package/dist/extract-E3CMEN5U.js +113 -0
  274. package/dist/facets-JG44XXAT.js +117 -0
  275. package/dist/favorites-NSQX6HKB.js +178 -0
  276. package/dist/feed-TKMMYAEH.js +177 -0
  277. package/dist/feedback-3JCNU6MT.js +115 -0
  278. package/dist/feedback-3JCNU6MT.js.map +1 -0
  279. package/dist/feedback-record-7WXGKXNS.js +269 -0
  280. package/dist/feedback-record-7WXGKXNS.js.map +1 -0
  281. package/dist/fetch-EHP2FK6Y.js +139 -0
  282. package/dist/fetch-SLDDORH4.js +179 -0
  283. package/dist/find-I7U3THF3.js +143 -0
  284. package/dist/fit-GNQHRKP7.js +65 -0
  285. package/dist/flows-NRPABVUJ.js +250 -0
  286. package/dist/follow-A46RAJEX.js +94 -0
  287. package/dist/follow-competitors-VU2L3KWF.js +112 -0
  288. package/dist/following-UOUNSU6P.js +113 -0
  289. package/dist/fonts-VN2QXPAQ.js +39 -0
  290. package/dist/forecast-SIX6AAVX.js +121 -0
  291. package/dist/forecast-ZXOSLITM.js +169 -0
  292. package/dist/funding-2VROIMLS.js +85 -0
  293. package/dist/funnel-QEZWKSFR.js +397 -0
  294. package/dist/ga4-ULHKTF23.js +55 -0
  295. package/dist/generate-HOMLLUCN.js +263 -0
  296. package/dist/get-5E4YJKPO.js +66 -0
  297. package/dist/get-5E4YJKPO.js.map +1 -0
  298. package/dist/get-ABQZJ2VQ.js +38 -0
  299. package/dist/get-ASAW6TVF.js +62 -0
  300. package/dist/get-ASAW6TVF.js.map +1 -0
  301. package/dist/get-BXMLPLIC.js +82 -0
  302. package/dist/get-GXVAJZHM.js +56 -0
  303. package/dist/get-GXVAJZHM.js.map +1 -0
  304. package/dist/get-IF7KHMSI.js +92 -0
  305. package/dist/get-NF3SPPVX.js +59 -0
  306. package/dist/get-ZISAHMTQ.js +59 -0
  307. package/dist/gif-QLNWBFAH.js +102 -0
  308. package/dist/google-FDR55RRD.js +136 -0
  309. package/dist/google-XVSL3XAB.js +3267 -0
  310. package/dist/google-ads-5NBAMFPB.js +198 -0
  311. package/dist/group-HAQM6P7M.js +43 -0
  312. package/dist/group-XVDH2ONO.js +43 -0
  313. package/dist/gsc-72AFO6B4.js +30 -0
  314. package/dist/history-2U5OXDV7.js +102 -0
  315. package/dist/history-A6KMJRPZ.js +69 -0
  316. package/dist/history-IDVWUSYU.js +136 -0
  317. package/dist/hubspot-YPBNNVHC.js +782 -0
  318. package/dist/icon-F7AOOTFI.js +137 -0
  319. package/dist/ideas-4Q7YBUGC.js +45 -0
  320. package/dist/images-BRBSRYEX.js +92 -0
  321. package/dist/improve-LIKOER3S.js +86 -0
  322. package/dist/ingest-AIOFOAQE.js +27 -0
  323. package/dist/ingest-HPEBFXCP.js +123 -0
  324. package/dist/ingest-HPEBFXCP.js.map +1 -0
  325. package/dist/insights-QNE6XCBA.js +439 -0
  326. package/dist/insights-TR5EQAMA.js +132 -0
  327. package/dist/inspect-ITKB2QT3.js +192 -0
  328. package/dist/inspiration-VXNGKAJV.js +53 -0
  329. package/dist/instant-experiences-MT2XMQNH.js +260 -0
  330. package/dist/intent-E6HKRMNE.js +95 -0
  331. package/dist/job-TS34W4IU.js +202 -0
  332. package/dist/job-create-FXXDR2EE.js +109 -0
  333. package/dist/job-status-R2H4HNC5.js +74 -0
  334. package/dist/keep-YSU3XMW3.js +78 -0
  335. package/dist/keyword-gap-D4WAEJAH.js +130 -0
  336. package/dist/keyword-metrics-4UDT5GNW.js +200 -0
  337. package/dist/keywords-for-site-YQAQQIHJ.js +131 -0
  338. package/dist/knowledge-L3VLOVLG.js +195 -0
  339. package/dist/landing-6JAIZH4H.js +28 -0
  340. package/dist/landings-XTPNPTHN.js +151 -0
  341. package/dist/languages-AUAZIVL4.js +40 -0
  342. package/dist/languages-DIKRMAYE.js +55 -0
  343. package/dist/launches-5R7EUONQ.js +19 -0
  344. package/dist/layerize-Q2QWDARG.js +190 -0
  345. package/dist/lead-routes-IXUCGINI.js +733 -0
  346. package/dist/leads-6XZRTPJL.js +115 -0
  347. package/dist/leads-UVG6VYAC.js +540 -0
  348. package/dist/learn-VQGATNB4.js +207 -0
  349. package/dist/library-G5YAFLTR.js +211 -0
  350. package/dist/lighthouse-BCBV2XGP.js +75 -0
  351. package/dist/line-item-writes-TRTDQ55N.js +211 -0
  352. package/dist/line-items-SC73GQLQ.js +107 -0
  353. package/dist/link-ODLNZTZC.js +67 -0
  354. package/dist/linkedin-HPZP4MGS.js +1328 -0
  355. package/dist/linkedin-person-ELEPEST5.js +139 -0
  356. package/dist/list-26EOYW37.js +154 -0
  357. package/dist/list-4SDJZVOL.js +93 -0
  358. package/dist/list-6YW4I4VG.js +65 -0
  359. package/dist/list-GLN62MRB.js +67 -0
  360. package/dist/list-GS42LK5C.js +51 -0
  361. package/dist/list-HWNHRWGB.js +57 -0
  362. package/dist/list-QSBEYU45.js +76 -0
  363. package/dist/list-YLPOXOCI.js +306 -0
  364. package/dist/list-ZFGOONWL.js +50 -0
  365. package/dist/locations-D5N75BUK.js +69 -0
  366. package/dist/locations-P5PTCRSF.js +40 -0
  367. package/dist/log-66XLWNCD.js +95 -0
  368. package/dist/logo-ABO4HJRG.js +18 -0
  369. package/dist/lookup-SPNT3W3W.js +23 -0
  370. package/dist/make-3ADCSNFC.js +1367 -0
  371. package/dist/make-3ADCSNFC.js.map +1 -0
  372. package/dist/map-3SGKGWSY.js +436 -0
  373. package/dist/mcp-ZSPJE3Y6.js +729 -0
  374. package/dist/media-CIJW2Q3I.js +89 -0
  375. package/dist/media-GZKW2PZB.js +18 -0
  376. package/dist/media-sources-UBQCVRGK.js +35 -0
  377. package/dist/members-76XFDSMX.js +47 -0
  378. package/dist/meme-BPWX7YQH.js +100 -0
  379. package/dist/meta-KVOSCSPJ.js +122 -0
  380. package/dist/metrics-XCD3IJSM.js +152 -0
  381. package/dist/models-WNK7Z6TR.js +155 -0
  382. package/dist/normalize-NMNOJ6Q5.js +806 -0
  383. package/dist/normalize-VC7HUODA.js +144 -0
  384. package/dist/options-5BPPM5N3.js +125 -0
  385. package/dist/organization-PXND43LQ.js +949 -0
  386. package/dist/output-34QMC3OU.js +24 -0
  387. package/dist/page-UDF3LJHP.js +105 -0
  388. package/dist/page-photos-FCBW5UZS.js +118 -0
  389. package/dist/pages-5W5G4MRB.js +67 -0
  390. package/dist/performance-DDZOJ5GD.js +5565 -0
  391. package/dist/performance-Q25RDNM6.js +27 -0
  392. package/dist/pinterest-IABDXLF5.js +96 -0
  393. package/dist/pixels-4QAWLSEL.js +109 -0
  394. package/dist/pixels-KRK2B7M3.js +62 -0
  395. package/dist/plan-I6EFL7RC.js +208 -0
  396. package/dist/posts-SXQSLOFV.js +36 -0
  397. package/dist/preview-7Y5LE24E.js +218 -0
  398. package/dist/profile-R5VPOOJU.js +159 -0
  399. package/dist/promoted-tweet-writes-LIFJFF7N.js +183 -0
  400. package/dist/promoted-tweets-H5RMRQD2.js +119 -0
  401. package/dist/properties-2D2BIDGC.js +101 -0
  402. package/dist/publish-LBHYEZW3.js +344 -0
  403. package/dist/query-A53T6QJF.js +62 -0
  404. package/dist/query-LB5H7IRK.js +236 -0
  405. package/dist/query-NDOYOIHL.js +247 -0
  406. package/dist/questionnaire-U767HYDE.js +94 -0
  407. package/dist/read-3TCDDALC.js +141 -0
  408. package/dist/reddit-H4R23K27.js +29 -0
  409. package/dist/refresh-3QKUSERK.js +97 -0
  410. package/dist/refresh-GIB6QQZS.js +42 -0
  411. package/dist/release-JMYTQZLK.js +63 -0
  412. package/dist/relevant-pages-DOCKQEMZ.js +99 -0
  413. package/dist/remove-F7GEZMKB.js +53 -0
  414. package/dist/remove-LZQHDFZF.js +49 -0
  415. package/dist/reopen-Y557X6IX.js +66 -0
  416. package/dist/rerun-RWBKQGVF.js +96 -0
  417. package/dist/rerun-RWBKQGVF.js.map +1 -0
  418. package/dist/research-3OJ5UZER.js +265 -0
  419. package/dist/research-AYO522XS.js +72 -0
  420. package/dist/reset-BL7M4LL7.js +57 -0
  421. package/dist/reset-PMVUQTYU.js +57 -0
  422. package/dist/resolve-CSWSGGK6.js +124 -0
  423. package/dist/retry-MVOPE2O2.js +65 -0
  424. package/dist/retry-WT46B5SC.js +63 -0
  425. package/dist/retry-failed-PEAUXGNT.js +45 -0
  426. package/dist/revenue-ZLE645Z5.js +91 -0
  427. package/dist/rule-writes-G25O5JZS.js +525 -0
  428. package/dist/rules-KSOAKEI3.js +217 -0
  429. package/dist/rules-Q6HWHFVU.js +99 -0
  430. package/dist/rules-add-7EPXWSQV.js +465 -0
  431. package/dist/run-4DE5XUVB.js +71 -0
  432. package/dist/run-PAND6N4V.js +69 -0
  433. package/dist/scaffold-ad-44INCR5V.js +1513 -0
  434. package/dist/scaffold-ad-44INCR5V.js.map +1 -0
  435. package/dist/scaffold-static-ad-ATXP44TE.js +1011 -0
  436. package/dist/scaffold-static-ad-ATXP44TE.js.map +1 -0
  437. package/dist/scaffold-video-L4FQWQ5A.js +885 -0
  438. package/dist/scaffold-video-L4FQWQ5A.js.map +1 -0
  439. package/dist/schedule-CSE2XFFF.js +64 -0
  440. package/dist/schedule-TNF6M6UD.js +67 -0
  441. package/dist/scheduled-agents-NXHXQZBO.js +55 -0
  442. package/dist/schema-2YQAQVON.js +121 -0
  443. package/dist/schema-QITMY7ZE.js +135 -0
  444. package/dist/scrape-FDBYU3TU.js +2241 -0
  445. package/dist/screenshot-QSRWL4J6.js +102 -0
  446. package/dist/search-BOCQFUM3.js +51 -0
  447. package/dist/search-CENPR7GA.js +224 -0
  448. package/dist/search-GEXDRTAQ.js +26 -0
  449. package/dist/search-HOYOSX2H.js +177 -0
  450. package/dist/search-LFTFNDMC.js +91 -0
  451. package/dist/search-PYLNVZXI.js +92 -0
  452. package/dist/search-copy-RLRRR3LB.js +168 -0
  453. package/dist/seeds-E2GLHJ2T.js +101 -0
  454. package/dist/select-E5TP7JR6.js +110 -0
  455. package/dist/select-E5TP7JR6.js.map +1 -0
  456. package/dist/sends-NBTGBZT7.js +349 -0
  457. package/dist/sequences-UOIHUOD3.js +146 -0
  458. package/dist/set-prompt-QGV3IUIP.js +199 -0
  459. package/dist/set-prompt-QGV3IUIP.js.map +1 -0
  460. package/dist/setup-links-HQ6WVKEP.js +144 -0
  461. package/dist/shared-IMDHTVSW.js +32 -0
  462. package/dist/shopify-6MLRXSC2.js +3958 -0
  463. package/dist/site-5B44TV46.js +180 -0
  464. package/dist/sitemaps-6A6JFBV4.js +87 -0
  465. package/dist/sites-PZLE5FFV.js +101 -0
  466. package/dist/skills-FBIVWINH.js +47 -0
  467. package/dist/sources-OMINR6RG.js +30 -0
  468. package/dist/sources-PNEWSEBG.js +457 -0
  469. package/dist/stale-G2BPCBYZ.js +90 -0
  470. package/dist/stale-G2BPCBYZ.js.map +1 -0
  471. package/dist/stats-2NLNQBRY.js +34 -0
  472. package/dist/status-QNXQNAKH.js +65 -0
  473. package/dist/sticker-4NKFAGEK.js +94 -0
  474. package/dist/stock-XOXZGGU3.js +179 -0
  475. package/dist/studies-C5IINK5Y.js +250 -0
  476. package/dist/studio-BNYFU6ZH.js +49 -0
  477. package/dist/study-writes-GJXLMM3D.js +470 -0
  478. package/dist/suggest-Z553OSYW.js +66 -0
  479. package/dist/sync-CIRDY55O.js +279 -0
  480. package/dist/sync-OYOS7HQL.js +57 -0
  481. package/dist/sync-UBOHNOXB.js +55 -0
  482. package/dist/sync-definition-2VEFGHYK.js +70 -0
  483. package/dist/tag-22TFBGDG.js +57 -0
  484. package/dist/tag-manager-QLZHU6NG.js +43 -0
  485. package/dist/tags-56H6O7ZL.js +26 -0
  486. package/dist/tags-CYR2IPEJ.js +23 -0
  487. package/dist/tags-RBUYBAA6.js +227 -0
  488. package/dist/tags-WVJNOATS.js +23 -0
  489. package/dist/tags-ZTVOZOYP.js +23 -0
  490. package/dist/targeting-GNEBULXU.js +762 -0
  491. package/dist/targeting-constants-GR6BVM2H.js +118 -0
  492. package/dist/targeting-criteria-EZNZOUAE.js +113 -0
  493. package/dist/targets-CU7IUPV2.js +106 -0
  494. package/dist/terms-LG7FYQOG.js +102 -0
  495. package/dist/testimonials-THJJYQ42.js +32 -0
  496. package/dist/themes-TSEMQ4EJ.js +95 -0
  497. package/dist/top-companies-W6DA3MZQ.js +111 -0
  498. package/dist/transcript-KZ74PK23.js +165 -0
  499. package/dist/translate-FQOYDETZ.js +603 -0
  500. package/dist/translate-FQOYDETZ.js.map +1 -0
  501. package/dist/triggers-OJKTDJSV.js +144 -0
  502. package/dist/tweets-IF5FFFTH.js +123 -0
  503. package/dist/unfollow-CDUOZWM7.js +46 -0
  504. package/dist/unlink-ZE7464NK.js +70 -0
  505. package/dist/unstage-OVOZE6DA.js +96 -0
  506. package/dist/unstage-RGIPGM3E.js +88 -0
  507. package/dist/update-2VYVJCY2.js +192 -0
  508. package/dist/update-63MMKPHI.js +155 -0
  509. package/dist/update-JHWPEJN7.js +66 -0
  510. package/dist/update-Q3WJ3DQN.js +81 -0
  511. package/dist/update-WHHAH4IE.js +101 -0
  512. package/dist/upload-7XG5LU7C.js +130 -0
  513. package/dist/upload-7XG5LU7C.js.map +1 -0
  514. package/dist/upload-EAEILUQB.js +150 -0
  515. package/dist/upscale-HB6L6SZG.js +109 -0
  516. package/dist/url-options-2BGF2D5E.js +131 -0
  517. package/dist/url-params-FBDTXQGY.js +101 -0
  518. package/dist/use-HGX7ZRH5.js +111 -0
  519. package/dist/use-HGX7ZRH5.js.map +1 -0
  520. package/dist/validate-Z3SRQKSO.js +125 -0
  521. package/dist/validate-Z3SRQKSO.js.map +1 -0
  522. package/dist/variant-O7LXOA2E.js +338 -0
  523. package/dist/videos-4TLBI3E3.js +41 -0
  524. package/dist/view-ED636LWD.js +121 -0
  525. package/dist/viewer-check-ELVSS3DM.js +83 -0
  526. package/dist/web-LDR6HO5M.js +143 -0
  527. package/dist/winners-ZG5SHNBS.js +113 -0
  528. package/dist/winning-ads-7SWUVUDA.js +86 -0
  529. package/dist/write-commands-24FRMQW4.js +1525 -0
  530. package/dist/write-commands-AIWR7NBO.js +713 -0
  531. package/dist/write-commands-UK6MKGHI.js +206 -0
  532. package/dist/write-commands-W3UN6F4Y.js +1172 -0
  533. package/dist/x-UOGRWXET.js +47 -0
  534. package/package.json +1 -1
  535. package/dist/account-2G3IT7J4.js +0 -82
  536. package/dist/account-CQJFUII3.js +0 -139
  537. package/dist/account-ULC5N7SI.js +0 -82
  538. package/dist/account-assets-IDVG4DGK.js +0 -290
  539. package/dist/account-level-GK7M2MMQ.js +0 -611
  540. package/dist/account-reads-FRFI6OHK.js +0 -219
  541. package/dist/account-users-PINZLBT7.js +0 -64
  542. package/dist/account-writes-WRGJC7VU.js +0 -68
  543. package/dist/accounts-2KFG33EX.js +0 -80
  544. package/dist/accounts-5754XUS3.js +0 -115
  545. package/dist/accounts-KRW3JNCW.js +0 -76
  546. package/dist/accounts-MHPNZW3W.js +0 -701
  547. package/dist/accounts-MTNBMXHD.js +0 -114
  548. package/dist/actions-33IZOT5C.js +0 -55
  549. package/dist/active-entities-JR5B32X2.js +0 -103
  550. package/dist/activecampaign-BV5GZFVR.js +0 -938
  551. package/dist/activities-2RAJXP3J.js +0 -75
  552. package/dist/ad-group-writes-W6RCMYLC.js +0 -172
  553. package/dist/ad-groups-XAI2Z62X.js +0 -70
  554. package/dist/ad-writes-IGWZRTXY.js +0 -176
  555. package/dist/add-4PJDIW2M.js +0 -148
  556. package/dist/add-DBCN33GH.js +0 -107
  557. package/dist/add-KB7O7NSB.js +0 -97
  558. package/dist/add-PRU32PQN.js +0 -81
  559. package/dist/add-UZDOQAJL.js +0 -80
  560. package/dist/add-WDX66JSM.js +0 -305
  561. package/dist/add-accounts-ZWXG6HLM.js +0 -91
  562. package/dist/ads-255V76SZ.js +0 -79
  563. package/dist/ads-7TEPA4KZ.js +0 -48
  564. package/dist/ads-I6I4MYQH.js +0 -128
  565. package/dist/ads-JVBLNTBF.js +0 -120
  566. package/dist/adsets-FN5ZWSYF.js +0 -182
  567. package/dist/advertisers-BPJWOY7I.js +0 -125
  568. package/dist/advertisers-SJO6JYIO.js +0 -123
  569. package/dist/analytics-TXPEXLPQ.js +0 -447
  570. package/dist/analytics-XDWBEY57.js +0 -2437
  571. package/dist/animate-425S4ZXS.js +0 -480
  572. package/dist/approved-KUVAJ5M7.js +0 -73
  573. package/dist/asset-writes-SSI3CO2A.js +0 -50
  574. package/dist/assign-CTV6LDEI.js +0 -80
  575. package/dist/audience-size-5QYI5PKH.js +0 -76
  576. package/dist/audience-writes-G64754LR.js +0 -327
  577. package/dist/audiences-JAVNJ5NC.js +0 -86
  578. package/dist/audiences-JZ6SCEUC.js +0 -280
  579. package/dist/audiences-OMLKMHEJ.js +0 -85
  580. package/dist/audit-2YFDJAKL.js +0 -88
  581. package/dist/audit-4UE6GFLG.js +0 -154
  582. package/dist/autocomplete-HTUV2UDS.js +0 -114
  583. package/dist/avatars-K7RBSMIJ.js +0 -38
  584. package/dist/bid-pricing-OWP4SZP5.js +0 -103
  585. package/dist/brand-GBP4OEJI.js +0 -22
  586. package/dist/brief-SLTB3EPO.js +0 -543
  587. package/dist/businesses-DXRDQIFP.js +0 -54
  588. package/dist/campaign-groups-LDOQU65Q.js +0 -99
  589. package/dist/campaign-writes-SHF3XZXV.js +0 -176
  590. package/dist/campaign-writes-SK55QLY5.js +0 -168
  591. package/dist/campaigns-6CAKRANC.js +0 -113
  592. package/dist/campaigns-EHV7J7PW.js +0 -111
  593. package/dist/campaigns-GG7LLI4X.js +0 -78
  594. package/dist/campaigns-GQWFSKGC.js +0 -130
  595. package/dist/canvas-2VRPGRND.js +0 -46
  596. package/dist/capabilities-BEZXR2FZ.js +0 -147
  597. package/dist/cards-J2PGFKEF.js +0 -85
  598. package/dist/catalog-XECCXRM6.js +0 -65
  599. package/dist/catalog-XECCXRM6.js.map +0 -1
  600. package/dist/catalogs-P5KMIMC2.js +0 -130
  601. package/dist/catalogs-TBRONC2D.js +0 -781
  602. package/dist/changes-3COSIJLU.js +0 -135
  603. package/dist/chatgpt-S5EVEKYV.js +0 -47
  604. package/dist/chats-AN52YVBT.js +0 -279
  605. package/dist/check-AQO7CMDD.js +0 -107
  606. package/dist/chunk-2MXDSPUO.js +0 -76
  607. package/dist/chunk-2SGREP24.js +0 -76
  608. package/dist/chunk-34FVKJS2.js +0 -64
  609. package/dist/chunk-364TCROV.js +0 -207
  610. package/dist/chunk-3H5MJOG2.js +0 -91
  611. package/dist/chunk-3J3W23S4.js +0 -592
  612. package/dist/chunk-3KMYOPBI.js +0 -98
  613. package/dist/chunk-3WSJGYA3.js +0 -148
  614. package/dist/chunk-44ZRCSR7.js +0 -228
  615. package/dist/chunk-46YLDIQG.js +0 -4254
  616. package/dist/chunk-46YLDIQG.js.map +0 -1
  617. package/dist/chunk-4745PLPI.js +0 -111
  618. package/dist/chunk-4JS2O2KV.js +0 -89
  619. package/dist/chunk-4ULRDQVD.js +0 -714
  620. package/dist/chunk-4VXQAJRU.js +0 -225
  621. package/dist/chunk-4XXA4WCS.js +0 -207
  622. package/dist/chunk-52IYZCRS.js +0 -476
  623. package/dist/chunk-56OEYUJU.js +0 -61
  624. package/dist/chunk-5CTNSIWY.js +0 -69
  625. package/dist/chunk-5EF7ZLXA.js +0 -942
  626. package/dist/chunk-5EF7ZLXA.js.map +0 -1
  627. package/dist/chunk-62QMJYML.js +0 -167
  628. package/dist/chunk-6B4KNOJZ.js +0 -75
  629. package/dist/chunk-6M77QNJ4.js +0 -69
  630. package/dist/chunk-7HH4F2KX.js +0 -188
  631. package/dist/chunk-7O4HFODK.js +0 -26
  632. package/dist/chunk-AFQF6ISC.js +0 -215
  633. package/dist/chunk-AXTOIHH2.js +0 -74
  634. package/dist/chunk-B4UVJCJ4.js +0 -229
  635. package/dist/chunk-BN4TDL5L.js +0 -217
  636. package/dist/chunk-C5UFKDAX.js +0 -377
  637. package/dist/chunk-CKTVRR3D.js +0 -57
  638. package/dist/chunk-CREEY2FS.js +0 -455
  639. package/dist/chunk-CSCHS3JG.js +0 -8954
  640. package/dist/chunk-DJWEQDBB.js +0 -98
  641. package/dist/chunk-DLNADMQV.js +0 -547
  642. package/dist/chunk-DNWP5DL6.js +0 -42
  643. package/dist/chunk-DW3OPKXI.js +0 -51
  644. package/dist/chunk-ECJIMIEJ.js +0 -142
  645. package/dist/chunk-EHIISZYD.js +0 -296
  646. package/dist/chunk-ERRTBCDW.js +0 -191
  647. package/dist/chunk-EZBZU6N7.js +0 -66
  648. package/dist/chunk-FBG3JDET.js +0 -97
  649. package/dist/chunk-FOWT6ENH.js +0 -170
  650. package/dist/chunk-FSGJSREN.js +0 -2437
  651. package/dist/chunk-FSGJSREN.js.map +0 -1
  652. package/dist/chunk-FVZL2YC5.js +0 -3868
  653. package/dist/chunk-FVZL2YC5.js.map +0 -1
  654. package/dist/chunk-GDQJG4BO.js +0 -91
  655. package/dist/chunk-GEFZVG4P.js +0 -219
  656. package/dist/chunk-GLCHD54W.js +0 -74
  657. package/dist/chunk-GT77XMOG.js +0 -23
  658. package/dist/chunk-GXPZJ2QN.js +0 -225
  659. package/dist/chunk-HAJYFRXL.js +0 -224
  660. package/dist/chunk-HPDGVK6R.js +0 -324
  661. package/dist/chunk-HVJJEQDQ.js +0 -7234
  662. package/dist/chunk-I7AYMJZA.js +0 -783
  663. package/dist/chunk-ILEJXJH2.js +0 -1518
  664. package/dist/chunk-J4ASA24X.js +0 -203
  665. package/dist/chunk-JAC6JVCI.js +0 -26
  666. package/dist/chunk-JCVPZ7CV.js +0 -638
  667. package/dist/chunk-KG7FPYM2.js +0 -64
  668. package/dist/chunk-KRQ2AXFW.js +0 -191
  669. package/dist/chunk-L5IYVZM2.js +0 -39
  670. package/dist/chunk-LHQ6GXNF.js +0 -46
  671. package/dist/chunk-LS2KEAYJ.js +0 -66
  672. package/dist/chunk-LURM3KKS.js +0 -94
  673. package/dist/chunk-MCJ5I5LR.js +0 -3187
  674. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  675. package/dist/chunk-MHH7SGLS.js +0 -106
  676. package/dist/chunk-MZIYRWXL.js +0 -285
  677. package/dist/chunk-MZPS46OR.js +0 -76
  678. package/dist/chunk-NY5VYGTP.js +0 -97
  679. package/dist/chunk-O37YK4P6.js +0 -136
  680. package/dist/chunk-OYNBUT5X.js +0 -479
  681. package/dist/chunk-PGBZ73UZ.js +0 -429
  682. package/dist/chunk-PN72Z2W2.js +0 -56
  683. package/dist/chunk-QJ5TU5J6.js +0 -100
  684. package/dist/chunk-QNLPZOHV.js +0 -84
  685. package/dist/chunk-QNXDSNOQ.js +0 -544
  686. package/dist/chunk-QOC3JEUQ.js +0 -363
  687. package/dist/chunk-QOC3JEUQ.js.map +0 -1
  688. package/dist/chunk-R44B522K.js +0 -139
  689. package/dist/chunk-R5GGTLYE.js +0 -846
  690. package/dist/chunk-R6T25WTZ.js +0 -344
  691. package/dist/chunk-RUJS2NOA.js +0 -297
  692. package/dist/chunk-S6VFDNSQ.js +0 -63
  693. package/dist/chunk-SDQLZYQG.js +0 -843
  694. package/dist/chunk-SEC6FPWC.js +0 -494
  695. package/dist/chunk-SG2TDQEE.js +0 -150
  696. package/dist/chunk-SJAUMPL3.js +0 -46
  697. package/dist/chunk-SNDHR5QA.js +0 -24026
  698. package/dist/chunk-SNDHR5QA.js.map +0 -1
  699. package/dist/chunk-SP5L7EYC.js +0 -125
  700. package/dist/chunk-SPBNAGIN.js +0 -1646
  701. package/dist/chunk-SWNCS2OD.js +0 -333
  702. package/dist/chunk-T37PAZT2.js +0 -274
  703. package/dist/chunk-T6PTG6VM.js +0 -5368
  704. package/dist/chunk-TE4ASZSC.js +0 -45
  705. package/dist/chunk-TEKML2NW.js +0 -35
  706. package/dist/chunk-TKDOVFO6.js +0 -287
  707. package/dist/chunk-TRMZQRVV.js +0 -1919
  708. package/dist/chunk-TTKDFRON.js +0 -149
  709. package/dist/chunk-U2BPZ27S.js +0 -910
  710. package/dist/chunk-UBDY5RE4.js +0 -387
  711. package/dist/chunk-UPDIBQUC.js +0 -106
  712. package/dist/chunk-V2XEX2YR.js +0 -84
  713. package/dist/chunk-V62ZWGCL.js +0 -103
  714. package/dist/chunk-VCUXAPLM.js +0 -169
  715. package/dist/chunk-VP4PO7FW.js +0 -392
  716. package/dist/chunk-W7C7HZFJ.js +0 -275
  717. package/dist/chunk-WPAW6EVY.js +0 -166
  718. package/dist/chunk-WPSLL3S2.js +0 -604
  719. package/dist/chunk-WW6JLISJ.js +0 -200
  720. package/dist/chunk-WWLZ5RRU.js +0 -319
  721. package/dist/chunk-X3HPRECW.js +0 -52
  722. package/dist/chunk-XGX2WOV2.js +0 -8914
  723. package/dist/chunk-XGX2WOV2.js.map +0 -1
  724. package/dist/chunk-XJHUSJY6.js +0 -156
  725. package/dist/chunk-XPDUBDPL.js +0 -25
  726. package/dist/chunk-XRSRHAEU.js +0 -163
  727. package/dist/chunk-XVHR2NCG.js +0 -249
  728. package/dist/chunk-XWO6CXNG.js +0 -19
  729. package/dist/chunk-XZWBLUDV.js +0 -831
  730. package/dist/chunk-Y25HSPRJ.js +0 -122
  731. package/dist/chunk-Y25HSPRJ.js.map +0 -1
  732. package/dist/chunk-YUCGCJKT.js +0 -676
  733. package/dist/chunk-ZBUIWVF3.js +0 -197
  734. package/dist/chunk-ZFJ2FQUH.js +0 -131
  735. package/dist/chunk-ZNXP3WNJ.js +0 -58
  736. package/dist/chunk-ZVXKWLLE.js +0 -1744
  737. package/dist/claim-NRNO4XCO.js +0 -200
  738. package/dist/client-463NKLRT.js +0 -19
  739. package/dist/code-R4JOQ27J.js +0 -76
  740. package/dist/companies-4TOBU44J.js +0 -198
  741. package/dist/company-RK34S3IA.js +0 -308
  742. package/dist/complete-7BNBQ5AI.js +0 -84
  743. package/dist/config-GDLHHBJZ.js +0 -88
  744. package/dist/connect-CRIRSXN3.js +0 -45
  745. package/dist/content-FCO6MGXW.js +0 -85
  746. package/dist/conversation-4CQG2B2C.js +0 -96
  747. package/dist/conversion-report-PDTQTRVB.js +0 -127
  748. package/dist/conversion-upload-command-MEO4WLZH.js +0 -439
  749. package/dist/conversion-writes-ZVBOXUIA.js +0 -122
  750. package/dist/conversions-BND5HYTL.js +0 -78
  751. package/dist/conversions-POBKTXQF.js +0 -140
  752. package/dist/copy-writes-EUFEVWDW.js +0 -170
  753. package/dist/countries-TKL5T5JL.js +0 -82
  754. package/dist/create-BJ7XBNY5.js +0 -62
  755. package/dist/create-PYP3QWTL.js +0 -135
  756. package/dist/create-XN4KVB5U.js +0 -210
  757. package/dist/create-YSGBH6Q4.js +0 -239
  758. package/dist/creatives-57XIJAEG.js +0 -223
  759. package/dist/creatives-6VJDUHEY.js +0 -89
  760. package/dist/creatives-ANTJUTIE.js +0 -58
  761. package/dist/credentials-KIH6ICDU.js +0 -290
  762. package/dist/critique-GWRXVXVG.js +0 -1451
  763. package/dist/critique-MZUTDK4V.js +0 -232
  764. package/dist/crm-QSHUYXTW.js +0 -323
  765. package/dist/crm-Y5QTZAHO.js +0 -227
  766. package/dist/crop-WKTW3EMP.js +0 -113
  767. package/dist/currency-PTOI5SPU.js +0 -88
  768. package/dist/custom-conversions-NDY5RHSM.js +0 -128
  769. package/dist/customers-2G32E6W7.js +0 -59
  770. package/dist/decide-X2UAKYXK.js +0 -199
  771. package/dist/delete-2ZTMTKYD.js +0 -69
  772. package/dist/delete-3H6YH4YK.js +0 -67
  773. package/dist/delete-FOSTK2RA.js +0 -71
  774. package/dist/delete-FOSTK2RA.js.map +0 -1
  775. package/dist/delete-HIAZHA56.js +0 -57
  776. package/dist/delete-I43JQH2E.js +0 -69
  777. package/dist/delete-RF44ILYE.js +0 -71
  778. package/dist/demographics-2UYQW6II.js +0 -141
  779. package/dist/describe-M6DYXNQC.js +0 -97
  780. package/dist/describe-OQ6R3EF7.js +0 -97
  781. package/dist/dimensions-DGYM5E5P.js +0 -101
  782. package/dist/discard-NKPQ73UM.js +0 -69
  783. package/dist/discover-XLIH7RCB.js +0 -93
  784. package/dist/discover-YKMBVSPF.js +0 -172
  785. package/dist/domain-LUDUZB3F.js +0 -101
  786. package/dist/download-LL6DL62N.js +0 -172
  787. package/dist/download-SFWMT7DL.js +0 -299
  788. package/dist/draft-374Z4MGY.js +0 -103
  789. package/dist/draft-736FJJWK.js +0 -310
  790. package/dist/draft-7LPUJZCF.js +0 -283
  791. package/dist/draft-G432FJ7N.js +0 -240
  792. package/dist/draft-MPWR47CG.js +0 -308
  793. package/dist/draft-R5ND5SWT.js +0 -100
  794. package/dist/draft-T7TWIFEX.js +0 -335
  795. package/dist/draft-XAAIGE6Q.js +0 -220
  796. package/dist/env-DQHY5ODN.js +0 -53
  797. package/dist/experiment-MO6MT6OJ.js +0 -1397
  798. package/dist/experiments-OGZV73W6.js +0 -236
  799. package/dist/export-6Z6QBU6V.js +0 -168
  800. package/dist/extract-YGOQBOQK.js +0 -113
  801. package/dist/facets-OLZ7JLFL.js +0 -117
  802. package/dist/favorites-R3JO4SJJ.js +0 -178
  803. package/dist/feed-IUMMHM3I.js +0 -177
  804. package/dist/feedback-TJRYTOR3.js +0 -111
  805. package/dist/feedback-TJRYTOR3.js.map +0 -1
  806. package/dist/feedback-record-7IAJI5IY.js +0 -265
  807. package/dist/feedback-record-7IAJI5IY.js.map +0 -1
  808. package/dist/fetch-AL44XS4Q.js +0 -139
  809. package/dist/fetch-K3NRT2L2.js +0 -179
  810. package/dist/find-ZFIGMRYQ.js +0 -143
  811. package/dist/fit-5NVXWXZV.js +0 -65
  812. package/dist/flows-LL5SPPIK.js +0 -250
  813. package/dist/follow-SS374QUW.js +0 -94
  814. package/dist/follow-competitors-3LTOTTBY.js +0 -112
  815. package/dist/following-YMA5O3LF.js +0 -113
  816. package/dist/fonts-E3CNWPD5.js +0 -39
  817. package/dist/forecast-KOBF5TKM.js +0 -169
  818. package/dist/forecast-PWGN4ETP.js +0 -121
  819. package/dist/funding-KLIZ73SS.js +0 -85
  820. package/dist/funnel-XIZROHV7.js +0 -397
  821. package/dist/ga4-XPCE4EK5.js +0 -55
  822. package/dist/generate-GHIXVLMY.js +0 -263
  823. package/dist/get-HCGFATFD.js +0 -38
  824. package/dist/get-JR2KZXW5.js +0 -63
  825. package/dist/get-JR2KZXW5.js.map +0 -1
  826. package/dist/get-RDTJSWSA.js +0 -92
  827. package/dist/get-SGNT4JG2.js +0 -59
  828. package/dist/get-TGFXZC5S.js +0 -61
  829. package/dist/get-TGFXZC5S.js.map +0 -1
  830. package/dist/get-WS744HAO.js +0 -59
  831. package/dist/get-XPJ4BZGP.js +0 -82
  832. package/dist/get-YD7GDMDR.js +0 -63
  833. package/dist/get-YD7GDMDR.js.map +0 -1
  834. package/dist/gif-YK5HJXRE.js +0 -102
  835. package/dist/google-5JV7OMOH.js +0 -3267
  836. package/dist/google-BI45CXMW.js +0 -136
  837. package/dist/google-ads-DYZGUM6W.js +0 -198
  838. package/dist/group-7OWIYAKJ.js +0 -43
  839. package/dist/group-H6ZYRPE6.js +0 -43
  840. package/dist/gsc-HI2KXDEU.js +0 -30
  841. package/dist/history-3EQQHYKT.js +0 -69
  842. package/dist/history-RD2YMNNL.js +0 -102
  843. package/dist/history-SQPJ7PPE.js +0 -136
  844. package/dist/hubspot-MYTV36SM.js +0 -782
  845. package/dist/icon-HLJCWTR3.js +0 -137
  846. package/dist/ideas-CVXHFVX7.js +0 -45
  847. package/dist/images-XP4TKE2F.js +0 -92
  848. package/dist/improve-BRC4R6MW.js +0 -86
  849. package/dist/ingest-4GNJ2PWL.js +0 -26
  850. package/dist/ingest-5NYBUZE2.js +0 -110
  851. package/dist/ingest-5NYBUZE2.js.map +0 -1
  852. package/dist/insights-CN3GUTT7.js +0 -132
  853. package/dist/insights-IVW6W5CP.js +0 -439
  854. package/dist/inspect-25IVRU45.js +0 -192
  855. package/dist/inspiration-D75DO3MD.js +0 -53
  856. package/dist/instant-experiences-6F6GXZ67.js +0 -260
  857. package/dist/intent-3GDLPKKN.js +0 -95
  858. package/dist/job-2JJNKUHT.js +0 -202
  859. package/dist/job-create-BNTNZCSP.js +0 -109
  860. package/dist/job-status-N7RWRDRO.js +0 -74
  861. package/dist/keep-Z2WH3CKU.js +0 -78
  862. package/dist/keyword-gap-B2WPVHOB.js +0 -130
  863. package/dist/keyword-metrics-UDGWN7BO.js +0 -200
  864. package/dist/keywords-for-site-GEG6AXD3.js +0 -131
  865. package/dist/knowledge-PKXPN4RV.js +0 -195
  866. package/dist/landing-O2ZUIUGE.js +0 -28
  867. package/dist/landings-7QRITXZ2.js +0 -151
  868. package/dist/languages-RZLMZR57.js +0 -55
  869. package/dist/languages-UJAOPTV2.js +0 -40
  870. package/dist/launches-4H6ANGTG.js +0 -19
  871. package/dist/layerize-P5LFIA4X.js +0 -190
  872. package/dist/lead-routes-WVXWVG62.js +0 -733
  873. package/dist/leads-CJKRKB2Q.js +0 -540
  874. package/dist/leads-MTTOYNPM.js +0 -115
  875. package/dist/learn-QPXZZIZZ.js +0 -207
  876. package/dist/library-VW27X75P.js +0 -211
  877. package/dist/lighthouse-FGUFJRGR.js +0 -75
  878. package/dist/line-item-writes-RVOAMJ5R.js +0 -211
  879. package/dist/line-items-POZRAJLC.js +0 -107
  880. package/dist/link-IXEZKRM7.js +0 -67
  881. package/dist/linkedin-5PYG5HEM.js +0 -1328
  882. package/dist/linkedin-person-EMJXEZYR.js +0 -139
  883. package/dist/list-4KS7WSUG.js +0 -306
  884. package/dist/list-7GDMM26I.js +0 -93
  885. package/dist/list-DVVOP6FM.js +0 -50
  886. package/dist/list-J5KWXHFO.js +0 -76
  887. package/dist/list-OZCU2T22.js +0 -67
  888. package/dist/list-PTK2HOUY.js +0 -51
  889. package/dist/list-Q5LVTPQP.js +0 -57
  890. package/dist/list-UG4V5AM2.js +0 -65
  891. package/dist/list-XOYU7UTX.js +0 -154
  892. package/dist/locations-EISZ6JOT.js +0 -40
  893. package/dist/locations-VJX64ZZR.js +0 -69
  894. package/dist/log-2F2N24DT.js +0 -95
  895. package/dist/logo-H2KHGLYD.js +0 -18
  896. package/dist/lookup-K57ITJWF.js +0 -23
  897. package/dist/make-T6HLXIYY.js +0 -1366
  898. package/dist/make-T6HLXIYY.js.map +0 -1
  899. package/dist/map-QGJZIC5N.js +0 -436
  900. package/dist/mcp-RSW7KAWP.js +0 -729
  901. package/dist/media-HDHZULQ7.js +0 -18
  902. package/dist/media-K5RJXLTN.js +0 -89
  903. package/dist/media-sources-7R7FO53Y.js +0 -35
  904. package/dist/members-B6TKGGT5.js +0 -47
  905. package/dist/meme-QMCUGXUE.js +0 -100
  906. package/dist/meta-MOSJVYIE.js +0 -122
  907. package/dist/metrics-PRIKXVYZ.js +0 -152
  908. package/dist/models-M3E4YFCT.js +0 -155
  909. package/dist/normalize-5B4EQLUX.js +0 -144
  910. package/dist/normalize-5QIGANTK.js +0 -806
  911. package/dist/options-K33CJOR6.js +0 -125
  912. package/dist/organization-A4NFWWWI.js +0 -949
  913. package/dist/output-U5ZV6PST.js +0 -24
  914. package/dist/page-XVOUD4VV.js +0 -105
  915. package/dist/page-photos-4JTIKXAW.js +0 -118
  916. package/dist/pages-BAUS7LQM.js +0 -67
  917. package/dist/performance-MHJDRLEK.js +0 -5565
  918. package/dist/performance-NVURSEZ6.js +0 -27
  919. package/dist/pinterest-NA6HGPMB.js +0 -96
  920. package/dist/pixels-QOSEYXCP.js +0 -109
  921. package/dist/pixels-THDQD3RF.js +0 -62
  922. package/dist/plan-JYSHKPZQ.js +0 -208
  923. package/dist/posts-ILAFADBW.js +0 -36
  924. package/dist/preview-X6EJGPAY.js +0 -218
  925. package/dist/profile-YHI65VGK.js +0 -159
  926. package/dist/promoted-tweet-writes-MXXVRLVQ.js +0 -183
  927. package/dist/promoted-tweets-HFLGXWX2.js +0 -119
  928. package/dist/properties-ZLY6NYVK.js +0 -101
  929. package/dist/publish-6ZXFUBGP.js +0 -344
  930. package/dist/query-ELD7WSFR.js +0 -247
  931. package/dist/query-HFHTLNDN.js +0 -236
  932. package/dist/query-WMEX73ZB.js +0 -62
  933. package/dist/questionnaire-Y37I64FO.js +0 -94
  934. package/dist/read-2HQEZIJW.js +0 -141
  935. package/dist/reddit-BIHGJPGP.js +0 -29
  936. package/dist/refresh-4O32S4YR.js +0 -97
  937. package/dist/refresh-LVV4SPLT.js +0 -42
  938. package/dist/release-VIPNSPQ5.js +0 -63
  939. package/dist/relevant-pages-B5SYN575.js +0 -99
  940. package/dist/remove-2E77743U.js +0 -53
  941. package/dist/remove-TPOWWFZ6.js +0 -49
  942. package/dist/reopen-UOBTJBMQ.js +0 -66
  943. package/dist/rerun-UPDIXTEL.js +0 -95
  944. package/dist/rerun-UPDIXTEL.js.map +0 -1
  945. package/dist/research-ELM3KHGE.js +0 -72
  946. package/dist/research-FOJIDMSE.js +0 -265
  947. package/dist/reset-FTLWUFZK.js +0 -57
  948. package/dist/reset-GIXXLPHQ.js +0 -57
  949. package/dist/resolve-QHR5JJTJ.js +0 -124
  950. package/dist/retry-HNWXJR5U.js +0 -65
  951. package/dist/retry-NY5KFEDA.js +0 -63
  952. package/dist/retry-failed-OAH7JQKD.js +0 -45
  953. package/dist/revenue-JFMUODJO.js +0 -91
  954. package/dist/rule-writes-A4BFYHPA.js +0 -525
  955. package/dist/rules-56E55SGC.js +0 -99
  956. package/dist/rules-HLREXY2M.js +0 -217
  957. package/dist/rules-add-ZOPOWJMY.js +0 -465
  958. package/dist/run-4UIPMCSN.js +0 -69
  959. package/dist/run-GACZDI6Q.js +0 -70
  960. package/dist/scaffold-ad-Z2HSN4PE.js +0 -1512
  961. package/dist/scaffold-ad-Z2HSN4PE.js.map +0 -1
  962. package/dist/scaffold-static-ad-ODZGTIM5.js +0 -1010
  963. package/dist/scaffold-static-ad-ODZGTIM5.js.map +0 -1
  964. package/dist/scaffold-video-EHGAMEEP.js +0 -884
  965. package/dist/scaffold-video-EHGAMEEP.js.map +0 -1
  966. package/dist/schedule-OFPSZVZ2.js +0 -67
  967. package/dist/schedule-ZATNBBWD.js +0 -64
  968. package/dist/scheduled-agents-4VY4CAA2.js +0 -55
  969. package/dist/schema-EYGPETLF.js +0 -121
  970. package/dist/schema-OGP4DUPP.js +0 -135
  971. package/dist/scrape-ZHL2BHS7.js +0 -2241
  972. package/dist/screenshot-ADMRDYWN.js +0 -102
  973. package/dist/search-6W4HXR2S.js +0 -91
  974. package/dist/search-6ZWI2NML.js +0 -92
  975. package/dist/search-CQUS7EOM.js +0 -51
  976. package/dist/search-HF5ECIYW.js +0 -26
  977. package/dist/search-MKVVMJ2Q.js +0 -224
  978. package/dist/search-QUF6LHQ5.js +0 -177
  979. package/dist/search-copy-O6FDX4HT.js +0 -168
  980. package/dist/seeds-5TM3O3K3.js +0 -101
  981. package/dist/select-FCQUYBKV.js +0 -106
  982. package/dist/select-FCQUYBKV.js.map +0 -1
  983. package/dist/sends-MZKHZZGJ.js +0 -349
  984. package/dist/sequences-3CEVHGHB.js +0 -146
  985. package/dist/set-prompt-IBAG6BDA.js +0 -198
  986. package/dist/set-prompt-IBAG6BDA.js.map +0 -1
  987. package/dist/setup-links-4STQ5B4P.js +0 -144
  988. package/dist/shared-I3SB77VH.js +0 -32
  989. package/dist/shopify-7LDHCWUQ.js +0 -3958
  990. package/dist/site-I3NFMPJB.js +0 -180
  991. package/dist/sitemaps-PLAWVXQL.js +0 -87
  992. package/dist/sites-WX2IBTZT.js +0 -101
  993. package/dist/skills-O6EQOAMQ.js +0 -47
  994. package/dist/sources-K2LILGTW.js +0 -30
  995. package/dist/sources-ZM7LEIMM.js +0 -457
  996. package/dist/stale-VR5QAYB6.js +0 -76
  997. package/dist/stale-VR5QAYB6.js.map +0 -1
  998. package/dist/stats-QQRYOMZA.js +0 -34
  999. package/dist/status-5OMVGFCH.js +0 -65
  1000. package/dist/sticker-654HS3K2.js +0 -94
  1001. package/dist/stock-35LOO3YN.js +0 -179
  1002. package/dist/studies-IGOCWM7F.js +0 -250
  1003. package/dist/studio-3D42TUJX.js +0 -49
  1004. package/dist/study-writes-Z5P2W7JH.js +0 -470
  1005. package/dist/suggest-JASHCOL5.js +0 -66
  1006. package/dist/sync-6AN67IX3.js +0 -55
  1007. package/dist/sync-RCDODSOD.js +0 -57
  1008. package/dist/sync-URIRLHTS.js +0 -279
  1009. package/dist/sync-definition-MZUJOJYI.js +0 -69
  1010. package/dist/tag-7YMFAZQQ.js +0 -57
  1011. package/dist/tag-manager-LU4GAZ6R.js +0 -43
  1012. package/dist/tags-6A7QOYBI.js +0 -23
  1013. package/dist/tags-JHT3Q6VO.js +0 -227
  1014. package/dist/tags-KSMLT4G2.js +0 -26
  1015. package/dist/tags-MTVZJHCE.js +0 -23
  1016. package/dist/tags-OU32R2SH.js +0 -23
  1017. package/dist/targeting-7HXKBXWY.js +0 -762
  1018. package/dist/targeting-constants-QIB3UZHM.js +0 -118
  1019. package/dist/targeting-criteria-NUXZB7NP.js +0 -113
  1020. package/dist/targets-LQ7HGI73.js +0 -106
  1021. package/dist/terms-X4OJWTQH.js +0 -102
  1022. package/dist/testimonials-Z2KOOMVH.js +0 -32
  1023. package/dist/themes-6KVP3COR.js +0 -95
  1024. package/dist/top-companies-WWNPUJ23.js +0 -111
  1025. package/dist/transcript-P7HKVABU.js +0 -165
  1026. package/dist/translate-II4JY2XW.js +0 -600
  1027. package/dist/translate-II4JY2XW.js.map +0 -1
  1028. package/dist/triggers-Z3LV3KJR.js +0 -144
  1029. package/dist/tweets-X5PTAT6F.js +0 -123
  1030. package/dist/unfollow-S5LHFLGW.js +0 -46
  1031. package/dist/unlink-XTZA474P.js +0 -70
  1032. package/dist/unstage-AVLORZLW.js +0 -96
  1033. package/dist/unstage-QXOL5DXZ.js +0 -88
  1034. package/dist/update-3NA6ABLW.js +0 -101
  1035. package/dist/update-5ZNS2DKP.js +0 -66
  1036. package/dist/update-DDKNKV6M.js +0 -81
  1037. package/dist/update-MDVZ24VQ.js +0 -192
  1038. package/dist/update-UE4XVBKL.js +0 -155
  1039. package/dist/upload-IMP5CUY5.js +0 -129
  1040. package/dist/upload-IMP5CUY5.js.map +0 -1
  1041. package/dist/upload-SYFB2VTJ.js +0 -150
  1042. package/dist/upscale-P5EYUVOZ.js +0 -109
  1043. package/dist/url-options-DJZV3ADK.js +0 -131
  1044. package/dist/url-params-Y5XQSDEF.js +0 -101
  1045. package/dist/use-D3RBWLJO.js +0 -95
  1046. package/dist/use-D3RBWLJO.js.map +0 -1
  1047. package/dist/validate-BCK22BQL.js +0 -122
  1048. package/dist/validate-BCK22BQL.js.map +0 -1
  1049. package/dist/variant-JQVZUUA4.js +0 -338
  1050. package/dist/videos-YCQVOOFE.js +0 -41
  1051. package/dist/view-IKKRJ5YD.js +0 -121
  1052. package/dist/viewer-check-5GREZIVJ.js +0 -83
  1053. package/dist/web-7TPDDBI6.js +0 -143
  1054. package/dist/winners-4PKEVMUC.js +0 -113
  1055. package/dist/winning-ads-7X5EWSJX.js +0 -86
  1056. package/dist/write-commands-CTLF2M6L.js +0 -713
  1057. package/dist/write-commands-CY734U34.js +0 -1172
  1058. package/dist/write-commands-FIS6Y2MN.js +0 -206
  1059. package/dist/write-commands-V77MD5SC.js +0 -1525
  1060. package/dist/x-EMLFCHSG.js +0 -47
  1061. /package/dist/{account-2G3IT7J4.js.map → account-BRRFMDXZ.js.map} +0 -0
  1062. /package/dist/{account-CQJFUII3.js.map → account-HQD5P3AF.js.map} +0 -0
  1063. /package/dist/{account-ULC5N7SI.js.map → account-MQI7EZBH.js.map} +0 -0
  1064. /package/dist/{account-assets-IDVG4DGK.js.map → account-assets-JRMYVXQP.js.map} +0 -0
  1065. /package/dist/{account-level-GK7M2MMQ.js.map → account-level-PEGLZQTI.js.map} +0 -0
  1066. /package/dist/{account-reads-FRFI6OHK.js.map → account-reads-K6YDAOHX.js.map} +0 -0
  1067. /package/dist/{account-users-PINZLBT7.js.map → account-users-QS54ZEOD.js.map} +0 -0
  1068. /package/dist/{account-writes-WRGJC7VU.js.map → account-writes-PGGGP26M.js.map} +0 -0
  1069. /package/dist/{accounts-2KFG33EX.js.map → accounts-H3U7LARM.js.map} +0 -0
  1070. /package/dist/{accounts-MHPNZW3W.js.map → accounts-IW62WBX5.js.map} +0 -0
  1071. /package/dist/{accounts-MTNBMXHD.js.map → accounts-MQMEOGQD.js.map} +0 -0
  1072. /package/dist/{accounts-KRW3JNCW.js.map → accounts-T6SRCZJQ.js.map} +0 -0
  1073. /package/dist/{accounts-5754XUS3.js.map → accounts-Y2VWI3AA.js.map} +0 -0
  1074. /package/dist/{actions-33IZOT5C.js.map → actions-2CUQFZNA.js.map} +0 -0
  1075. /package/dist/{active-entities-JR5B32X2.js.map → active-entities-BOMM4YDF.js.map} +0 -0
  1076. /package/dist/{activecampaign-BV5GZFVR.js.map → activecampaign-WAMDVBUO.js.map} +0 -0
  1077. /package/dist/{activities-2RAJXP3J.js.map → activities-YH4K4JAI.js.map} +0 -0
  1078. /package/dist/{ad-group-writes-W6RCMYLC.js.map → ad-group-writes-ROUU6BHU.js.map} +0 -0
  1079. /package/dist/{ad-groups-XAI2Z62X.js.map → ad-groups-Y2BSRLIN.js.map} +0 -0
  1080. /package/dist/{ad-writes-IGWZRTXY.js.map → ad-writes-NF4LCGVP.js.map} +0 -0
  1081. /package/dist/{add-UZDOQAJL.js.map → add-2L2VQ5MU.js.map} +0 -0
  1082. /package/dist/{add-WDX66JSM.js.map → add-4P3CUHAN.js.map} +0 -0
  1083. /package/dist/{add-KB7O7NSB.js.map → add-PS36Q2S3.js.map} +0 -0
  1084. /package/dist/{add-4PJDIW2M.js.map → add-RLMXZLLO.js.map} +0 -0
  1085. /package/dist/{add-DBCN33GH.js.map → add-UHWRBSFE.js.map} +0 -0
  1086. /package/dist/{add-PRU32PQN.js.map → add-Z2OTFSQO.js.map} +0 -0
  1087. /package/dist/{add-accounts-ZWXG6HLM.js.map → add-accounts-GXBE4ZR2.js.map} +0 -0
  1088. /package/dist/{ads-255V76SZ.js.map → ads-CPMX3L4A.js.map} +0 -0
  1089. /package/dist/{ads-7TEPA4KZ.js.map → ads-TDN7OYSU.js.map} +0 -0
  1090. /package/dist/{ads-I6I4MYQH.js.map → ads-WYQYZ44U.js.map} +0 -0
  1091. /package/dist/{ads-JVBLNTBF.js.map → ads-ZEF5AU3D.js.map} +0 -0
  1092. /package/dist/{adsets-FN5ZWSYF.js.map → adsets-ZRS7AZIK.js.map} +0 -0
  1093. /package/dist/{advertisers-SJO6JYIO.js.map → advertisers-6CHV5N2V.js.map} +0 -0
  1094. /package/dist/{advertisers-BPJWOY7I.js.map → advertisers-AAGUUSAX.js.map} +0 -0
  1095. /package/dist/{analytics-XDWBEY57.js.map → analytics-4GTUW42V.js.map} +0 -0
  1096. /package/dist/{analytics-TXPEXLPQ.js.map → analytics-MV2RQ6KR.js.map} +0 -0
  1097. /package/dist/{animate-425S4ZXS.js.map → animate-EOSLSA7F.js.map} +0 -0
  1098. /package/dist/{approved-KUVAJ5M7.js.map → approved-LHYBVDXH.js.map} +0 -0
  1099. /package/dist/{asset-writes-SSI3CO2A.js.map → asset-writes-CUF25BLM.js.map} +0 -0
  1100. /package/dist/{assign-CTV6LDEI.js.map → assign-RN5DGDS2.js.map} +0 -0
  1101. /package/dist/{audience-size-5QYI5PKH.js.map → audience-size-7DYMCXDM.js.map} +0 -0
  1102. /package/dist/{audience-writes-G64754LR.js.map → audience-writes-L7SNU2SB.js.map} +0 -0
  1103. /package/dist/{audiences-JAVNJ5NC.js.map → audiences-A54MU63W.js.map} +0 -0
  1104. /package/dist/{audiences-OMLKMHEJ.js.map → audiences-SG2BBM7R.js.map} +0 -0
  1105. /package/dist/{audiences-JZ6SCEUC.js.map → audiences-VMGB2JZG.js.map} +0 -0
  1106. /package/dist/{audit-2YFDJAKL.js.map → audit-6K5FFV6K.js.map} +0 -0
  1107. /package/dist/{audit-4UE6GFLG.js.map → audit-7U7G2JKS.js.map} +0 -0
  1108. /package/dist/{autocomplete-HTUV2UDS.js.map → autocomplete-E6YHJ3HH.js.map} +0 -0
  1109. /package/dist/{avatars-K7RBSMIJ.js.map → avatars-6JHVTSXH.js.map} +0 -0
  1110. /package/dist/{bid-pricing-OWP4SZP5.js.map → bid-pricing-J3OJK4J3.js.map} +0 -0
  1111. /package/dist/{brand-GBP4OEJI.js.map → brand-3EAQFDYN.js.map} +0 -0
  1112. /package/dist/{brief-SLTB3EPO.js.map → brief-ADGCGC3H.js.map} +0 -0
  1113. /package/dist/{businesses-DXRDQIFP.js.map → businesses-GQ5FOZDU.js.map} +0 -0
  1114. /package/dist/{campaign-groups-LDOQU65Q.js.map → campaign-groups-GN7D5UXE.js.map} +0 -0
  1115. /package/dist/{campaign-writes-SK55QLY5.js.map → campaign-writes-HKWI6GYU.js.map} +0 -0
  1116. /package/dist/{campaign-writes-SHF3XZXV.js.map → campaign-writes-UORRIIWY.js.map} +0 -0
  1117. /package/dist/{campaigns-6CAKRANC.js.map → campaigns-5I76AV7F.js.map} +0 -0
  1118. /package/dist/{campaigns-EHV7J7PW.js.map → campaigns-BEXDLBT3.js.map} +0 -0
  1119. /package/dist/{campaigns-GG7LLI4X.js.map → campaigns-GONROKTU.js.map} +0 -0
  1120. /package/dist/{campaigns-GQWFSKGC.js.map → campaigns-VZJMYETG.js.map} +0 -0
  1121. /package/dist/{canvas-2VRPGRND.js.map → canvas-CHV34G62.js.map} +0 -0
  1122. /package/dist/{capabilities-BEZXR2FZ.js.map → capabilities-VKBIQ2BR.js.map} +0 -0
  1123. /package/dist/{cards-J2PGFKEF.js.map → cards-YHZFJ3US.js.map} +0 -0
  1124. /package/dist/{catalogs-P5KMIMC2.js.map → catalogs-LXEM7NNC.js.map} +0 -0
  1125. /package/dist/{catalogs-TBRONC2D.js.map → catalogs-ZHCLH43A.js.map} +0 -0
  1126. /package/dist/{changes-3COSIJLU.js.map → changes-4OYC4NMW.js.map} +0 -0
  1127. /package/dist/{chatgpt-S5EVEKYV.js.map → chatgpt-XV6CVKLN.js.map} +0 -0
  1128. /package/dist/{chats-AN52YVBT.js.map → chats-W35ZPZEW.js.map} +0 -0
  1129. /package/dist/{check-AQO7CMDD.js.map → check-3D63D4ZT.js.map} +0 -0
  1130. /package/dist/{chunk-TE4ASZSC.js.map → chunk-23KN4NL4.js.map} +0 -0
  1131. /package/dist/{chunk-3J3W23S4.js.map → chunk-2PC26XRF.js.map} +0 -0
  1132. /package/dist/{chunk-3WSJGYA3.js.map → chunk-2UZHRLLO.js.map} +0 -0
  1133. /package/dist/{chunk-6M77QNJ4.js.map → chunk-3JV4T6XW.js.map} +0 -0
  1134. /package/dist/{chunk-I7AYMJZA.js.map → chunk-45EERHDB.js.map} +0 -0
  1135. /package/dist/{chunk-5CTNSIWY.js.map → chunk-4BTUF2AV.js.map} +0 -0
  1136. /package/dist/{chunk-4745PLPI.js.map → chunk-4D37LCBS.js.map} +0 -0
  1137. /package/dist/{chunk-XVHR2NCG.js.map → chunk-55B4AJY3.js.map} +0 -0
  1138. /package/dist/{chunk-VP4PO7FW.js.map → chunk-56UWXQEN.js.map} +0 -0
  1139. /package/dist/{chunk-W7C7HZFJ.js.map → chunk-5G5QFFJY.js.map} +0 -0
  1140. /package/dist/{chunk-4JS2O2KV.js.map → chunk-5HGAO4ZI.js.map} +0 -0
  1141. /package/dist/{chunk-QNXDSNOQ.js.map → chunk-5ITB24SC.js.map} +0 -0
  1142. /package/dist/{chunk-56OEYUJU.js.map → chunk-5YN53OAA.js.map} +0 -0
  1143. /package/dist/{chunk-MZIYRWXL.js.map → chunk-6CCEEVXJ.js.map} +0 -0
  1144. /package/dist/{chunk-SP5L7EYC.js.map → chunk-6CQOHJZW.js.map} +0 -0
  1145. /package/dist/{chunk-JCVPZ7CV.js.map → chunk-6HGLQJ6A.js.map} +0 -0
  1146. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  1147. /package/dist/{chunk-GLCHD54W.js.map → chunk-6OXENBTF.js.map} +0 -0
  1148. /package/dist/{chunk-LHQ6GXNF.js.map → chunk-6QGBBX7F.js.map} +0 -0
  1149. /package/dist/{chunk-XWO6CXNG.js.map → chunk-6RTZPBAT.js.map} +0 -0
  1150. /package/dist/{chunk-4XXA4WCS.js.map → chunk-7JFVMJZI.js.map} +0 -0
  1151. /package/dist/{chunk-J4ASA24X.js.map → chunk-7MY3QHGA.js.map} +0 -0
  1152. /package/dist/{chunk-WPAW6EVY.js.map → chunk-A6VODUO3.js.map} +0 -0
  1153. /package/dist/{chunk-R44B522K.js.map → chunk-AGTA5FJX.js.map} +0 -0
  1154. /package/dist/{chunk-V2XEX2YR.js.map → chunk-AGU4KGT6.js.map} +0 -0
  1155. /package/dist/{chunk-DLNADMQV.js.map → chunk-BKOUVU6X.js.map} +0 -0
  1156. /package/dist/{chunk-ZNXP3WNJ.js.map → chunk-C7IOSSI4.js.map} +0 -0
  1157. /package/dist/{chunk-FOWT6ENH.js.map → chunk-CBQPKCFE.js.map} +0 -0
  1158. /package/dist/{chunk-B4UVJCJ4.js.map → chunk-CIW3Q7B2.js.map} +0 -0
  1159. /package/dist/{chunk-6B4KNOJZ.js.map → chunk-CNPYG4F3.js.map} +0 -0
  1160. /package/dist/{chunk-CKTVRR3D.js.map → chunk-CWZ2ODJQ.js.map} +0 -0
  1161. /package/dist/{chunk-LS2KEAYJ.js.map → chunk-D7Y3UNWO.js.map} +0 -0
  1162. /package/dist/{chunk-SDQLZYQG.js.map → chunk-DGZYZWMK.js.map} +0 -0
  1163. /package/dist/{chunk-R6T25WTZ.js.map → chunk-DMA67YC3.js.map} +0 -0
  1164. /package/dist/{chunk-HVJJEQDQ.js.map → chunk-DYOUJERF.js.map} +0 -0
  1165. /package/dist/{chunk-TEKML2NW.js.map → chunk-E34YYDCE.js.map} +0 -0
  1166. /package/dist/{chunk-RUJS2NOA.js.map → chunk-E3FMS5DA.js.map} +0 -0
  1167. /package/dist/{chunk-62QMJYML.js.map → chunk-EIRGJD3Q.js.map} +0 -0
  1168. /package/dist/{chunk-DNWP5DL6.js.map → chunk-FESQ5TXU.js.map} +0 -0
  1169. /package/dist/{chunk-UPDIBQUC.js.map → chunk-FEUKUZRA.js.map} +0 -0
  1170. /package/dist/{chunk-ILEJXJH2.js.map → chunk-G3MEYGXC.js.map} +0 -0
  1171. /package/dist/{chunk-XZWBLUDV.js.map → chunk-G3MN4HIX.js.map} +0 -0
  1172. /package/dist/{chunk-364TCROV.js.map → chunk-G53CUQZV.js.map} +0 -0
  1173. /package/dist/{chunk-CREEY2FS.js.map → chunk-GPZVYXJZ.js.map} +0 -0
  1174. /package/dist/{chunk-FBG3JDET.js.map → chunk-GYMZCJX6.js.map} +0 -0
  1175. /package/dist/{chunk-XJHUSJY6.js.map → chunk-HGHVNUJT.js.map} +0 -0
  1176. /package/dist/{chunk-BN4TDL5L.js.map → chunk-IQWFJEA3.js.map} +0 -0
  1177. /package/dist/{chunk-44ZRCSR7.js.map → chunk-IZABTTW5.js.map} +0 -0
  1178. /package/dist/{chunk-DW3OPKXI.js.map → chunk-J3HA4RFY.js.map} +0 -0
  1179. /package/dist/{chunk-V62ZWGCL.js.map → chunk-JGOYO7I2.js.map} +0 -0
  1180. /package/dist/{chunk-LURM3KKS.js.map → chunk-JNSRQQDP.js.map} +0 -0
  1181. /package/dist/{chunk-CSCHS3JG.js.map → chunk-JUF6Q5X7.js.map} +0 -0
  1182. /package/dist/{chunk-OYNBUT5X.js.map → chunk-KAAYVKBH.js.map} +0 -0
  1183. /package/dist/{chunk-MHH7SGLS.js.map → chunk-KGAI4E2I.js.map} +0 -0
  1184. /package/dist/{chunk-PGBZ73UZ.js.map → chunk-KUM36NSV.js.map} +0 -0
  1185. /package/dist/{chunk-SWNCS2OD.js.map → chunk-L763CNKH.js.map} +0 -0
  1186. /package/dist/{chunk-4VXQAJRU.js.map → chunk-LO2MZJJP.js.map} +0 -0
  1187. /package/dist/{chunk-HPDGVK6R.js.map → chunk-LV7EU6HM.js.map} +0 -0
  1188. /package/dist/{chunk-QNLPZOHV.js.map → chunk-LXZ5E6AC.js.map} +0 -0
  1189. /package/dist/{chunk-KRQ2AXFW.js.map → chunk-LZRZVIEJ.js.map} +0 -0
  1190. /package/dist/{chunk-GEFZVG4P.js.map → chunk-MCKYNFPH.js.map} +0 -0
  1191. /package/dist/{chunk-GDQJG4BO.js.map → chunk-MHSVWQK6.js.map} +0 -0
  1192. /package/dist/{chunk-S6VFDNSQ.js.map → chunk-MTV2RSGY.js.map} +0 -0
  1193. /package/dist/{chunk-WW6JLISJ.js.map → chunk-MUEJVDHI.js.map} +0 -0
  1194. /package/dist/{chunk-3H5MJOG2.js.map → chunk-N4BK6OKX.js.map} +0 -0
  1195. /package/dist/{chunk-AXTOIHH2.js.map → chunk-NCO5NGBN.js.map} +0 -0
  1196. /package/dist/{chunk-X3HPRECW.js.map → chunk-NLW25WW3.js.map} +0 -0
  1197. /package/dist/{chunk-C5UFKDAX.js.map → chunk-NP3FPCPN.js.map} +0 -0
  1198. /package/dist/{chunk-TKDOVFO6.js.map → chunk-NYAFSC5V.js.map} +0 -0
  1199. /package/dist/{chunk-AFQF6ISC.js.map → chunk-O7AMKMII.js.map} +0 -0
  1200. /package/dist/{chunk-WPSLL3S2.js.map → chunk-OAXQPLTG.js.map} +0 -0
  1201. /package/dist/{chunk-R5GGTLYE.js.map → chunk-OI2CKYAQ.js.map} +0 -0
  1202. /package/dist/{chunk-7HH4F2KX.js.map → chunk-OL3QHART.js.map} +0 -0
  1203. /package/dist/{chunk-QJ5TU5J6.js.map → chunk-OXYWSVOJ.js.map} +0 -0
  1204. /package/dist/{chunk-NY5VYGTP.js.map → chunk-PHZOMTI6.js.map} +0 -0
  1205. /package/dist/{chunk-KG7FPYM2.js.map → chunk-PYWIHAVD.js.map} +0 -0
  1206. /package/dist/{chunk-3KMYOPBI.js.map → chunk-QPPQXU3U.js.map} +0 -0
  1207. /package/dist/{chunk-TTKDFRON.js.map → chunk-QTKNS2U2.js.map} +0 -0
  1208. /package/dist/{chunk-SJAUMPL3.js.map → chunk-QTLIXCVN.js.map} +0 -0
  1209. /package/dist/{chunk-VCUXAPLM.js.map → chunk-QUYDMAQN.js.map} +0 -0
  1210. /package/dist/{chunk-O37YK4P6.js.map → chunk-R5LRBDEM.js.map} +0 -0
  1211. /package/dist/{chunk-UBDY5RE4.js.map → chunk-RIA5RXPL.js.map} +0 -0
  1212. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  1213. /package/dist/{chunk-ZVXKWLLE.js.map → chunk-SVNH6P7O.js.map} +0 -0
  1214. /package/dist/{chunk-GXPZJ2QN.js.map → chunk-T65Y7N7H.js.map} +0 -0
  1215. /package/dist/{chunk-HAJYFRXL.js.map → chunk-T75WL56Z.js.map} +0 -0
  1216. /package/dist/{chunk-U2BPZ27S.js.map → chunk-TGCDXZ5X.js.map} +0 -0
  1217. /package/dist/{chunk-SPBNAGIN.js.map → chunk-TOUF5ME6.js.map} +0 -0
  1218. /package/dist/{chunk-ERRTBCDW.js.map → chunk-TWCS6FSC.js.map} +0 -0
  1219. /package/dist/{chunk-L5IYVZM2.js.map → chunk-ULW4EWAA.js.map} +0 -0
  1220. /package/dist/{chunk-YUCGCJKT.js.map → chunk-UPXPBA4W.js.map} +0 -0
  1221. /package/dist/{chunk-SG2TDQEE.js.map → chunk-URMAEVZO.js.map} +0 -0
  1222. /package/dist/{chunk-ZBUIWVF3.js.map → chunk-UUWUJ64R.js.map} +0 -0
  1223. /package/dist/{chunk-4ULRDQVD.js.map → chunk-VCOIFNYH.js.map} +0 -0
  1224. /package/dist/{chunk-SEC6FPWC.js.map → chunk-VGUGFRWF.js.map} +0 -0
  1225. /package/dist/{chunk-52IYZCRS.js.map → chunk-VPF5A7CM.js.map} +0 -0
  1226. /package/dist/{chunk-WWLZ5RRU.js.map → chunk-WEQZ563U.js.map} +0 -0
  1227. /package/dist/{chunk-XRSRHAEU.js.map → chunk-WUCTGDV7.js.map} +0 -0
  1228. /package/dist/{chunk-2SGREP24.js.map → chunk-XAW5GL6B.js.map} +0 -0
  1229. /package/dist/{chunk-T6PTG6VM.js.map → chunk-XCRYRVKK.js.map} +0 -0
  1230. /package/dist/{chunk-ZFJ2FQUH.js.map → chunk-XJ5TX772.js.map} +0 -0
  1231. /package/dist/{chunk-T37PAZT2.js.map → chunk-XPIBSDG4.js.map} +0 -0
  1232. /package/dist/{chunk-7O4HFODK.js.map → chunk-XRNJRQ6Q.js.map} +0 -0
  1233. /package/dist/{chunk-PN72Z2W2.js.map → chunk-Y5GQO6CR.js.map} +0 -0
  1234. /package/dist/{chunk-TRMZQRVV.js.map → chunk-Y6MLSN6W.js.map} +0 -0
  1235. /package/dist/{chunk-EZBZU6N7.js.map → chunk-YBFZJ5EB.js.map} +0 -0
  1236. /package/dist/{chunk-EHIISZYD.js.map → chunk-YJYKSMLF.js.map} +0 -0
  1237. /package/dist/{chunk-ECJIMIEJ.js.map → chunk-YR3OPPUE.js.map} +0 -0
  1238. /package/dist/{chunk-34FVKJS2.js.map → chunk-YXQFCQX2.js.map} +0 -0
  1239. /package/dist/{chunk-DJWEQDBB.js.map → chunk-Z3Y67AH6.js.map} +0 -0
  1240. /package/dist/{chunk-2MXDSPUO.js.map → chunk-Z6T6VDDA.js.map} +0 -0
  1241. /package/dist/{chunk-GT77XMOG.js.map → chunk-ZKRRYVDG.js.map} +0 -0
  1242. /package/dist/{chunk-XPDUBDPL.js.map → chunk-ZOH672S6.js.map} +0 -0
  1243. /package/dist/{claim-NRNO4XCO.js.map → claim-DWGPEVJN.js.map} +0 -0
  1244. /package/dist/{client-463NKLRT.js.map → client-YUVT3RZN.js.map} +0 -0
  1245. /package/dist/{code-R4JOQ27J.js.map → code-LOOWLRUL.js.map} +0 -0
  1246. /package/dist/{companies-4TOBU44J.js.map → companies-3VT7OJAA.js.map} +0 -0
  1247. /package/dist/{company-RK34S3IA.js.map → company-XEPW45AT.js.map} +0 -0
  1248. /package/dist/{complete-7BNBQ5AI.js.map → complete-AEX34ICU.js.map} +0 -0
  1249. /package/dist/{config-GDLHHBJZ.js.map → config-AOF6ACIP.js.map} +0 -0
  1250. /package/dist/{connect-CRIRSXN3.js.map → connect-TF4FCXDV.js.map} +0 -0
  1251. /package/dist/{content-FCO6MGXW.js.map → content-NCW5IJFR.js.map} +0 -0
  1252. /package/dist/{conversation-4CQG2B2C.js.map → conversation-6WWZMPAB.js.map} +0 -0
  1253. /package/dist/{conversion-report-PDTQTRVB.js.map → conversion-report-I6R2FDCD.js.map} +0 -0
  1254. /package/dist/{conversion-upload-command-MEO4WLZH.js.map → conversion-upload-command-QD6MGLY4.js.map} +0 -0
  1255. /package/dist/{conversion-writes-ZVBOXUIA.js.map → conversion-writes-H2JOAORW.js.map} +0 -0
  1256. /package/dist/{conversions-POBKTXQF.js.map → conversions-D46PQRWF.js.map} +0 -0
  1257. /package/dist/{conversions-BND5HYTL.js.map → conversions-WGW43FUE.js.map} +0 -0
  1258. /package/dist/{copy-writes-EUFEVWDW.js.map → copy-writes-ONVSSBLJ.js.map} +0 -0
  1259. /package/dist/{countries-TKL5T5JL.js.map → countries-Q6TA42P7.js.map} +0 -0
  1260. /package/dist/{create-BJ7XBNY5.js.map → create-7WV7XWZV.js.map} +0 -0
  1261. /package/dist/{create-XN4KVB5U.js.map → create-OUZZLPQK.js.map} +0 -0
  1262. /package/dist/{create-PYP3QWTL.js.map → create-QRT6O5PN.js.map} +0 -0
  1263. /package/dist/{create-YSGBH6Q4.js.map → create-WSEYNFTP.js.map} +0 -0
  1264. /package/dist/{creatives-57XIJAEG.js.map → creatives-BSZY7VDQ.js.map} +0 -0
  1265. /package/dist/{creatives-ANTJUTIE.js.map → creatives-DBDFDHX7.js.map} +0 -0
  1266. /package/dist/{creatives-6VJDUHEY.js.map → creatives-S3EZCXUT.js.map} +0 -0
  1267. /package/dist/{credentials-KIH6ICDU.js.map → credentials-P7GQYIE3.js.map} +0 -0
  1268. /package/dist/{critique-MZUTDK4V.js.map → critique-6F4FWQN5.js.map} +0 -0
  1269. /package/dist/{critique-GWRXVXVG.js.map → critique-X2YDOMON.js.map} +0 -0
  1270. /package/dist/{crm-Y5QTZAHO.js.map → crm-O6YG6777.js.map} +0 -0
  1271. /package/dist/{crm-QSHUYXTW.js.map → crm-VNAUSVC5.js.map} +0 -0
  1272. /package/dist/{crop-WKTW3EMP.js.map → crop-RDP7YCNV.js.map} +0 -0
  1273. /package/dist/{currency-PTOI5SPU.js.map → currency-UVT3HEZT.js.map} +0 -0
  1274. /package/dist/{custom-conversions-NDY5RHSM.js.map → custom-conversions-7MZFTHUM.js.map} +0 -0
  1275. /package/dist/{customers-2G32E6W7.js.map → customers-VJ3TXILQ.js.map} +0 -0
  1276. /package/dist/{decide-X2UAKYXK.js.map → decide-OPCCKAIT.js.map} +0 -0
  1277. /package/dist/{delete-3H6YH4YK.js.map → delete-3H377GOM.js.map} +0 -0
  1278. /package/dist/{delete-HIAZHA56.js.map → delete-EH3XL26Z.js.map} +0 -0
  1279. /package/dist/{delete-2ZTMTKYD.js.map → delete-GKQTDOZF.js.map} +0 -0
  1280. /package/dist/{delete-I43JQH2E.js.map → delete-QYSOAVP4.js.map} +0 -0
  1281. /package/dist/{delete-RF44ILYE.js.map → delete-R3LXCKA4.js.map} +0 -0
  1282. /package/dist/{demographics-2UYQW6II.js.map → demographics-GKJZ5PV2.js.map} +0 -0
  1283. /package/dist/{describe-M6DYXNQC.js.map → describe-537PPL7P.js.map} +0 -0
  1284. /package/dist/{describe-OQ6R3EF7.js.map → describe-GIG46DT5.js.map} +0 -0
  1285. /package/dist/{dimensions-DGYM5E5P.js.map → dimensions-UXK7DMTF.js.map} +0 -0
  1286. /package/dist/{discard-NKPQ73UM.js.map → discard-46RALLBO.js.map} +0 -0
  1287. /package/dist/{discover-YKMBVSPF.js.map → discover-C4TG7JP7.js.map} +0 -0
  1288. /package/dist/{discover-XLIH7RCB.js.map → discover-MKFDG6NK.js.map} +0 -0
  1289. /package/dist/{domain-LUDUZB3F.js.map → domain-JNNWJNQE.js.map} +0 -0
  1290. /package/dist/{download-LL6DL62N.js.map → download-3R5IHN5F.js.map} +0 -0
  1291. /package/dist/{download-SFWMT7DL.js.map → download-PRBLR6IQ.js.map} +0 -0
  1292. /package/dist/{draft-7LPUJZCF.js.map → draft-3L4SNDGO.js.map} +0 -0
  1293. /package/dist/{draft-T7TWIFEX.js.map → draft-EADHX7XL.js.map} +0 -0
  1294. /package/dist/{draft-G432FJ7N.js.map → draft-H5RVDTFD.js.map} +0 -0
  1295. /package/dist/{draft-XAAIGE6Q.js.map → draft-TAM7IUPH.js.map} +0 -0
  1296. /package/dist/{draft-R5ND5SWT.js.map → draft-UMPCOCP6.js.map} +0 -0
  1297. /package/dist/{draft-MPWR47CG.js.map → draft-VSXBSXSX.js.map} +0 -0
  1298. /package/dist/{draft-736FJJWK.js.map → draft-XCYSZWA6.js.map} +0 -0
  1299. /package/dist/{draft-374Z4MGY.js.map → draft-XEUHTUMR.js.map} +0 -0
  1300. /package/dist/{env-DQHY5ODN.js.map → env-VBSATLEF.js.map} +0 -0
  1301. /package/dist/{experiment-MO6MT6OJ.js.map → experiment-2XR6MBE2.js.map} +0 -0
  1302. /package/dist/{experiments-OGZV73W6.js.map → experiments-JVGAKWFA.js.map} +0 -0
  1303. /package/dist/{export-6Z6QBU6V.js.map → export-YCLJG5YP.js.map} +0 -0
  1304. /package/dist/{extract-YGOQBOQK.js.map → extract-E3CMEN5U.js.map} +0 -0
  1305. /package/dist/{facets-OLZ7JLFL.js.map → facets-JG44XXAT.js.map} +0 -0
  1306. /package/dist/{favorites-R3JO4SJJ.js.map → favorites-NSQX6HKB.js.map} +0 -0
  1307. /package/dist/{feed-IUMMHM3I.js.map → feed-TKMMYAEH.js.map} +0 -0
  1308. /package/dist/{fetch-AL44XS4Q.js.map → fetch-EHP2FK6Y.js.map} +0 -0
  1309. /package/dist/{fetch-K3NRT2L2.js.map → fetch-SLDDORH4.js.map} +0 -0
  1310. /package/dist/{find-ZFIGMRYQ.js.map → find-I7U3THF3.js.map} +0 -0
  1311. /package/dist/{fit-5NVXWXZV.js.map → fit-GNQHRKP7.js.map} +0 -0
  1312. /package/dist/{flows-LL5SPPIK.js.map → flows-NRPABVUJ.js.map} +0 -0
  1313. /package/dist/{follow-SS374QUW.js.map → follow-A46RAJEX.js.map} +0 -0
  1314. /package/dist/{follow-competitors-3LTOTTBY.js.map → follow-competitors-VU2L3KWF.js.map} +0 -0
  1315. /package/dist/{following-YMA5O3LF.js.map → following-UOUNSU6P.js.map} +0 -0
  1316. /package/dist/{fonts-E3CNWPD5.js.map → fonts-VN2QXPAQ.js.map} +0 -0
  1317. /package/dist/{forecast-PWGN4ETP.js.map → forecast-SIX6AAVX.js.map} +0 -0
  1318. /package/dist/{forecast-KOBF5TKM.js.map → forecast-ZXOSLITM.js.map} +0 -0
  1319. /package/dist/{funding-KLIZ73SS.js.map → funding-2VROIMLS.js.map} +0 -0
  1320. /package/dist/{funnel-XIZROHV7.js.map → funnel-QEZWKSFR.js.map} +0 -0
  1321. /package/dist/{ga4-XPCE4EK5.js.map → ga4-ULHKTF23.js.map} +0 -0
  1322. /package/dist/{generate-GHIXVLMY.js.map → generate-HOMLLUCN.js.map} +0 -0
  1323. /package/dist/{get-HCGFATFD.js.map → get-ABQZJ2VQ.js.map} +0 -0
  1324. /package/dist/{get-XPJ4BZGP.js.map → get-BXMLPLIC.js.map} +0 -0
  1325. /package/dist/{get-RDTJSWSA.js.map → get-IF7KHMSI.js.map} +0 -0
  1326. /package/dist/{get-WS744HAO.js.map → get-NF3SPPVX.js.map} +0 -0
  1327. /package/dist/{get-SGNT4JG2.js.map → get-ZISAHMTQ.js.map} +0 -0
  1328. /package/dist/{gif-YK5HJXRE.js.map → gif-QLNWBFAH.js.map} +0 -0
  1329. /package/dist/{google-BI45CXMW.js.map → google-FDR55RRD.js.map} +0 -0
  1330. /package/dist/{google-5JV7OMOH.js.map → google-XVSL3XAB.js.map} +0 -0
  1331. /package/dist/{google-ads-DYZGUM6W.js.map → google-ads-5NBAMFPB.js.map} +0 -0
  1332. /package/dist/{group-7OWIYAKJ.js.map → group-HAQM6P7M.js.map} +0 -0
  1333. /package/dist/{group-H6ZYRPE6.js.map → group-XVDH2ONO.js.map} +0 -0
  1334. /package/dist/{gsc-HI2KXDEU.js.map → gsc-72AFO6B4.js.map} +0 -0
  1335. /package/dist/{history-RD2YMNNL.js.map → history-2U5OXDV7.js.map} +0 -0
  1336. /package/dist/{history-3EQQHYKT.js.map → history-A6KMJRPZ.js.map} +0 -0
  1337. /package/dist/{history-SQPJ7PPE.js.map → history-IDVWUSYU.js.map} +0 -0
  1338. /package/dist/{hubspot-MYTV36SM.js.map → hubspot-YPBNNVHC.js.map} +0 -0
  1339. /package/dist/{icon-HLJCWTR3.js.map → icon-F7AOOTFI.js.map} +0 -0
  1340. /package/dist/{ideas-CVXHFVX7.js.map → ideas-4Q7YBUGC.js.map} +0 -0
  1341. /package/dist/{images-XP4TKE2F.js.map → images-BRBSRYEX.js.map} +0 -0
  1342. /package/dist/{improve-BRC4R6MW.js.map → improve-LIKOER3S.js.map} +0 -0
  1343. /package/dist/{ingest-4GNJ2PWL.js.map → ingest-AIOFOAQE.js.map} +0 -0
  1344. /package/dist/{insights-IVW6W5CP.js.map → insights-QNE6XCBA.js.map} +0 -0
  1345. /package/dist/{insights-CN3GUTT7.js.map → insights-TR5EQAMA.js.map} +0 -0
  1346. /package/dist/{inspect-25IVRU45.js.map → inspect-ITKB2QT3.js.map} +0 -0
  1347. /package/dist/{inspiration-D75DO3MD.js.map → inspiration-VXNGKAJV.js.map} +0 -0
  1348. /package/dist/{instant-experiences-6F6GXZ67.js.map → instant-experiences-MT2XMQNH.js.map} +0 -0
  1349. /package/dist/{intent-3GDLPKKN.js.map → intent-E6HKRMNE.js.map} +0 -0
  1350. /package/dist/{job-2JJNKUHT.js.map → job-TS34W4IU.js.map} +0 -0
  1351. /package/dist/{job-create-BNTNZCSP.js.map → job-create-FXXDR2EE.js.map} +0 -0
  1352. /package/dist/{job-status-N7RWRDRO.js.map → job-status-R2H4HNC5.js.map} +0 -0
  1353. /package/dist/{keep-Z2WH3CKU.js.map → keep-YSU3XMW3.js.map} +0 -0
  1354. /package/dist/{keyword-gap-B2WPVHOB.js.map → keyword-gap-D4WAEJAH.js.map} +0 -0
  1355. /package/dist/{keyword-metrics-UDGWN7BO.js.map → keyword-metrics-4UDT5GNW.js.map} +0 -0
  1356. /package/dist/{keywords-for-site-GEG6AXD3.js.map → keywords-for-site-YQAQQIHJ.js.map} +0 -0
  1357. /package/dist/{knowledge-PKXPN4RV.js.map → knowledge-L3VLOVLG.js.map} +0 -0
  1358. /package/dist/{landing-O2ZUIUGE.js.map → landing-6JAIZH4H.js.map} +0 -0
  1359. /package/dist/{landings-7QRITXZ2.js.map → landings-XTPNPTHN.js.map} +0 -0
  1360. /package/dist/{languages-UJAOPTV2.js.map → languages-AUAZIVL4.js.map} +0 -0
  1361. /package/dist/{languages-RZLMZR57.js.map → languages-DIKRMAYE.js.map} +0 -0
  1362. /package/dist/{launches-4H6ANGTG.js.map → launches-5R7EUONQ.js.map} +0 -0
  1363. /package/dist/{layerize-P5LFIA4X.js.map → layerize-Q2QWDARG.js.map} +0 -0
  1364. /package/dist/{lead-routes-WVXWVG62.js.map → lead-routes-IXUCGINI.js.map} +0 -0
  1365. /package/dist/{leads-MTTOYNPM.js.map → leads-6XZRTPJL.js.map} +0 -0
  1366. /package/dist/{leads-CJKRKB2Q.js.map → leads-UVG6VYAC.js.map} +0 -0
  1367. /package/dist/{learn-QPXZZIZZ.js.map → learn-VQGATNB4.js.map} +0 -0
  1368. /package/dist/{library-VW27X75P.js.map → library-G5YAFLTR.js.map} +0 -0
  1369. /package/dist/{lighthouse-FGUFJRGR.js.map → lighthouse-BCBV2XGP.js.map} +0 -0
  1370. /package/dist/{line-item-writes-RVOAMJ5R.js.map → line-item-writes-TRTDQ55N.js.map} +0 -0
  1371. /package/dist/{line-items-POZRAJLC.js.map → line-items-SC73GQLQ.js.map} +0 -0
  1372. /package/dist/{link-IXEZKRM7.js.map → link-ODLNZTZC.js.map} +0 -0
  1373. /package/dist/{linkedin-5PYG5HEM.js.map → linkedin-HPZP4MGS.js.map} +0 -0
  1374. /package/dist/{linkedin-person-EMJXEZYR.js.map → linkedin-person-ELEPEST5.js.map} +0 -0
  1375. /package/dist/{list-XOYU7UTX.js.map → list-26EOYW37.js.map} +0 -0
  1376. /package/dist/{list-7GDMM26I.js.map → list-4SDJZVOL.js.map} +0 -0
  1377. /package/dist/{list-UG4V5AM2.js.map → list-6YW4I4VG.js.map} +0 -0
  1378. /package/dist/{list-OZCU2T22.js.map → list-GLN62MRB.js.map} +0 -0
  1379. /package/dist/{list-PTK2HOUY.js.map → list-GS42LK5C.js.map} +0 -0
  1380. /package/dist/{list-Q5LVTPQP.js.map → list-HWNHRWGB.js.map} +0 -0
  1381. /package/dist/{list-J5KWXHFO.js.map → list-QSBEYU45.js.map} +0 -0
  1382. /package/dist/{list-4KS7WSUG.js.map → list-YLPOXOCI.js.map} +0 -0
  1383. /package/dist/{list-DVVOP6FM.js.map → list-ZFGOONWL.js.map} +0 -0
  1384. /package/dist/{locations-VJX64ZZR.js.map → locations-D5N75BUK.js.map} +0 -0
  1385. /package/dist/{locations-EISZ6JOT.js.map → locations-P5PTCRSF.js.map} +0 -0
  1386. /package/dist/{log-2F2N24DT.js.map → log-66XLWNCD.js.map} +0 -0
  1387. /package/dist/{logo-H2KHGLYD.js.map → logo-ABO4HJRG.js.map} +0 -0
  1388. /package/dist/{lookup-K57ITJWF.js.map → lookup-SPNT3W3W.js.map} +0 -0
  1389. /package/dist/{map-QGJZIC5N.js.map → map-3SGKGWSY.js.map} +0 -0
  1390. /package/dist/{mcp-RSW7KAWP.js.map → mcp-ZSPJE3Y6.js.map} +0 -0
  1391. /package/dist/{media-K5RJXLTN.js.map → media-CIJW2Q3I.js.map} +0 -0
  1392. /package/dist/{media-HDHZULQ7.js.map → media-GZKW2PZB.js.map} +0 -0
  1393. /package/dist/{media-sources-7R7FO53Y.js.map → media-sources-UBQCVRGK.js.map} +0 -0
  1394. /package/dist/{members-B6TKGGT5.js.map → members-76XFDSMX.js.map} +0 -0
  1395. /package/dist/{meme-QMCUGXUE.js.map → meme-BPWX7YQH.js.map} +0 -0
  1396. /package/dist/{meta-MOSJVYIE.js.map → meta-KVOSCSPJ.js.map} +0 -0
  1397. /package/dist/{metrics-PRIKXVYZ.js.map → metrics-XCD3IJSM.js.map} +0 -0
  1398. /package/dist/{models-M3E4YFCT.js.map → models-WNK7Z6TR.js.map} +0 -0
  1399. /package/dist/{normalize-5QIGANTK.js.map → normalize-NMNOJ6Q5.js.map} +0 -0
  1400. /package/dist/{normalize-5B4EQLUX.js.map → normalize-VC7HUODA.js.map} +0 -0
  1401. /package/dist/{options-K33CJOR6.js.map → options-5BPPM5N3.js.map} +0 -0
  1402. /package/dist/{organization-A4NFWWWI.js.map → organization-PXND43LQ.js.map} +0 -0
  1403. /package/dist/{output-U5ZV6PST.js.map → output-34QMC3OU.js.map} +0 -0
  1404. /package/dist/{page-XVOUD4VV.js.map → page-UDF3LJHP.js.map} +0 -0
  1405. /package/dist/{page-photos-4JTIKXAW.js.map → page-photos-FCBW5UZS.js.map} +0 -0
  1406. /package/dist/{pages-BAUS7LQM.js.map → pages-5W5G4MRB.js.map} +0 -0
  1407. /package/dist/{performance-MHJDRLEK.js.map → performance-DDZOJ5GD.js.map} +0 -0
  1408. /package/dist/{performance-NVURSEZ6.js.map → performance-Q25RDNM6.js.map} +0 -0
  1409. /package/dist/{pinterest-NA6HGPMB.js.map → pinterest-IABDXLF5.js.map} +0 -0
  1410. /package/dist/{pixels-QOSEYXCP.js.map → pixels-4QAWLSEL.js.map} +0 -0
  1411. /package/dist/{pixels-THDQD3RF.js.map → pixels-KRK2B7M3.js.map} +0 -0
  1412. /package/dist/{plan-JYSHKPZQ.js.map → plan-I6EFL7RC.js.map} +0 -0
  1413. /package/dist/{posts-ILAFADBW.js.map → posts-SXQSLOFV.js.map} +0 -0
  1414. /package/dist/{preview-X6EJGPAY.js.map → preview-7Y5LE24E.js.map} +0 -0
  1415. /package/dist/{profile-YHI65VGK.js.map → profile-R5VPOOJU.js.map} +0 -0
  1416. /package/dist/{promoted-tweet-writes-MXXVRLVQ.js.map → promoted-tweet-writes-LIFJFF7N.js.map} +0 -0
  1417. /package/dist/{promoted-tweets-HFLGXWX2.js.map → promoted-tweets-H5RMRQD2.js.map} +0 -0
  1418. /package/dist/{properties-ZLY6NYVK.js.map → properties-2D2BIDGC.js.map} +0 -0
  1419. /package/dist/{publish-6ZXFUBGP.js.map → publish-LBHYEZW3.js.map} +0 -0
  1420. /package/dist/{query-WMEX73ZB.js.map → query-A53T6QJF.js.map} +0 -0
  1421. /package/dist/{query-HFHTLNDN.js.map → query-LB5H7IRK.js.map} +0 -0
  1422. /package/dist/{query-ELD7WSFR.js.map → query-NDOYOIHL.js.map} +0 -0
  1423. /package/dist/{questionnaire-Y37I64FO.js.map → questionnaire-U767HYDE.js.map} +0 -0
  1424. /package/dist/{read-2HQEZIJW.js.map → read-3TCDDALC.js.map} +0 -0
  1425. /package/dist/{reddit-BIHGJPGP.js.map → reddit-H4R23K27.js.map} +0 -0
  1426. /package/dist/{refresh-4O32S4YR.js.map → refresh-3QKUSERK.js.map} +0 -0
  1427. /package/dist/{refresh-LVV4SPLT.js.map → refresh-GIB6QQZS.js.map} +0 -0
  1428. /package/dist/{release-VIPNSPQ5.js.map → release-JMYTQZLK.js.map} +0 -0
  1429. /package/dist/{relevant-pages-B5SYN575.js.map → relevant-pages-DOCKQEMZ.js.map} +0 -0
  1430. /package/dist/{remove-2E77743U.js.map → remove-F7GEZMKB.js.map} +0 -0
  1431. /package/dist/{remove-TPOWWFZ6.js.map → remove-LZQHDFZF.js.map} +0 -0
  1432. /package/dist/{reopen-UOBTJBMQ.js.map → reopen-Y557X6IX.js.map} +0 -0
  1433. /package/dist/{research-FOJIDMSE.js.map → research-3OJ5UZER.js.map} +0 -0
  1434. /package/dist/{research-ELM3KHGE.js.map → research-AYO522XS.js.map} +0 -0
  1435. /package/dist/{reset-FTLWUFZK.js.map → reset-BL7M4LL7.js.map} +0 -0
  1436. /package/dist/{reset-GIXXLPHQ.js.map → reset-PMVUQTYU.js.map} +0 -0
  1437. /package/dist/{resolve-QHR5JJTJ.js.map → resolve-CSWSGGK6.js.map} +0 -0
  1438. /package/dist/{retry-HNWXJR5U.js.map → retry-MVOPE2O2.js.map} +0 -0
  1439. /package/dist/{retry-NY5KFEDA.js.map → retry-WT46B5SC.js.map} +0 -0
  1440. /package/dist/{retry-failed-OAH7JQKD.js.map → retry-failed-PEAUXGNT.js.map} +0 -0
  1441. /package/dist/{revenue-JFMUODJO.js.map → revenue-ZLE645Z5.js.map} +0 -0
  1442. /package/dist/{rule-writes-A4BFYHPA.js.map → rule-writes-G25O5JZS.js.map} +0 -0
  1443. /package/dist/{rules-HLREXY2M.js.map → rules-KSOAKEI3.js.map} +0 -0
  1444. /package/dist/{rules-56E55SGC.js.map → rules-Q6HWHFVU.js.map} +0 -0
  1445. /package/dist/{rules-add-ZOPOWJMY.js.map → rules-add-7EPXWSQV.js.map} +0 -0
  1446. /package/dist/{run-GACZDI6Q.js.map → run-4DE5XUVB.js.map} +0 -0
  1447. /package/dist/{run-4UIPMCSN.js.map → run-PAND6N4V.js.map} +0 -0
  1448. /package/dist/{schedule-ZATNBBWD.js.map → schedule-CSE2XFFF.js.map} +0 -0
  1449. /package/dist/{schedule-OFPSZVZ2.js.map → schedule-TNF6M6UD.js.map} +0 -0
  1450. /package/dist/{scheduled-agents-4VY4CAA2.js.map → scheduled-agents-NXHXQZBO.js.map} +0 -0
  1451. /package/dist/{schema-EYGPETLF.js.map → schema-2YQAQVON.js.map} +0 -0
  1452. /package/dist/{schema-OGP4DUPP.js.map → schema-QITMY7ZE.js.map} +0 -0
  1453. /package/dist/{scrape-ZHL2BHS7.js.map → scrape-FDBYU3TU.js.map} +0 -0
  1454. /package/dist/{screenshot-ADMRDYWN.js.map → screenshot-QSRWL4J6.js.map} +0 -0
  1455. /package/dist/{search-CQUS7EOM.js.map → search-BOCQFUM3.js.map} +0 -0
  1456. /package/dist/{search-MKVVMJ2Q.js.map → search-CENPR7GA.js.map} +0 -0
  1457. /package/dist/{search-HF5ECIYW.js.map → search-GEXDRTAQ.js.map} +0 -0
  1458. /package/dist/{search-QUF6LHQ5.js.map → search-HOYOSX2H.js.map} +0 -0
  1459. /package/dist/{search-6W4HXR2S.js.map → search-LFTFNDMC.js.map} +0 -0
  1460. /package/dist/{search-6ZWI2NML.js.map → search-PYLNVZXI.js.map} +0 -0
  1461. /package/dist/{search-copy-O6FDX4HT.js.map → search-copy-RLRRR3LB.js.map} +0 -0
  1462. /package/dist/{seeds-5TM3O3K3.js.map → seeds-E2GLHJ2T.js.map} +0 -0
  1463. /package/dist/{sends-MZKHZZGJ.js.map → sends-NBTGBZT7.js.map} +0 -0
  1464. /package/dist/{sequences-3CEVHGHB.js.map → sequences-UOIHUOD3.js.map} +0 -0
  1465. /package/dist/{setup-links-4STQ5B4P.js.map → setup-links-HQ6WVKEP.js.map} +0 -0
  1466. /package/dist/{shared-I3SB77VH.js.map → shared-IMDHTVSW.js.map} +0 -0
  1467. /package/dist/{shopify-7LDHCWUQ.js.map → shopify-6MLRXSC2.js.map} +0 -0
  1468. /package/dist/{site-I3NFMPJB.js.map → site-5B44TV46.js.map} +0 -0
  1469. /package/dist/{sitemaps-PLAWVXQL.js.map → sitemaps-6A6JFBV4.js.map} +0 -0
  1470. /package/dist/{sites-WX2IBTZT.js.map → sites-PZLE5FFV.js.map} +0 -0
  1471. /package/dist/{skills-O6EQOAMQ.js.map → skills-FBIVWINH.js.map} +0 -0
  1472. /package/dist/{sources-K2LILGTW.js.map → sources-OMINR6RG.js.map} +0 -0
  1473. /package/dist/{sources-ZM7LEIMM.js.map → sources-PNEWSEBG.js.map} +0 -0
  1474. /package/dist/{stats-QQRYOMZA.js.map → stats-2NLNQBRY.js.map} +0 -0
  1475. /package/dist/{status-5OMVGFCH.js.map → status-QNXQNAKH.js.map} +0 -0
  1476. /package/dist/{sticker-654HS3K2.js.map → sticker-4NKFAGEK.js.map} +0 -0
  1477. /package/dist/{stock-35LOO3YN.js.map → stock-XOXZGGU3.js.map} +0 -0
  1478. /package/dist/{studies-IGOCWM7F.js.map → studies-C5IINK5Y.js.map} +0 -0
  1479. /package/dist/{studio-3D42TUJX.js.map → studio-BNYFU6ZH.js.map} +0 -0
  1480. /package/dist/{study-writes-Z5P2W7JH.js.map → study-writes-GJXLMM3D.js.map} +0 -0
  1481. /package/dist/{suggest-JASHCOL5.js.map → suggest-Z553OSYW.js.map} +0 -0
  1482. /package/dist/{sync-URIRLHTS.js.map → sync-CIRDY55O.js.map} +0 -0
  1483. /package/dist/{sync-RCDODSOD.js.map → sync-OYOS7HQL.js.map} +0 -0
  1484. /package/dist/{sync-6AN67IX3.js.map → sync-UBOHNOXB.js.map} +0 -0
  1485. /package/dist/{sync-definition-MZUJOJYI.js.map → sync-definition-2VEFGHYK.js.map} +0 -0
  1486. /package/dist/{tag-7YMFAZQQ.js.map → tag-22TFBGDG.js.map} +0 -0
  1487. /package/dist/{tag-manager-LU4GAZ6R.js.map → tag-manager-QLZHU6NG.js.map} +0 -0
  1488. /package/dist/{tags-KSMLT4G2.js.map → tags-56H6O7ZL.js.map} +0 -0
  1489. /package/dist/{tags-6A7QOYBI.js.map → tags-CYR2IPEJ.js.map} +0 -0
  1490. /package/dist/{tags-JHT3Q6VO.js.map → tags-RBUYBAA6.js.map} +0 -0
  1491. /package/dist/{tags-OU32R2SH.js.map → tags-WVJNOATS.js.map} +0 -0
  1492. /package/dist/{tags-MTVZJHCE.js.map → tags-ZTVOZOYP.js.map} +0 -0
  1493. /package/dist/{targeting-7HXKBXWY.js.map → targeting-GNEBULXU.js.map} +0 -0
  1494. /package/dist/{targeting-constants-QIB3UZHM.js.map → targeting-constants-GR6BVM2H.js.map} +0 -0
  1495. /package/dist/{targeting-criteria-NUXZB7NP.js.map → targeting-criteria-EZNZOUAE.js.map} +0 -0
  1496. /package/dist/{targets-LQ7HGI73.js.map → targets-CU7IUPV2.js.map} +0 -0
  1497. /package/dist/{terms-X4OJWTQH.js.map → terms-LG7FYQOG.js.map} +0 -0
  1498. /package/dist/{testimonials-Z2KOOMVH.js.map → testimonials-THJJYQ42.js.map} +0 -0
  1499. /package/dist/{themes-6KVP3COR.js.map → themes-TSEMQ4EJ.js.map} +0 -0
  1500. /package/dist/{top-companies-WWNPUJ23.js.map → top-companies-W6DA3MZQ.js.map} +0 -0
  1501. /package/dist/{transcript-P7HKVABU.js.map → transcript-KZ74PK23.js.map} +0 -0
  1502. /package/dist/{triggers-Z3LV3KJR.js.map → triggers-OJKTDJSV.js.map} +0 -0
  1503. /package/dist/{tweets-X5PTAT6F.js.map → tweets-IF5FFFTH.js.map} +0 -0
  1504. /package/dist/{unfollow-S5LHFLGW.js.map → unfollow-CDUOZWM7.js.map} +0 -0
  1505. /package/dist/{unlink-XTZA474P.js.map → unlink-ZE7464NK.js.map} +0 -0
  1506. /package/dist/{unstage-AVLORZLW.js.map → unstage-OVOZE6DA.js.map} +0 -0
  1507. /package/dist/{unstage-QXOL5DXZ.js.map → unstage-RGIPGM3E.js.map} +0 -0
  1508. /package/dist/{update-MDVZ24VQ.js.map → update-2VYVJCY2.js.map} +0 -0
  1509. /package/dist/{update-UE4XVBKL.js.map → update-63MMKPHI.js.map} +0 -0
  1510. /package/dist/{update-5ZNS2DKP.js.map → update-JHWPEJN7.js.map} +0 -0
  1511. /package/dist/{update-DDKNKV6M.js.map → update-Q3WJ3DQN.js.map} +0 -0
  1512. /package/dist/{update-3NA6ABLW.js.map → update-WHHAH4IE.js.map} +0 -0
  1513. /package/dist/{upload-SYFB2VTJ.js.map → upload-EAEILUQB.js.map} +0 -0
  1514. /package/dist/{upscale-P5EYUVOZ.js.map → upscale-HB6L6SZG.js.map} +0 -0
  1515. /package/dist/{url-options-DJZV3ADK.js.map → url-options-2BGF2D5E.js.map} +0 -0
  1516. /package/dist/{url-params-Y5XQSDEF.js.map → url-params-FBDTXQGY.js.map} +0 -0
  1517. /package/dist/{variant-JQVZUUA4.js.map → variant-O7LXOA2E.js.map} +0 -0
  1518. /package/dist/{videos-YCQVOOFE.js.map → videos-4TLBI3E3.js.map} +0 -0
  1519. /package/dist/{view-IKKRJ5YD.js.map → view-ED636LWD.js.map} +0 -0
  1520. /package/dist/{viewer-check-5GREZIVJ.js.map → viewer-check-ELVSS3DM.js.map} +0 -0
  1521. /package/dist/{web-7TPDDBI6.js.map → web-LDR6HO5M.js.map} +0 -0
  1522. /package/dist/{winners-4PKEVMUC.js.map → winners-ZG5SHNBS.js.map} +0 -0
  1523. /package/dist/{winning-ads-7X5EWSJX.js.map → winning-ads-7SWUVUDA.js.map} +0 -0
  1524. /package/dist/{write-commands-V77MD5SC.js.map → write-commands-24FRMQW4.js.map} +0 -0
  1525. /package/dist/{write-commands-CTLF2M6L.js.map → write-commands-AIWR7NBO.js.map} +0 -0
  1526. /package/dist/{write-commands-FIS6Y2MN.js.map → write-commands-UK6MKGHI.js.map} +0 -0
  1527. /package/dist/{write-commands-CY734U34.js.map → write-commands-W3UN6F4Y.js.map} +0 -0
  1528. /package/dist/{x-EMLFCHSG.js.map → x-UOGRWXET.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/baker-child.ts","../src/engine/scaffold/static-history.ts","../src/commands/canvas/static-ad-canvas.ts","../src/commands/canvas/static-fix.ts","../src/commands/canvas/series-member.ts"],"sourcesContent":["/**\n * Another `baker` command run from this one, as a child process of the same CLI, read back by its\n * JSON answer: `creatives make` scaffolds through it, and `canvas run --series` renders each ad of\n * a series through it, all at once.\n */\nimport { execFile } from \"node:child_process\";\nimport { promisify } from \"node:util\";\n\nconst run = promisify(execFile);\n\n/** The last JSON object a command printed, after any progress lines. Pure. */\nexport function lastJsonObject(stdout: string): Record<string, unknown> | null {\n for (let at = stdout.lastIndexOf(\"{\"); at >= 0; at = stdout.lastIndexOf(\"{\", at - 1)) {\n if (at > 0 && stdout[at - 1] !== \"\\n\") continue;\n try {\n const parsed: unknown = JSON.parse(stdout.slice(at));\n if (parsed && typeof parsed === \"object\" && !Array.isArray(parsed)) return parsed as Record<string, unknown>;\n } catch {\n // Not the start of the final object: keep looking further back.\n }\n if (at === 0) break;\n }\n return null;\n}\n\n/** Run another `baker` command in this same CLI and read its JSON answer. */\nexport async function runBaker(args: string[], signal?: AbortSignal): Promise<Record<string, unknown>> {\n const entry = process.argv[1];\n const [file, argv] = entry ? [process.execPath, [...process.execArgv, entry, ...args]] : [\"baker\", args];\n try {\n const { stdout } = await run(file, argv, { maxBuffer: 32 * 1024 * 1024, ...(signal ? { signal } : {}) });\n return lastJsonObject(stdout) ?? { ok: false, error: { code: \"INTERNAL_ERROR\", message: \"no answer\" } };\n } catch (err) {\n // A scaffold reports its failure on stderr, other commands on stdout.\n const { stdout = \"\", stderr = \"\" } = err as { stdout?: string; stderr?: string };\n return (\n lastJsonObject(stdout) ??\n lastJsonObject(stderr) ?? {\n ok: false,\n error: { code: \"INTERNAL_ERROR\", message: err instanceof Error ? err.message.slice(0, 300) : String(err) },\n }\n );\n }\n}\n","/**\n * A static ad's next version grown on top of the one before it, rather than in place of it.\n *\n * Production, Oct 2026 (Service Club): every correction ran as a new, small graph (an ingest of the\n * last picture, one render, the sizes), so the version the dashboard showed had lost the three\n * generations and the pick it came from, and each correction read as a new ad. Now a version made\n * from another one runs that version's own graph, every render in it kept exactly as it was made,\n * with the change appended on top:\n *\n * gen_1..3 → gen → prefilter → edit_1 → edit_1_frame → master → sizes\n * edit_2 → edit_2_frame → master … (a second correction)\n * gen_1..3 → gen → chosen → chosen_frame → master → sizes (another variant chosen)\n *\n * The kept nodes are *pinned*: the engine passes on the outputs that version recorded and never\n * executes them (`RunOptions.pinned`), so nothing is re-billed or re-rolled, however prompt.json\n * changed since (a words edit re-projects every brief, which would miss the cache).\n *\n * Pure: the current canvas (the file's, as prepared) and the version's run in, the grown canvas\n * and its pinned outputs out; nothing is written.\n */\nimport { canonicalize } from \"@baker/canvas-contract\";\nimport type { CreativeRule } from \"../creative-rules/schema.ts\";\nimport type { Canvas, NodeDecl } from \"../schema/canvas.ts\";\nimport { plateFixPrompt } from \"./static-format-briefs.ts\";\nimport { fixBriefNode } from \"./static-render-briefs.ts\";\nimport {\n isPlateCanvas,\n LOGO_COMPOSITE_ROLE,\n SERIES_LEAD_ROLE,\n STATIC_FIX_ROLE,\n STATIC_FORMAT_ROLE,\n STATIC_LEAD_ROLE,\n STATIC_MASTER_ROLE,\n STATIC_PICK_ROLE,\n STATIC_PLATE_ROLE,\n STATIC_VARIANT_CALL_ROLE,\n STATIC_VARIANTS_ROLE,\n staticMasterFormat,\n VARIANT_PREFILTER_ROLE,\n} from \"./static-topology.ts\";\n\n/** A finished run of a static ad, as its manifest keeps it: the graph that ran and every node's outputs. */\nexport type VersionRun = { canvas: { nodes: NodeDecl[] }; outputs: Readonly<Record<string, Record<string, unknown>>> };\n\n/** What the new version adds on top of the one before it. */\nexport type Growth =\n /** A correction of the picture the version shows (`--fix`, or prompt.json's words or colours edited). */\n | {\n kind: \"edit\";\n instruction: string;\n promptJson: unknown;\n rejected?: readonly string[];\n rules?: readonly CreativeRule[];\n }\n /** Another of the version's variants, by its sha256 (or a unique prefix), in place of the pick. */\n | { kind: \"variant\"; sha256: string }\n /**\n * Nothing: the same picture, its sizes made again (a size laid out again on its own, the words\n * changed in prompt.json). `wordsChanged`: the version's own size has other words now, so a\n * version made before plates has its approved size's words set again rather than kept.\n */\n | { kind: \"keep\"; wordsChanged?: boolean };\n\nexport type GrownCanvas = { canvas: Canvas; pinned: Record<string, Record<string, unknown>> };\n\n/** The roles of the nodes that make the picture every size is made from. */\nconst PICTURE_ROLES: ReadonlySet<string> = new Set([\n STATIC_VARIANT_CALL_ROLE,\n STATIC_VARIANTS_ROLE,\n VARIANT_PREFILTER_ROLE,\n STATIC_PICK_ROLE,\n STATIC_FIX_ROLE,\n SERIES_LEAD_ROLE,\n STATIC_LEAD_ROLE,\n STATIC_PLATE_ROLE,\n]);\n\nconst EDIT_ID = /^edit_(\\d+)$/;\n\n/** The node a `$ref:` names. */\nfunction refNode(ref: unknown): string | null {\n return typeof ref === \"string\" ? (ref.match(/^\\$ref:([a-z][a-z0-9_]*)\\./)?.[1] ?? null) : null;\n}\n\n/** Every node id a node reads, through any `$ref:` in its inputs or params. */\nfunction depsOf(node: NodeDecl): string[] {\n const found: string[] = [];\n const walk = (v: unknown): void => {\n if (typeof v === \"string\") {\n const id = refNode(v);\n if (id) found.push(id);\n } else if (Array.isArray(v)) v.forEach(walk);\n else if (v && typeof v === \"object\") Object.values(v).forEach(walk);\n };\n walk(node.inputs);\n walk(node.params);\n return found;\n}\n\n/** `id` and every node it reads, transitively, in the canvas's order. */\nfunction ancestors(nodes: readonly NodeDecl[], id: string): NodeDecl[] {\n const byId = new Map(nodes.map((n) => [n.id, n] as const));\n const seen = new Set<string>();\n const visit = (at: string): void => {\n const n = byId.get(at);\n if (!n || seen.has(at)) return;\n seen.add(at);\n for (const dep of depsOf(n)) visit(dep);\n };\n visit(id);\n return nodes.filter((n) => seen.has(n.id));\n}\n\nconst isPicture = (n: NodeDecl): boolean => PICTURE_ROLES.has(n.tags?.role ?? \"\");\n\n/** The prefilter that frames the current graph's picture for its master, when it has one. */\nfunction framingPrefilter(nodes: readonly NodeDecl[], master: NodeDecl): NodeDecl | undefined {\n const reads = JSON.stringify(master.inputs ?? {});\n return nodes.find((n) => n.tags?.role === VARIANT_PREFILTER_ROLE && reads.includes(`$ref:${n.id}.`));\n}\n\n/**\n * The node that frames `image` for the master as the current graph frames a variant: its prefilter,\n * checked against the current prompt.json, never asking the judge about one picture. None on a graph\n * without one (the master reads the picture itself).\n */\nfunction frameNode(prefilter: NodeDecl | undefined, id: string, image: string): NodeDecl | null {\n if (!prefilter) return null;\n const { judge_model: _judge, judge_prompt: _prompt, ...params } = prefilter.params ?? {};\n return { ...prefilter, id, inputs: { ...prefilter.inputs, images: [image] }, params };\n}\n\n/** The `#index` of the variant whose sha256 starts with `sha` in the variants node's `images`, or null. */\nfunction variantIndex(outputs: Record<string, unknown> | undefined, sha: string): number | null {\n const images = Array.isArray(outputs?.images) ? (outputs.images as Array<{ sha256?: unknown }>) : [];\n const want = sha.trim().toLowerCase();\n if (!/^[0-9a-f]{8,64}$/.test(want)) return null;\n const hits = images.flatMap((img, i) => (typeof img?.sha256 === \"string\" && img.sha256.startsWith(want) ? [i] : []));\n return hits.length === 1 ? (hits[0] ?? null) : null;\n}\n\n/** Each variant render of `nodes` and everything it reads: what the variants are made from. */\nfunction variantSources(nodes: readonly NodeDecl[]): NodeDecl[] {\n const calls = nodes.filter((n) => n.tags?.role === STATIC_VARIANT_CALL_ROLE);\n const ids = new Set(calls.flatMap((call) => ancestors(nodes, call.id).map((n) => n.id)));\n return nodes.filter((n) => ids.has(n.id));\n}\n\n/** A file of the workspace an ingest node reads, by its path relative to the canvas. */\nexport type VariantFile = { id: string; path: string; expect: string };\n\n/** The workspace files the variants are made from: their bytes can change under the same declaration. */\nexport function variantFiles(canvas: Canvas): VariantFile[] {\n return variantSources(canvas.nodes).flatMap((n) => {\n const { source, path, expect } = n.params ?? {};\n return n.type === \"ingest\" && source === \"path\" && typeof path === \"string\"\n ? [{ id: n.id, path, expect: String(expect ?? \"\") }]\n : [];\n });\n}\n\n/** A node as declared; a workspace file by everything but where it sits, which differs between checkouts (its bytes are compared instead). */\nfunction declared(n: NodeDecl): string {\n const { path: _where, ...params } = n.params ?? {};\n const own = n.type === \"ingest\" && n.params?.source === \"path\" ? params : (n.params ?? {});\n return canonicalize({ type: n.type, inputs: n.inputs ?? {}, params: own });\n}\n\n/**\n * Whether `current` would make the variants `version` made: every node they are made from (the\n * briefs, the models, the references and what those are made from) declared as the version\n * declared it, and every workspace file among them ingested as the same bytes. `ingested` holds,\n * by node id, what each of `variantFiles(current)` ingests as now (its sha256, and the sha256 of\n * the picture it is made into, where that differs). Then the version's picture still stands, and\n * a run that changes nothing it is made from builds on it (`growFromVersion` with `keep`) rather\n * than drawing the scaffold's own, whose cache holds the variants from before a regeneration.\n */\nexport function makesSameVariants(\n current: Canvas,\n version: VersionRun,\n ingested: Readonly<Record<string, readonly string[]>>,\n): boolean {\n const sources = variantSources(current.nodes);\n if (sources.length === 0) return false;\n const was = new Map(version.canvas.nodes.map((n) => [n.id, n] as const));\n const sameDeclaration = sources.every((n) => {\n const before = was.get(n.id);\n return before !== undefined && declared(before) === declared(n);\n });\n return (\n sameDeclaration &&\n variantFiles(current).every((file) => {\n const asset = version.outputs[file.id]?.asset as { sha256?: unknown } | undefined;\n return typeof asset?.sha256 === \"string\" && (ingested[file.id] ?? []).includes(asset.sha256);\n })\n );\n}\n\n/**\n * The part of a grown canvas this run makes, for the readers that report on the run (the review,\n * the variant checks' spend): every node but the kept ones, except the kept picture the master\n * reads when the run adds none (a size laid out again), so its checks still say where it sits.\n */\nexport function madeThisRun(grown: GrownCanvas): Canvas {\n const master = grown.canvas.nodes.find((n) => n.tags?.role === STATIC_MASTER_ROLE);\n const head = refNode(master?.inputs?.image);\n const nodes = grown.canvas.nodes.filter((n) => !(n.id in grown.pinned) || n.id === head);\n return { ...grown.canvas, nodes };\n}\n\n/**\n * The current canvas grown from `version` by `growth`, and the outputs of every node kept from\n * that version; null when the version cannot be grown (no master, a kept node without recorded\n * outputs, an unknown variant): the caller falls back to correcting the version's picture by URL.\n */\nexport function growFromVersion(current: Canvas, version: VersionRun, growth: Growth): GrownCanvas | null {\n if (isPlateCanvas(current)) return growPlateFromVersion(current, version, growth);\n const master = current.nodes.find((n) => n.tags?.role === STATIC_MASTER_ROLE);\n const history = master ? versionHistory(current, version, growth) : null;\n if (!master || !history) return null;\n const { kept, pinned } = history;\n const keptIds = new Set(kept.map((n) => n.id));\n // The current graph's own way to its picture gives way; a series ad's lead sizes stay with the sizes.\n const stage = new Set(\n ancestors(current.nodes, master.id)\n .filter((n) => n.id !== master.id && isPicture(n))\n .map((n) => n.id),\n );\n const rest = current.nodes.filter((n) => !stage.has(n.id) && !keptIds.has(n.id));\n const top = stepsOnTop({ current, master, kept, rest }, history.picture, growth);\n if (!top) return null;\n const at = rest.findIndex((n) => n.id === master.id);\n const nodes = rest.map((n) => (n.id === master.id ? { ...n, inputs: { ...n.inputs, image: top.picture } } : n));\n return {\n canvas: { ...current, nodes: [...nodes.slice(0, at), ...kept, ...top.added, ...nodes.slice(at)] },\n pinned,\n };\n}\n\n/**\n * What of `version` the new one keeps, each with the outputs it recorded, and the `$ref:` of the\n * picture to grow from: the picture the version shows, or the variant chosen among its own. Null\n * when the version has no master, the variant is unknown, or a kept step recorded no outputs.\n */\nfunction versionHistory(\n current: Canvas,\n version: VersionRun,\n growth: Growth,\n): { kept: NodeDecl[]; pinned: Record<string, Record<string, unknown>>; picture: string } | null {\n const was = version.canvas.nodes;\n const image = was.find((n) => n.tags?.role === STATIC_MASTER_ROLE)?.inputs?.image;\n if (typeof image !== \"string\") return null;\n let picture = image;\n let from = refNode(image) ?? \"\";\n if (growth.kind === \"variant\") {\n const variants = was.find((n) => n.tags?.role === STATIC_VARIANTS_ROLE);\n const at = variants ? variantIndex(version.outputs[variants.id], growth.sha256) : null;\n if (!variants || at === null) return null;\n picture = `$ref:${variants.id}.images#${at}`;\n from = variants.id;\n }\n // The version's inputs the current graph still has (its prompt.json, logo, type) stay the current ones.\n const own = new Set(current.nodes.map((n) => n.id));\n const kept = ancestors(was, from).filter((n) => isPicture(n) || !own.has(n.id));\n const pinned: Record<string, Record<string, unknown>> = {};\n for (const n of kept) {\n const outputs = version.outputs[n.id];\n if (!outputs) return null;\n pinned[n.id] = outputs;\n }\n return { kept, pinned, picture };\n}\n\ntype Grafting = { current: Canvas; master: NodeDecl; kept: NodeDecl[]; rest: NodeDecl[] };\n\n/** The steps the new version adds after what it keeps, and the `$ref:` of the picture its master reads. */\nfunction stepsOnTop(at: Grafting, picture: string, growth: Growth): { added: NodeDecl[]; picture: string } | null {\n if (growth.kind === \"keep\") return { added: [], picture };\n const prefilter = framingPrefilter(at.current.nodes, at.master);\n const step = growth.kind === \"edit\" ? editStep(at, picture, growth) : chosenStep(picture);\n if (!step) return null;\n const frame = frameNode(prefilter, `${step.id}_frame`, `$ref:${step.id}.images#0`);\n return frame\n ? { added: [step, frame], picture: `$ref:${frame.id}.image` }\n : { added: [step], picture: `$ref:${step.id}.images#0` };\n}\n\n/** The next correction, `edit_<n>`: one render that edits `picture`, briefed from the current prompt.json. */\nfunction editStep(at: Grafting, picture: string, growth: Extract<Growth, { kind: \"edit\" }>): NodeDecl | null {\n const n = 1 + Math.max(0, ...at.kept.map((k) => Number(k.id.match(EDIT_ID)?.[1] ?? 0)));\n const template = at.current.nodes.find(\n (v) => v.type === \"image_generate\" && [STATIC_VARIANT_CALL_ROLE, STATIC_VARIANTS_ROLE].includes(v.tags?.role ?? \"\"),\n );\n if (!template) return null;\n const masterFormat = staticMasterFormat(at.current);\n const brief = fixBriefNode({ nodes: [...at.kept, ...at.rest] }, template, growth.promptJson, {\n instruction: growth.instruction,\n previous: picture,\n ...(growth.rejected ? { rejected: growth.rejected } : {}),\n ...(growth.rules ? { rules: growth.rules } : {}),\n ...(masterFormat ? { format: masterFormat } : {}),\n });\n const { n: _n, ...params } = brief.params ?? {};\n return {\n id: `edit_${n}`,\n type: brief.type,\n ...(brief.inputs ? { inputs: brief.inputs } : {}),\n params,\n tags: { role: STATIC_FIX_ROLE },\n };\n}\n\n/** The variant chosen among the version's own, passed on as its pick. */\nfunction chosenStep(picture: string): NodeDecl {\n return { id: \"chosen\", type: \"collect\", inputs: { images: [picture] }, tags: { role: STATIC_PICK_ROLE } };\n}\n\n/** The prefilter of a plate graph: it chooses among the options and passes on the chosen one's picture (`plate`). */\nfunction platePrefilter(nodes: readonly NodeDecl[]): NodeDecl | undefined {\n return nodes.find((n) => n.type === \"static_prefilter\" && n.tags?.role === VARIANT_PREFILTER_ROLE);\n}\n\n/** The picture a plate graph's tall sizes are cut from, as its size nodes read it (a correction's, or the chosen one's). */\nfunction shownPlate(nodes: readonly NodeDecl[], fallback: string): string {\n const size = nodes.find(\n (n) =>\n n.type === \"static_format\" &&\n n.tags?.role === STATIC_FORMAT_ROLE &&\n typeof n.inputs?.plate === \"string\" &&\n !n.inputs.plate.startsWith(\"$ref:plate_wide.\"),\n );\n return typeof size?.inputs?.plate === \"string\" ? size.inputs.plate : fallback;\n}\n\n/**\n * Whether one picture was asked for this canvas (`--master-shape plate`): the only way an approved\n * creative made before plates is moved onto the picture painted from its approved ad. Made again on\n * one picture without asking, it draws its own pictures (owner, Oct 2026).\n */\nfunction askedForPlate(canvas: Canvas): boolean {\n return (canvas.metadata as { master_shape?: unknown } | undefined)?.master_shape === \"plate\";\n}\n\n/** The picture painted from an approved ad (`static_plate` `from_ad`) a version was moved onto. */\nfunction adPlate(nodes: readonly NodeDecl[]): NodeDecl | undefined {\n return nodes.find(\n (n) => n.type === \"static_plate\" && n.tags?.role === STATIC_PLATE_ROLE && n.params?.mode === \"from_ad\",\n );\n}\n\n/** `node` with every `$ref:` to `from` in its inputs reading `to` instead. */\nfunction rewired(node: NodeDecl, from: string, to: string): NodeDecl {\n if (!node.inputs) return node;\n const text = JSON.stringify(node.inputs);\n const next = text.split(JSON.stringify(from)).join(JSON.stringify(to));\n return next === text ? node : { ...node, inputs: JSON.parse(next) as Record<string, unknown> };\n}\n\n/**\n * A plate graph's next version: the version's pictures, options and choice kept as they were made\n * (pinned), and every size cut again from the picture it now shows: the same one (`keep`: a change\n * of the words, a size set again), the picture of another option (`variant`), or a correction of\n * the shown picture (`edit`, `edit_<n>`), on which every size's words are set again. Null when the\n * version cannot be grown (no prefilter, an unknown option, a kept step without recorded outputs).\n */\nfunction growPlateFromVersion(current: Canvas, version: VersionRun, growth: Growth): GrownCanvas | null {\n const head = platePrefilter(current.nodes);\n const was = platePrefilter(version.canvas.nodes);\n if (head && !isPlateCanvas(version.canvas)) return growFromApprovedAd(current, head, version, growth);\n if (head && !was && adPlate(version.canvas.nodes)) return growFromMovedAd(current, head, version, growth);\n const shown = head && was ? plateShownBy(version, was, growth) : null;\n if (!head || !shown) return null;\n const own = new Set(current.nodes.map((n) => n.id));\n const kept = ancestors(version.canvas.nodes, shown.from).filter((n) => isPicture(n) || !own.has(n.id));\n const pinned = recordedOutputs(kept, version);\n const edit = growth.kind === \"edit\" ? plateEditStep(current, kept, shown.plate, growth) : null;\n if (!pinned || (growth.kind === \"edit\" && !edit)) return null;\n const plate = edit ? `$ref:${edit.id}.images#0` : shown.plate;\n const added = [...(shown.chosen ? [shown.chosen] : []), ...(edit ? [edit] : [])];\n const stage = new Set(\n ancestors(current.nodes, head.id)\n .filter(isPicture)\n .map((n) => n.id),\n );\n const keptIds = new Set(kept.map((n) => n.id));\n const remaining = current.nodes.filter((n) => !stage.has(n.id) && !keptIds.has(n.id));\n const at = afterHead(current.nodes, remaining, head);\n const rest = remaining.map((n) => rewired(n, `$ref:${head.id}.plate`, plate));\n return {\n canvas: { ...current, nodes: [...rest.slice(0, at), ...kept, ...added, ...rest.slice(at)] },\n pinned,\n };\n}\n\n/**\n * The picture a plate version's next one cuts its sizes from, and the node its kept part ends at:\n * the one it shows (its choice, or its last correction), or the picture of the option chosen now.\n */\nfunction plateShownBy(\n version: VersionRun,\n was: NodeDecl,\n growth: Growth,\n): { plate: string; from: string; chosen?: NodeDecl } | null {\n if (growth.kind !== \"variant\") {\n const plate = shownPlate(version.canvas.nodes, `$ref:${was.id}.plate`);\n return { plate, from: refNode(plate) ?? was.id };\n }\n const variants = version.canvas.nodes.find((n) => n.tags?.role === STATIC_VARIANTS_ROLE);\n const at = variants ? variantIndex(version.outputs[variants.id], growth.sha256) : null;\n const plates = was.inputs?.plates;\n const plate = at !== null && Array.isArray(plates) ? plates[at] : undefined;\n if (!variants || typeof plate !== \"string\") return null;\n // The option chosen passed on as a pick that reads the options, so the version keeps them, and its picture.\n const { judge_model: _judge, judge_prompt: _prompt, ...params } = was.params ?? {};\n const chosen: NodeDecl = {\n id: \"chosen\",\n type: \"static_prefilter\",\n inputs: { images: [`$ref:${variants.id}.images#${at}`], plates: [plate] },\n params,\n tags: { role: STATIC_PICK_ROLE },\n };\n return { plate: \"$ref:chosen.plate\", from: was.id, chosen };\n}\n\n/** The outputs `version` recorded for each kept node; null when one recorded none. */\nfunction recordedOutputs(\n kept: readonly NodeDecl[],\n version: VersionRun,\n): Record<string, Record<string, unknown>> | null {\n const pinned: Record<string, Record<string, unknown>> = {};\n for (const n of kept) {\n const outputs = version.outputs[n.id];\n if (!outputs) return null;\n pinned[n.id] = outputs;\n }\n return pinned;\n}\n\n/** The next correction of a plate graph's picture, `edit_<n>`: one render that edits `plate`, no words added. */\nfunction plateEditStep(\n current: Canvas,\n kept: readonly NodeDecl[],\n plate: string,\n growth: Extract<Growth, { kind: \"edit\" }>,\n): NodeDecl | null {\n const n = 1 + Math.max(0, ...kept.map((k) => Number(k.id.match(EDIT_ID)?.[1] ?? 0)));\n const template = current.nodes.find((v) => v.type === \"image_generate\" && v.tags?.role === STATIC_VARIANT_CALL_ROLE);\n if (!template) return null;\n const { n: _n, prompt: _prompt, ...params } = template.params ?? {};\n const wired = template.inputs?.reference;\n // The proven ad the pictures follow for their structure is already in the picture a correction edits.\n const refs = (Array.isArray(wired) ? wired : []).filter(\n (r): r is string => typeof r === \"string\" && !r.startsWith(\"$ref:original.\"),\n );\n return {\n id: `edit_${n}`,\n type: \"image_generate\",\n inputs: { reference: [plate, ...refs] },\n params: {\n ...params,\n prompt: plateFixPrompt(growth.instruction, {\n ...(growth.rejected ? { rejected: growth.rejected } : {}),\n ...(growth.rules ? { rules: growth.rules } : {}),\n }),\n },\n tags: { role: STATIC_FIX_ROLE },\n };\n}\n\n/** Where in `remaining` (a subset of `nodes`, in order) the nodes after `head` begin: where new steps go. */\nfunction afterHead(nodes: readonly NodeDecl[], remaining: readonly NodeDecl[], head: NodeDecl): number {\n const headAt = nodes.indexOf(head);\n const at = remaining.findIndex((n) => nodes.indexOf(n) > headAt);\n return at < 0 ? remaining.length : at;\n}\n\n/** The URL of an image output a version recorded. */\nfunction urlOf(output: unknown): string | null {\n const url = (output as { url?: unknown } | undefined)?.url;\n return typeof url === \"string\" && /^(?:https?|data):/.test(url) ? url : null;\n}\n\n/**\n * The finished ad of a version made before plates that the next one starts from: its approved\n * size as delivered (`keep`, `edit`), or another of its options (`variant`).\n */\nfunction approvedAd(version: VersionRun, growth: Growth): { url: string; delivered: boolean } | null {\n if (growth.kind === \"variant\") {\n const variants = version.canvas.nodes.find((n) => n.tags?.role === STATIC_VARIANTS_ROLE);\n const at = variants ? variantIndex(version.outputs[variants.id], growth.sha256) : null;\n const images = variants ? version.outputs[variants.id]?.images : undefined;\n const url = at !== null && Array.isArray(images) ? urlOf(images[at]) : null;\n return url ? { url, delivered: false } : null;\n }\n const master = version.canvas.nodes.find((n) => n.tags?.role === STATIC_MASTER_ROLE);\n const url = master ? urlOf(version.outputs[master.id]?.image ?? version.outputs[master.id]?.asset) : null;\n return url ? { url, delivered: true } : null;\n}\n\n/**\n * A plate graph grown from a version made before plates (an approved creative's next change): the\n * version's finished ad is ingested, its words, logo and button painted out and its frame extended\n * to the picture's shape (`static_plate` `from_ad`, one paid painting), and every other size is cut\n * from that picture with its words set in the ad's own look. Kept, the approved size is delivered\n * byte for byte as it was; with its words changed, or corrected (`edit`), or another option chosen,\n * it is set again on the picture like every size. Null when the version recorded no finished ad, or\n * when one picture was not asked for (`askedForPlate`).\n */\nfunction growFromApprovedAd(current: Canvas, head: NodeDecl, version: VersionRun, growth: Growth): GrownCanvas | null {\n if (!askedForPlate(current)) return null;\n const ad = approvedAd(version, growth);\n const parts = adParts(current);\n if (!ad || !parts) return null;\n const { template, lead } = parts;\n const asIs = ad.delivered && growth.kind === \"keep\" && growth.wordsChanged !== true;\n const approved: NodeDecl = {\n id: \"approved\",\n type: \"ingest\",\n params: { source: \"url\", url: ad.url, expect: \"image\" },\n // Delivered as it is, it is the version's chosen picture to every reader (`withDeliveredSizes`).\n ...(asIs ? { tags: { role: STATIC_MASTER_ROLE } } : {}),\n };\n const words = (lead.params?.words ?? {}) as { model?: unknown; quality?: unknown };\n const plate: NodeDecl = {\n id: \"plate_ad\",\n type: \"static_plate\",\n inputs: { image: \"$ref:approved.asset\" },\n params: {\n mode: \"from_ad\",\n aspect_ratio: String(template.params?.aspect_ratio ?? \"9:16\"),\n paint: {\n model: String(words.model ?? template.params?.model ?? \"\"),\n ...(words.quality ? { quality: words.quality } : {}),\n },\n ...(Array.isArray(lead.params?.copy) ? { copy: lead.params.copy } : {}),\n ...(Array.isArray(lead.params?.in_scene) ? { in_scene: lead.params.in_scene } : {}),\n },\n tags: { role: STATIC_PLATE_ROLE },\n };\n const edit = growth.kind === \"edit\" ? plateEditStep(current, [], \"$ref:plate_ad.image\", growth) : null;\n return {\n canvas: cutFromAd(current, head, parts, { top: [approved, plate, ...(edit ? [edit] : [])], edit, plate, asIs }),\n pinned: {},\n };\n}\n\n/**\n * A plate graph grown from a version already moved onto the picture painted from its approved ad\n * (`growFromApprovedAd`): that picture, the approved ad and any correction kept as they were made\n * (pinned), and every size cut from it again. The approved size stays delivered as it was while the\n * version delivered it so and nothing changed its words; a correction (`edit`) is drawn on the shown\n * picture. Null for another option (the version kept none) or a kept step without recorded outputs.\n */\nfunction growFromMovedAd(current: Canvas, head: NodeDecl, version: VersionRun, growth: Growth): GrownCanvas | null {\n const plate = adPlate(version.canvas.nodes);\n const parts = adParts(current);\n if (!plate || !parts || growth.kind === \"variant\") return null;\n const shown = shownPlate(version.canvas.nodes, `$ref:${plate.id}.image`);\n const own = new Set(current.nodes.map((n) => n.id));\n const kept = ancestors(version.canvas.nodes, refNode(shown) ?? plate.id).filter(\n (n) => isPicture(n) || !own.has(n.id),\n );\n const pinned = recordedOutputs(kept, version);\n const edit = growth.kind === \"edit\" ? plateEditStep(current, kept, shown, growth) : null;\n if (!pinned || (growth.kind === \"edit\" && !edit)) return null;\n const approvedId = refNode(plate.inputs?.image);\n const deliveredAsIs = kept.some((n) => n.id === approvedId && n.tags?.role === STATIC_MASTER_ROLE);\n const asIs = deliveredAsIs && growth.kind === \"keep\" && growth.wordsChanged !== true;\n // Set again, the approved ad is only the picture's source: the master is the lead size's again.\n const top = kept.map((n) => {\n if (n.id !== approvedId || asIs || !n.tags) return n;\n const { tags: _tags, ...untagged } = n;\n return untagged;\n });\n return {\n canvas: cutFromAd(current, head, parts, { top: [...top, ...(edit ? [edit] : [])], edit, plate, shown, asIs }),\n pinned,\n };\n}\n\n/** What a graph moved onto an approved ad's picture is grown from: the render call, the master and the lead size. */\nfunction adParts(current: Canvas): { template: NodeDecl; master: NodeDecl; lead: NodeDecl } | null {\n const template = current.nodes.find((v) => v.type === \"image_generate\" && v.tags?.role === STATIC_VARIANT_CALL_ROLE);\n const master = current.nodes.find((n) => n.tags?.role === STATIC_MASTER_ROLE);\n const leadId = refNode(master?.inputs?.image);\n const lead = current.nodes.find((n) => n.id === leadId && n.type === \"static_format\");\n return template && master && lead ? { template, master, lead } : null;\n}\n\n/**\n * The current graph with its own way to its picture replaced by `top` (the approved ad, the picture\n * painted from it, a correction), every size cut from the picture shown (a new correction's, else\n * `shown`, else the painted one's) and, `asIs`, the approved ad delivered in place of the lead size.\n */\nfunction cutFromAd(\n current: Canvas,\n head: NodeDecl,\n parts: { master: NodeDecl; lead: NodeDecl },\n at: { top: NodeDecl[]; edit: NodeDecl | null; plate: NodeDecl; shown?: string; asIs: boolean },\n): Canvas {\n const painted = `$ref:${at.plate.id}.image`;\n const picture = at.edit ? `$ref:${at.edit.id}.images#0` : (at.shown ?? painted);\n const approved = `$ref:${refNode(at.plate.inputs?.image) ?? \"approved\"}.asset`;\n const stage = new Set(\n ancestors(current.nodes, head.id)\n .filter(isPicture)\n .map((n) => n.id),\n );\n const topIds = new Set(at.top.map((n) => n.id));\n // Delivered as approved, the lead size already carries its logo: the file is not placed on it again.\n const leadLogo = at.asIs\n ? current.nodes.find((n) => n.tags?.role === LOGO_COMPOSITE_ROLE && refNode(n.inputs?.image) === parts.master.id)\n : undefined;\n const dropped = at.asIs\n ? new Set([...stage, parts.master.id, parts.lead.id, ...(leadLogo ? [leadLogo.id] : [])])\n : stage;\n const remaining = current.nodes\n .filter((n) => !dropped.has(n.id) && !topIds.has(n.id))\n .map((n) => (leadLogo ? rewired(n, `$ref:${leadLogo.id}.image`, approved) : n));\n const insertAt = afterHead(current.nodes, remaining, head);\n const rest = remaining.map((n) => {\n const cut = rewired(n, `$ref:${head.id}.plate`, picture);\n const subjects =\n picture === painted &&\n cut.type === \"static_format\" &&\n cut.inputs?.plate === picture &&\n cut.inputs.subjects === undefined\n ? { ...cut, inputs: { ...cut.inputs, subjects: `$ref:${at.plate.id}.subjects` } }\n : cut;\n return at.asIs\n ? rewired(rewired(subjects, `$ref:${parts.master.id}.image`, approved), `$ref:${parts.lead.id}.image`, approved)\n : subjects;\n });\n return { ...current, nodes: [...rest.slice(0, insertAt), ...at.top, ...rest.slice(insertAt)] };\n}\n\n/**\n * How a plain run (no fix, no option chosen, nothing forced) builds on the version shown: kept as it\n * is when nothing its pictures are made from changed (`sameVariants`), or, on one picture, when only\n * its designed words or colours did (the picture it shows stays, even one an autofix round drew); an approved creative made\n * before plates, now on one picture, moved onto it with its approved size kept (or, its words\n * changed, set again) only when one picture was asked for (`askedForPlate`), and kept on that picture on every run after, unless its picture itself was\n * changed (`frameChanged`: new pictures are drawn) or what it shows was (`pictureChanged`: its colours,\n * or the words lettered in its scene, which no size sets again); otherwise nothing is grown. Pure.\n */\nexport function plainRunGrowth(\n current: Canvas,\n version: VersionRun,\n opts: { sameVariants: boolean; frameChanged: boolean; wordsChanged: boolean; pictureChanged: boolean },\n): Extract<Growth, { kind: \"keep\" }> | null {\n if (opts.sameVariants) return { kind: \"keep\" };\n if (!isPlateCanvas(current) || opts.frameChanged || opts.pictureChanged) return null;\n // On one picture only the sizes' words change with the words: the picture shown stays, however it was drawn.\n // Moved onto its approved ad's picture, a version has no options to compare: its picture stays.\n if (isPlateCanvas(version.canvas) && !adPlate(version.canvas.nodes))\n return opts.wordsChanged ? { kind: \"keep\" } : null;\n if (!isPlateCanvas(version.canvas) && !askedForPlate(current)) return null;\n return { kind: \"keep\", wordsChanged: opts.wordsChanged };\n}\n\n/**\n * The URL of the picture a plate version's sizes were cut from (the chosen option's, or its last\n * correction's, or the one painted from its approved ad), as the version recorded it: what an ad of\n * its series is cut from. Null for a version not on one picture, or one that recorded no URL for it. Pure.\n */\nexport function shownPlateUrl(version: VersionRun): string | null {\n const was = platePrefilter(version.canvas.nodes);\n const painted = adPlate(version.canvas.nodes);\n const fallback = was ? `$ref:${was.id}.plate` : painted ? `$ref:${painted.id}.image` : null;\n if (!fallback || !isPlateCanvas(version.canvas)) return null;\n const ref = shownPlate(version.canvas.nodes, fallback).match(/^\\$ref:([a-z][a-z0-9_]*)\\.([a-z_]+)(?:#(\\d+))?$/);\n if (!ref) return null;\n const [, id = \"\", slot = \"\", index] = ref;\n const out = version.outputs[id]?.[slot];\n return urlOf(index === undefined ? out : Array.isArray(out) ? out[Number(index)] : undefined);\n}\n","import { STATIC_AD_ROLE } from \"../../engine/scaffold/static-render-briefs.ts\";\nimport { STATIC_VARIANTS_ROLE } from \"../../engine/scaffold/static-topology.ts\";\n\n/**\n * A static ad canvas, by role: an ingest tagged as the static ad's blueprint, or a node that\n * renders a static ad's variants. A canvas scaffolded by the overlay engine (a `compose_spec`\n * ingest) still counts, so a creative already in a client workspace reads as one until it is\n * re-scaffolded.\n */\nexport function isStaticAdCanvas(parsed: unknown): boolean {\n const nodes = (parsed as { nodes?: unknown } | null)?.nodes;\n if (!Array.isArray(nodes)) return false;\n return nodes.some((n) => {\n const role = (n as { tags?: { role?: unknown } } | null)?.tags?.role;\n if (role === STATIC_VARIANTS_ROLE) return true;\n return n?.type === \"ingest\" && (role === STATIC_AD_ROLE || n?.id === \"compose_spec\");\n });\n}\n","import { readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { z } from \"zod\";\nimport { toModelSafeImage } from \"../../engine/nodes/ingest.ts\";\nimport type { VariantFile, VersionRun } from \"../../engine/scaffold/static-history.ts\";\nimport { NodeDecl } from \"../../engine/schema/canvas.ts\";\nimport { sha256Hex } from \"../../engine/storage/sha256.ts\";\nimport { fetchRunRecord } from \"./run-history.ts\";\n\nimport {\n rolesById,\n STATIC_ADAPT_FORMAT_ROLE,\n STATIC_FIX_ROLE,\n STATIC_FORMAT_ROLE,\n STATIC_PLATE_ROLE,\n STATIC_MASTER_ROLE,\n STATIC_PICK_ROLE,\n STATIC_SAFE_FIT_ROLE,\n STATIC_SIZE_ROLE,\n STATIC_VARIANTS_ROLE,\n} from \"../../engine/scaffold/static-topology.ts\";\n\ntype Output = { url?: unknown; slot?: unknown; sha256?: unknown; path?: unknown };\n/** One node's outputs as a run keeps them: a list (`images`) or a single image, and its role when known. */\n/** A node's outputs by slot: a generation's `images`, a tool's `image`, an ingest's `asset`. */\ntype NodeOutputs = { images?: Output[]; image?: Output; asset?: Output; role?: string };\n\n/**\n * The finished ad a run chose, as the durable URL its record holds: its master (the chosen\n * picture before any logo is placed on it), or, on a run of the older graph, the judge's pick\n * or the lone take. Read from the local run folder first (`manifest.json`, outputs by node id,\n * given roles by `roles` — the canvas's), then from the company's run history (whose nodes\n * carry their roles), so a version rendered in another chat can be corrected too. Null when\n * the run is unknown or made no ad.\n */\nexport async function previousAdImage(\n canvasRoot: string,\n runId: string,\n fetchRecord: (\n runId: string,\n ) => Promise<{ nodes: Array<{ nodeId: string; role?: string; outputs: Output[] }> } | null> = fetchRunRecord,\n roles: Readonly<Record<string, string>> = {},\n): Promise<string | null> {\n try {\n const manifest = JSON.parse(await readFile(path.join(canvasRoot, runId, \"manifest.json\"), \"utf8\")) as {\n outputs_by_node?: Record<string, NodeOutputs>;\n };\n const byNode = Object.fromEntries(\n Object.entries(manifest.outputs_by_node ?? {}).map(([id, out]) => [id, { ...out, ...(roles[id] ? { role: roles[id] } : {}) }]),\n );\n const local = chosenUrl(byNode);\n if (local) return local;\n } catch {\n // Not rendered here: ask the run history.\n }\n const record = await fetchRecord(runId).catch(() => null);\n if (!record) return null;\n return chosenUrl(\n Object.fromEntries(\n record.nodes.map((n) => {\n const role = n.role ?? roles[n.nodeId];\n return [n.nodeId, { images: n.outputs, ...(role ? { role } : {}) }];\n }),\n ),\n );\n}\n\n/**\n * The sizes a run delivered (its `output` collect, `finalNode`), each with the format `labels`\n * gives it, from the local run folder: its local file, or its durable URL first (`prefer: \"url\"`).\n * Empty when the run was not rendered here.\n */\nexport async function previousDelivered(\n canvasRoot: string,\n runId: string,\n finalNode: string,\n labels: readonly (string | undefined)[],\n opts: { prefer?: \"url\" } = {},\n): Promise<Array<{ format: string; path: string }>> {\n try {\n const manifest = JSON.parse(await readFile(path.join(canvasRoot, runId, \"manifest.json\"), \"utf8\")) as {\n outputs_by_node?: Record<string, NodeOutputs>;\n };\n const images = manifest.outputs_by_node?.[finalNode]?.images ?? [];\n return images.flatMap((image, i) => {\n const local = typeof image.path === \"string\" ? image.path : null;\n const durable = typeof image.url === \"string\" ? image.url : null;\n const source = opts.prefer === \"url\" ? (durable ?? local) : (local ?? durable);\n const format = labels[i];\n return source && format ? [{ format, path: source }] : [];\n });\n } catch {\n return [];\n }\n}\n\n/** Which node holds the chosen ad, best first: by role on the one-picture graph, by id on an older one. */\nconst CHOSEN: ReadonlyArray<(id: string, out: NodeOutputs) => boolean> = [\n (_, out) => out.role === STATIC_MASTER_ROLE,\n (_, out) => out.role === STATIC_PICK_ROLE,\n (_, out) => out.role === STATIC_FIX_ROLE,\n (id, out) => id === \"pick\" && out.role === undefined,\n (id, out) => id === \"ad\" && out.role === undefined,\n];\n\nfunction urlOf(out: NodeOutputs): string | null {\n const url = out.images?.find((o) => typeof o?.url === \"string\")?.url ?? out.image?.url ?? out.asset?.url;\n return typeof url === \"string\" ? url : null;\n}\n\n/** The chosen ad among a run's node outputs (see `previousAdImage`). Never a variant the judge did not keep. Pure. */\nexport function chosenUrl(byNode: Record<string, NodeOutputs>): string | null {\n const entries = Object.entries(byNode).filter(([, out]) => out.role !== STATIC_VARIANTS_ROLE);\n for (const matches of CHOSEN) {\n for (const [id, out] of entries) {\n if (!matches(id, out)) continue;\n const url = urlOf(out);\n if (url) return url;\n }\n }\n return null;\n}\n\n/**\n * The picture a correction (`--fix`) or a person's choice (`--use-variant`) put in place of the\n * variants, the input its master was made from. Null for a plain render: the scaffolded graph\n * already reaches that picture through its own cache. Ids are the ones `fixStaticAd` and\n * `rederiveFromVariant` give those nodes; a run record also carries the correction's role. Pure.\n */\nexport function correctedUrl(byNode: Record<string, NodeOutputs>): string | null {\n // A version grown on top of others (`static-history.ts`) keeps every correction: it shows its last.\n // `fix` and `chosen` never share a graph with an `edit_<n>`: a chosen variant drops the edits before it.\n const editNumber = (id: string) => Number(id.match(/^edit_(\\d+)$/)?.[1] ?? 0);\n const entries = Object.entries(byNode).sort(([a], [b]) => editNumber(b) - editNumber(a));\n for (const [id, out] of entries) {\n if (id === \"fix\" || id === \"chosen\" || out.role === STATIC_FIX_ROLE) {\n const url = urlOf(out);\n if (url) return url;\n }\n }\n return null;\n}\n\n/** A run as the run history keeps it: each node's recorded outputs, and where the graph it ran is kept. */\ntype RecordedRun = {\n graphUrl?: string;\n nodes: ReadonlyArray<{ nodeId: string; outputs: ReadonlyArray<Record<string, unknown>> }>;\n};\n\ntype VersionSources = {\n record: (runId: string) => Promise<RecordedRun | null>;\n graph: (url: string) => Promise<unknown>;\n};\n\nasync function fetchGraph(url: string): Promise<unknown> {\n const res = await fetch(url);\n return res.ok ? res.json() : null;\n}\n\nconst HISTORY: VersionSources = { record: fetchRunRecord, graph: fetchGraph };\n\n/** The graph a version ran, as its manifest or the run history keeps it. */\nconst VersionGraph = z.object({ nodes: z.array(NodeDecl) });\n/** The part of a run's manifest a version grows from: the graph it ran and every node's outputs. */\nconst VersionManifest = z.object({\n canvas: VersionGraph,\n outputs_by_node: z.record(z.string(), z.record(z.string(), z.unknown())),\n});\n\n/**\n * The graph run `runId` ran and every node's outputs, so the next version can be grown on top of\n * it (`growFromVersion`): from its run folder here, else, for a version rendered in another\n * workspace (\"Edit creative …\" from a new chat), from the run history and the graph it kept. Null\n * when neither has it (a run recorded before graphs were kept): the caller corrects by URL.\n */\nexport async function versionRun(\n canvasRoot: string,\n runId: string,\n sources: VersionSources = HISTORY,\n): Promise<VersionRun | null> {\n try {\n const manifest = VersionManifest.safeParse(JSON.parse(await readFile(path.join(canvasRoot, runId, \"manifest.json\"), \"utf8\")));\n if (manifest.success) return { canvas: manifest.data.canvas, outputs: manifest.data.outputs_by_node };\n } catch {\n // Not rendered here: ask the run history.\n }\n const record = await sources.record(runId).catch(() => null);\n const graph = record?.graphUrl ? await sources.graph(record.graphUrl).catch(() => null) : null;\n const canvas = VersionGraph.safeParse(graph);\n return record && canvas.success ? { canvas: canvas.data, outputs: outputsByNode(record.nodes) } : null;\n}\n\n/**\n * What each workspace file the variants read is ingested as now, by node id (`makesSameVariants`):\n * the sha256 of its bytes, and for a picture also of the raster the ingest makes it into (an SVG\n * logo is ingested as a PNG). A file that cannot be read matches nothing.\n */\nexport async function ingestedNow(files: readonly VariantFile[], canvasDir: string): Promise<Record<string, string[]>> {\n const entries = await Promise.all(\n files.map(async (file): Promise<[string, string[]]> => {\n const bytes = await readFile(path.resolve(canvasDir, file.path)).catch(() => null);\n if (!bytes) return [file.id, []];\n const own = sha256Hex(bytes);\n if (file.expect !== \"image\") return [file.id, [own]];\n const raster = await toModelSafeImage(bytes).catch(() => null);\n return [file.id, raster ? [...new Set([own, sha256Hex(raster.bytes)])] : [own]];\n }),\n );\n return Object.fromEntries(entries);\n}\n\n/**\n * Each node's outputs as the engine hands them on, from the run record's flat list: `images#1`\n * back into `images[1]`, `image` as it is, each an asset ref. A node that recorded none is left out.\n * Pure.\n */\nfunction outputsByNode(nodes: RecordedRun[\"nodes\"]): Record<string, Record<string, unknown>> {\n const byNode: Record<string, Record<string, unknown>> = {};\n for (const node of nodes) {\n const outputs: Record<string, unknown> = {};\n for (const out of node.outputs) {\n const [slot = \"\", index] = String(out.slot ?? \"\").split(\"#\");\n const { slot: _slot, label: _label, durationMs, ...ref } = out;\n const asset = { ...ref, ...(typeof durationMs === \"number\" ? { duration_ms: durationMs } : {}) };\n if (index === undefined) outputs[slot] = asset;\n else {\n const list = (Array.isArray(outputs[slot]) ? outputs[slot] : []) as unknown[];\n list[Number(index)] = asset;\n outputs[slot] = list;\n }\n }\n if (Object.keys(outputs).length > 0) byNode[node.nodeId] = outputs;\n }\n return byNode;\n}\n\n/**\n * `correctedUrl` of a run: the local run folder first, then the company's run history, so a\n * version corrected in another chat is found too. Null for a plain render or an unknown run.\n */\nexport async function correctedPicture(\n canvasRoot: string,\n runId: string,\n fetchRecord: (\n runId: string,\n ) => Promise<{ nodes: Array<{ nodeId: string; role?: string; outputs: Output[] }> } | null> = fetchRunRecord,\n): Promise<string | null> {\n try {\n const manifest = JSON.parse(await readFile(path.join(canvasRoot, runId, \"manifest.json\"), \"utf8\")) as {\n outputs_by_node?: Record<string, NodeOutputs>;\n };\n if (manifest.outputs_by_node) return correctedUrl(manifest.outputs_by_node);\n } catch {\n // Not rendered here: ask the run history.\n }\n const record = await fetchRecord(runId).catch(() => null);\n if (!record) return null;\n return correctedUrl(\n Object.fromEntries(record.nodes.map((n) => [n.nodeId, { images: n.outputs, ...(n.role ? { role: n.role } : {}) }])),\n );\n}\n\n/**\n * How a version's picture came to be, where its canvas alone would not say: `chosen`, the person\n * picked it (`--use-variant`), so it is only ever corrected, never replaced, through every fix and\n * re-layout of it; `redrawn`, a new picture told what the last one got wrong (an autofix round),\n * which the scaffolded graph would not draw again.\n */\nexport type PictureRecord = { runId: string; chosen?: true; redrawn?: true };\n\n/**\n * The record of run `runId`'s picture: `chose`, the person picked it now; `keeps`, the run kept the\n * picture of version `from` (a fix, an edit, a re-layout), whose record `of` is. Pure.\n */\nexport function pictureRecord(\n runId: string,\n opts: { chose?: boolean; of?: PictureRecord | undefined; from?: string | undefined; keeps?: boolean; redrawn?: boolean },\n): PictureRecord {\n const chosen = opts.chose === true || (opts.keeps === true && keepsChosen(opts.of, opts.from));\n return { runId, ...(chosen ? { chosen: true as const } : {}), ...(opts.redrawn ? { redrawn: true as const } : {}) };\n}\n\n/** Whether version `from` shows a picture the person chose. Pure. */\nexport function keepsChosen(picture: PictureRecord | undefined, from: string | undefined): boolean {\n return picture?.chosen === true && from !== undefined && picture.runId === from;\n}\n\n/**\n * Whether `--regenerate` forces only re-laid-out sizes (their fills and safe fits) or a picture painted\n * from the chosen one (`static_plate`): work that must start from the picture the version already\n * shows, never from new variants. Pure.\n */\nexport function relaysSizesOnly(canvas: unknown, ids: readonly string[]): boolean {\n const roles = rolesById(canvas);\n const sizing = new Set([\n STATIC_ADAPT_FORMAT_ROLE,\n STATIC_SIZE_ROLE,\n STATIC_SAFE_FIT_ROLE,\n STATIC_FORMAT_ROLE,\n STATIC_PLATE_ROLE,\n ]);\n return ids.length > 0 && ids.every((id) => sizing.has(roles[id] ?? \"\"));\n}\n\n/** A sha256 or a unique prefix of one (at least 8 hex characters). */\nconst SHA_PREFIX = /^[0-9a-f]{8,64}$/;\n\n/** The URL of the variant whose sha256 starts with `sha` among one node's outputs; null when none or several match. */\nfunction matchVariant(outputs: readonly Output[], sha: string): string | null {\n const hits = outputs.filter((o) => typeof o?.sha256 === \"string\" && o.sha256.startsWith(sha) && typeof o.url === \"string\");\n const urls = [...new Set(hits.map((o) => o.url as string))];\n return urls.length === 1 ? (urls[0] as string) : null;\n}\n\n/**\n * The durable URL of the variant to make every size from instead of the judge's pick (`--use-variant`),\n * found by its sha256 among the run's variants, never by position: the local run folder first\n * (its outputs keyed by node id, given roles by `roles`), then the run history. Null when the\n * run or the variant is unknown.\n */\nexport async function variantImage(\n canvasRoot: string,\n runId: string,\n sha256: string,\n fetchRecord: (\n runId: string,\n ) => Promise<{ nodes: Array<{ nodeId: string; role?: string; outputs: Output[] }> } | null> = fetchRunRecord,\n roles: Readonly<Record<string, string>> = {},\n): Promise<string | null> {\n const sha = sha256.trim().toLowerCase();\n if (!SHA_PREFIX.test(sha)) return null;\n try {\n const manifest = JSON.parse(await readFile(path.join(canvasRoot, runId, \"manifest.json\"), \"utf8\")) as {\n outputs_by_node?: Record<string, NodeOutputs>;\n };\n for (const [id, out] of Object.entries(manifest.outputs_by_node ?? {})) {\n if (roles[id] !== STATIC_VARIANTS_ROLE) continue;\n const url = matchVariant(out.images ?? [], sha);\n if (url) return url;\n }\n } catch {\n // Not rendered here: ask the run history.\n }\n const record = await fetchRecord(runId).catch(() => null);\n const variants = record?.nodes.find((n) => n.role === STATIC_VARIANTS_ROLE);\n return variants ? matchVariant(variants.outputs, sha) : null;\n}\n","/**\n * An ad of a series, on disk: `src/creatives/<slug>/` holds its own words (`prompt.json`) and a\n * `_definition.md` naming its lead (`series: <lead>`); its canvas is written from the lead's,\n * every run, as an edit of the lead's ready version (`seriesMemberAd`). The ad never designs a\n * picture of its own, so ten messages in one style come out as one ad ten times.\n */\nimport { existsSync } from \"node:fs\";\nimport { readdir, readFile, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport type { CreativesRunData } from \"@baker/api\";\nimport { isAdSpec, readAdSpec } from \"../../engine/scaffold/static-ad-spec.ts\";\nimport { isCustomersWords, isSignatureLine } from \"../../engine/scaffold/static-proof.ts\";\nimport { sameTag } from \"../../language.ts\";\nimport { formatOfAdaptId } from \"../../engine/scaffold/static-adapt-briefs.ts\";\nimport { shownPlateUrl } from \"../../engine/scaffold/static-history.ts\";\nimport {\n isPlateCanvas,\n nodesWithRole,\n relaidPictureRole,\n rolesById,\n STATIC_ADAPT_FORMAT_ROLE,\n STATIC_FORMAT_ROLE,\n STATIC_MASTER_ROLE,\n} from \"../../engine/scaffold/static-topology.ts\";\nimport { type SeriesLead, seriesMemberAd } from \"../../engine/scaffold/staticAd.ts\";\nimport { parseDefinitionStrategyFields } from \"./creative-definition.ts\";\nimport { localPathParam } from \"./resolve-paths.ts\";\nimport { readRenderState } from \"./render-state.ts\";\nimport { fetchRunRecord } from \"./run-history.ts\";\nimport { finalOutputLabelsFromCanvas } from \"./run-record.ts\";\nimport { isStaticAdCanvas } from \"./static-ad-canvas.ts\";\nimport { previousAdImage, previousDelivered, versionRun } from \"./static-fix.ts\";\n\n/** Why a series ad cannot be made yet: what to tell the agent, and what to do. */\nexport type SeriesRefusal = { refused: { code: string; message: string; fix: string } };\n\ntype Fetch = (runId: string) => Promise<CreativesRunData | null>;\n\nconst creativeDir = (root: string, slug: string) => path.join(root, \"src\", \"creatives\", slug);\nconst canvasFile = (root: string, slug: string) => path.join(creativeDir(root, slug), `${slug}.canvas.json`);\n\n/** What a creative's `_definition.md` says of its series: its lead (`series:`) and the language its words are in. */\nasync function seriesFieldsOf(root: string, slug: string): Promise<{ seriesLead?: string; language?: string }> {\n const raw = await readFile(path.join(creativeDir(root, slug), \"_definition.md\"), \"utf8\").catch(() => null);\n return raw === null ? {} : parseDefinitionStrategyFields(raw);\n}\n\n/** The lead a creative's `_definition.md` names (`series:`); null when it is no ad of a series. */\nexport async function seriesLeadOf(root: string, slug: string): Promise<string | null> {\n return (await seriesFieldsOf(root, slug)).seriesLead ?? null;\n}\n\n/** The language a translation's words are in: its own, when it is not its lead's. Undefined on any other ad. */\nasync function translatedInto(root: string, slug: string, lead: string): Promise<string | undefined> {\n const own = (await seriesFieldsOf(root, slug)).language;\n const leads = (await seriesFieldsOf(root, lead)).language;\n return own && !(leads && sameTag(own, leads)) ? own : undefined;\n}\n\n/** How many leads up a series may chain: a design, its angle ads, their translations. */\nexport const SERIES_DEPTH = 3;\n\n/**\n * The leads above `slug`, nearest first, up to the ad whose design the whole series has (an angle\n * ad, then the design it was made from). Bounded and cycle-safe; empty for an ad in no series.\n */\nexport async function seriesLeadsAbove(root: string, slug: string): Promise<string[]> {\n const leads: string[] = [];\n let at = await seriesLeadOf(root, slug);\n while (at && at !== slug && !leads.includes(at) && leads.length < SERIES_DEPTH) {\n leads.push(at);\n at = await seriesLeadOf(root, at);\n }\n return leads;\n}\n\n/** Every ad of the series led by `lead`, by slug, in folder order. */\nexport async function seriesMembers(root: string, lead: string): Promise<string[]> {\n const slugs = await readdir(path.join(root, \"src\", \"creatives\")).catch(() => [] as string[]);\n const members: string[] = [];\n for (const slug of slugs.sort()) {\n if (slug !== lead && (await seriesLeadOf(root, slug)) === lead) members.push(slug);\n }\n return members;\n}\n\nfunction refusal(code: string, message: string, fix: string): SeriesRefusal {\n return { refused: { code, message, fix } };\n}\n\n/**\n * The lead's ready version: the one this workspace shows (its render state), its words as that\n * render drew them, its chosen picture and every size it delivered. A lead never rendered, or\n * whose version still needs fixes, is refused: every ad of the series copies it.\n */\nexport async function leadVersion(\n root: string,\n lead: string,\n fetchRecord: Fetch = fetchRunRecord,\n): Promise<{ lead: SeriesLead; canvas: unknown; spec: unknown } | SeriesRefusal> {\n const file = canvasFile(root, lead);\n const canvas: unknown = existsSync(file) ? JSON.parse(await readFile(file, \"utf8\")) : null;\n if (!canvas || !isStaticAdCanvas(canvas)) {\n return refusal(\n \"series_lead_not_found\",\n `The lead ad \"${lead}\" is not a static ad in this workspace.`,\n \"Name a static ad of this workspace as the lead: make it with `baker creatives make <idea>` and render it first.\",\n );\n }\n const canvasRoot = path.join(root, \"canvas\");\n const state = await readRenderState(canvasRoot, lead);\n const runId = state.rendered?.runId;\n if (!runId) {\n return refusal(\n \"series_lead_not_rendered\",\n `The lead ad \"${lead}\" has no finished version yet: every ad of its series is made from it.`,\n `Render the lead first and get it ready: baker canvas run --slug ${lead}. Then make the series.`,\n );\n }\n if ((state.blocking ?? []).length > 0) {\n return refusal(\n \"series_lead_not_ready\",\n `The lead ad \"${lead}\" still needs fixes (${(state.blocking ?? []).join(\" | \")}): the series would copy them.`,\n `Correct the lead until its verdict is ready (baker canvas run --slug ${lead}, or --fix \"<what to change>\"), then run the series again.`,\n );\n }\n const record = (): Promise<CreativesRunData | null> => fetchRecord(runId).catch(() => null);\n const picture = await previousAdImage(canvasRoot, runId, record, { ...rolesById(canvas), ...relaidPictureRole(canvas) });\n const sizes = await deliveredSizes(canvasRoot, runId, canvas, record);\n // A lead on one picture hands its series the picture its sizes were cut from.\n const version = isPlateCanvas(canvas) ? await versionRun(canvasRoot, runId).catch(() => null) : null;\n const plate = version ? shownPlateUrl(version) : null;\n if (!picture || (isPlateCanvas(canvas) && !plate)) {\n return refusal(\n \"series_lead_not_rendered\",\n `The finished picture of the lead's version (${runId}) is not available.`,\n `Render the lead again (baker canvas run --slug ${lead}), then run the series.`,\n );\n }\n const drawn = state.prompt ?? JSON.parse(await readFile(path.join(creativeDir(root, lead), \"prompt.json\"), \"utf8\"));\n const copy = readAdSpec(drawn).copy.map((l) => ({ text: l.text, ...(l.role ? { role: l.role } : {}) }));\n return { lead: { slug: lead, runId, copy, picture, sizes, ...(plate ? { plate } : {}) }, canvas, spec: drawn };\n}\n\n/** Each re-laid-out size the lead's version delivered, by format: its local run folder first, else its record. */\nasync function deliveredSizes(\n canvasRoot: string,\n runId: string,\n canvas: unknown,\n record: () => Promise<CreativesRunData | null>,\n): Promise<Record<string, string>> {\n // Every size made apart from the master: re-laid out from it, or cut from one picture.\n const masterReads = String(nodesWithRole(canvas, STATIC_MASTER_ROLE)[0]?.inputs?.image ?? \"\");\n const wanted = new Set([\n ...nodesWithRole(canvas, STATIC_ADAPT_FORMAT_ROLE).flatMap((n) => formatOfAdaptId(n.id) ?? []),\n ...nodesWithRole(canvas, STATIC_FORMAT_ROLE).flatMap((n) => {\n const format = n.params?.format;\n return typeof format === \"string\" && !masterReads.startsWith(`$ref:${n.id}.`) ? [format] : [];\n }),\n ]);\n const labels = finalOutputLabelsFromCanvas(canvas);\n const local = await previousDelivered(canvasRoot, runId, labels?.nodeId ?? \"final\", labels?.labels ?? [], {\n prefer: \"url\",\n });\n const found = local.length > 0 ? local : ((await record())?.finalOutputs ?? []).flatMap((o) =>\n o.label && o.url ? [{ format: o.label, path: o.url }] : [],\n );\n return Object.fromEntries(found.filter((d) => wanted.has(d.format)).map((d) => [d.format, d.path]));\n}\n\n/**\n * The lead's canvas with its local paths read from the member's folder: the brand's font and\n * logo are the same files, the member's own `prompt.json` stays its own. Pure.\n */\nexport function rebaseLeadPaths<T>(canvas: T, leadDir: string, memberDir: string): T {\n const out = structuredClone(canvas) as { nodes?: Array<{ id?: unknown; type?: unknown; params?: Record<string, unknown> }> };\n for (const node of out.nodes ?? []) {\n const key = localPathParam(node);\n const value = key ? node.params?.[key] : undefined;\n if (!key || !node.params || typeof value !== \"string\" || node.id === \"prompt\" || path.isAbsolute(value)) continue;\n const rel = path.relative(memberDir, path.resolve(leadDir, value)).split(path.sep).join(\"/\");\n node.params[key] = rel.startsWith(\".\") ? rel : `./${rel}`;\n }\n return out as T;\n}\n\n/** What every ad of a series shares with its lead: everything in prompt.json but its words and who it speaks to. */\nconst DESIGN_FIELDS = [\n \"scene\",\n \"brand\",\n \"colors\",\n \"references\",\n \"logo\",\n \"logo_position\",\n \"third_party_brands\",\n \"formats\",\n \"direction\",\n] as const;\n\n/** The design a spec draws, as one comparable string; null when it does not read as an ad spec. Pure. */\nexport function seriesDesignOf(spec: unknown): string | null {\n try {\n const read = readAdSpec(spec) as Record<string, unknown>;\n return JSON.stringify(DESIGN_FIELDS.map((key) => read[key] ?? null));\n } catch {\n return null;\n }\n}\n\n/** `memberSpec` with the lead's design and its own words, viewer and message. Pure. */\nfunction withLeadDesign(memberSpec: unknown, leadSpec: unknown): Record<string, unknown> {\n // An older blueprint names its design in its own shape: each is taken as the ad spec it reads as.\n const asSpec = (spec: unknown): Record<string, unknown> =>\n isAdSpec(spec) ? (spec as Record<string, unknown>) : readAdSpec(spec);\n const lead = asSpec(leadSpec);\n const out = { ...asSpec(memberSpec) };\n for (const key of DESIGN_FIELDS) {\n if (key in lead) out[key] = lead[key];\n else delete out[key];\n }\n return out;\n}\n\n/** A series ad whose words are still the lead's renders the lead again: refused before anything bills. Pure. */\nexport function unchangedCopyRefusal(lead: SeriesLead, memberSpec: unknown): SeriesRefusal | null {\n const words = (copy: ReadonlyArray<{ text: string }>) => copy.map((l) => l.text.trim()).join(\"\\n\");\n let copy: ReadonlyArray<{ text: string }>;\n try {\n copy = readAdSpec(memberSpec).copy;\n } catch {\n return null;\n }\n if (words(copy) !== words(lead.copy)) return null;\n return refusal(\n \"series_copy_unchanged\",\n `This ad's words are still the lead's (\"${lead.copy[0]?.text ?? \"\"}\"): it would render the lead again.`,\n \"Write this ad's own words in its prompt.json `copy`, one line for each of the lead's (same roles), saying this ad's message. Keep everything else: the design is the lead's.\",\n );\n}\n\n/**\n * A translation whose lines the lead holds as a customer's words (a quote, signed by its shape or\n * its role, or by a signature on the line below) are not those words as the lead has them: the\n * translation puts words the customer never said under their name. Null when every one is kept. Pure.\n */\nexport function changedCustomerWordsRefusal(lead: SeriesLead, memberSpec: unknown): SeriesRefusal | null {\n let copy: ReadonlyArray<{ text: string }>;\n try {\n copy = readAdSpec(memberSpec).copy;\n } catch {\n return null;\n }\n const said = new Set(copy.map((l) => l.text.trim()));\n const changed = lead.copy.filter((line, i) => {\n const below = lead.copy[i + 1];\n const theirs = isCustomersWords(line) || (below !== undefined && isSignatureLine(below));\n return theirs && !said.has(line.text.trim());\n });\n if (changed.length === 0) return null;\n return refusal(\n \"series_customer_words_changed\",\n `This translation changed a customer's own words: ${changed.map((l) => `\"${l.text}\"`).join(\", \")} is how they said it, and translated it would be words they never said under their name.`,\n `Put ${changed.length === 1 ? \"that line\" : \"those lines\"} back in this ad's prompt.json exactly as the lead has ${changed.length === 1 ? \"it\" : \"them\"}: ${changed.map((l) => `\"${l.text}\"`).join(\", \")}. Translate only the advertiser's own lines.`,\n );\n}\n\n/**\n * A design edited on an ad of a series: it is made once, on the ad whose design the whole series\n * has (the last of `leads`), then carried down each series run, the farthest first. Pure.\n */\nexport function designChangedRefusal(lead: string, leads: readonly string[]): SeriesRefusal {\n const chain = leads.length > 0 ? leads : [lead];\n const design = chain[chain.length - 1] ?? lead;\n const runs = [...chain].reverse().map((l) => `baker canvas run --series ${l}`);\n return refusal(\n \"series_design_changed\",\n `This ad's design (its scene, colours, pictures or logo in prompt.json) was changed on the ad itself, but every ad of the series has the design of \"${design}\".`,\n `Make the change once, on ${design}: edit src/creatives/${design}/prompt.json (or baker canvas run --slug ${design} --fix \"<the change>\"), then ${runs.join(\", then \")}: every ad takes the new design, its own words kept. Only this ad's copy belongs in its own prompt.json.`,\n );\n}\n\n/**\n * Write the canvas of series ad `slug` from its lead's ready version. Null when `slug` is no ad\n * of a series; a refusal when its lead is not ready or its words are still the lead's (allowed\n * only when the ad is first made, before its words are written: `leadWords`).\n */\nexport async function writeSeriesMemberCanvas(\n root: string,\n slug: string,\n opts: { fetchRecord?: Fetch; leadWords?: boolean; takeLeadDesign?: boolean } = {},\n): Promise<\n | {\n lead: string;\n leadRunId: string;\n canvasPath: string;\n written: boolean;\n designFromLead: boolean;\n /** The ad was last made from an older version of its lead: this run is a new version of the ad. */\n newLeadVersion: boolean;\n }\n | SeriesRefusal\n | null\n> {\n const lead = await seriesLeadOf(root, slug);\n if (!lead) return null;\n const version = await leadVersion(root, lead, opts.fetchRecord);\n if (\"refused\" in version) return version;\n const dir = creativeDir(root, slug);\n const promptPath = path.join(dir, \"prompt.json\");\n let memberSpec = JSON.parse(await readFile(promptPath, \"utf8\").catch(() => \"null\"));\n const unchanged = opts.leadWords ? null : unchangedCopyRefusal(version.lead, memberSpec);\n if (unchanged) return unchanged;\n const language = await translatedInto(root, slug, lead);\n const rewritten = language ? changedCustomerWordsRefusal(version.lead, memberSpec) : null;\n if (rewritten) return rewritten;\n const file = canvasFile(root, slug);\n const before = await readFile(file, \"utf8\").catch(() => null);\n // The design is the lead's. A new version of the lead carries it to an ad untouched since; a\n // design edited on the ad itself is refused, unless the series run is asked to take the lead's back.\n const leadDesign = seriesDesignOf(version.spec);\n const ownDesign = seriesDesignOf(memberSpec);\n const previous = before\n ? (JSON.parse(before) as { metadata?: { series?: { design?: string; run_id?: string } } }).metadata?.series\n : undefined;\n const synced = previous?.design;\n let designFromLead = false;\n if (leadDesign !== null && ownDesign !== null && ownDesign !== leadDesign) {\n if (!opts.takeLeadDesign && ownDesign !== synced) {\n return designChangedRefusal(lead, await seriesLeadsAbove(root, slug));\n }\n memberSpec = withLeadDesign(memberSpec, version.spec);\n await writeFile(promptPath, `${JSON.stringify(memberSpec, null, 2)}\\n`, \"utf8\");\n designFromLead = true;\n }\n const canvas = seriesMemberAd(\n rebaseLeadPaths(version.canvas, creativeDir(root, lead), dir),\n { ...version.lead, ...(leadDesign !== null ? { design: leadDesign } : {}) },\n language ? { language } : {},\n );\n const text = `${JSON.stringify(canvas, null, 2)}\\n`;\n if (before !== text) await writeFile(file, text, \"utf8\");\n const madeFrom = (await readRenderState(path.join(root, \"canvas\"), slug)).seriesLeadRun;\n const newLeadVersion = madeFrom !== undefined && madeFrom !== version.lead.runId;\n return { lead, leadRunId: version.lead.runId, canvasPath: file, written: before !== text, designFromLead, newLeadVersion };\n}\n\n/**\n * What a run of an ad of a series, or of its lead, says to do next: a new version of the lead\n * reaches the series only through a series run, and a change to the design every ad shares is\n * made once, on the lead. Empty for an ad in no series. Pure.\n */\nexport function seriesRunHints(\n slug: string,\n series: { lead?: string | null; leads?: readonly string[]; members: readonly string[] },\n): string[] {\n // Nearest lead first: a translation of an angle ad takes its design from the ad at the top.\n const leads = series.leads?.length ? series.leads : series.lead ? [series.lead] : [];\n const root = leads[leads.length - 1];\n if (root) {\n const runs = [...leads].reverse().map((lead) => `baker canvas run --series ${lead}`);\n return [\n `This ad is one of the series led by ${leads[0]}: its picture is ${root}'s with its own words. A change to what every ad shares (the picture, colours, layout, logo) is made once, on ${root} (src/creatives/${root}/prompt.json, or baker canvas run --slug ${root} --fix \"<the change>\"), then ${runs.join(\", then \")}. Correct only this ad's own words or its own defect here.`,\n ];\n }\n if (series.members.length === 0) return [];\n return [\n `This ad leads a series of ${series.members.length + 1}: baker canvas run --series ${slug} makes ${series.members.join(\", \")} again from this version, each with its own words. Until then they show the lead's earlier version; an ad of the series run by itself (baker canvas run --slug ${series.members[0]}) is made from this version too, its design included.`,\n ];\n}\n"],"mappings":"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","names":["path","plate","url","urlOf","readFile","path","path","readFile","copy"]}
@@ -1,167 +0,0 @@
1
- import {
2
- parseRefExpr
3
- } from "./chunk-T6PTG6VM.js";
4
- import {
5
- collectAssetRefLikes,
6
- isPersistedAssetRef
7
- } from "./chunk-ZVXKWLLE.js";
8
-
9
- // src/commands/canvas/run-record.ts
10
- import path from "path";
11
- var MAX_RUN_NODES = 200;
12
- var MAX_OUTPUTS_PER_NODE = 10;
13
- var MAX_FINAL_OUTPUTS = 10;
14
- var MAX_NODE_FACTS_CHARS = 4096;
15
- var MAX_CREATIVE_SLUG_LENGTH = 100;
16
- function creativeSlugFromCanvasPath(filePath) {
17
- const normalized = filePath.split(path.sep).join("/");
18
- const match = normalized.match(/(?:^|\/)src\/creatives\/([a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\//);
19
- const slug = match?.[1] ?? null;
20
- return slug && slug.length <= MAX_CREATIVE_SLUG_LENGTH ? slug : null;
21
- }
22
- function finalOutputLabelsFromCanvas(parsed) {
23
- const canvas = parsed;
24
- const outputNodeId = canvas?.output?.node;
25
- if (typeof outputNodeId !== "string" || !Array.isArray(canvas?.nodes)) return null;
26
- const node = canvas.nodes.find((n) => n?.id === outputNodeId);
27
- if (node?.type !== "collect") return null;
28
- const explicit = node.params?.labels;
29
- if (Array.isArray(explicit) && explicit.every((l) => typeof l === "string")) {
30
- return { nodeId: outputNodeId, labels: explicit };
31
- }
32
- const images = node.inputs?.images;
33
- if (!Array.isArray(images)) return null;
34
- const labels = images.map((entry) => {
35
- if (typeof entry !== "string") return void 0;
36
- return parseRefExpr(entry)?.nodeId;
37
- });
38
- return { nodeId: outputNodeId, labels };
39
- }
40
- var OUTPUT_KINDS = /* @__PURE__ */ new Set(["image", "video", "audio", "json", "text", "font"]);
41
- function toRecordOutput(slot, value, label) {
42
- const refs = collectAssetRefLikes(value);
43
- const ref = refs.length === 1 ? refs[0] : null;
44
- if (!ref || !isPersistedAssetRef(ref)) return null;
45
- const kind = typeof ref.kind === "string" && OUTPUT_KINDS.has(ref.kind) ? ref.kind : null;
46
- if (!kind) return null;
47
- return {
48
- slot,
49
- label,
50
- kind,
51
- sha256: ref.sha256,
52
- url: ref.url,
53
- mime: ref.mime,
54
- width: typeof ref.width === "number" ? ref.width : void 0,
55
- height: typeof ref.height === "number" ? ref.height : void 0,
56
- durationMs: typeof ref.duration_ms === "number" ? ref.duration_ms : void 0
57
- };
58
- }
59
- function nodeOutputsToRecord(nodeOutputs, labels) {
60
- const out = [];
61
- for (const [slot, value] of Object.entries(nodeOutputs)) {
62
- if (Array.isArray(value)) {
63
- value.forEach((item, i) => {
64
- const rec = toRecordOutput(`${slot}#${i}`, item, labels?.[i]);
65
- if (rec) out.push(rec);
66
- });
67
- } else {
68
- const rec = toRecordOutput(slot, value);
69
- if (rec) out.push(rec);
70
- }
71
- }
72
- return out.slice(0, MAX_OUTPUTS_PER_NODE);
73
- }
74
- function finalOutputsToRecord(output, labels) {
75
- if (Array.isArray(output)) {
76
- return output.map((item, i) => toRecordOutput(`final#${i}`, item, labels?.[i])).filter((rec2) => rec2 !== null).slice(0, MAX_FINAL_OUTPUTS);
77
- }
78
- const rec = toRecordOutput("final", output);
79
- return rec ? [rec] : [];
80
- }
81
- function finalFiles(output, labels) {
82
- const items = Array.isArray(output) ? output : [output];
83
- const files = {};
84
- items.forEach((item, i) => {
85
- const ref = collectAssetRefLikes(item)[0];
86
- if (ref && typeof ref.path === "string") files[labels?.[i] ?? `final#${i}`] = ref.path;
87
- });
88
- return files;
89
- }
90
- function withFacts(nodeOutputs) {
91
- const facts = nodeOutputs.facts;
92
- if (facts === void 0 || facts === null) return {};
93
- const json = JSON.stringify(facts);
94
- return json.length <= MAX_NODE_FACTS_CHARS ? { facts: json } : {};
95
- }
96
- function buildRunRecord(result, meta, plan, finalLabels) {
97
- const nodes = result.node_runs.slice(0, MAX_RUN_NODES).map((run) => {
98
- const planned = plan?.get(run.node_id);
99
- return {
100
- nodeId: run.node_id,
101
- nodeType: run.node_type,
102
- cached: run.cached,
103
- credits: run.credits,
104
- durationMs: run.duration_ms,
105
- outputs: nodeOutputsToRecord(
106
- result.outputs_by_node[run.node_id] ?? {},
107
- run.node_id === finalLabels?.nodeId ? finalLabels.labels : void 0
108
- ),
109
- deps: planned?.deps,
110
- status: plan ? "completed" : void 0,
111
- paramsPreview: planned?.paramsPreview,
112
- ...planned?.role !== void 0 ? { role: planned.role } : {},
113
- ...withFacts(result.outputs_by_node[run.node_id] ?? {})
114
- };
115
- });
116
- const finalOutputs = finalOutputsToRecord(result.output, finalLabels?.labels);
117
- return {
118
- runId: result.run_id,
119
- ...meta,
120
- status: "completed",
121
- stats: {
122
- totalNodes: result.stats.total_nodes,
123
- cachedNodes: result.stats.cached_nodes,
124
- totalCredits: result.stats.total_credits,
125
- durationMs: result.stats.duration_ms
126
- },
127
- nodes,
128
- finalOutputs: finalOutputs.length > 0 ? finalOutputs : void 0,
129
- // Sent whenever the review RAN, empty list included. Sending it only when there
130
- // were findings makes a clean render and an unreviewed one look identical in the
131
- // record — which is the exact ambiguity this field was added to remove: proving a
132
- // review had happened once meant re-running a cached canvas and reading raw JSON.
133
- // Only the fields the backend keeps: a static review's typed fields (`kind`) stay in the CLI.
134
- ...meta.review ? { review: meta.review.slice(0, 40).map(({ severity, what, scene }) => ({ severity, what, ...scene ? { scene } : {} })) } : {}
135
- };
136
- }
137
- function buildInitialRunRecord(runId, meta) {
138
- return {
139
- runId,
140
- ...meta,
141
- status: "running",
142
- stats: { totalNodes: 0, cachedNodes: 0, totalCredits: 0, durationMs: 0 },
143
- nodes: []
144
- };
145
- }
146
- function buildFailedRunRecord(runId, errorMessage, meta) {
147
- return {
148
- runId,
149
- ...meta,
150
- status: "failed",
151
- errorMessage: errorMessage.slice(0, 2e3),
152
- stats: { totalNodes: 0, cachedNodes: 0, totalCredits: 0, durationMs: 0 },
153
- nodes: []
154
- };
155
- }
156
-
157
- export {
158
- creativeSlugFromCanvasPath,
159
- finalOutputLabelsFromCanvas,
160
- nodeOutputsToRecord,
161
- finalFiles,
162
- withFacts,
163
- buildRunRecord,
164
- buildInitialRunRecord,
165
- buildFailedRunRecord
166
- };
167
- //# sourceMappingURL=chunk-62QMJYML.js.map
@@ -1,75 +0,0 @@
1
- import {
2
- openRouterKey
3
- } from "./chunk-52IYZCRS.js";
4
-
5
- // src/engine/nodes/local/lib/jev.ts
6
- import { z } from "zod";
7
- var JEV_MODEL = "typesafe/jev-1.13";
8
- var ENDPOINT = "https://openrouter.ai/api/v1/systemone";
9
- var TIMEOUT_MS = 2500;
10
- var Reply = z.object({
11
- answers: z.record(z.string(), z.object({ noul: z.number() })),
12
- usage: z.object({ cost: z.number() }).optional()
13
- });
14
- var Answer = z.union([
15
- z.object({ choice: z.string(), probabilities: z.record(z.string(), z.number()), confidence: z.number() }),
16
- z.object({ noul: z.number() })
17
- ]);
18
- var AnswersReply = z.object({
19
- answers: z.record(z.string(), z.unknown()),
20
- usage: z.object({ cost: z.number() }).optional()
21
- });
22
- function readAnswers(body, ids) {
23
- const parsed = AnswersReply.safeParse(body);
24
- if (!parsed.success) return null;
25
- const answers = [];
26
- for (const id of ids) {
27
- const answer = Answer.safeParse(parsed.data.answers[id]);
28
- if (!answer.success) return null;
29
- answers.push(
30
- "choice" in answer.data ? { choice: answer.data.choice, probabilities: answer.data.probabilities, confidence: answer.data.confidence } : { noul: answer.data.noul }
31
- );
32
- }
33
- return { answers, costUsd: parsed.data.usage?.cost ?? 0 };
34
- }
35
- async function askJevQuestions(questions, onSpend) {
36
- const key = openRouterKey();
37
- if (questions.length === 0) return [];
38
- if (!key) return null;
39
- const ids = questions.map((_, i) => `q${i}`);
40
- try {
41
- const response = await fetch(ENDPOINT, {
42
- method: "POST",
43
- headers: { authorization: `Bearer ${key}`, "content-type": "application/json" },
44
- body: JSON.stringify({
45
- model: JEV_MODEL,
46
- state: {},
47
- questions: Object.fromEntries(questions.map((q, i) => [ids[i], q]))
48
- }),
49
- signal: AbortSignal.timeout(TIMEOUT_MS)
50
- });
51
- if (!response.ok) return null;
52
- const read = readAnswers(await response.json(), ids);
53
- if (!read) return null;
54
- onSpend?.({ model: JEV_MODEL, inputTokens: 0, outputTokens: 0, costUsd: read.costUsd });
55
- return read.answers;
56
- } catch {
57
- return null;
58
- }
59
- }
60
- async function askJev(questions, onSpend) {
61
- const answers = await askJevQuestions(
62
- questions.map((q) => ({ type: "noul", instructions: q.instructions })),
63
- onSpend
64
- );
65
- if (!answers) return null;
66
- const nouls = answers.flatMap((a) => "noul" in a ? [a.noul] : []);
67
- return nouls.length === answers.length ? nouls : null;
68
- }
69
-
70
- export {
71
- JEV_MODEL,
72
- askJevQuestions,
73
- askJev
74
- };
75
- //# sourceMappingURL=chunk-6B4KNOJZ.js.map
@@ -1,69 +0,0 @@
1
- import {
2
- shopifyProductDetailSchema,
3
- shopifyVariantSchema,
4
- withEveryOption
5
- } from "./chunk-EKX37C3T.js";
6
- import {
7
- apiGet
8
- } from "./chunk-B4UVJCJ4.js";
9
-
10
- // src/commands/creatives/store-product.ts
11
- import { z } from "zod";
12
- var storeProductSchema = shopifyProductDetailSchema.pick({ title: true, price: true, compareAt: true, pricesByCountry: true, variantsNextCursor: true }).extend({ variants: z.array(shopifyVariantSchema.pick({ title: true, price: true, compareAtPrice: true })) });
13
- var AMOUNT = /([A-Z]{3}) (\d+(?:\.\d+)?)/g;
14
- function spoken(price) {
15
- return price.replace(
16
- AMOUNT,
17
- (whole, currency, amount) => Number.isInteger(Number(amount)) ? `${whole} (${currency} ${Number(amount)})` : whole
18
- );
19
- }
20
- function saving(price, was) {
21
- const [, currency, now] = /^([A-Z]{3}) (\d+(?:\.\d+)?)$/.exec(price) ?? [];
22
- const [, wasCurrency, before] = /^([A-Z]{3}) (\d+(?:\.\d+)?)$/.exec(was ?? "") ?? [];
23
- if (!currency || currency !== wasCurrency || !now || !before) return void 0;
24
- const off = Math.round((Number(before) - Number(now)) * 100) / 100;
25
- if (off <= 0) return void 0;
26
- const percent = off / Number(before) * 100;
27
- const percents = [.../* @__PURE__ */ new Set([Math.round(percent), Math.floor(percent)])].map((p) => `${p}% off`).join(", ");
28
- return `saving ${spoken(`${currency} ${off.toFixed(2)}`)}, ${percents}`;
29
- }
30
- function storeProductRecord(product) {
31
- const lines = [
32
- `${product.title}, in the connected store: price ${spoken(product.price)}${product.compareAt ? `, was ${spoken(product.compareAt)}` : ""}.`
33
- ];
34
- for (const variant of product.variants) {
35
- const off = saving(variant.price, variant.compareAtPrice);
36
- lines.push(
37
- `${variant.title}: ${spoken(variant.price)}${variant.compareAtPrice ? `, was ${spoken(variant.compareAtPrice)}` : ""}${off ? `, ${off}` : ""}.`
38
- );
39
- }
40
- for (const country of product.pricesByCountry ?? []) {
41
- lines.push(`${country.name} (${country.countries.join(", ")}): ${spoken(country.price)}.`);
42
- }
43
- return lines.join("\n");
44
- }
45
- var storeProductAnswerSchema = z.object({ product: storeProductSchema });
46
- async function productFromStore(ref) {
47
- const page = async (variantsCursor) => storeProductAnswerSchema.parse(
48
- await apiGet("/api/shopify/product", { ref, ...variantsCursor ? { variantsCursor } : {} })
49
- ).product;
50
- return withEveryOption(await page(), page);
51
- }
52
- async function storeProductReads(refs, read = productFromStore) {
53
- const unique = [...new Set([...refs].filter((ref) => Boolean(ref)))];
54
- const reads = await Promise.all(
55
- unique.map(async (ref) => {
56
- try {
57
- return [ref, { record: storeProductRecord(await read(ref)) }];
58
- } catch (e) {
59
- return [ref, { error: e instanceof Error ? e.message : String(e) }];
60
- }
61
- })
62
- );
63
- return new Map(reads);
64
- }
65
-
66
- export {
67
- storeProductReads
68
- };
69
- //# sourceMappingURL=chunk-6M77QNJ4.js.map