@koda-sl/baker-cli 0.515.0-dev.957976bb7 → 0.516.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1112) hide show
  1. package/README.md +1 -19
  2. package/dist/account-BA3IO3AN.js +139 -0
  3. package/dist/account-LVJFHDA3.js +82 -0
  4. package/dist/account-PTJ6OK6Z.js +82 -0
  5. package/dist/account-assets-T3VVNBUG.js +290 -0
  6. package/dist/account-level-MPFWRPEK.js +611 -0
  7. package/dist/account-reads-5CXFLJ5Q.js +219 -0
  8. package/dist/account-users-B7DCJEFD.js +64 -0
  9. package/dist/account-writes-W5EOTS7P.js +68 -0
  10. package/dist/accounts-4R3MBNJG.js +76 -0
  11. package/dist/accounts-5WF7VE7J.js +115 -0
  12. package/dist/accounts-IQTEH4BX.js +701 -0
  13. package/dist/accounts-SV7JZUCC.js +80 -0
  14. package/dist/accounts-VPWCLF6X.js +114 -0
  15. package/dist/actions-D7OWCP36.js +55 -0
  16. package/dist/active-entities-WDPW7652.js +103 -0
  17. package/dist/activecampaign-LBS4M4C4.js +938 -0
  18. package/dist/activities-WGPHYSFU.js +75 -0
  19. package/dist/ad-group-writes-JL56DPC4.js +172 -0
  20. package/dist/ad-groups-62JPLIK3.js +70 -0
  21. package/dist/ad-writes-WSKLRGB7.js +176 -0
  22. package/dist/add-HFQB2NTU.js +107 -0
  23. package/dist/add-IUYE5H6A.js +305 -0
  24. package/dist/ads-F7AUJWK7.js +115 -0
  25. package/dist/ads-JFI56MZL.js +79 -0
  26. package/dist/ads-WCLT2RRR.js +48 -0
  27. package/dist/adsets-XH2ULWPM.js +182 -0
  28. package/dist/advertisers-XXM6POO5.js +123 -0
  29. package/dist/analytics-MJT6DS3L.js +447 -0
  30. package/dist/analytics-W7EUOI2Q.js +2437 -0
  31. package/dist/animate-2BMHZ4FM.js +480 -0
  32. package/dist/asset-writes-4X3AJQ4Q.js +50 -0
  33. package/dist/assign-2GQVQKKO.js +80 -0
  34. package/dist/audience-size-VHXBNNIB.js +76 -0
  35. package/dist/audience-writes-TXWPDJ2F.js +327 -0
  36. package/dist/audiences-B2LFKWIS.js +280 -0
  37. package/dist/audiences-MBBXWEOI.js +86 -0
  38. package/dist/audiences-YUG5JLL4.js +85 -0
  39. package/dist/audit-VT2WSZWM.js +154 -0
  40. package/dist/audit-WFXS5ELM.js +88 -0
  41. package/dist/autocomplete-ZYMHHV7E.js +114 -0
  42. package/dist/avatars-WZ2JDMHH.js +38 -0
  43. package/dist/bid-pricing-5F3GBSAI.js +103 -0
  44. package/dist/brand-IZTTBZII.js +22 -0
  45. package/dist/brief-OPQ7ICOY.js +543 -0
  46. package/dist/businesses-24JNY46Z.js +54 -0
  47. package/dist/campaign-groups-BDCDTMBF.js +99 -0
  48. package/dist/campaign-writes-73H7G3JM.js +168 -0
  49. package/dist/campaign-writes-FNVOHONL.js +176 -0
  50. package/dist/campaigns-FUDZUVHN.js +78 -0
  51. package/dist/campaigns-J65Q4WAZ.js +113 -0
  52. package/dist/campaigns-KXYGSH27.js +130 -0
  53. package/dist/campaigns-U5FQ2VWL.js +111 -0
  54. package/dist/canvas-IQ753Q2O.js +46 -0
  55. package/dist/capabilities-ZITW4RF7.js +147 -0
  56. package/dist/cards-NSNAFTEB.js +85 -0
  57. package/dist/catalog-TZLU5NWI.js +65 -0
  58. package/dist/catalogs-OWQGGCIO.js +130 -0
  59. package/dist/catalogs-VZYAATUR.js +781 -0
  60. package/dist/changes-RDWMNSTK.js +135 -0
  61. package/dist/chatgpt-27NEJVGF.js +47 -0
  62. package/dist/chats-AL2SYBJO.js +279 -0
  63. package/dist/check-U2YLRD6H.js +107 -0
  64. package/dist/chunk-2F4DELSV.js +200 -0
  65. package/dist/chunk-2GYCWRF3.js +170 -0
  66. package/dist/chunk-2L7F7KR4.js +61 -0
  67. package/dist/chunk-3YJNSUNF.js +131 -0
  68. package/dist/chunk-44ZRCSR7.js +228 -0
  69. package/dist/chunk-46YLDIQG.js +4254 -0
  70. package/dist/chunk-46YLDIQG.js.map +1 -0
  71. package/dist/chunk-4EDWXZ3I.js +363 -0
  72. package/dist/chunk-4FFBGR5L.js +66 -0
  73. package/dist/chunk-4UZUUSVL.js +592 -0
  74. package/dist/chunk-4XHCEYHI.js +831 -0
  75. package/dist/chunk-4Z6PVR3M.js +479 -0
  76. package/dist/chunk-5Y5FZV2W.js +122 -0
  77. package/dist/chunk-6DPSWLGY.js +324 -0
  78. package/dist/chunk-6DPSWLGY.js.map +1 -0
  79. package/dist/chunk-6HJXLGDV.js +392 -0
  80. package/dist/chunk-6KWEF6HF.js +8914 -0
  81. package/dist/chunk-6S5CWGDA.js +429 -0
  82. package/dist/chunk-6VYROVWO.js +494 -0
  83. package/dist/chunk-7HZSORAB.js +843 -0
  84. package/dist/chunk-A3IQAONL.js +638 -0
  85. package/dist/chunk-AQRXXC6E.js +319 -0
  86. package/dist/chunk-ARBXT73X.js +387 -0
  87. package/dist/chunk-ASRS37QE.js +710 -0
  88. package/dist/chunk-ASRS37QE.js.map +1 -0
  89. package/dist/chunk-BEZHQIEI.js +97 -0
  90. package/dist/chunk-BFURWHVR.js +547 -0
  91. package/dist/chunk-EZSPVWLQ.js +169 -0
  92. package/dist/chunk-F4YQ5PVR.js +1518 -0
  93. package/dist/chunk-FCHZ5TNG.js +26 -0
  94. package/dist/chunk-FFG2OYVV.js +64 -0
  95. package/dist/chunk-FLWDFPXE.js +23 -0
  96. package/dist/chunk-FQMEX3GX.js +846 -0
  97. package/dist/chunk-GE3VT3CA.js +51 -0
  98. package/dist/chunk-GGK2CX6B.js +24026 -0
  99. package/dist/chunk-GGK2CX6B.js.map +1 -0
  100. package/dist/chunk-GHZ6HP2X.js +358 -0
  101. package/dist/chunk-HCQJYI6X.js +74 -0
  102. package/dist/chunk-HGBJQGO5.js +142 -0
  103. package/dist/chunk-HHVWV5BJ.js +191 -0
  104. package/dist/chunk-HML3VQIW.js +225 -0
  105. package/dist/chunk-I3WGTSDY.js +76 -0
  106. package/dist/chunk-I7AYMJZA.js +783 -0
  107. package/dist/chunk-IDSDJHRS.js +106 -0
  108. package/dist/chunk-ILPHIYAL.js +207 -0
  109. package/dist/chunk-IWKD56AY.js +156 -0
  110. package/dist/chunk-JAC6JVCI.js +26 -0
  111. package/dist/chunk-JLAQWMVF.js +3868 -0
  112. package/dist/chunk-K6NULQN7.js +57 -0
  113. package/dist/chunk-L2BRAC2J.js +19 -0
  114. package/dist/chunk-LGMI4LSY.js +455 -0
  115. package/dist/chunk-LNODLR7W.js +149 -0
  116. package/dist/chunk-LQ2BRGMX.js +274 -0
  117. package/dist/chunk-LRV6M2WB.js +1919 -0
  118. package/dist/chunk-M7QZSEHF.js +175 -0
  119. package/dist/chunk-MCJ5I5LR.js +3187 -0
  120. package/dist/chunk-MCJ5I5LR.js.map +1 -0
  121. package/dist/chunk-MVD7QIXI.js +46 -0
  122. package/dist/chunk-MZPS46OR.js +76 -0
  123. package/dist/chunk-NFII3MTG.js +207 -0
  124. package/dist/chunk-OG47L5GG.js +275 -0
  125. package/dist/chunk-PC3FJEZH.js +7211 -0
  126. package/dist/chunk-PX3PUDK7.js +167 -0
  127. package/dist/chunk-QIOFOD4K.js +344 -0
  128. package/dist/chunk-R2SYF5FC.js +249 -0
  129. package/dist/chunk-RTH2I55B.js +942 -0
  130. package/dist/chunk-S6VFDNSQ.js +63 -0
  131. package/dist/chunk-SG2TDQEE.js +150 -0
  132. package/dist/chunk-SWN6OHXG.js +148 -0
  133. package/dist/chunk-T3P6O2VU.js +89 -0
  134. package/dist/chunk-TU5LQUJM.js +74 -0
  135. package/dist/chunk-TU7DWSTW.js +69 -0
  136. package/dist/chunk-TX7CQTD4.js +5368 -0
  137. package/dist/chunk-TXDE2QJ3.js +604 -0
  138. package/dist/chunk-TYXZ2SRW.js +287 -0
  139. package/dist/chunk-UDIEKCIR.js +203 -0
  140. package/dist/chunk-UKSSNYLU.js +98 -0
  141. package/dist/chunk-UQHHGT67.js +676 -0
  142. package/dist/chunk-USCADMM3.js +163 -0
  143. package/dist/chunk-UUGISMNE.js +910 -0
  144. package/dist/chunk-VDPOCAQ2.js +197 -0
  145. package/dist/chunk-VEJ3QX6M.js +103 -0
  146. package/dist/chunk-VFJB7OG6.js +91 -0
  147. package/dist/chunk-VPABGAN4.js +188 -0
  148. package/dist/chunk-VRIPVLE7.js +8954 -0
  149. package/dist/chunk-YILZR3XI.js +224 -0
  150. package/dist/chunk-YJFLXOH4.js +191 -0
  151. package/dist/chunk-YNYAT2TZ.js +285 -0
  152. package/dist/chunk-YWHZYR6S.js +297 -0
  153. package/dist/chunk-Z35KUMBW.js +219 -0
  154. package/dist/chunk-Z7I2ZFXS.js +1646 -0
  155. package/dist/claim-GOLUTAJ3.js +200 -0
  156. package/dist/cli.js +37 -38
  157. package/dist/cli.js.map +1 -1
  158. package/dist/companies-CSN7DPYW.js +198 -0
  159. package/dist/company-MOSPLRZJ.js +308 -0
  160. package/dist/complete-777BDV45.js +84 -0
  161. package/dist/config-55WGRLY3.js +88 -0
  162. package/dist/connect-3YY7MF3I.js +45 -0
  163. package/dist/conversation-6K2TNYBQ.js +96 -0
  164. package/dist/conversion-report-WYYB3BK2.js +127 -0
  165. package/dist/conversion-upload-command-VM2P57K6.js +439 -0
  166. package/dist/conversion-writes-DHOPMA7X.js +122 -0
  167. package/dist/conversions-KWY7BNDN.js +78 -0
  168. package/dist/conversions-MLRK35ZV.js +140 -0
  169. package/dist/copy-writes-E3V5TUVU.js +170 -0
  170. package/dist/create-3WOZO2XT.js +239 -0
  171. package/dist/create-7IFYLX7P.js +210 -0
  172. package/dist/create-FOHIQC3E.js +62 -0
  173. package/dist/create-UWQSQTK6.js +135 -0
  174. package/dist/creatives-2DR3QHJW.js +58 -0
  175. package/dist/creatives-DUR5Z5AN.js +89 -0
  176. package/dist/creatives-KN3MT533.js +223 -0
  177. package/dist/credentials-IP4L37XP.js +290 -0
  178. package/dist/critique-LGDNMLBL.js +232 -0
  179. package/dist/critique-LJMFAURK.js +1451 -0
  180. package/dist/crm-BNYW7PF7.js +323 -0
  181. package/dist/crm-DMADHALO.js +227 -0
  182. package/dist/currency-X4KEACEP.js +88 -0
  183. package/dist/custom-conversions-OIA5Y2GX.js +128 -0
  184. package/dist/customers-663K2OCP.js +59 -0
  185. package/dist/delete-5W3YVA4L.js +67 -0
  186. package/dist/delete-6U7E6YUW.js +57 -0
  187. package/dist/delete-G4NY6ZG6.js +69 -0
  188. package/dist/demographics-UZ7BCQ7K.js +141 -0
  189. package/dist/discard-RKCZNKMN.js +69 -0
  190. package/dist/discover-2W42JB56.js +172 -0
  191. package/dist/domain-PLA2O4FW.js +101 -0
  192. package/dist/download-4EFLVSA4.js +172 -0
  193. package/dist/draft-2ZX73IRO.js +238 -0
  194. package/dist/draft-6XMZYSMR.js +283 -0
  195. package/dist/draft-CKLIIWXZ.js +308 -0
  196. package/dist/draft-IUEULQDT.js +310 -0
  197. package/dist/draft-JMNAGW7C.js +220 -0
  198. package/dist/draft-L5Q6KEER.js +100 -0
  199. package/dist/draft-MJRMZGMP.js +103 -0
  200. package/dist/draft-WPMVLRME.js +335 -0
  201. package/dist/engine/index.js +7 -7
  202. package/dist/experiment-3VRHCQN5.js +1397 -0
  203. package/dist/experiments-S4TSXCK6.js +236 -0
  204. package/dist/facets-D3JG7OSO.js +117 -0
  205. package/dist/feedback-IRSRPXV6.js +111 -0
  206. package/dist/feedback-record-DT3R4NA3.js +265 -0
  207. package/dist/fetch-YLQP5VQL.js +179 -0
  208. package/dist/fit-BEFCY2B4.js +65 -0
  209. package/dist/flows-FDMF3F3P.js +250 -0
  210. package/dist/fonts-C6XN5667.js +39 -0
  211. package/dist/forecast-4YHMKO54.js +121 -0
  212. package/dist/forecast-LYN6ZGQC.js +169 -0
  213. package/dist/funding-TCEPQXRQ.js +85 -0
  214. package/dist/funnel-CQIT3F23.js +397 -0
  215. package/dist/ga4-JE3HS36B.js +55 -0
  216. package/dist/generate-NWHPM2GQ.js +263 -0
  217. package/dist/get-KBSKPTAV.js +59 -0
  218. package/dist/get-OSVQVMP6.js +82 -0
  219. package/dist/google-24FDG4C4.js +3267 -0
  220. package/dist/google-ads-XCJVAXWF.js +198 -0
  221. package/dist/gsc-RMVOYIM3.js +30 -0
  222. package/dist/history-4TN2A6BL.js +136 -0
  223. package/dist/history-5IWW2X33.js +102 -0
  224. package/dist/history-GIXIG276.js +69 -0
  225. package/dist/hubspot-5WB7TQBG.js +782 -0
  226. package/dist/ideas-M66FU45H.js +45 -0
  227. package/dist/images-MM5OPUKV.js +92 -0
  228. package/dist/ingest-GU3WEBN3.js +110 -0
  229. package/dist/ingest-KMLYCFF4.js +26 -0
  230. package/dist/insights-HATH3IC6.js +439 -0
  231. package/dist/insights-VKPIVJMK.js +132 -0
  232. package/dist/inspect-4JO2J3D6.js +192 -0
  233. package/dist/instant-experiences-A2SIQNB5.js +260 -0
  234. package/dist/intent-YCQCUCV3.js +95 -0
  235. package/dist/job-SM2OQ2LO.js +202 -0
  236. package/dist/job-create-ECZHPVKH.js +109 -0
  237. package/dist/job-status-QSYDKIIV.js +74 -0
  238. package/dist/keyword-gap-PUSF7EKY.js +130 -0
  239. package/dist/keyword-metrics-JXBM22ZD.js +200 -0
  240. package/dist/keywords-for-site-OAYA7KP7.js +131 -0
  241. package/dist/landing-OZU5RRFV.js +28 -0
  242. package/dist/languages-Q5SKO4AM.js +40 -0
  243. package/dist/leads-QAYS7AJO.js +540 -0
  244. package/dist/leads-VOSFVNUK.js +115 -0
  245. package/dist/learn-NBBJRMVZ.js +207 -0
  246. package/dist/line-item-writes-VBBB3TRS.js +211 -0
  247. package/dist/line-items-2V5FY33R.js +107 -0
  248. package/dist/link-WZSNUQQ2.js +67 -0
  249. package/dist/linkedin-CDFCOHKI.js +1316 -0
  250. package/dist/linkedin-person-MVRI7LLC.js +139 -0
  251. package/dist/list-6S54IAUX.js +67 -0
  252. package/dist/list-QRJ4E3SC.js +154 -0
  253. package/dist/list-RZUDFLJN.js +306 -0
  254. package/dist/locations-RFTE42OS.js +69 -0
  255. package/dist/locations-VQYREHYI.js +40 -0
  256. package/dist/log-53SAPZZ3.js +95 -0
  257. package/dist/lookup-MELV3RUL.js +23 -0
  258. package/dist/make-ZF3YIMKW.js +1370 -0
  259. package/dist/map-J37QFJSV.js +436 -0
  260. package/dist/mcp-B7WSZQFD.js +729 -0
  261. package/dist/mcp-B7WSZQFD.js.map +1 -0
  262. package/dist/media-BPI2VE6A.js +89 -0
  263. package/dist/media-EEWZZU3P.js +18 -0
  264. package/dist/media-sources-EQI3U4TC.js +35 -0
  265. package/dist/members-GYVMSCKL.js +47 -0
  266. package/dist/meta-SMJUQP37.js +122 -0
  267. package/dist/metrics-EMAP7ESR.js +152 -0
  268. package/dist/models-JQEPSPNQ.js +155 -0
  269. package/dist/normalize-MFN3WCH5.js +144 -0
  270. package/dist/options-DLHDHO7H.js +125 -0
  271. package/dist/organization-C2VOA2SD.js +949 -0
  272. package/dist/output-4QBQEM4C.js +24 -0
  273. package/dist/page-photos-HRKPDQBM.js +118 -0
  274. package/dist/pages-DTQWQUKP.js +67 -0
  275. package/dist/performance-KSSD473N.js +5556 -0
  276. package/dist/performance-KSSD473N.js.map +1 -0
  277. package/dist/performance-NIF3CESZ.js +27 -0
  278. package/dist/pixels-2BKADWE6.js +109 -0
  279. package/dist/pixels-F6BZNTDD.js +62 -0
  280. package/dist/plan-A6VC3ZO7.js +208 -0
  281. package/dist/preview-GGIGXPJW.js +218 -0
  282. package/dist/promoted-tweet-writes-WU2SKKZF.js +183 -0
  283. package/dist/promoted-tweets-653Q5AC6.js +119 -0
  284. package/dist/properties-VWKO3AAK.js +101 -0
  285. package/dist/publish-IOTMJCCY.js +344 -0
  286. package/dist/query-CXIOL7WI.js +62 -0
  287. package/dist/query-OOP63DJF.js +236 -0
  288. package/dist/query-RBZFAIDK.js +247 -0
  289. package/dist/questionnaire-7SHYRTMJ.js +94 -0
  290. package/dist/read-GOULD7YL.js +141 -0
  291. package/dist/reddit-JIHMAKAQ.js +29 -0
  292. package/dist/refresh-OQZ263CS.js +97 -0
  293. package/dist/release-4CHFURO3.js +63 -0
  294. package/dist/relevant-pages-FS7GBVXK.js +99 -0
  295. package/dist/remove-IJQPHPDI.js +53 -0
  296. package/dist/reopen-YTLPVKUR.js +66 -0
  297. package/dist/rerun-C7NB7B35.js +95 -0
  298. package/dist/research-PNBACCCP.js +72 -0
  299. package/dist/research-TLHNPK3O.js +265 -0
  300. package/dist/reset-JVLW7HA2.js +57 -0
  301. package/dist/reset-Y6FXLAQE.js +57 -0
  302. package/dist/resolve-RCFAYPWR.js +124 -0
  303. package/dist/retry-3V3IGDRR.js +65 -0
  304. package/dist/retry-AEKQLQMP.js +63 -0
  305. package/dist/revenue-3R6JLYCQ.js +91 -0
  306. package/dist/rule-writes-K4P3XBJW.js +525 -0
  307. package/dist/rules-34BQAWU3.js +99 -0
  308. package/dist/rules-HY7S2YTD.js +217 -0
  309. package/dist/rules-add-CM5XUYNS.js +465 -0
  310. package/dist/run-MD64RDHZ.js +69 -0
  311. package/dist/run-QCNRR3CA.js +70 -0
  312. package/dist/scaffold-ad-NADPY3CB.js +1516 -0
  313. package/dist/scaffold-static-ad-5YEYYVYH.js +1015 -0
  314. package/dist/scaffold-video-W7DF2CBJ.js +888 -0
  315. package/dist/schedule-CTRRF6TS.js +64 -0
  316. package/dist/scheduled-agents-OXYAVSIE.js +55 -0
  317. package/dist/schema-6Y3IXFDC.js +69 -0
  318. package/dist/schema-BEUYOGSW.js +135 -0
  319. package/dist/search-GFJKWPKN.js +177 -0
  320. package/dist/select-S72CCL57.js +106 -0
  321. package/dist/sends-WBYTALR7.js +349 -0
  322. package/dist/set-prompt-YYFDRXRI.js +198 -0
  323. package/dist/setup-links-D4JJLESN.js +144 -0
  324. package/dist/shared-CGEJI2RB.js +32 -0
  325. package/dist/shopify-DQWEYPDX.js +3958 -0
  326. package/dist/site-BBZAUZA3.js +180 -0
  327. package/dist/sitemaps-5SP7PVQ6.js +87 -0
  328. package/dist/sites-YZDPHBST.js +101 -0
  329. package/dist/sources-7FIBHL6A.js +457 -0
  330. package/dist/sources-FLUGHSVP.js +30 -0
  331. package/dist/stale-HP54JS5X.js +76 -0
  332. package/dist/stats-EGGNFTKI.js +34 -0
  333. package/dist/status-CLSWQFCQ.js +65 -0
  334. package/dist/studies-6VUUOMZD.js +250 -0
  335. package/dist/studio-T5L7UEX6.js +49 -0
  336. package/dist/study-writes-IR7RSSTK.js +470 -0
  337. package/dist/sync-4YTVVEVC.js +57 -0
  338. package/dist/sync-SCM6JGJP.js +279 -0
  339. package/dist/sync-definition-OGQ5XTQE.js +69 -0
  340. package/dist/tag-manager-REKD4WGU.js +43 -0
  341. package/dist/tags-CZTRQNXV.js +26 -0
  342. package/dist/tags-FDQXWTCQ.js +23 -0
  343. package/dist/tags-R67DKRZ6.js +23 -0
  344. package/dist/tags-SA2LU6AW.js +227 -0
  345. package/dist/tags-ZOXX6VRE.js +23 -0
  346. package/dist/targeting-BQUD54MF.js +762 -0
  347. package/dist/targeting-constants-MRQB4N5I.js +118 -0
  348. package/dist/targeting-criteria-HSAESZIR.js +113 -0
  349. package/dist/targets-UUVCEG3F.js +106 -0
  350. package/dist/terms-D2KAFHKJ.js +102 -0
  351. package/dist/testimonials-G3OCNPBY.js +32 -0
  352. package/dist/themes-X56KIX3Z.js +95 -0
  353. package/dist/top-companies-2RLNCSVS.js +111 -0
  354. package/dist/transcript-U46AEOEI.js +165 -0
  355. package/dist/translate-AS7JVKYM.js +609 -0
  356. package/dist/triggers-ECRBPYYF.js +144 -0
  357. package/dist/tweets-JN6ARKF6.js +123 -0
  358. package/dist/unlink-VDNCSRJV.js +70 -0
  359. package/dist/unstage-5C27F2LZ.js +96 -0
  360. package/dist/unstage-ATDXUYP2.js +88 -0
  361. package/dist/update-FJ6TBV3E.js +101 -0
  362. package/dist/update-HDBJCSTI.js +66 -0
  363. package/dist/update-U43DJRGV.js +155 -0
  364. package/dist/update-Z7TIUBMJ.js +192 -0
  365. package/dist/upload-LXCFSRIU.js +129 -0
  366. package/dist/url-options-C543MY7L.js +131 -0
  367. package/dist/url-params-TEFCXQ5N.js +101 -0
  368. package/dist/validate-VR3HEOMJ.js +122 -0
  369. package/dist/videos-36AXDUGZ.js +41 -0
  370. package/dist/viewer-check-6HL4OUQY.js +83 -0
  371. package/dist/web-7BRJRQX7.js +143 -0
  372. package/dist/winning-ads-GMM5W2O4.js +86 -0
  373. package/dist/write-commands-B25W4FP5.js +713 -0
  374. package/dist/write-commands-DO2YUOMG.js +1502 -0
  375. package/dist/write-commands-GNNEUVDW.js +206 -0
  376. package/dist/write-commands-NXJQQ62W.js +1172 -0
  377. package/dist/x-JNR5SO6F.js +47 -0
  378. package/package.json +1 -1
  379. package/dist/account-QX4G4BJ7.js +0 -82
  380. package/dist/account-UFYZS3K6.js +0 -82
  381. package/dist/account-ZY655BIU.js +0 -139
  382. package/dist/account-assets-J5Z4URLQ.js +0 -290
  383. package/dist/account-level-4SBYYHRS.js +0 -611
  384. package/dist/account-reads-FOEVPWDP.js +0 -219
  385. package/dist/account-users-UTIF7MIT.js +0 -64
  386. package/dist/account-writes-QAQXRIEY.js +0 -68
  387. package/dist/accounts-FT2SRKMD.js +0 -76
  388. package/dist/accounts-JK3OAS5U.js +0 -701
  389. package/dist/accounts-K5XLEO6W.js +0 -114
  390. package/dist/accounts-OE33CKWD.js +0 -80
  391. package/dist/accounts-SNB65ZEW.js +0 -115
  392. package/dist/actions-QZDSLFFK.js +0 -55
  393. package/dist/active-entities-3BAPHE4P.js +0 -103
  394. package/dist/activecampaign-U6TKRR45.js +0 -938
  395. package/dist/activities-LKLPORDI.js +0 -75
  396. package/dist/ad-group-writes-XY5JYTKT.js +0 -172
  397. package/dist/ad-groups-YEO5ZS5U.js +0 -70
  398. package/dist/ad-writes-XRCPK4SP.js +0 -176
  399. package/dist/add-2EF7S4NK.js +0 -305
  400. package/dist/add-YCJ6RXPG.js +0 -107
  401. package/dist/ads-AYJAYLFR.js +0 -48
  402. package/dist/ads-H7H7H2CM.js +0 -79
  403. package/dist/ads-MAOI7S6V.js +0 -115
  404. package/dist/adsets-QRKICEFD.js +0 -182
  405. package/dist/advertisers-JLSU3G35.js +0 -123
  406. package/dist/analytics-ADIWEM6G.js +0 -2437
  407. package/dist/analytics-XB6FRNVJ.js +0 -447
  408. package/dist/animate-HRWFVE2N.js +0 -480
  409. package/dist/asset-writes-JLVUAVUZ.js +0 -50
  410. package/dist/assign-IWZ2OPFL.js +0 -80
  411. package/dist/audience-size-P5L6MZ4C.js +0 -76
  412. package/dist/audience-writes-CDKQB3SM.js +0 -327
  413. package/dist/audiences-34IQKOGS.js +0 -85
  414. package/dist/audiences-CDDI5HR5.js +0 -86
  415. package/dist/audiences-XKERWKKE.js +0 -280
  416. package/dist/audit-7ED6CUTQ.js +0 -88
  417. package/dist/audit-SEADLC6F.js +0 -154
  418. package/dist/autocomplete-AJQBJS5R.js +0 -114
  419. package/dist/avatars-4HCGWBOL.js +0 -38
  420. package/dist/bid-pricing-NWSUO3VM.js +0 -103
  421. package/dist/brand-C6OB6Q4U.js +0 -22
  422. package/dist/brief-LCWWQ4OC.js +0 -543
  423. package/dist/businesses-MGP2YCEU.js +0 -54
  424. package/dist/campaign-groups-PH64UXZJ.js +0 -99
  425. package/dist/campaign-writes-BN3EGDK5.js +0 -168
  426. package/dist/campaign-writes-CLV5ZSUK.js +0 -176
  427. package/dist/campaigns-5XRY27JZ.js +0 -78
  428. package/dist/campaigns-HES5MDUG.js +0 -130
  429. package/dist/campaigns-JF4TYYUP.js +0 -113
  430. package/dist/campaigns-ZYU4BXDP.js +0 -111
  431. package/dist/canvas-AI34UBGU.js +0 -46
  432. package/dist/capabilities-TRHAPTUU.js +0 -147
  433. package/dist/cards-A7GQVC7B.js +0 -85
  434. package/dist/catalog-ZY3MFT55.js +0 -65
  435. package/dist/catalogs-6XLBWAUS.js +0 -130
  436. package/dist/catalogs-TGLSJEK5.js +0 -781
  437. package/dist/changes-OOUVQDBY.js +0 -135
  438. package/dist/chatgpt-NAXIFWXV.js +0 -47
  439. package/dist/chats-I5RHBRS5.js +0 -279
  440. package/dist/check-3E64VBUE.js +0 -107
  441. package/dist/chunk-3CHYJYSS.js +0 -319
  442. package/dist/chunk-3G3GC5N4.js +0 -429
  443. package/dist/chunk-3GAR4AZK.js +0 -149
  444. package/dist/chunk-3M45PYU7.js +0 -274
  445. package/dist/chunk-3QHXF3QI.js +0 -23
  446. package/dist/chunk-3XPHUMLJ.js +0 -3868
  447. package/dist/chunk-45EERHDB.js +0 -783
  448. package/dist/chunk-4FGTANFK.js +0 -387
  449. package/dist/chunk-4IHWT7PH.js +0 -167
  450. package/dist/chunk-4LF4AYPT.js +0 -846
  451. package/dist/chunk-4UQRXKYJ.js +0 -219
  452. package/dist/chunk-5JJD33Y2.js +0 -455
  453. package/dist/chunk-5K4QYYOJ.js +0 -831
  454. package/dist/chunk-5LJ6E4YU.js +0 -163
  455. package/dist/chunk-5T73MMBL.js +0 -275
  456. package/dist/chunk-64MAHLTK.js +0 -363
  457. package/dist/chunk-6OIKNJ7G.js +0 -26
  458. package/dist/chunk-6ZFSDYWV.js +0 -131
  459. package/dist/chunk-7BUIOP36.js +0 -287
  460. package/dist/chunk-7I6ZVBLM.js +0 -358
  461. package/dist/chunk-7NF73SCB.js +0 -106
  462. package/dist/chunk-AN4OEQXE.js +0 -122
  463. package/dist/chunk-AULSX5ZA.js +0 -5368
  464. package/dist/chunk-AVYUFJQQ.js +0 -46
  465. package/dist/chunk-B2POVFR2.js +0 -175
  466. package/dist/chunk-B4YF7VQF.js +0 -97
  467. package/dist/chunk-BDOYNGUL.js +0 -98
  468. package/dist/chunk-BJOK7QD4.js +0 -207
  469. package/dist/chunk-CMCGFSUS.js +0 -197
  470. package/dist/chunk-DM3Q6F5F.js +0 -26
  471. package/dist/chunk-DMJUIUAL.js +0 -676
  472. package/dist/chunk-DUCUOZLS.js +0 -225
  473. package/dist/chunk-EW7JSTRZ.js +0 -24026
  474. package/dist/chunk-EW7JSTRZ.js.map +0 -1
  475. package/dist/chunk-F3CZFUXZ.js +0 -3187
  476. package/dist/chunk-F3CZFUXZ.js.map +0 -1
  477. package/dist/chunk-FJZYOVSW.js +0 -843
  478. package/dist/chunk-FKP4ECJY.js +0 -19
  479. package/dist/chunk-GAYRBIEF.js +0 -712
  480. package/dist/chunk-GAYRBIEF.js.map +0 -1
  481. package/dist/chunk-GNMEOU46.js +0 -8954
  482. package/dist/chunk-GU5MXV2Y.js +0 -191
  483. package/dist/chunk-GYKYXWUQ.js +0 -156
  484. package/dist/chunk-GYPLRU4Y.js +0 -297
  485. package/dist/chunk-HGUYC5K6.js +0 -76
  486. package/dist/chunk-HMIROUFV.js +0 -74
  487. package/dist/chunk-I43ZEWJQ.js +0 -285
  488. package/dist/chunk-IZABTTW5.js +0 -228
  489. package/dist/chunk-K7IE6UYV.js +0 -1646
  490. package/dist/chunk-KH5YHHJV.js +0 -604
  491. package/dist/chunk-KMY7AD3N.js +0 -51
  492. package/dist/chunk-KPCHWDJM.js +0 -8914
  493. package/dist/chunk-KTZCLJ2D.js +0 -148
  494. package/dist/chunk-KUY26RCF.js +0 -200
  495. package/dist/chunk-MKUA54QE.js +0 -638
  496. package/dist/chunk-MTV2RSGY.js +0 -63
  497. package/dist/chunk-MUS2UTWU.js +0 -4254
  498. package/dist/chunk-MUS2UTWU.js.map +0 -1
  499. package/dist/chunk-N2QX57K3.js +0 -392
  500. package/dist/chunk-NEYWS2DQ.js +0 -479
  501. package/dist/chunk-NWF2LRKO.js +0 -188
  502. package/dist/chunk-NZ34KM46.js +0 -7211
  503. package/dist/chunk-OTC6UMJ2.js +0 -191
  504. package/dist/chunk-OUY2IAWL.js +0 -224
  505. package/dist/chunk-PJXNCRMR.js +0 -344
  506. package/dist/chunk-PYQ3GF7R.js +0 -91
  507. package/dist/chunk-Q3EIVZAR.js +0 -170
  508. package/dist/chunk-QDQZ62FL.js +0 -207
  509. package/dist/chunk-QHZE62GP.js +0 -1919
  510. package/dist/chunk-RCJKABOS.js +0 -74
  511. package/dist/chunk-RGR6TSTJ.js +0 -103
  512. package/dist/chunk-SAAXU7QR.js +0 -203
  513. package/dist/chunk-SHTKLRI6.js +0 -66
  514. package/dist/chunk-SIKCVWM3.js +0 -76
  515. package/dist/chunk-SSXG53CZ.js +0 -89
  516. package/dist/chunk-TBWAM577.js +0 -547
  517. package/dist/chunk-TGPGQTZA.js +0 -169
  518. package/dist/chunk-TLQOMWLQ.js +0 -69
  519. package/dist/chunk-UMIX2BMM.js +0 -1518
  520. package/dist/chunk-URMAEVZO.js +0 -150
  521. package/dist/chunk-VBO3ZVUU.js +0 -61
  522. package/dist/chunk-VFLYMHTO.js +0 -592
  523. package/dist/chunk-VGYIVXIZ.js +0 -249
  524. package/dist/chunk-VIB7R533.js +0 -57
  525. package/dist/chunk-WVWLPXBO.js +0 -910
  526. package/dist/chunk-XEH5XAP6.js +0 -494
  527. package/dist/chunk-XEOKVL4E.js +0 -142
  528. package/dist/chunk-XOGQJYXH.js +0 -64
  529. package/dist/chunk-XUXRA7IB.js +0 -942
  530. package/dist/chunk-ZRP7Y2DM.js +0 -320
  531. package/dist/chunk-ZRP7Y2DM.js.map +0 -1
  532. package/dist/claim-FIK2YTLM.js +0 -200
  533. package/dist/companies-KMMV6EJW.js +0 -198
  534. package/dist/company-B54URPJG.js +0 -308
  535. package/dist/complete-PPCWEXS3.js +0 -84
  536. package/dist/config-SMVIY6RW.js +0 -88
  537. package/dist/connect-IAXSZPGA.js +0 -45
  538. package/dist/conversation-KHTZBGX2.js +0 -96
  539. package/dist/conversion-report-U66HW6JM.js +0 -127
  540. package/dist/conversion-upload-command-IHFKVX2M.js +0 -439
  541. package/dist/conversion-writes-RSGDOAET.js +0 -122
  542. package/dist/conversions-BVOL43W4.js +0 -78
  543. package/dist/conversions-SUMZAV2T.js +0 -140
  544. package/dist/copy-writes-CIHIFLY6.js +0 -170
  545. package/dist/create-732HQL3C.js +0 -210
  546. package/dist/create-TFR6R2KF.js +0 -239
  547. package/dist/create-UC57ULRL.js +0 -62
  548. package/dist/create-UL2OYXOA.js +0 -135
  549. package/dist/creatives-BB6S2OF6.js +0 -89
  550. package/dist/creatives-BZEVJ6ER.js +0 -58
  551. package/dist/creatives-FU3YELGU.js +0 -223
  552. package/dist/credentials-AYV5YQE4.js +0 -290
  553. package/dist/critique-FKIJB72I.js +0 -1451
  554. package/dist/critique-IQYNDXCN.js +0 -232
  555. package/dist/crm-ILQMNJPX.js +0 -323
  556. package/dist/crm-MQQRBITZ.js +0 -227
  557. package/dist/currency-CGKO5GKH.js +0 -88
  558. package/dist/custom-conversions-HAGG72LF.js +0 -128
  559. package/dist/customers-NKKU6S7G.js +0 -59
  560. package/dist/delete-2TCCNRMH.js +0 -57
  561. package/dist/delete-HCZTISBT.js +0 -69
  562. package/dist/delete-UIKB5ZXS.js +0 -67
  563. package/dist/demographics-ABZODD45.js +0 -141
  564. package/dist/discard-V3K5PZ4W.js +0 -69
  565. package/dist/discover-VM3O7CQM.js +0 -172
  566. package/dist/domain-A66DHOTQ.js +0 -101
  567. package/dist/download-LSAZD5JO.js +0 -172
  568. package/dist/draft-5UUJC675.js +0 -335
  569. package/dist/draft-BATA5CVI.js +0 -283
  570. package/dist/draft-CRDBU6LF.js +0 -308
  571. package/dist/draft-DJIYEMZU.js +0 -103
  572. package/dist/draft-P7IDMXWR.js +0 -310
  573. package/dist/draft-RIR2V6A2.js +0 -238
  574. package/dist/draft-YBNL4ZZA.js +0 -220
  575. package/dist/draft-ZCL7FVBH.js +0 -100
  576. package/dist/experiment-I5CRLOVN.js +0 -1397
  577. package/dist/experiments-MLLTHMMS.js +0 -236
  578. package/dist/facets-KSHR3MBE.js +0 -117
  579. package/dist/feedback-4GCPXZSI.js +0 -111
  580. package/dist/feedback-record-VEFHUIUJ.js +0 -265
  581. package/dist/fetch-42QL56JC.js +0 -179
  582. package/dist/fit-Q5GRVF2O.js +0 -65
  583. package/dist/flows-M3WBZQET.js +0 -250
  584. package/dist/fonts-GD4YRXQU.js +0 -39
  585. package/dist/forecast-HT46MFL4.js +0 -121
  586. package/dist/forecast-ONVS2QAI.js +0 -169
  587. package/dist/funding-5W4LX6DU.js +0 -85
  588. package/dist/funnel-76BAD64Q.js +0 -397
  589. package/dist/ga4-BWVCDVIR.js +0 -55
  590. package/dist/generate-VBEY3N3L.js +0 -263
  591. package/dist/get-4KFAO475.js +0 -82
  592. package/dist/get-QV5NIADE.js +0 -59
  593. package/dist/google-7EZP7I6J.js +0 -3267
  594. package/dist/google-ads-J7WHTJO4.js +0 -198
  595. package/dist/gsc-2MPE4N32.js +0 -30
  596. package/dist/history-EULKWQUS.js +0 -136
  597. package/dist/history-FEBJHFHJ.js +0 -69
  598. package/dist/history-RDVV7KBN.js +0 -102
  599. package/dist/hubspot-A3RQNMYN.js +0 -782
  600. package/dist/ideas-WX7EBPSF.js +0 -45
  601. package/dist/images-4AXF4LAC.js +0 -92
  602. package/dist/ingest-AM5YDTRH.js +0 -110
  603. package/dist/ingest-C3M4GUO6.js +0 -26
  604. package/dist/insights-UTCMSWSC.js +0 -132
  605. package/dist/insights-XZL2EM53.js +0 -439
  606. package/dist/inspect-DWCLRZGR.js +0 -192
  607. package/dist/instant-experiences-RM4MLJTL.js +0 -260
  608. package/dist/intent-ZMYMFGB4.js +0 -95
  609. package/dist/job-DRFCQ27M.js +0 -202
  610. package/dist/job-create-2EC25Y3J.js +0 -109
  611. package/dist/job-status-UNVZRPIA.js +0 -74
  612. package/dist/keyword-gap-XSJO2R77.js +0 -130
  613. package/dist/keyword-metrics-M46FCTAS.js +0 -200
  614. package/dist/keywords-for-site-XNSLX7EA.js +0 -131
  615. package/dist/landing-MUNYZQNA.js +0 -28
  616. package/dist/languages-DIQ3OG3E.js +0 -40
  617. package/dist/lead-routes-B4FBXNEC.js +0 -639
  618. package/dist/lead-routes-B4FBXNEC.js.map +0 -1
  619. package/dist/leads-LAATTW5G.js +0 -115
  620. package/dist/leads-ULYHTG22.js +0 -540
  621. package/dist/learn-3GLY4G3H.js +0 -207
  622. package/dist/line-item-writes-XJTTA3X5.js +0 -211
  623. package/dist/line-items-JR25T2C5.js +0 -107
  624. package/dist/link-7DSLIF3I.js +0 -67
  625. package/dist/linkedin-W5BJ6HEH.js +0 -1316
  626. package/dist/linkedin-person-2ZYSOHYR.js +0 -139
  627. package/dist/list-3653DIYB.js +0 -67
  628. package/dist/list-G66HVYCR.js +0 -306
  629. package/dist/list-Z4M53MS5.js +0 -154
  630. package/dist/locations-HTVYJSDJ.js +0 -40
  631. package/dist/locations-M2B5XDU4.js +0 -69
  632. package/dist/log-2RJU5BOW.js +0 -95
  633. package/dist/lookup-S5VG7AWH.js +0 -23
  634. package/dist/make-MJ6JMU5T.js +0 -1370
  635. package/dist/map-27IPOBY6.js +0 -436
  636. package/dist/mcp-TFQTME4P.js +0 -717
  637. package/dist/mcp-TFQTME4P.js.map +0 -1
  638. package/dist/media-P4T4ZBNS.js +0 -18
  639. package/dist/media-XCTZJIW4.js +0 -89
  640. package/dist/media-sources-P246GM7W.js +0 -35
  641. package/dist/members-KOKBTUC2.js +0 -47
  642. package/dist/meta-IPLWNYC7.js +0 -122
  643. package/dist/metrics-WYWUX6Y5.js +0 -152
  644. package/dist/models-HJ7Y55AH.js +0 -155
  645. package/dist/normalize-GXBUNTYJ.js +0 -144
  646. package/dist/options-MA25RNXF.js +0 -125
  647. package/dist/organization-NLEVNGKQ.js +0 -949
  648. package/dist/output-WTEPRUPE.js +0 -24
  649. package/dist/page-photos-OQ5QATQH.js +0 -118
  650. package/dist/pages-J6AF5NDU.js +0 -67
  651. package/dist/performance-34EUP5KL.js +0 -5541
  652. package/dist/performance-34EUP5KL.js.map +0 -1
  653. package/dist/performance-J3DLNI2W.js +0 -27
  654. package/dist/pixels-THEGYRXT.js +0 -62
  655. package/dist/pixels-ZZTB6NWF.js +0 -109
  656. package/dist/plan-7UF76Q6U.js +0 -208
  657. package/dist/preview-LRJOQ7LM.js +0 -218
  658. package/dist/promoted-tweet-writes-SBXWKO23.js +0 -183
  659. package/dist/promoted-tweets-W42FNWS7.js +0 -119
  660. package/dist/properties-RBLJCVSG.js +0 -101
  661. package/dist/publish-YG76GOA7.js +0 -344
  662. package/dist/query-BJJYUGQZ.js +0 -247
  663. package/dist/query-IQICLABN.js +0 -62
  664. package/dist/query-KQ675KJZ.js +0 -236
  665. package/dist/questionnaire-DWEH5II4.js +0 -94
  666. package/dist/read-QME7JYVF.js +0 -141
  667. package/dist/reddit-X4CERXYF.js +0 -29
  668. package/dist/refresh-A36GA7JN.js +0 -97
  669. package/dist/release-3NCMZIDI.js +0 -63
  670. package/dist/relevant-pages-UDDQOYLD.js +0 -99
  671. package/dist/remove-6LE3XNRG.js +0 -53
  672. package/dist/reopen-XLADJ2UU.js +0 -66
  673. package/dist/rerun-QVMFJZA2.js +0 -95
  674. package/dist/research-D5UUJF74.js +0 -72
  675. package/dist/research-QCI5ISUE.js +0 -265
  676. package/dist/reset-DD37KDXQ.js +0 -57
  677. package/dist/reset-FLZPKY2N.js +0 -57
  678. package/dist/resolve-KRKIJKT7.js +0 -124
  679. package/dist/retry-ALXYEKFV.js +0 -65
  680. package/dist/retry-MIXKW4EW.js +0 -63
  681. package/dist/revenue-UBZUTSXN.js +0 -91
  682. package/dist/rule-writes-UAVWT4XS.js +0 -525
  683. package/dist/rules-SO6P44B6.js +0 -99
  684. package/dist/rules-ZVS2MWED.js +0 -217
  685. package/dist/rules-add-XN3BZKFO.js +0 -465
  686. package/dist/run-K2DOMOAN.js +0 -69
  687. package/dist/run-T7XAH2W5.js +0 -70
  688. package/dist/scaffold-ad-TWIT7R4U.js +0 -1516
  689. package/dist/scaffold-static-ad-GPJKOGOI.js +0 -1015
  690. package/dist/scaffold-video-7BQNOJ4S.js +0 -888
  691. package/dist/schedule-UTRVEWPE.js +0 -64
  692. package/dist/scheduled-agents-ZGCUZ6SB.js +0 -55
  693. package/dist/schema-D6BMZAPB.js +0 -69
  694. package/dist/schema-DSMF6ELE.js +0 -135
  695. package/dist/search-2P72GSKY.js +0 -177
  696. package/dist/select-N7VWQ2ZQ.js +0 -106
  697. package/dist/sends-LAY5C74B.js +0 -349
  698. package/dist/set-prompt-3N3HMHT6.js +0 -198
  699. package/dist/setup-links-I5RFZTS4.js +0 -144
  700. package/dist/shared-ZFULUOPQ.js +0 -32
  701. package/dist/shopify-LXSR37XI.js +0 -3958
  702. package/dist/site-AI3BFWRK.js +0 -180
  703. package/dist/sitemaps-F3HYH5ZP.js +0 -87
  704. package/dist/sites-JSMF72BY.js +0 -101
  705. package/dist/sources-AOF2YDYX.js +0 -457
  706. package/dist/sources-DVMJEXEX.js +0 -30
  707. package/dist/stale-P4GGOLIB.js +0 -76
  708. package/dist/stats-QP4LFQZJ.js +0 -34
  709. package/dist/status-O25MXHU4.js +0 -65
  710. package/dist/studies-EPO2AM4M.js +0 -250
  711. package/dist/studio-5Z4NMA4K.js +0 -49
  712. package/dist/study-writes-7FP443QQ.js +0 -470
  713. package/dist/sync-2AI7LKKN.js +0 -57
  714. package/dist/sync-PHH65JFS.js +0 -279
  715. package/dist/sync-definition-F3CXG6KG.js +0 -69
  716. package/dist/tag-manager-F7PVTDBB.js +0 -43
  717. package/dist/tags-SEZ2CQJM.js +0 -26
  718. package/dist/tags-TJDZXOXS.js +0 -227
  719. package/dist/tags-YSC7ZILI.js +0 -23
  720. package/dist/tags-Z6EALYOS.js +0 -23
  721. package/dist/tags-ZXSVW6XO.js +0 -23
  722. package/dist/targeting-NKZFEZD7.js +0 -762
  723. package/dist/targeting-constants-236ES5HE.js +0 -118
  724. package/dist/targeting-criteria-AU5CSMAU.js +0 -113
  725. package/dist/targets-IOIH5JYS.js +0 -106
  726. package/dist/terms-O6ODXEOK.js +0 -102
  727. package/dist/testimonials-Y6PUV6AL.js +0 -32
  728. package/dist/themes-PGPIAKAO.js +0 -95
  729. package/dist/top-companies-FSITN3ZR.js +0 -111
  730. package/dist/transcript-CGPX7Y37.js +0 -165
  731. package/dist/translate-QCBMGOKR.js +0 -609
  732. package/dist/triggers-MONMZSKT.js +0 -144
  733. package/dist/tweets-IUINLOXF.js +0 -123
  734. package/dist/unlink-I7QFQQKO.js +0 -70
  735. package/dist/unstage-JXG5AU5Q.js +0 -88
  736. package/dist/unstage-ZA3WQBEA.js +0 -96
  737. package/dist/update-BVZGM54I.js +0 -66
  738. package/dist/update-EI2BHUM2.js +0 -101
  739. package/dist/update-RZSV4NYP.js +0 -155
  740. package/dist/update-WLDNOZ5U.js +0 -192
  741. package/dist/upload-BP3YEQSF.js +0 -129
  742. package/dist/url-options-63DED6CR.js +0 -131
  743. package/dist/url-params-TRFI2PMD.js +0 -101
  744. package/dist/validate-SNCR25A7.js +0 -122
  745. package/dist/videos-SVZV5YYC.js +0 -41
  746. package/dist/viewer-check-LUAEGV6H.js +0 -83
  747. package/dist/web-MJQEK7BB.js +0 -143
  748. package/dist/winning-ads-KNLJHHCO.js +0 -86
  749. package/dist/write-commands-5J47ZNO4.js +0 -206
  750. package/dist/write-commands-NVCX7IAU.js +0 -1502
  751. package/dist/write-commands-OGVDWWBV.js +0 -1172
  752. package/dist/write-commands-OTWH6BKZ.js +0 -713
  753. package/dist/x-ZQNHYIDU.js +0 -47
  754. /package/dist/{account-ZY655BIU.js.map → account-BA3IO3AN.js.map} +0 -0
  755. /package/dist/{account-UFYZS3K6.js.map → account-LVJFHDA3.js.map} +0 -0
  756. /package/dist/{account-QX4G4BJ7.js.map → account-PTJ6OK6Z.js.map} +0 -0
  757. /package/dist/{account-assets-J5Z4URLQ.js.map → account-assets-T3VVNBUG.js.map} +0 -0
  758. /package/dist/{account-level-4SBYYHRS.js.map → account-level-MPFWRPEK.js.map} +0 -0
  759. /package/dist/{account-reads-FOEVPWDP.js.map → account-reads-5CXFLJ5Q.js.map} +0 -0
  760. /package/dist/{account-users-UTIF7MIT.js.map → account-users-B7DCJEFD.js.map} +0 -0
  761. /package/dist/{account-writes-QAQXRIEY.js.map → account-writes-W5EOTS7P.js.map} +0 -0
  762. /package/dist/{accounts-FT2SRKMD.js.map → accounts-4R3MBNJG.js.map} +0 -0
  763. /package/dist/{accounts-SNB65ZEW.js.map → accounts-5WF7VE7J.js.map} +0 -0
  764. /package/dist/{accounts-JK3OAS5U.js.map → accounts-IQTEH4BX.js.map} +0 -0
  765. /package/dist/{accounts-OE33CKWD.js.map → accounts-SV7JZUCC.js.map} +0 -0
  766. /package/dist/{accounts-K5XLEO6W.js.map → accounts-VPWCLF6X.js.map} +0 -0
  767. /package/dist/{actions-QZDSLFFK.js.map → actions-D7OWCP36.js.map} +0 -0
  768. /package/dist/{active-entities-3BAPHE4P.js.map → active-entities-WDPW7652.js.map} +0 -0
  769. /package/dist/{activecampaign-U6TKRR45.js.map → activecampaign-LBS4M4C4.js.map} +0 -0
  770. /package/dist/{activities-LKLPORDI.js.map → activities-WGPHYSFU.js.map} +0 -0
  771. /package/dist/{ad-group-writes-XY5JYTKT.js.map → ad-group-writes-JL56DPC4.js.map} +0 -0
  772. /package/dist/{ad-groups-YEO5ZS5U.js.map → ad-groups-62JPLIK3.js.map} +0 -0
  773. /package/dist/{ad-writes-XRCPK4SP.js.map → ad-writes-WSKLRGB7.js.map} +0 -0
  774. /package/dist/{add-YCJ6RXPG.js.map → add-HFQB2NTU.js.map} +0 -0
  775. /package/dist/{add-2EF7S4NK.js.map → add-IUYE5H6A.js.map} +0 -0
  776. /package/dist/{ads-MAOI7S6V.js.map → ads-F7AUJWK7.js.map} +0 -0
  777. /package/dist/{ads-H7H7H2CM.js.map → ads-JFI56MZL.js.map} +0 -0
  778. /package/dist/{ads-AYJAYLFR.js.map → ads-WCLT2RRR.js.map} +0 -0
  779. /package/dist/{adsets-QRKICEFD.js.map → adsets-XH2ULWPM.js.map} +0 -0
  780. /package/dist/{advertisers-JLSU3G35.js.map → advertisers-XXM6POO5.js.map} +0 -0
  781. /package/dist/{analytics-XB6FRNVJ.js.map → analytics-MJT6DS3L.js.map} +0 -0
  782. /package/dist/{analytics-ADIWEM6G.js.map → analytics-W7EUOI2Q.js.map} +0 -0
  783. /package/dist/{animate-HRWFVE2N.js.map → animate-2BMHZ4FM.js.map} +0 -0
  784. /package/dist/{asset-writes-JLVUAVUZ.js.map → asset-writes-4X3AJQ4Q.js.map} +0 -0
  785. /package/dist/{assign-IWZ2OPFL.js.map → assign-2GQVQKKO.js.map} +0 -0
  786. /package/dist/{audience-size-P5L6MZ4C.js.map → audience-size-VHXBNNIB.js.map} +0 -0
  787. /package/dist/{audience-writes-CDKQB3SM.js.map → audience-writes-TXWPDJ2F.js.map} +0 -0
  788. /package/dist/{audiences-XKERWKKE.js.map → audiences-B2LFKWIS.js.map} +0 -0
  789. /package/dist/{audiences-CDDI5HR5.js.map → audiences-MBBXWEOI.js.map} +0 -0
  790. /package/dist/{audiences-34IQKOGS.js.map → audiences-YUG5JLL4.js.map} +0 -0
  791. /package/dist/{audit-SEADLC6F.js.map → audit-VT2WSZWM.js.map} +0 -0
  792. /package/dist/{audit-7ED6CUTQ.js.map → audit-WFXS5ELM.js.map} +0 -0
  793. /package/dist/{autocomplete-AJQBJS5R.js.map → autocomplete-ZYMHHV7E.js.map} +0 -0
  794. /package/dist/{avatars-4HCGWBOL.js.map → avatars-WZ2JDMHH.js.map} +0 -0
  795. /package/dist/{bid-pricing-NWSUO3VM.js.map → bid-pricing-5F3GBSAI.js.map} +0 -0
  796. /package/dist/{brand-C6OB6Q4U.js.map → brand-IZTTBZII.js.map} +0 -0
  797. /package/dist/{brief-LCWWQ4OC.js.map → brief-OPQ7ICOY.js.map} +0 -0
  798. /package/dist/{businesses-MGP2YCEU.js.map → businesses-24JNY46Z.js.map} +0 -0
  799. /package/dist/{campaign-groups-PH64UXZJ.js.map → campaign-groups-BDCDTMBF.js.map} +0 -0
  800. /package/dist/{campaign-writes-BN3EGDK5.js.map → campaign-writes-73H7G3JM.js.map} +0 -0
  801. /package/dist/{campaign-writes-CLV5ZSUK.js.map → campaign-writes-FNVOHONL.js.map} +0 -0
  802. /package/dist/{campaigns-5XRY27JZ.js.map → campaigns-FUDZUVHN.js.map} +0 -0
  803. /package/dist/{campaigns-JF4TYYUP.js.map → campaigns-J65Q4WAZ.js.map} +0 -0
  804. /package/dist/{campaigns-HES5MDUG.js.map → campaigns-KXYGSH27.js.map} +0 -0
  805. /package/dist/{campaigns-ZYU4BXDP.js.map → campaigns-U5FQ2VWL.js.map} +0 -0
  806. /package/dist/{canvas-AI34UBGU.js.map → canvas-IQ753Q2O.js.map} +0 -0
  807. /package/dist/{capabilities-TRHAPTUU.js.map → capabilities-ZITW4RF7.js.map} +0 -0
  808. /package/dist/{cards-A7GQVC7B.js.map → cards-NSNAFTEB.js.map} +0 -0
  809. /package/dist/{catalog-ZY3MFT55.js.map → catalog-TZLU5NWI.js.map} +0 -0
  810. /package/dist/{catalogs-6XLBWAUS.js.map → catalogs-OWQGGCIO.js.map} +0 -0
  811. /package/dist/{catalogs-TGLSJEK5.js.map → catalogs-VZYAATUR.js.map} +0 -0
  812. /package/dist/{changes-OOUVQDBY.js.map → changes-RDWMNSTK.js.map} +0 -0
  813. /package/dist/{chatgpt-NAXIFWXV.js.map → chatgpt-27NEJVGF.js.map} +0 -0
  814. /package/dist/{chats-I5RHBRS5.js.map → chats-AL2SYBJO.js.map} +0 -0
  815. /package/dist/{check-3E64VBUE.js.map → check-U2YLRD6H.js.map} +0 -0
  816. /package/dist/{chunk-KUY26RCF.js.map → chunk-2F4DELSV.js.map} +0 -0
  817. /package/dist/{chunk-Q3EIVZAR.js.map → chunk-2GYCWRF3.js.map} +0 -0
  818. /package/dist/{chunk-VBO3ZVUU.js.map → chunk-2L7F7KR4.js.map} +0 -0
  819. /package/dist/{chunk-6ZFSDYWV.js.map → chunk-3YJNSUNF.js.map} +0 -0
  820. /package/dist/{chunk-IZABTTW5.js.map → chunk-44ZRCSR7.js.map} +0 -0
  821. /package/dist/{chunk-64MAHLTK.js.map → chunk-4EDWXZ3I.js.map} +0 -0
  822. /package/dist/{chunk-SHTKLRI6.js.map → chunk-4FFBGR5L.js.map} +0 -0
  823. /package/dist/{chunk-VFLYMHTO.js.map → chunk-4UZUUSVL.js.map} +0 -0
  824. /package/dist/{chunk-5K4QYYOJ.js.map → chunk-4XHCEYHI.js.map} +0 -0
  825. /package/dist/{chunk-NEYWS2DQ.js.map → chunk-4Z6PVR3M.js.map} +0 -0
  826. /package/dist/{chunk-AN4OEQXE.js.map → chunk-5Y5FZV2W.js.map} +0 -0
  827. /package/dist/{chunk-N2QX57K3.js.map → chunk-6HJXLGDV.js.map} +0 -0
  828. /package/dist/{chunk-KPCHWDJM.js.map → chunk-6KWEF6HF.js.map} +0 -0
  829. /package/dist/{chunk-3G3GC5N4.js.map → chunk-6S5CWGDA.js.map} +0 -0
  830. /package/dist/{chunk-XEH5XAP6.js.map → chunk-6VYROVWO.js.map} +0 -0
  831. /package/dist/{chunk-FJZYOVSW.js.map → chunk-7HZSORAB.js.map} +0 -0
  832. /package/dist/{chunk-MKUA54QE.js.map → chunk-A3IQAONL.js.map} +0 -0
  833. /package/dist/{chunk-3CHYJYSS.js.map → chunk-AQRXXC6E.js.map} +0 -0
  834. /package/dist/{chunk-4FGTANFK.js.map → chunk-ARBXT73X.js.map} +0 -0
  835. /package/dist/{chunk-B4YF7VQF.js.map → chunk-BEZHQIEI.js.map} +0 -0
  836. /package/dist/{chunk-TBWAM577.js.map → chunk-BFURWHVR.js.map} +0 -0
  837. /package/dist/{chunk-TGPGQTZA.js.map → chunk-EZSPVWLQ.js.map} +0 -0
  838. /package/dist/{chunk-UMIX2BMM.js.map → chunk-F4YQ5PVR.js.map} +0 -0
  839. /package/dist/{chunk-DM3Q6F5F.js.map → chunk-FCHZ5TNG.js.map} +0 -0
  840. /package/dist/{chunk-XOGQJYXH.js.map → chunk-FFG2OYVV.js.map} +0 -0
  841. /package/dist/{chunk-3QHXF3QI.js.map → chunk-FLWDFPXE.js.map} +0 -0
  842. /package/dist/{chunk-4LF4AYPT.js.map → chunk-FQMEX3GX.js.map} +0 -0
  843. /package/dist/{chunk-KMY7AD3N.js.map → chunk-GE3VT3CA.js.map} +0 -0
  844. /package/dist/{chunk-7I6ZVBLM.js.map → chunk-GHZ6HP2X.js.map} +0 -0
  845. /package/dist/{chunk-HMIROUFV.js.map → chunk-HCQJYI6X.js.map} +0 -0
  846. /package/dist/{chunk-XEOKVL4E.js.map → chunk-HGBJQGO5.js.map} +0 -0
  847. /package/dist/{chunk-GU5MXV2Y.js.map → chunk-HHVWV5BJ.js.map} +0 -0
  848. /package/dist/{chunk-DUCUOZLS.js.map → chunk-HML3VQIW.js.map} +0 -0
  849. /package/dist/{chunk-HGUYC5K6.js.map → chunk-I3WGTSDY.js.map} +0 -0
  850. /package/dist/{chunk-45EERHDB.js.map → chunk-I7AYMJZA.js.map} +0 -0
  851. /package/dist/{chunk-7NF73SCB.js.map → chunk-IDSDJHRS.js.map} +0 -0
  852. /package/dist/{chunk-QDQZ62FL.js.map → chunk-ILPHIYAL.js.map} +0 -0
  853. /package/dist/{chunk-GYKYXWUQ.js.map → chunk-IWKD56AY.js.map} +0 -0
  854. /package/dist/{chunk-6OIKNJ7G.js.map → chunk-JAC6JVCI.js.map} +0 -0
  855. /package/dist/{chunk-3XPHUMLJ.js.map → chunk-JLAQWMVF.js.map} +0 -0
  856. /package/dist/{chunk-VIB7R533.js.map → chunk-K6NULQN7.js.map} +0 -0
  857. /package/dist/{chunk-FKP4ECJY.js.map → chunk-L2BRAC2J.js.map} +0 -0
  858. /package/dist/{chunk-5JJD33Y2.js.map → chunk-LGMI4LSY.js.map} +0 -0
  859. /package/dist/{chunk-3GAR4AZK.js.map → chunk-LNODLR7W.js.map} +0 -0
  860. /package/dist/{chunk-3M45PYU7.js.map → chunk-LQ2BRGMX.js.map} +0 -0
  861. /package/dist/{chunk-QHZE62GP.js.map → chunk-LRV6M2WB.js.map} +0 -0
  862. /package/dist/{chunk-B2POVFR2.js.map → chunk-M7QZSEHF.js.map} +0 -0
  863. /package/dist/{chunk-AVYUFJQQ.js.map → chunk-MVD7QIXI.js.map} +0 -0
  864. /package/dist/{chunk-SIKCVWM3.js.map → chunk-MZPS46OR.js.map} +0 -0
  865. /package/dist/{chunk-BJOK7QD4.js.map → chunk-NFII3MTG.js.map} +0 -0
  866. /package/dist/{chunk-5T73MMBL.js.map → chunk-OG47L5GG.js.map} +0 -0
  867. /package/dist/{chunk-NZ34KM46.js.map → chunk-PC3FJEZH.js.map} +0 -0
  868. /package/dist/{chunk-4IHWT7PH.js.map → chunk-PX3PUDK7.js.map} +0 -0
  869. /package/dist/{chunk-PJXNCRMR.js.map → chunk-QIOFOD4K.js.map} +0 -0
  870. /package/dist/{chunk-VGYIVXIZ.js.map → chunk-R2SYF5FC.js.map} +0 -0
  871. /package/dist/{chunk-XUXRA7IB.js.map → chunk-RTH2I55B.js.map} +0 -0
  872. /package/dist/{chunk-MTV2RSGY.js.map → chunk-S6VFDNSQ.js.map} +0 -0
  873. /package/dist/{chunk-URMAEVZO.js.map → chunk-SG2TDQEE.js.map} +0 -0
  874. /package/dist/{chunk-KTZCLJ2D.js.map → chunk-SWN6OHXG.js.map} +0 -0
  875. /package/dist/{chunk-SSXG53CZ.js.map → chunk-T3P6O2VU.js.map} +0 -0
  876. /package/dist/{chunk-RCJKABOS.js.map → chunk-TU5LQUJM.js.map} +0 -0
  877. /package/dist/{chunk-TLQOMWLQ.js.map → chunk-TU7DWSTW.js.map} +0 -0
  878. /package/dist/{chunk-AULSX5ZA.js.map → chunk-TX7CQTD4.js.map} +0 -0
  879. /package/dist/{chunk-KH5YHHJV.js.map → chunk-TXDE2QJ3.js.map} +0 -0
  880. /package/dist/{chunk-7BUIOP36.js.map → chunk-TYXZ2SRW.js.map} +0 -0
  881. /package/dist/{chunk-SAAXU7QR.js.map → chunk-UDIEKCIR.js.map} +0 -0
  882. /package/dist/{chunk-BDOYNGUL.js.map → chunk-UKSSNYLU.js.map} +0 -0
  883. /package/dist/{chunk-DMJUIUAL.js.map → chunk-UQHHGT67.js.map} +0 -0
  884. /package/dist/{chunk-5LJ6E4YU.js.map → chunk-USCADMM3.js.map} +0 -0
  885. /package/dist/{chunk-WVWLPXBO.js.map → chunk-UUGISMNE.js.map} +0 -0
  886. /package/dist/{chunk-CMCGFSUS.js.map → chunk-VDPOCAQ2.js.map} +0 -0
  887. /package/dist/{chunk-RGR6TSTJ.js.map → chunk-VEJ3QX6M.js.map} +0 -0
  888. /package/dist/{chunk-PYQ3GF7R.js.map → chunk-VFJB7OG6.js.map} +0 -0
  889. /package/dist/{chunk-NWF2LRKO.js.map → chunk-VPABGAN4.js.map} +0 -0
  890. /package/dist/{chunk-GNMEOU46.js.map → chunk-VRIPVLE7.js.map} +0 -0
  891. /package/dist/{chunk-OUY2IAWL.js.map → chunk-YILZR3XI.js.map} +0 -0
  892. /package/dist/{chunk-OTC6UMJ2.js.map → chunk-YJFLXOH4.js.map} +0 -0
  893. /package/dist/{chunk-I43ZEWJQ.js.map → chunk-YNYAT2TZ.js.map} +0 -0
  894. /package/dist/{chunk-GYPLRU4Y.js.map → chunk-YWHZYR6S.js.map} +0 -0
  895. /package/dist/{chunk-4UQRXKYJ.js.map → chunk-Z35KUMBW.js.map} +0 -0
  896. /package/dist/{chunk-K7IE6UYV.js.map → chunk-Z7I2ZFXS.js.map} +0 -0
  897. /package/dist/{claim-FIK2YTLM.js.map → claim-GOLUTAJ3.js.map} +0 -0
  898. /package/dist/{companies-KMMV6EJW.js.map → companies-CSN7DPYW.js.map} +0 -0
  899. /package/dist/{company-B54URPJG.js.map → company-MOSPLRZJ.js.map} +0 -0
  900. /package/dist/{complete-PPCWEXS3.js.map → complete-777BDV45.js.map} +0 -0
  901. /package/dist/{config-SMVIY6RW.js.map → config-55WGRLY3.js.map} +0 -0
  902. /package/dist/{connect-IAXSZPGA.js.map → connect-3YY7MF3I.js.map} +0 -0
  903. /package/dist/{conversation-KHTZBGX2.js.map → conversation-6K2TNYBQ.js.map} +0 -0
  904. /package/dist/{conversion-report-U66HW6JM.js.map → conversion-report-WYYB3BK2.js.map} +0 -0
  905. /package/dist/{conversion-upload-command-IHFKVX2M.js.map → conversion-upload-command-VM2P57K6.js.map} +0 -0
  906. /package/dist/{conversion-writes-RSGDOAET.js.map → conversion-writes-DHOPMA7X.js.map} +0 -0
  907. /package/dist/{conversions-BVOL43W4.js.map → conversions-KWY7BNDN.js.map} +0 -0
  908. /package/dist/{conversions-SUMZAV2T.js.map → conversions-MLRK35ZV.js.map} +0 -0
  909. /package/dist/{copy-writes-CIHIFLY6.js.map → copy-writes-E3V5TUVU.js.map} +0 -0
  910. /package/dist/{create-TFR6R2KF.js.map → create-3WOZO2XT.js.map} +0 -0
  911. /package/dist/{create-732HQL3C.js.map → create-7IFYLX7P.js.map} +0 -0
  912. /package/dist/{create-UC57ULRL.js.map → create-FOHIQC3E.js.map} +0 -0
  913. /package/dist/{create-UL2OYXOA.js.map → create-UWQSQTK6.js.map} +0 -0
  914. /package/dist/{creatives-BZEVJ6ER.js.map → creatives-2DR3QHJW.js.map} +0 -0
  915. /package/dist/{creatives-BB6S2OF6.js.map → creatives-DUR5Z5AN.js.map} +0 -0
  916. /package/dist/{creatives-FU3YELGU.js.map → creatives-KN3MT533.js.map} +0 -0
  917. /package/dist/{credentials-AYV5YQE4.js.map → credentials-IP4L37XP.js.map} +0 -0
  918. /package/dist/{critique-IQYNDXCN.js.map → critique-LGDNMLBL.js.map} +0 -0
  919. /package/dist/{critique-FKIJB72I.js.map → critique-LJMFAURK.js.map} +0 -0
  920. /package/dist/{crm-ILQMNJPX.js.map → crm-BNYW7PF7.js.map} +0 -0
  921. /package/dist/{crm-MQQRBITZ.js.map → crm-DMADHALO.js.map} +0 -0
  922. /package/dist/{currency-CGKO5GKH.js.map → currency-X4KEACEP.js.map} +0 -0
  923. /package/dist/{custom-conversions-HAGG72LF.js.map → custom-conversions-OIA5Y2GX.js.map} +0 -0
  924. /package/dist/{customers-NKKU6S7G.js.map → customers-663K2OCP.js.map} +0 -0
  925. /package/dist/{delete-UIKB5ZXS.js.map → delete-5W3YVA4L.js.map} +0 -0
  926. /package/dist/{delete-2TCCNRMH.js.map → delete-6U7E6YUW.js.map} +0 -0
  927. /package/dist/{delete-HCZTISBT.js.map → delete-G4NY6ZG6.js.map} +0 -0
  928. /package/dist/{demographics-ABZODD45.js.map → demographics-UZ7BCQ7K.js.map} +0 -0
  929. /package/dist/{discard-V3K5PZ4W.js.map → discard-RKCZNKMN.js.map} +0 -0
  930. /package/dist/{discover-VM3O7CQM.js.map → discover-2W42JB56.js.map} +0 -0
  931. /package/dist/{domain-A66DHOTQ.js.map → domain-PLA2O4FW.js.map} +0 -0
  932. /package/dist/{download-LSAZD5JO.js.map → download-4EFLVSA4.js.map} +0 -0
  933. /package/dist/{draft-RIR2V6A2.js.map → draft-2ZX73IRO.js.map} +0 -0
  934. /package/dist/{draft-BATA5CVI.js.map → draft-6XMZYSMR.js.map} +0 -0
  935. /package/dist/{draft-CRDBU6LF.js.map → draft-CKLIIWXZ.js.map} +0 -0
  936. /package/dist/{draft-P7IDMXWR.js.map → draft-IUEULQDT.js.map} +0 -0
  937. /package/dist/{draft-YBNL4ZZA.js.map → draft-JMNAGW7C.js.map} +0 -0
  938. /package/dist/{draft-ZCL7FVBH.js.map → draft-L5Q6KEER.js.map} +0 -0
  939. /package/dist/{draft-DJIYEMZU.js.map → draft-MJRMZGMP.js.map} +0 -0
  940. /package/dist/{draft-5UUJC675.js.map → draft-WPMVLRME.js.map} +0 -0
  941. /package/dist/{experiment-I5CRLOVN.js.map → experiment-3VRHCQN5.js.map} +0 -0
  942. /package/dist/{experiments-MLLTHMMS.js.map → experiments-S4TSXCK6.js.map} +0 -0
  943. /package/dist/{facets-KSHR3MBE.js.map → facets-D3JG7OSO.js.map} +0 -0
  944. /package/dist/{feedback-4GCPXZSI.js.map → feedback-IRSRPXV6.js.map} +0 -0
  945. /package/dist/{feedback-record-VEFHUIUJ.js.map → feedback-record-DT3R4NA3.js.map} +0 -0
  946. /package/dist/{fetch-42QL56JC.js.map → fetch-YLQP5VQL.js.map} +0 -0
  947. /package/dist/{fit-Q5GRVF2O.js.map → fit-BEFCY2B4.js.map} +0 -0
  948. /package/dist/{flows-M3WBZQET.js.map → flows-FDMF3F3P.js.map} +0 -0
  949. /package/dist/{fonts-GD4YRXQU.js.map → fonts-C6XN5667.js.map} +0 -0
  950. /package/dist/{forecast-HT46MFL4.js.map → forecast-4YHMKO54.js.map} +0 -0
  951. /package/dist/{forecast-ONVS2QAI.js.map → forecast-LYN6ZGQC.js.map} +0 -0
  952. /package/dist/{funding-5W4LX6DU.js.map → funding-TCEPQXRQ.js.map} +0 -0
  953. /package/dist/{funnel-76BAD64Q.js.map → funnel-CQIT3F23.js.map} +0 -0
  954. /package/dist/{ga4-BWVCDVIR.js.map → ga4-JE3HS36B.js.map} +0 -0
  955. /package/dist/{generate-VBEY3N3L.js.map → generate-NWHPM2GQ.js.map} +0 -0
  956. /package/dist/{get-QV5NIADE.js.map → get-KBSKPTAV.js.map} +0 -0
  957. /package/dist/{get-4KFAO475.js.map → get-OSVQVMP6.js.map} +0 -0
  958. /package/dist/{google-7EZP7I6J.js.map → google-24FDG4C4.js.map} +0 -0
  959. /package/dist/{google-ads-J7WHTJO4.js.map → google-ads-XCJVAXWF.js.map} +0 -0
  960. /package/dist/{gsc-2MPE4N32.js.map → gsc-RMVOYIM3.js.map} +0 -0
  961. /package/dist/{history-EULKWQUS.js.map → history-4TN2A6BL.js.map} +0 -0
  962. /package/dist/{history-RDVV7KBN.js.map → history-5IWW2X33.js.map} +0 -0
  963. /package/dist/{history-FEBJHFHJ.js.map → history-GIXIG276.js.map} +0 -0
  964. /package/dist/{hubspot-A3RQNMYN.js.map → hubspot-5WB7TQBG.js.map} +0 -0
  965. /package/dist/{ideas-WX7EBPSF.js.map → ideas-M66FU45H.js.map} +0 -0
  966. /package/dist/{images-4AXF4LAC.js.map → images-MM5OPUKV.js.map} +0 -0
  967. /package/dist/{ingest-AM5YDTRH.js.map → ingest-GU3WEBN3.js.map} +0 -0
  968. /package/dist/{ingest-C3M4GUO6.js.map → ingest-KMLYCFF4.js.map} +0 -0
  969. /package/dist/{insights-XZL2EM53.js.map → insights-HATH3IC6.js.map} +0 -0
  970. /package/dist/{insights-UTCMSWSC.js.map → insights-VKPIVJMK.js.map} +0 -0
  971. /package/dist/{inspect-DWCLRZGR.js.map → inspect-4JO2J3D6.js.map} +0 -0
  972. /package/dist/{instant-experiences-RM4MLJTL.js.map → instant-experiences-A2SIQNB5.js.map} +0 -0
  973. /package/dist/{intent-ZMYMFGB4.js.map → intent-YCQCUCV3.js.map} +0 -0
  974. /package/dist/{job-DRFCQ27M.js.map → job-SM2OQ2LO.js.map} +0 -0
  975. /package/dist/{job-create-2EC25Y3J.js.map → job-create-ECZHPVKH.js.map} +0 -0
  976. /package/dist/{job-status-UNVZRPIA.js.map → job-status-QSYDKIIV.js.map} +0 -0
  977. /package/dist/{keyword-gap-XSJO2R77.js.map → keyword-gap-PUSF7EKY.js.map} +0 -0
  978. /package/dist/{keyword-metrics-M46FCTAS.js.map → keyword-metrics-JXBM22ZD.js.map} +0 -0
  979. /package/dist/{keywords-for-site-XNSLX7EA.js.map → keywords-for-site-OAYA7KP7.js.map} +0 -0
  980. /package/dist/{landing-MUNYZQNA.js.map → landing-OZU5RRFV.js.map} +0 -0
  981. /package/dist/{languages-DIQ3OG3E.js.map → languages-Q5SKO4AM.js.map} +0 -0
  982. /package/dist/{leads-ULYHTG22.js.map → leads-QAYS7AJO.js.map} +0 -0
  983. /package/dist/{leads-LAATTW5G.js.map → leads-VOSFVNUK.js.map} +0 -0
  984. /package/dist/{learn-3GLY4G3H.js.map → learn-NBBJRMVZ.js.map} +0 -0
  985. /package/dist/{line-item-writes-XJTTA3X5.js.map → line-item-writes-VBBB3TRS.js.map} +0 -0
  986. /package/dist/{line-items-JR25T2C5.js.map → line-items-2V5FY33R.js.map} +0 -0
  987. /package/dist/{link-7DSLIF3I.js.map → link-WZSNUQQ2.js.map} +0 -0
  988. /package/dist/{linkedin-W5BJ6HEH.js.map → linkedin-CDFCOHKI.js.map} +0 -0
  989. /package/dist/{linkedin-person-2ZYSOHYR.js.map → linkedin-person-MVRI7LLC.js.map} +0 -0
  990. /package/dist/{list-3653DIYB.js.map → list-6S54IAUX.js.map} +0 -0
  991. /package/dist/{list-Z4M53MS5.js.map → list-QRJ4E3SC.js.map} +0 -0
  992. /package/dist/{list-G66HVYCR.js.map → list-RZUDFLJN.js.map} +0 -0
  993. /package/dist/{locations-M2B5XDU4.js.map → locations-RFTE42OS.js.map} +0 -0
  994. /package/dist/{locations-HTVYJSDJ.js.map → locations-VQYREHYI.js.map} +0 -0
  995. /package/dist/{log-2RJU5BOW.js.map → log-53SAPZZ3.js.map} +0 -0
  996. /package/dist/{lookup-S5VG7AWH.js.map → lookup-MELV3RUL.js.map} +0 -0
  997. /package/dist/{make-MJ6JMU5T.js.map → make-ZF3YIMKW.js.map} +0 -0
  998. /package/dist/{map-27IPOBY6.js.map → map-J37QFJSV.js.map} +0 -0
  999. /package/dist/{media-XCTZJIW4.js.map → media-BPI2VE6A.js.map} +0 -0
  1000. /package/dist/{media-P4T4ZBNS.js.map → media-EEWZZU3P.js.map} +0 -0
  1001. /package/dist/{media-sources-P246GM7W.js.map → media-sources-EQI3U4TC.js.map} +0 -0
  1002. /package/dist/{members-KOKBTUC2.js.map → members-GYVMSCKL.js.map} +0 -0
  1003. /package/dist/{meta-IPLWNYC7.js.map → meta-SMJUQP37.js.map} +0 -0
  1004. /package/dist/{metrics-WYWUX6Y5.js.map → metrics-EMAP7ESR.js.map} +0 -0
  1005. /package/dist/{models-HJ7Y55AH.js.map → models-JQEPSPNQ.js.map} +0 -0
  1006. /package/dist/{normalize-GXBUNTYJ.js.map → normalize-MFN3WCH5.js.map} +0 -0
  1007. /package/dist/{options-MA25RNXF.js.map → options-DLHDHO7H.js.map} +0 -0
  1008. /package/dist/{organization-NLEVNGKQ.js.map → organization-C2VOA2SD.js.map} +0 -0
  1009. /package/dist/{output-WTEPRUPE.js.map → output-4QBQEM4C.js.map} +0 -0
  1010. /package/dist/{page-photos-OQ5QATQH.js.map → page-photos-HRKPDQBM.js.map} +0 -0
  1011. /package/dist/{pages-J6AF5NDU.js.map → pages-DTQWQUKP.js.map} +0 -0
  1012. /package/dist/{performance-J3DLNI2W.js.map → performance-NIF3CESZ.js.map} +0 -0
  1013. /package/dist/{pixels-ZZTB6NWF.js.map → pixels-2BKADWE6.js.map} +0 -0
  1014. /package/dist/{pixels-THEGYRXT.js.map → pixels-F6BZNTDD.js.map} +0 -0
  1015. /package/dist/{plan-7UF76Q6U.js.map → plan-A6VC3ZO7.js.map} +0 -0
  1016. /package/dist/{preview-LRJOQ7LM.js.map → preview-GGIGXPJW.js.map} +0 -0
  1017. /package/dist/{promoted-tweet-writes-SBXWKO23.js.map → promoted-tweet-writes-WU2SKKZF.js.map} +0 -0
  1018. /package/dist/{promoted-tweets-W42FNWS7.js.map → promoted-tweets-653Q5AC6.js.map} +0 -0
  1019. /package/dist/{properties-RBLJCVSG.js.map → properties-VWKO3AAK.js.map} +0 -0
  1020. /package/dist/{publish-YG76GOA7.js.map → publish-IOTMJCCY.js.map} +0 -0
  1021. /package/dist/{query-IQICLABN.js.map → query-CXIOL7WI.js.map} +0 -0
  1022. /package/dist/{query-KQ675KJZ.js.map → query-OOP63DJF.js.map} +0 -0
  1023. /package/dist/{query-BJJYUGQZ.js.map → query-RBZFAIDK.js.map} +0 -0
  1024. /package/dist/{questionnaire-DWEH5II4.js.map → questionnaire-7SHYRTMJ.js.map} +0 -0
  1025. /package/dist/{read-QME7JYVF.js.map → read-GOULD7YL.js.map} +0 -0
  1026. /package/dist/{reddit-X4CERXYF.js.map → reddit-JIHMAKAQ.js.map} +0 -0
  1027. /package/dist/{refresh-A36GA7JN.js.map → refresh-OQZ263CS.js.map} +0 -0
  1028. /package/dist/{release-3NCMZIDI.js.map → release-4CHFURO3.js.map} +0 -0
  1029. /package/dist/{relevant-pages-UDDQOYLD.js.map → relevant-pages-FS7GBVXK.js.map} +0 -0
  1030. /package/dist/{remove-6LE3XNRG.js.map → remove-IJQPHPDI.js.map} +0 -0
  1031. /package/dist/{reopen-XLADJ2UU.js.map → reopen-YTLPVKUR.js.map} +0 -0
  1032. /package/dist/{rerun-QVMFJZA2.js.map → rerun-C7NB7B35.js.map} +0 -0
  1033. /package/dist/{research-D5UUJF74.js.map → research-PNBACCCP.js.map} +0 -0
  1034. /package/dist/{research-QCI5ISUE.js.map → research-TLHNPK3O.js.map} +0 -0
  1035. /package/dist/{reset-FLZPKY2N.js.map → reset-JVLW7HA2.js.map} +0 -0
  1036. /package/dist/{reset-DD37KDXQ.js.map → reset-Y6FXLAQE.js.map} +0 -0
  1037. /package/dist/{resolve-KRKIJKT7.js.map → resolve-RCFAYPWR.js.map} +0 -0
  1038. /package/dist/{retry-ALXYEKFV.js.map → retry-3V3IGDRR.js.map} +0 -0
  1039. /package/dist/{retry-MIXKW4EW.js.map → retry-AEKQLQMP.js.map} +0 -0
  1040. /package/dist/{revenue-UBZUTSXN.js.map → revenue-3R6JLYCQ.js.map} +0 -0
  1041. /package/dist/{rule-writes-UAVWT4XS.js.map → rule-writes-K4P3XBJW.js.map} +0 -0
  1042. /package/dist/{rules-SO6P44B6.js.map → rules-34BQAWU3.js.map} +0 -0
  1043. /package/dist/{rules-ZVS2MWED.js.map → rules-HY7S2YTD.js.map} +0 -0
  1044. /package/dist/{rules-add-XN3BZKFO.js.map → rules-add-CM5XUYNS.js.map} +0 -0
  1045. /package/dist/{run-K2DOMOAN.js.map → run-MD64RDHZ.js.map} +0 -0
  1046. /package/dist/{run-T7XAH2W5.js.map → run-QCNRR3CA.js.map} +0 -0
  1047. /package/dist/{scaffold-ad-TWIT7R4U.js.map → scaffold-ad-NADPY3CB.js.map} +0 -0
  1048. /package/dist/{scaffold-static-ad-GPJKOGOI.js.map → scaffold-static-ad-5YEYYVYH.js.map} +0 -0
  1049. /package/dist/{scaffold-video-7BQNOJ4S.js.map → scaffold-video-W7DF2CBJ.js.map} +0 -0
  1050. /package/dist/{schedule-UTRVEWPE.js.map → schedule-CTRRF6TS.js.map} +0 -0
  1051. /package/dist/{scheduled-agents-ZGCUZ6SB.js.map → scheduled-agents-OXYAVSIE.js.map} +0 -0
  1052. /package/dist/{schema-D6BMZAPB.js.map → schema-6Y3IXFDC.js.map} +0 -0
  1053. /package/dist/{schema-DSMF6ELE.js.map → schema-BEUYOGSW.js.map} +0 -0
  1054. /package/dist/{search-2P72GSKY.js.map → search-GFJKWPKN.js.map} +0 -0
  1055. /package/dist/{select-N7VWQ2ZQ.js.map → select-S72CCL57.js.map} +0 -0
  1056. /package/dist/{sends-LAY5C74B.js.map → sends-WBYTALR7.js.map} +0 -0
  1057. /package/dist/{set-prompt-3N3HMHT6.js.map → set-prompt-YYFDRXRI.js.map} +0 -0
  1058. /package/dist/{setup-links-I5RFZTS4.js.map → setup-links-D4JJLESN.js.map} +0 -0
  1059. /package/dist/{shared-ZFULUOPQ.js.map → shared-CGEJI2RB.js.map} +0 -0
  1060. /package/dist/{shopify-LXSR37XI.js.map → shopify-DQWEYPDX.js.map} +0 -0
  1061. /package/dist/{site-AI3BFWRK.js.map → site-BBZAUZA3.js.map} +0 -0
  1062. /package/dist/{sitemaps-F3HYH5ZP.js.map → sitemaps-5SP7PVQ6.js.map} +0 -0
  1063. /package/dist/{sites-JSMF72BY.js.map → sites-YZDPHBST.js.map} +0 -0
  1064. /package/dist/{sources-AOF2YDYX.js.map → sources-7FIBHL6A.js.map} +0 -0
  1065. /package/dist/{sources-DVMJEXEX.js.map → sources-FLUGHSVP.js.map} +0 -0
  1066. /package/dist/{stale-P4GGOLIB.js.map → stale-HP54JS5X.js.map} +0 -0
  1067. /package/dist/{stats-QP4LFQZJ.js.map → stats-EGGNFTKI.js.map} +0 -0
  1068. /package/dist/{status-O25MXHU4.js.map → status-CLSWQFCQ.js.map} +0 -0
  1069. /package/dist/{studies-EPO2AM4M.js.map → studies-6VUUOMZD.js.map} +0 -0
  1070. /package/dist/{studio-5Z4NMA4K.js.map → studio-T5L7UEX6.js.map} +0 -0
  1071. /package/dist/{study-writes-7FP443QQ.js.map → study-writes-IR7RSSTK.js.map} +0 -0
  1072. /package/dist/{sync-2AI7LKKN.js.map → sync-4YTVVEVC.js.map} +0 -0
  1073. /package/dist/{sync-PHH65JFS.js.map → sync-SCM6JGJP.js.map} +0 -0
  1074. /package/dist/{sync-definition-F3CXG6KG.js.map → sync-definition-OGQ5XTQE.js.map} +0 -0
  1075. /package/dist/{tag-manager-F7PVTDBB.js.map → tag-manager-REKD4WGU.js.map} +0 -0
  1076. /package/dist/{tags-SEZ2CQJM.js.map → tags-CZTRQNXV.js.map} +0 -0
  1077. /package/dist/{tags-ZXSVW6XO.js.map → tags-FDQXWTCQ.js.map} +0 -0
  1078. /package/dist/{tags-YSC7ZILI.js.map → tags-R67DKRZ6.js.map} +0 -0
  1079. /package/dist/{tags-TJDZXOXS.js.map → tags-SA2LU6AW.js.map} +0 -0
  1080. /package/dist/{tags-Z6EALYOS.js.map → tags-ZOXX6VRE.js.map} +0 -0
  1081. /package/dist/{targeting-NKZFEZD7.js.map → targeting-BQUD54MF.js.map} +0 -0
  1082. /package/dist/{targeting-constants-236ES5HE.js.map → targeting-constants-MRQB4N5I.js.map} +0 -0
  1083. /package/dist/{targeting-criteria-AU5CSMAU.js.map → targeting-criteria-HSAESZIR.js.map} +0 -0
  1084. /package/dist/{targets-IOIH5JYS.js.map → targets-UUVCEG3F.js.map} +0 -0
  1085. /package/dist/{terms-O6ODXEOK.js.map → terms-D2KAFHKJ.js.map} +0 -0
  1086. /package/dist/{testimonials-Y6PUV6AL.js.map → testimonials-G3OCNPBY.js.map} +0 -0
  1087. /package/dist/{themes-PGPIAKAO.js.map → themes-X56KIX3Z.js.map} +0 -0
  1088. /package/dist/{top-companies-FSITN3ZR.js.map → top-companies-2RLNCSVS.js.map} +0 -0
  1089. /package/dist/{transcript-CGPX7Y37.js.map → transcript-U46AEOEI.js.map} +0 -0
  1090. /package/dist/{translate-QCBMGOKR.js.map → translate-AS7JVKYM.js.map} +0 -0
  1091. /package/dist/{triggers-MONMZSKT.js.map → triggers-ECRBPYYF.js.map} +0 -0
  1092. /package/dist/{tweets-IUINLOXF.js.map → tweets-JN6ARKF6.js.map} +0 -0
  1093. /package/dist/{unlink-I7QFQQKO.js.map → unlink-VDNCSRJV.js.map} +0 -0
  1094. /package/dist/{unstage-ZA3WQBEA.js.map → unstage-5C27F2LZ.js.map} +0 -0
  1095. /package/dist/{unstage-JXG5AU5Q.js.map → unstage-ATDXUYP2.js.map} +0 -0
  1096. /package/dist/{update-EI2BHUM2.js.map → update-FJ6TBV3E.js.map} +0 -0
  1097. /package/dist/{update-BVZGM54I.js.map → update-HDBJCSTI.js.map} +0 -0
  1098. /package/dist/{update-RZSV4NYP.js.map → update-U43DJRGV.js.map} +0 -0
  1099. /package/dist/{update-WLDNOZ5U.js.map → update-Z7TIUBMJ.js.map} +0 -0
  1100. /package/dist/{upload-BP3YEQSF.js.map → upload-LXCFSRIU.js.map} +0 -0
  1101. /package/dist/{url-options-63DED6CR.js.map → url-options-C543MY7L.js.map} +0 -0
  1102. /package/dist/{url-params-TRFI2PMD.js.map → url-params-TEFCXQ5N.js.map} +0 -0
  1103. /package/dist/{validate-SNCR25A7.js.map → validate-VR3HEOMJ.js.map} +0 -0
  1104. /package/dist/{videos-SVZV5YYC.js.map → videos-36AXDUGZ.js.map} +0 -0
  1105. /package/dist/{viewer-check-LUAEGV6H.js.map → viewer-check-6HL4OUQY.js.map} +0 -0
  1106. /package/dist/{web-MJQEK7BB.js.map → web-7BRJRQX7.js.map} +0 -0
  1107. /package/dist/{winning-ads-KNLJHHCO.js.map → winning-ads-GMM5W2O4.js.map} +0 -0
  1108. /package/dist/{write-commands-OTWH6BKZ.js.map → write-commands-B25W4FP5.js.map} +0 -0
  1109. /package/dist/{write-commands-NVCX7IAU.js.map → write-commands-DO2YUOMG.js.map} +0 -0
  1110. /package/dist/{write-commands-5J47ZNO4.js.map → write-commands-GNNEUVDW.js.map} +0 -0
  1111. /package/dist/{write-commands-OGVDWWBV.js.map → write-commands-NXJQQ62W.js.map} +0 -0
  1112. /package/dist/{x-ZQNHYIDU.js.map → x-JNR5SO6F.js.map} +0 -0
@@ -0,0 +1,843 @@
1
+ import {
2
+ AD_PLACEMENTS
3
+ } from "./chunk-MCJ5I5LR.js";
4
+ import {
5
+ hasOpenRouterKey,
6
+ openRouterKey
7
+ } from "./chunk-LGK7UWBN.js";
8
+
9
+ // src/engine/creative-rules/select.ts
10
+ import { createHash } from "crypto";
11
+ function platformFamily(name) {
12
+ const platform = AD_PLACEMENTS.find((p) => p.id === name)?.platform ?? name;
13
+ return platform.startsWith("google_") ? "google" : platform;
14
+ }
15
+ function runsOn(scoped, runs) {
16
+ return runs.some((run) => scoped.some((name) => name === run || platformFamily(name) === platformFamily(run)));
17
+ }
18
+ var RULES_CHARS = 12e3;
19
+ var STRENGTH_ORDER = { never: 0, must: 1, prefer: 2 };
20
+ function holdsFor(rule, target) {
21
+ const { kinds, products, platforms } = rule.scope;
22
+ if (kinds?.length && target.kind && !kinds.includes(target.kind)) return false;
23
+ if (products?.length && target.product && !products.includes(target.product)) return false;
24
+ const runs = target.platforms?.length ? target.platforms : target.platform ? [target.platform] : [];
25
+ if (platforms?.length && runs.length > 0 && !runsOn(platforms, runs)) return false;
26
+ return true;
27
+ }
28
+ function byStrength(a, b) {
29
+ return STRENGTH_ORDER[a.strength] - STRENGTH_ORDER[b.strength] || Number(a.origin === "declared") - Number(b.origin === "declared") || (b.source.date ?? "").localeCompare(a.source.date ?? "");
30
+ }
31
+ function selectRules(rules, target, waived = []) {
32
+ const held = rules.filter((r) => r.status === "active" && !waived.includes(r.id) && holdsFor(r, target)).sort(byStrength);
33
+ const picked = [];
34
+ let used = 0;
35
+ for (const rule of held) {
36
+ used += rule.text.length + (rule.source.quote?.length ?? 0);
37
+ if (used > RULES_CHARS && picked.length > 0) break;
38
+ picked.push(rule);
39
+ }
40
+ return picked;
41
+ }
42
+ function rulesDigest(rules) {
43
+ const canonical = [...rules].map((r) => [r.id, r.strength, r.applies, r.text, r.check ?? null]).sort((a, b) => String(a[0]).localeCompare(String(b[0])));
44
+ return createHash("sha256").update(JSON.stringify(canonical)).digest("hex").slice(0, 12);
45
+ }
46
+ var RULES_OPEN = "<company_rules>";
47
+ var RULES_CLOSE = "</company_rules>";
48
+ function rulesBlock(rules, intro) {
49
+ if (rules.length === 0) return "";
50
+ const lines = rules.map((r) => {
51
+ const quote = r.source.quote && r.source.quote !== r.text ? ` (their words: "${r.source.quote}")` : "";
52
+ return `- [${r.strength}] ${r.id}: ${r.text}${quote}`;
53
+ });
54
+ const lead = intro ?? "The company's standing rules for its ads: a never or a must is a requirement, a prefer is its taste.";
55
+ return [RULES_OPEN, lead, ...lines, RULES_CLOSE].join("\n");
56
+ }
57
+ function withoutRulesBlocks(text) {
58
+ if (!text.includes(RULES_OPEN)) return text;
59
+ return text.replace(new RegExp(`\\s*${RULES_OPEN}[\\s\\S]*?${RULES_CLOSE.replace("/", "\\/")}`, "g"), "");
60
+ }
61
+ function withoutRulesDeep(value) {
62
+ if (typeof value === "string") return withoutRulesBlocks(value);
63
+ if (Array.isArray(value)) return value.map(withoutRulesDeep);
64
+ if (value && typeof value === "object") {
65
+ return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, withoutRulesDeep(v)]));
66
+ }
67
+ return value;
68
+ }
69
+ var BRIEF_RULES = 8;
70
+ function briefRules(rules) {
71
+ return rules.filter(
72
+ (r) => r.origin === "learned" ? r.applies === "picture" || r.applies === "cast" || r.applies === "logo" : r.applies === "cast" || r.applies === "logo"
73
+ ).slice(0, BRIEF_RULES);
74
+ }
75
+
76
+ // src/engine/nodes/local/lib/render-review.ts
77
+ import { execFile } from "child_process";
78
+ import { mkdtemp, readdir, readFile, rm } from "fs/promises";
79
+ import { tmpdir } from "os";
80
+ import path from "path";
81
+ import { promisify } from "util";
82
+ import { z } from "zod";
83
+
84
+ // src/engine/nodes/local/lib/rules-findings.ts
85
+ var SEEN_IN_A_STILL = /* @__PURE__ */ new Set(["copy", "picture", "cast", "logo", "any"]);
86
+ var reviewedRules = (rules) => rules.filter((r) => r.origin === "learned" && SEEN_IN_A_STILL.has(r.applies));
87
+ function buildRulesReviewPrompt(opts) {
88
+ const ids = reviewedRules(opts.rules).map((r) => r.id);
89
+ return [
90
+ `These are the finished sizes of ONE ad, in this order: ${opts.formats.join(", ")}.`,
91
+ `Check the ad against each of the company's rules above (${ids.join(", ")}). A rule is broken only when you can plainly see it broken on the ad as it is: its words as they print, what the picture shows, who appears, the logo. A rule about something this ad does not show is not broken. Never report anything that is not one of these rules.`,
92
+ 'For each rule broken, give its id exactly, the size you see it on, and in under twenty words what on the ad breaks it. Reply with only this JSON: {"broken":[{"rule":"<rule id>","format":"4:5","what":"..."}]}; {"broken":[]} when the ad keeps every rule.'
93
+ ].join("\n");
94
+ }
95
+ function rulesSystem(rules) {
96
+ return rulesBlock(
97
+ reviewedRules(rules),
98
+ "You check finished ads against the company's own standing rules for every ad. A never or a must is a requirement; a prefer is its taste. The rules, each with its id:"
99
+ );
100
+ }
101
+ var ELEMENT = {
102
+ copy: "copy",
103
+ logo: "logo",
104
+ picture: "picture",
105
+ cast: "picture",
106
+ any: "picture",
107
+ voice: "other",
108
+ sound: "other",
109
+ subtitles: "other"
110
+ };
111
+ function classifyRuleFindings(json, rules) {
112
+ const broken = json?.broken;
113
+ if (!Array.isArray(broken)) return [];
114
+ return broken.flatMap((raw) => {
115
+ const entry = raw ?? {};
116
+ const rule = rules.find((r) => r.id === entry.rule);
117
+ const what = typeof entry.what === "string" ? entry.what.trim() : "";
118
+ if (!rule || !what) return [];
119
+ const format = typeof entry.format === "string" && entry.format.trim() ? `${entry.format.trim()}: ` : "";
120
+ const kind = {
121
+ item: "rule",
122
+ element: ELEMENT[rule.applies],
123
+ defect: "other",
124
+ edges: [],
125
+ rule: rule.id
126
+ };
127
+ return [
128
+ {
129
+ severity: rule.strength === "prefer" ? "warning" : "blocking",
130
+ what: `${format}breaks ${rule.id} (${rule.text}): ${what}`,
131
+ kind
132
+ }
133
+ ];
134
+ });
135
+ }
136
+ var HEARD = /* @__PURE__ */ new Set(["voice", "sound", "subtitles", "copy", "any"]);
137
+ var heardRules = (rules) => rules.filter((r) => r.origin === "learned" && HEARD.has(r.applies));
138
+
139
+ // src/engine/nodes/local/lib/render-review.ts
140
+ var RENDER_REVIEW_MODEL = "~google/gemini-pro-latest";
141
+ var RENDER_REVIEW_FRAMES = 12;
142
+ var RENDER_REVIEW_WIDTH = 1024;
143
+ var RENDER_WATCH_MODEL = "~google/gemini-flash-latest";
144
+ function usageFrom(model, body) {
145
+ const usage = body?.usage;
146
+ if (!usage) return null;
147
+ const positive = (value) => typeof value === "number" && Number.isFinite(value) && value > 0 ? value : null;
148
+ return {
149
+ model,
150
+ inputTokens: usage.prompt_tokens ?? 0,
151
+ outputTokens: usage.completion_tokens ?? 0,
152
+ costUsd: positive(usage.cost) ?? positive(usage.cost_details?.upstream_inference_cost) ?? 0
153
+ };
154
+ }
155
+ var WATCH_MAX_BYTES = 60 * 1024 * 1024;
156
+ var STATIC_REVIEW_ITEMS = [
157
+ "text",
158
+ "logo",
159
+ "layout",
160
+ "safe_zone",
161
+ "picture",
162
+ "subject",
163
+ "person",
164
+ "people",
165
+ "one_idea",
166
+ "thumbnail",
167
+ "concept",
168
+ "viewer",
169
+ "proof",
170
+ "sizes",
171
+ "native",
172
+ "rule",
173
+ "other"
174
+ ];
175
+ var FINDING_ELEMENTS = ["copy", "button", "logo", "scene_text", "picture", "other"];
176
+ var FINDING_DEFECTS = ["cut", "missing", "unreadable", "other"];
177
+ var FRAME_EDGES = ["top", "bottom", "left", "right"];
178
+ function sceneAt(windows, atS) {
179
+ return windows.find((w) => atS >= w.startS && atS < w.endS)?.file;
180
+ }
181
+ function reviewFrameTimes(durationS, frames) {
182
+ const n = Math.max(2, frames);
183
+ const last = Math.max(0, durationS - 0.15);
184
+ const step = last / (n - 1);
185
+ return Array.from({ length: n }, (_, i) => Math.round(i * step * 100) / 100);
186
+ }
187
+ function buildFrameGrabArgs(video, atS, out) {
188
+ return [
189
+ "-v",
190
+ "error",
191
+ "-ss",
192
+ String(atS),
193
+ "-i",
194
+ video,
195
+ "-frames:v",
196
+ "1",
197
+ "-vf",
198
+ `scale=${RENDER_REVIEW_WIDTH}:-2`,
199
+ out,
200
+ "-y"
201
+ ];
202
+ }
203
+ var FrameReview = z.object({
204
+ /** Something in shot that could not happen, or is being done wrong. */
205
+ impossible: z.array(z.string()).default([]),
206
+ /** Objects present in frame that belong to no part of the scene. */
207
+ strays: z.array(z.string()).default([])
208
+ });
209
+ var ReelReview = z.object({
210
+ /** Whether the people the script treats as one person stay one person. */
211
+ cast_is_consistent: z.boolean().default(true),
212
+ cast_note: z.string().default(""),
213
+ /** Whether the advertiser's mark is visible anywhere. */
214
+ brand_mark_visible: z.boolean().default(false),
215
+ /** Whether the last frames close the ad rather than trailing off. */
216
+ ends_on_a_close: z.boolean().default(false),
217
+ ending_note: z.string().default(""),
218
+ /** Whether the ad ever cuts away from the presenter to show anything. */
219
+ shows_more_than_a_face: z.boolean().default(true),
220
+ shows_note: z.string().default("")
221
+ });
222
+ function buildFrameReviewPrompt(opts) {
223
+ const subject = opts.subject ? ` The advertiser is ${opts.subject}.` : "";
224
+ return `This is ONE frame from a video advertisement.${subject}
225
+
226
+ Answer only about what is visible in THIS frame. Do not judge whether the ad is good, and do not comment on style, mood or lighting.
227
+
228
+ 1. IMPOSSIBLE OR WRONG. Is anything shown that could not physically happen, or that shows the job being done incorrectly? Judge the PROCEDURE, not only the physics: equipment resting where it would never rest, a component fitted to nothing, someone handling a part in a way that would damage it, an object at the wrong scale beside a person, a body with a limb missing or duplicated.
229
+ 2. STRAYS. Is any object present that belongs to no part of the scene \u2014 floating, unattached, or cut off from whatever should hold it?
230
+
231
+ Report only what you can actually see. An empty list is the right answer for a clean frame. Keep each item under twelve words.
232
+
233
+ Reply with only this JSON: {"impossible":[],"strays":[]}`;
234
+ }
235
+ function buildReelReviewPrompt(opts) {
236
+ const subject = opts.subject ? ` The advertiser is ${opts.subject}.` : "";
237
+ const script = opts.script ? `
238
+
239
+ The voiceover says, in order:
240
+ ${opts.script}` : "";
241
+ return `These frames are sampled in order from one video advertisement.${subject}` + script + `
242
+
243
+ Answer only about what is visible.
244
+
245
+ 1. CAST. Do the people stay the same people? If the script speaks about one customer and the frames show different faces in that role, say so and count them.
246
+ 2. BRAND. Is the advertiser's logo or wordmark visible in ANY frame? Answer yes only if you can actually see a mark \u2014 a colour is not a mark.
247
+ 3. ENDING. Do the final frames close the advertisement \u2014 a call to action, a mark, a card \u2014 or does the picture simply carry on and stop?
248
+ 4. WHAT IT SHOWS. Does the advertisement ever cut away from the person to show the thing it is selling, or its result? Answer false if every frame is the same person with only the framing changed, and nothing is ever shown.
249
+
250
+ Reply with only this JSON:
251
+ {"cast_is_consistent":true,"cast_note":"","brand_mark_visible":false,"ends_on_a_close":false,"ending_note":"","shows_more_than_a_face":true,"shows_note":""}`;
252
+ }
253
+ function parseReviewJson(raw) {
254
+ const fenced = raw.match(/```(?:json)?\s*([\s\S]*?)```/);
255
+ const body = (fenced?.[1] ?? raw).trim();
256
+ const start = body.indexOf("{");
257
+ const end = body.lastIndexOf("}");
258
+ if (start === -1 || end === -1 || end < start) return null;
259
+ const json = body.slice(start, end + 1);
260
+ for (const candidate of [json, json.replace(UNCLOSED_NUMBERS, "[$1]}")]) {
261
+ try {
262
+ return JSON.parse(candidate);
263
+ } catch {
264
+ }
265
+ }
266
+ return boxListOf(json.replace(UNCLOSED_NUMBERS, "[$1]}"));
267
+ }
268
+ var UNCLOSED_NUMBERS = /\[(\s*-?\d+(?:\.\d+)?(?:\s*,\s*-?\d+(?:\.\d+)?)*)\s*\}/g;
269
+ var BOX_LIST = /^\{\s*"items"\s*:\s*\[/;
270
+ function closingQuote(text, open) {
271
+ for (let i = open + 1; i < text.length; i++) {
272
+ if (text[i] === "\\") i++;
273
+ else if (text[i] === '"') return i;
274
+ }
275
+ return text.length;
276
+ }
277
+ function objectsIn(text) {
278
+ const out = [];
279
+ let end = 0;
280
+ let depth = 0;
281
+ let from = 0;
282
+ for (let i = 0; i < text.length; i++) {
283
+ const ch = text[i];
284
+ if (ch === '"') i = closingQuote(text, i);
285
+ else if (ch === "{") {
286
+ if (depth === 0) from = i;
287
+ depth++;
288
+ } else if (ch === "}" && depth > 0) {
289
+ depth--;
290
+ if (depth === 0) {
291
+ out.push(text.slice(from, i + 1));
292
+ end = i + 1;
293
+ }
294
+ }
295
+ }
296
+ return { objects: out, end, open: depth > 0 };
297
+ }
298
+ function boxListOf(json) {
299
+ const list = json.match(BOX_LIST);
300
+ if (!list) return null;
301
+ const seen = /* @__PURE__ */ new Set();
302
+ const items = [];
303
+ const body = json.slice(list[0].length);
304
+ const scan = objectsIn(body);
305
+ if (scan.open || !body.slice(scan.end).includes("]")) return null;
306
+ for (const object of scan.objects) {
307
+ let item;
308
+ try {
309
+ item = JSON.parse(object);
310
+ } catch {
311
+ return null;
312
+ }
313
+ const key = JSON.stringify(item);
314
+ if (seen.has(key)) continue;
315
+ seen.add(key);
316
+ items.push(item);
317
+ }
318
+ return items.length > 0 ? { items } : null;
319
+ }
320
+ var normalise = (s) => s.toLowerCase().replace(/[^a-z0-9 ]/g, " ").replace(/\s+/g, " ").trim();
321
+ var ANATOMY = /\b(finger|fingers|hand|hands|thumb|limb|leg|legs|arm|arms|foot|feet|anatomy)\b/i;
322
+ function collapseRepeats(frames) {
323
+ const seen = /* @__PURE__ */ new Map();
324
+ for (const frame of frames) {
325
+ const parsed = FrameReview.safeParse(frame.json);
326
+ if (!parsed.success) continue;
327
+ for (const item of [...parsed.data.impossible, ...parsed.data.strays]) {
328
+ const text = item.trim();
329
+ const key = normalise(text);
330
+ if (!key) continue;
331
+ const hit = seen.get(key);
332
+ if (hit) hit.at.push(frame.at);
333
+ else seen.set(key, { what: text, at: [frame.at] });
334
+ }
335
+ }
336
+ return [...seen.values()];
337
+ }
338
+ function classifyFrameFindings(frames, windows = []) {
339
+ const seen = collapseRepeats(frames);
340
+ const anatomy = seen.filter((f) => ANATOMY.test(f.what));
341
+ const rest = seen.filter((f) => !ANATOMY.test(f.what));
342
+ const findings = rest.map((f) => {
343
+ const scene = sceneAt(windows, f.at[0]);
344
+ return {
345
+ severity: "blocking",
346
+ what: `At ${f.at.map((s) => `${s}s`).join(", ")}${scene ? ` (${scene})` : ""}: ${f.what}`,
347
+ ...scene ? { scene } : {}
348
+ };
349
+ });
350
+ if (anatomy.length > 0) {
351
+ const at = [...new Set(anatomy.flatMap((f) => f.at))].sort((a, b) => a - b);
352
+ findings.push({
353
+ severity: "blocking",
354
+ what: `Malformed hands or limbs in ${at.length} of ${frames.length} sampled frames (${at.map((s) => `${s}s${sceneAt(windows, s) ? ` \u2192 ${sceneAt(windows, s)}` : ""}`).join(", ")}): ${anatomy.map((f) => f.what).join(" ")} Re-render those beats \u2014 keep hands out of frame, or away from the object being held.`
355
+ });
356
+ }
357
+ return findings;
358
+ }
359
+ function buildWatchReviewPrompt(opts) {
360
+ const market = opts.market?.trim();
361
+ const heard = heardRules(opts.rules ?? []);
362
+ const rules = heard.length > 0 ? `${rulesBlock(heard, "5. RULES. The company holds every ad to its own rules, each with its id:")}
363
+ For each rule this video plainly breaks, in what is said, how it sounds, its subtitles or what is shown, give its id exactly, the timestamp and what breaks it. A rule about something this video does not do is not broken.
364
+ ` : "";
365
+ return `Watch and LISTEN to this advertisement, then answer about the things that only exist in motion and in sound.
366
+ 1. SPOKEN VARIETY. ${market ? `The ad is set in ${market}. ` : ""}Does the speaker's accent belong there? Quote the words you heard that show it \u2014 a phonetic marker beats an impression.
367
+ 2. VOICE AND MOUTH. Does the voice belong to the mouth on screen, in timing and in person?
368
+ 3. CUTS. Do the shot changes hold, or does something jump, repeat or stutter between them?
369
+ 4. DEFECTS. List anything else wrong, each with the exact timestamp where it happens \u2014 a moment maps to the shot that produced it, and a defect without one is a complaint rather than an instruction.
370
+ ` + rules + `Answer JSON only: {"spoken_variety_matches":true|false,"variety_note":"...","voice_matches_mouth":true|false,"mouth_note":"...","cuts_are_clean":true|false,"cuts_note":"...","defects":[{"at":"MM:SS.s","kind":"cut|lipsync|audio|visual","what":"..."}]${heard.length > 0 ? ',"rules_broken":[{"rule":"<rule id>","at":"MM:SS.s","what":"..."}]' : ""}}`;
371
+ }
372
+ var WatchReview = z.object({
373
+ spoken_variety_matches: z.boolean(),
374
+ variety_note: z.string().default(""),
375
+ voice_matches_mouth: z.boolean(),
376
+ mouth_note: z.string().default(""),
377
+ cuts_are_clean: z.boolean(),
378
+ cuts_note: z.string().default("")
379
+ });
380
+ var WatchDefects = z.object({
381
+ defects: z.array(
382
+ z.object({
383
+ at: z.string().default(""),
384
+ kind: z.string().default(""),
385
+ what: z.string().default("")
386
+ })
387
+ ).default([])
388
+ });
389
+ function classifyWatchRules(json, rules, windows) {
390
+ const broken = json?.rules_broken;
391
+ if (!Array.isArray(broken)) return [];
392
+ return broken.flatMap((raw) => {
393
+ const entry = raw ?? {};
394
+ const at = typeof entry.at === "string" ? entry.at.trim() : "";
395
+ const [finding] = classifyRuleFindings({ broken: [{ ...raw, format: at }] }, heardRules(rules));
396
+ if (!finding) return [];
397
+ const moment = parseMoment(at);
398
+ const scene = moment === null ? void 0 : sceneAt(windows, moment);
399
+ return [{ ...finding, ...scene ? { scene } : {} }];
400
+ });
401
+ }
402
+ function parseMoment(at) {
403
+ const trimmed = at.trim();
404
+ const clock = /^(\d+):(\d+(?:\.\d+)?)$/.exec(trimmed);
405
+ if (clock) return Number(clock[1]) * 60 + Number(clock[2]);
406
+ const plain = Number(trimmed.replace(/s$/i, ""));
407
+ return Number.isFinite(plain) ? plain : null;
408
+ }
409
+ function classifyWatchDefects(json, windows) {
410
+ const parsed = WatchDefects.safeParse(json);
411
+ if (!parsed.success) return [];
412
+ return parsed.data.defects.filter((d) => d.what.trim()).map((d) => {
413
+ const at = parseMoment(d.at);
414
+ const scene = at === null ? void 0 : sceneAt(windows, at);
415
+ const when = d.at.trim() ? ` at ${d.at.trim()}` : "";
416
+ return {
417
+ severity: "warning",
418
+ what: `${d.what.trim()}${when}${d.kind.trim() ? ` (${d.kind.trim()})` : ""}.`,
419
+ ...scene ? { scene } : {}
420
+ };
421
+ });
422
+ }
423
+ var FidelityReview = z.object({
424
+ delivers_the_ask: z.boolean(),
425
+ missing: z.array(z.string()).default([]),
426
+ contradicted: z.array(z.string()).default([])
427
+ });
428
+ function buildFidelityPrompt(brief) {
429
+ return `Someone asked for an advertisement in these words:
430
+
431
+ """${brief.trim()}"""
432
+
433
+ Watch and LISTEN to the video, then answer only this: does it deliver what they asked for? Judge the request as it was written \u2014 not what would make a good ad, and not what you would have made. Two lists: what they asked for that is NOT in the video, and what the video does that CONTRADICTS what they asked for. Quote their own words in each entry so the answer can be checked. Empty lists when it delivers.
434
+ Answer JSON only: {"delivers_the_ask":true|false,"missing":["..."],"contradicted":["..."]}`;
435
+ }
436
+ function classifyFidelityFindings(json) {
437
+ const parsed = FidelityReview.safeParse(json);
438
+ if (!parsed.success) return [];
439
+ const r = parsed.data;
440
+ if (r.delivers_the_ask) return [];
441
+ return [...r.missing, ...r.contradicted].map((entry) => entry.trim()).filter(Boolean).map((what) => ({ severity: "blocking", what: `Not what was asked for: ${what}.` }));
442
+ }
443
+ function classifyWatchFindings(json) {
444
+ const parsed = WatchReview.safeParse(json);
445
+ if (!parsed.success) return [];
446
+ const r = parsed.data;
447
+ const findings = [];
448
+ if (!r.spoken_variety_matches) {
449
+ findings.push({
450
+ severity: "blocking",
451
+ what: `The voice speaks the wrong variety of the language${r.variety_note.trim() ? `: ${r.variety_note.trim()}` : ""}. A pinned voice cannot fix this \u2014 the re-voicing is speech-to-speech and carries the accent across, so state the market on the ad and let the clip prompt name the accent.`
452
+ });
453
+ }
454
+ if (!r.voice_matches_mouth) {
455
+ findings.push({
456
+ severity: "blocking",
457
+ what: `The voice does not match the mouth${r.mouth_note.trim() ? `: ${r.mouth_note.trim()}` : ""}. A person visibly speaking under a track that is not theirs reads as bad dubbing.`
458
+ });
459
+ }
460
+ if (!r.cuts_are_clean) {
461
+ findings.push({
462
+ severity: "warning",
463
+ what: `The cuts do not hold${r.cuts_note.trim() ? `: ${r.cuts_note.trim()}` : ""}.`
464
+ });
465
+ }
466
+ return findings;
467
+ }
468
+ function classifyReelFindings(json) {
469
+ const parsed = ReelReview.safeParse(json);
470
+ if (!parsed.success) return [];
471
+ const r = parsed.data;
472
+ const findings = [];
473
+ if (!r.cast_is_consistent) {
474
+ findings.push({
475
+ severity: "blocking",
476
+ what: `The cast changes between shots${r.cast_note.trim() ? `: ${r.cast_note.trim()}` : ""}. One customer played by several faces reads as stock footage. Ground the frames on one identity (\`baker avatars\`) or write the beats so the subject is never the same person twice.`
477
+ });
478
+ }
479
+ if (!r.brand_mark_visible) {
480
+ findings.push({
481
+ severity: "warning",
482
+ what: "No brand mark is visible in any frame. THIS IS NOT A RE-RENDER: the mark is drawn by the caption composition as an ordinary `<img>`, never generated as a picture \u2014 so fix the mark itself (a bad path, or an SVG whose geometry clips its own wordmark) or the `.brand-mark` / `.endcard-logo` rules in `<composition>/index.html`, then re-run. Every clip comes back from the cache and only the composition pass renders again, so it costs seconds and no generation."
483
+ });
484
+ }
485
+ if (!r.shows_more_than_a_face) {
486
+ findings.push({
487
+ severity: "blocking",
488
+ what: `The ad never shows what it is selling${r.shows_note.trim() ? `: ${r.shows_note.trim()}` : ""} \u2014 every frame is the same person with only the framing changed. Give the middle beats their own picture (the bill, the roof, the install, the house) and set \`cast: false\` on them.`
489
+ });
490
+ }
491
+ if (!r.ends_on_a_close) {
492
+ findings.push({
493
+ severity: "warning",
494
+ what: `The video does not close${r.ending_note.trim() ? `: ${r.ending_note.trim()}` : ""} \u2014 it runs on and stops. Give the last beat a call to action, and keep its shot short enough that the picture ends with the read.`
495
+ });
496
+ }
497
+ return findings;
498
+ }
499
+ function videoPathFromOutput(output) {
500
+ const refs = Array.isArray(output) ? output : [output];
501
+ let found = null;
502
+ for (const ref of refs) {
503
+ const r = ref;
504
+ if (!r || typeof r !== "object") continue;
505
+ const isVideo = r.kind === "video" || typeof r.mime === "string" && r.mime.startsWith("video/");
506
+ if (isVideo && typeof r.path === "string" && r.path) found = r.path;
507
+ }
508
+ return found;
509
+ }
510
+ function parseVolume(volumedetect, key) {
511
+ const raw = new RegExp(`${key}:\\s*(-?(?:inf|[\\d.]+)) dB`).exec(volumedetect)?.[1];
512
+ if (raw === void 0) return Number.NaN;
513
+ if (raw === "-inf") return Number.NEGATIVE_INFINITY;
514
+ return Number.parseFloat(raw);
515
+ }
516
+ function classifyAudio(volumedetect, hasAudioStream) {
517
+ if (!hasAudioStream) {
518
+ return [
519
+ {
520
+ severity: "blocking",
521
+ what: "The finished video has no audio track at all \u2014 no voice, no music, nothing. An ad that plays silent in a feed is not an ad."
522
+ }
523
+ ];
524
+ }
525
+ const mean = parseVolume(volumedetect, "mean_volume");
526
+ const max = parseVolume(volumedetect, "max_volume");
527
+ const findings = [];
528
+ if (mean === Number.NEGATIVE_INFINITY || max === Number.NEGATIVE_INFINITY) {
529
+ return [
530
+ {
531
+ severity: "blocking",
532
+ what: "The finished video has an audio track, but it is completely silent \u2014 digital zero from start to end. An ad that plays silent in a feed is not an ad."
533
+ }
534
+ ];
535
+ }
536
+ if (Number.isFinite(mean) && mean < -30) {
537
+ findings.push({
538
+ severity: "warning",
539
+ what: `The mix is very quiet (${mean} dB average). On a phone at half volume this is close to silence \u2014 check the music bed is not ducked into nothing under the voice.`
540
+ });
541
+ }
542
+ if (Number.isFinite(max) && max > -0.5) {
543
+ findings.push({
544
+ severity: "warning",
545
+ what: `The mix peaks at ${max} dB, which is at or over the ceiling \u2014 the voice will distort on a phone speaker. Bring the loudest track down a few dB.`
546
+ });
547
+ }
548
+ return findings;
549
+ }
550
+ var RENDER_REVIEW_UNAVAILABLE = "The render was NOT reviewed \u2014 no model gateway key in this environment. Watch it yourself before sending it on.";
551
+ var RULE_FRAME_STEP = 3;
552
+ async function framesAgainstRules(grabbed, checkStills) {
553
+ if (!checkStills) return [];
554
+ const sampled = grabbed.filter((_, i) => i % RULE_FRAME_STEP === 0);
555
+ const found = await checkStills(
556
+ sampled.map((f) => f.image),
557
+ sampled.map((f) => `the frame at ${f.at.toFixed(1)}s`)
558
+ ).catch(() => null);
559
+ return found ?? [
560
+ {
561
+ severity: "warning",
562
+ what: "The frames were not checked against the company's rules (the model did not answer): read them against `rules` in the brief yourself."
563
+ }
564
+ ];
565
+ }
566
+ var REVIEW_CONCURRENCY = 3;
567
+ async function mapWithLimit(items, limit, fn) {
568
+ const out = new Array(items.length);
569
+ let next = 0;
570
+ await Promise.all(
571
+ Array.from({ length: Math.min(limit, items.length) }, async () => {
572
+ for (let i = next++; i < items.length; i = next++) {
573
+ out[i] = await fn(items[i]);
574
+ }
575
+ })
576
+ );
577
+ return out;
578
+ }
579
+ var execFileAsync = promisify(execFile);
580
+ async function measureAudio(video) {
581
+ const streams = await execFileAsync(
582
+ "ffprobe",
583
+ ["-v", "error", "-select_streams", "a", "-show_entries", "stream=codec_type", "-of", "csv=p=0", video],
584
+ { timeout: 2e4 }
585
+ ).catch(() => null);
586
+ if (!streams) return [];
587
+ const hasAudio = streams.stdout.trim().length > 0;
588
+ if (!hasAudio) return classifyAudio("", false);
589
+ const vol = await execFileAsync("ffmpeg", ["-i", video, "-map", "0:a:0", "-af", "volumedetect", "-f", "null", "-"], {
590
+ timeout: 12e4,
591
+ maxBuffer: 8 * 1024 * 1024
592
+ }).catch((e) => ({ stdout: "", stderr: e.stderr ?? "" }));
593
+ return classifyAudio(vol.stderr ?? "", true);
594
+ }
595
+ async function videoDuration(video) {
596
+ try {
597
+ const { stdout } = await execFileAsync(
598
+ "ffprobe",
599
+ ["-v", "error", "-show_entries", "format=duration", "-of", "default=nw=1:nk=1", video],
600
+ { timeout: 2e4 }
601
+ );
602
+ const seconds = Number.parseFloat(stdout.trim());
603
+ return Number.isFinite(seconds) && seconds > 0 ? seconds : null;
604
+ } catch {
605
+ return null;
606
+ }
607
+ }
608
+ async function askGateway(model, parts, timeoutMs, spent, reasoning, extra = {}, system) {
609
+ const key = openRouterKey();
610
+ if (!key) return null;
611
+ try {
612
+ const response = await fetch("https://openrouter.ai/api/v1/chat/completions", {
613
+ method: "POST",
614
+ headers: { "content-type": "application/json", authorization: `Bearer ${key}` },
615
+ body: JSON.stringify({
616
+ model,
617
+ messages: [...system ? [{ role: "system", content: system }] : [], { role: "user", content: parts }],
618
+ usage: { include: true },
619
+ ...reasoning ? { reasoning } : {},
620
+ ...extra
621
+ }),
622
+ signal: AbortSignal.timeout(timeoutMs)
623
+ });
624
+ if (!response.ok) return null;
625
+ const body = await response.json();
626
+ const usage = usageFrom(model, body);
627
+ if (usage) spent(usage);
628
+ const text = body.choices?.[0]?.message?.content;
629
+ return text ? parseReviewJson(text) : null;
630
+ } catch {
631
+ return null;
632
+ }
633
+ }
634
+ async function askVideo(video, prompt, spent) {
635
+ let bytes;
636
+ try {
637
+ bytes = await readFile(video);
638
+ } catch {
639
+ return null;
640
+ }
641
+ if (bytes.byteLength > WATCH_MAX_BYTES) return null;
642
+ return await askGateway(
643
+ RENDER_WATCH_MODEL,
644
+ [
645
+ { type: "text", text: prompt },
646
+ { type: "video_url", video_url: { url: `data:video/mp4;base64,${bytes.toString("base64")}` } }
647
+ ],
648
+ 6e5,
649
+ spent
650
+ );
651
+ }
652
+ async function ask(images, prompt, spent) {
653
+ return await askGateway(
654
+ RENDER_REVIEW_MODEL,
655
+ [
656
+ { type: "text", text: prompt },
657
+ ...images.map(
658
+ (b64) => ({ type: "image_url", image_url: { url: `data:image/jpeg;base64,${b64}` } })
659
+ )
660
+ ],
661
+ 18e4,
662
+ spent
663
+ );
664
+ }
665
+ async function askAboutStills(images, prompt, onSpend) {
666
+ if (!hasOpenRouterKey()) return null;
667
+ return await ask(images, prompt, (usage) => onSpend?.(usage));
668
+ }
669
+ async function askAboutImages(model, images, prompt, onSpend, timeoutMs = 6e4, reasoning, system, request = {}) {
670
+ if (!hasOpenRouterKey()) return null;
671
+ return await askGateway(
672
+ model,
673
+ [
674
+ { type: "text", text: prompt },
675
+ ...images.map(
676
+ (b64) => ({ type: "image_url", image_url: { url: `data:image/jpeg;base64,${b64}` } })
677
+ )
678
+ ],
679
+ timeoutMs,
680
+ (usage) => onSpend?.(usage),
681
+ reasoning,
682
+ request,
683
+ system
684
+ );
685
+ }
686
+ async function askAboutText(model, prompt, onSpend, opts = {}) {
687
+ if (!hasOpenRouterKey()) return null;
688
+ return await askGateway(
689
+ model,
690
+ [{ type: "text", text: prompt }],
691
+ opts.timeoutMs ?? 6e4,
692
+ (usage) => onSpend?.(usage),
693
+ void 0,
694
+ opts.request
695
+ );
696
+ }
697
+ async function reviewRenderedVideo(opts) {
698
+ if (!hasOpenRouterKey()) return null;
699
+ const duration = await videoDuration(opts.video);
700
+ if (duration === null) return null;
701
+ const spent = (usage) => opts.onSpend?.(usage);
702
+ const dir = await mkdtemp(path.join(tmpdir(), "baker-review-"));
703
+ try {
704
+ const grabbed = [];
705
+ for (const [i, at] of reviewFrameTimes(duration, RENDER_REVIEW_FRAMES).entries()) {
706
+ const out = path.join(dir, `f${String(i).padStart(2, "0")}.jpg`);
707
+ try {
708
+ await execFileAsync("ffmpeg", buildFrameGrabArgs(opts.video, at, out), { timeout: 3e4 });
709
+ grabbed.push({ at, image: await readFile(out, { encoding: "base64" }) });
710
+ } catch {
711
+ }
712
+ }
713
+ if (grabbed.length === 0) return null;
714
+ const reel = await ask(
715
+ grabbed.map((f) => f.image),
716
+ buildReelReviewPrompt({ subject: opts.subject, script: opts.script }),
717
+ spent
718
+ );
719
+ const framePrompt = buildFrameReviewPrompt({ subject: opts.subject });
720
+ const perFrame = await mapWithLimit(grabbed, REVIEW_CONCURRENCY, async (f) => ({
721
+ at: f.at,
722
+ json: await ask([f.image], framePrompt, spent)
723
+ }));
724
+ const unread = perFrame.filter((f) => f.json === null).length;
725
+ if (unread === perFrame.length && reel === null) return null;
726
+ const watch = await askVideo(
727
+ opts.video,
728
+ buildWatchReviewPrompt({
729
+ market: opts.market,
730
+ script: opts.script,
731
+ ...opts.rules ? { rules: opts.rules } : {}
732
+ }),
733
+ spent
734
+ );
735
+ const ruled = await framesAgainstRules(grabbed, opts.checkStills);
736
+ const fidelity = opts.brief?.trim() ? await askVideo(opts.video, buildFidelityPrompt(opts.brief), spent) : null;
737
+ const findings = [
738
+ ...classifyFrameFindings(perFrame, opts.windows ?? []),
739
+ ...classifyReelFindings(reel),
740
+ ...classifyWatchFindings(watch),
741
+ ...classifyWatchDefects(watch, opts.windows ?? []),
742
+ ...classifyWatchRules(watch, opts.rules ?? [], opts.windows ?? []),
743
+ ...ruled,
744
+ ...classifyFidelityFindings(fidelity),
745
+ // Measured, not judged: a model looking at frames cannot hear the mix.
746
+ ...await measureAudio(opts.video)
747
+ ];
748
+ findings.push(
749
+ ...unreviewedNotes({
750
+ watched: watch !== null,
751
+ fidelityAsked: Boolean(opts.brief?.trim()),
752
+ fidelityRead: fidelity !== null,
753
+ unread,
754
+ frames: perFrame.length
755
+ })
756
+ );
757
+ return findings;
758
+ } finally {
759
+ await rm(dir, { recursive: true, force: true });
760
+ }
761
+ }
762
+ async function reviewContextBeside(canvasPath) {
763
+ const raw = await readFile(path.join(path.dirname(canvasPath), "prompt.json"), "utf-8").catch(() => null);
764
+ if (!raw) return {};
765
+ try {
766
+ const blueprint = JSON.parse(raw);
767
+ const global = blueprint.global ?? {};
768
+ const text = (value) => typeof value === "string" && value.trim() ? value.trim() : void 0;
769
+ return {
770
+ ...text(global.market) ? { market: text(global.market) } : {},
771
+ ...text(global.branding?.name) ? { subject: text(global.branding?.name) } : {},
772
+ ...text(global.transcript) ? { script: text(global.transcript) } : {}
773
+ };
774
+ } catch {
775
+ return {};
776
+ }
777
+ }
778
+ async function sceneWindowsBeside(canvasPath) {
779
+ const dir = path.join(path.dirname(canvasPath), "scenes");
780
+ const files = await readdir(dir).catch(() => null);
781
+ if (!files) return [];
782
+ const windows = [];
783
+ for (const name of files.filter((f) => f.endsWith(".json")).sort()) {
784
+ const raw = await readFile(path.join(dir, name), "utf-8").catch(() => null);
785
+ if (!raw) continue;
786
+ try {
787
+ const scene = JSON.parse(raw);
788
+ if (typeof scene.start_s === "number" && typeof scene.end_s === "number") {
789
+ windows.push({ file: `scenes/${name}`, startS: scene.start_s, endS: scene.end_s });
790
+ }
791
+ } catch {
792
+ }
793
+ }
794
+ return windows;
795
+ }
796
+ function unreviewedNotes(state) {
797
+ const notes = [];
798
+ if (!state.watched) {
799
+ notes.push({
800
+ severity: "warning",
801
+ what: "Nobody watched the finished video end to end \u2014 the accent, the voice against the mouth and the cuts are unchecked. The frame-by-frame review still ran."
802
+ });
803
+ }
804
+ if (state.fidelityAsked && !state.fidelityRead) {
805
+ notes.push({
806
+ severity: "warning",
807
+ what: "The video was not checked against what you asked for \u2014 only against whether it is well made. A well-made ad of the wrong brief passes every other check here."
808
+ });
809
+ }
810
+ if (state.unread > 0) {
811
+ notes.push({
812
+ severity: "warning",
813
+ what: `${state.unread} of ${state.frames} frames could not be reviewed \u2014 that part of the video is unchecked.`
814
+ });
815
+ }
816
+ return notes;
817
+ }
818
+
819
+ export {
820
+ selectRules,
821
+ rulesDigest,
822
+ rulesBlock,
823
+ withoutRulesDeep,
824
+ briefRules,
825
+ reviewedRules,
826
+ buildRulesReviewPrompt,
827
+ rulesSystem,
828
+ classifyRuleFindings,
829
+ RENDER_REVIEW_MODEL,
830
+ STATIC_REVIEW_ITEMS,
831
+ FINDING_ELEMENTS,
832
+ FINDING_DEFECTS,
833
+ FRAME_EDGES,
834
+ videoPathFromOutput,
835
+ RENDER_REVIEW_UNAVAILABLE,
836
+ askAboutStills,
837
+ askAboutImages,
838
+ askAboutText,
839
+ reviewRenderedVideo,
840
+ reviewContextBeside,
841
+ sceneWindowsBeside
842
+ };
843
+ //# sourceMappingURL=chunk-7HZSORAB.js.map