@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,831 @@
1
+ import {
2
+ heldRules
3
+ } from "./chunk-HGBJQGO5.js";
4
+ import {
5
+ companyLine,
6
+ readCompanyReading
7
+ } from "./chunk-QIOFOD4K.js";
8
+ import {
9
+ adSetViewerRows,
10
+ audienceNamesOf,
11
+ readAudienceNames
12
+ } from "./chunk-G6XKD7QE.js";
13
+ import {
14
+ rememberedJev,
15
+ updateLockedFile
16
+ } from "./chunk-QPESDKZC.js";
17
+ import {
18
+ holdUnbilledSpend
19
+ } from "./chunk-E44NXCTL.js";
20
+ import {
21
+ findWorkspaceRoot
22
+ } from "./chunk-EJGAJHLB.js";
23
+ import {
24
+ readAdSpec
25
+ } from "./chunk-LRV6M2WB.js";
26
+ import {
27
+ askAboutText,
28
+ briefRules
29
+ } from "./chunk-7HZSORAB.js";
30
+ import {
31
+ VIEWER_CHECK_MODEL,
32
+ canonicalize
33
+ } from "./chunk-MCJ5I5LR.js";
34
+ import {
35
+ AWARENESS_VALUES,
36
+ VIEWER_KNOWS_VALUES,
37
+ VIEWER_SOURCE_VALUES,
38
+ VIEWER_TEMPERATURE_VALUES,
39
+ describeMarket,
40
+ marketFromCompanyDoc,
41
+ viewerFromKnowledge
42
+ } from "./chunk-2WZI36D3.js";
43
+ import {
44
+ askJev
45
+ } from "./chunk-LNNTHEL7.js";
46
+ import {
47
+ HttpClient,
48
+ requireCredentialsFromEnv
49
+ } from "./chunk-FOMFU2RX.js";
50
+ import {
51
+ optionalTurnId
52
+ } from "./chunk-LGK7UWBN.js";
53
+ import {
54
+ registerSchema,
55
+ writeJson
56
+ } from "./chunk-Q7US4OOA.js";
57
+
58
+ // src/commands/canvas/viewer-check.ts
59
+ import { createHash as createHash2 } from "crypto";
60
+ import { mkdir as mkdir2, readdir, readFile as readFile3, stat, writeFile as writeFile2 } from "fs/promises";
61
+ import path3 from "path";
62
+ import { defineCommand } from "citty";
63
+ import { parse as parseYaml } from "yaml";
64
+ import { z as z3 } from "zod";
65
+
66
+ // src/commands/canvas/casting-check.ts
67
+ import { createHash } from "crypto";
68
+ import { mkdir, readFile, writeFile } from "fs/promises";
69
+ import path from "path";
70
+ import { z } from "zod";
71
+ var CastingAnswerSchema = z.object({
72
+ passes: z.boolean(),
73
+ why: z.string().default(""),
74
+ instead: z.string().default("")
75
+ });
76
+ function buildCastingPrompt(input) {
77
+ return [
78
+ "An ad is about to be made with these people in it:",
79
+ ...input.people.map((p) => `- ${p}`),
80
+ "",
81
+ `The company: ${input.company.trim() || "(not written down)"}`,
82
+ ...input.persona ? [`The ad is for: ${input.persona}`] : [],
83
+ ...input.market ? [`It runs for ${input.market}.`] : [],
84
+ ...input.rules && input.rules.length > 0 ? ["The company's own rules about who appears in its ads:", ...input.rules.map((r) => `- ${r}`)] : [],
85
+ "",
86
+ "Would each of these people pass, to someone scrolling there, as a real customer of this company (or, for a testimonial, someone who really used it)? Judge age, look, setting and origin against who actually buys this, where the ad runs. A model-like face selling to people who are not models does not pass, and a person a rule rules out does not pass. A rule about how or where a person is shown (their size, framing, a round photo, inside a mockup) is not this question: the finished ad is checked against it.",
87
+ 'Reply with only this JSON: {"passes":true|false,"why":"<one sentence>","instead":"<who would pass, in a few words, when one does not>"}'
88
+ ].join("\n");
89
+ }
90
+ function cacheKey(input, model) {
91
+ return createHash("sha256").update(JSON.stringify({ prompt: buildCastingPrompt(input), model })).digest("hex");
92
+ }
93
+ function parseOrNull(raw) {
94
+ try {
95
+ return JSON.parse(raw);
96
+ } catch {
97
+ return null;
98
+ }
99
+ }
100
+ async function castingCheck(input, opts) {
101
+ if (input.people.length === 0) return { status: "skipped" };
102
+ const file = path.join(opts.cacheDir, "casting-check", `${cacheKey(input, opts.model)}.json`);
103
+ const cachedRaw = await readFile(file, "utf8").catch(() => null);
104
+ const cachedParse = cachedRaw ? CastingAnswerSchema.safeParse(parseOrNull(cachedRaw)) : null;
105
+ if (cachedParse?.success) return { status: cachedParse.data.passes ? "passed" : "failed", answer: cachedParse.data, cached: true };
106
+ const prompt = buildCastingPrompt(input);
107
+ for (let attempt = 0; attempt < 2; attempt++) {
108
+ const parsed = CastingAnswerSchema.safeParse(await opts.ask(prompt));
109
+ if (!parsed.success) continue;
110
+ await mkdir(path.dirname(file), { recursive: true });
111
+ await writeFile(file, `${JSON.stringify(parsed.data, null, 2)}
112
+ `, "utf8");
113
+ return { status: parsed.data.passes ? "passed" : "failed", answer: parsed.data, cached: false };
114
+ }
115
+ return { status: "unavailable" };
116
+ }
117
+ function castingCheckFailure(answer, slug) {
118
+ return {
119
+ ok: false,
120
+ error: {
121
+ code: "casting_check_failed",
122
+ message: `Not rendered: the people cast would not pass as this company's real customers. ${answer.why}`.trim(),
123
+ fix: [
124
+ answer.instead ? `Cast ${answer.instead} instead:` : "Cast someone who would:",
125
+ "`baker avatars list` for the company's avatars (pass the one that fits with `--avatar` on the scaffold, or set its identity sheet URL from `baker avatars get <handle>` as the PERSON reference's `image` in prompt.json), or `baker avatars create` from the persona (age, origin, setting, accent for this market).",
126
+ `Then \`baker canvas run --slug ${slug}\` again.`
127
+ ].join(" ")
128
+ }
129
+ };
130
+ }
131
+
132
+ // src/commands/canvas/turn-renders.ts
133
+ import { readFile as readFile2 } from "fs/promises";
134
+ import path2 from "path";
135
+ import { z as z2 } from "zod";
136
+ var RUNS_PER_TURN = 2;
137
+ var VIEWER_FAILS_PER_TURN = 2;
138
+ var AD_TURN_MS = 12 * 6e4;
139
+ var ROUND_MS = {
140
+ respec: 6e4,
141
+ extend: 8e4,
142
+ relayout: 1e5,
143
+ fix: 15e4,
144
+ regenerate: 22e4
145
+ };
146
+ var RENDER_MS = 15e4;
147
+ var LedgerSchema = z2.object({
148
+ turnId: z2.string(),
149
+ creatives: z2.record(
150
+ z2.string(),
151
+ z2.object({
152
+ runs: z2.number().default(0),
153
+ verdict: z2.string().optional(),
154
+ viewerFails: z2.number().optional(),
155
+ spentMs: z2.number().optional(),
156
+ lastCorrection: z2.boolean().optional()
157
+ })
158
+ )
159
+ });
160
+ var budgetSpent = (entry) => (entry.spentMs ?? 0) + RENDER_MS > AD_TURN_MS || entry.runs >= RUNS_PER_TURN;
161
+ var lastCorrectionDue = (entry, correction) => correction === true && entry.verdict === "needs_fixes" && entry.lastCorrection !== true;
162
+ var SHOW_AS_IT_STANDS = `Show the best version as a version ("Version 3"), never a file path or a run id, and say in one plain sentence what is left, in the person's words. End there: no question and no options; their next message says what changes.`;
163
+ function mayBeCorrection(run, shownPrompt, promptOnDisk) {
164
+ if (run.fix !== void 0 || run.regenerate !== void 0) return true;
165
+ return shownPrompt !== void 0 && promptOnDisk != null && canonicalize(shownPrompt) !== canonicalize(promptOnDisk);
166
+ }
167
+ function turnRenderRefusal(ledger, turnId, slug, opts = {}) {
168
+ const entry = turnId !== void 0 && ledger?.turnId === turnId ? ledger.creatives[slug] : void 0;
169
+ if (!entry) return null;
170
+ if ((entry.verdict === "ready" || entry.verdict === "ready_with_notes") && opts.correction !== true) {
171
+ return {
172
+ code: "CONFLICT",
173
+ message: `This ad is already ready in this turn (${entry.verdict}): its notes are not defects, and new options are not made for them.`,
174
+ fix: `Show it now. Only a real defect you can name in it (a logo drawn twice, a word wrong) is corrected in this turn: \`baker canvas run --slug <slug> --fix "<what to change>"\`, or \`--regenerate ${opts.shape === "relayout" ? "adapt" : "format"}_<size>\` for one size. Any other change comes with the person's next message.`
175
+ };
176
+ }
177
+ if (budgetSpent(entry) && lastCorrectionDue(entry, opts.correction)) return null;
178
+ if ((entry.spentMs ?? 0) + RENDER_MS > AD_TURN_MS) {
179
+ return {
180
+ code: "CONFLICT",
181
+ message: `This ad has had its ${AD_TURN_MS / 6e4} minutes in this turn, its automatic corrections included, and is still not ready.`,
182
+ fix: SHOW_AS_IT_STANDS
183
+ };
184
+ }
185
+ if (entry.runs >= RUNS_PER_TURN) {
186
+ return {
187
+ code: "CONFLICT",
188
+ message: `This ad was rendered twice in this turn, its automatic corrections included, and is still not ready.`,
189
+ fix: SHOW_AS_IT_STANDS
190
+ };
191
+ }
192
+ return null;
193
+ }
194
+ function recordTurnRender(ledger, turnId, slug, verdict, tookMs) {
195
+ const creatives = ledger?.turnId === turnId ? ledger.creatives : {};
196
+ const entry = creatives[slug];
197
+ const spentMs = (entry?.spentMs ?? 0) + (tookMs ?? 0);
198
+ return {
199
+ turnId,
200
+ creatives: {
201
+ ...creatives,
202
+ [slug]: {
203
+ ...entry,
204
+ runs: (entry?.runs ?? 0) + 1,
205
+ verdict,
206
+ ...spentMs > 0 ? { spentMs } : {},
207
+ ...entry && budgetSpent(entry) ? { lastCorrection: true } : {}
208
+ }
209
+ }
210
+ };
211
+ }
212
+ function roundFitsTurn(ledger, turnId, slug, renderMs, kind) {
213
+ const entry = turnId !== void 0 && slug !== void 0 && ledger?.turnId === turnId ? ledger.creatives[slug] : void 0;
214
+ return (entry?.spentMs ?? 0) + renderMs + ROUND_MS[kind] <= AD_TURN_MS;
215
+ }
216
+ function recordViewerFail(ledger, turnId, slug) {
217
+ const creatives = ledger?.turnId === turnId ? ledger.creatives : {};
218
+ const entry = creatives[slug] ?? { runs: 0 };
219
+ return { turnId, creatives: { ...creatives, [slug]: { ...entry, viewerFails: (entry.viewerFails ?? 0) + 1 } } };
220
+ }
221
+ function viewerChecksSpent(ledger, turnId, slug) {
222
+ const entry = turnId !== void 0 && ledger?.turnId === turnId ? ledger.creatives[slug] : void 0;
223
+ return (entry?.viewerFails ?? 0) >= VIEWER_FAILS_PER_TURN;
224
+ }
225
+ var ledgerPath = (cacheDir) => path2.join(cacheDir, "turn-renders.json");
226
+ async function readTurnRenders(cacheDir) {
227
+ try {
228
+ const parsed = LedgerSchema.safeParse(JSON.parse(await readFile2(ledgerPath(cacheDir), "utf8")));
229
+ return parsed.success ? parsed.data : void 0;
230
+ } catch {
231
+ return void 0;
232
+ }
233
+ }
234
+ async function updateTurnRenders(cacheDir, change) {
235
+ await updateLockedFile(ledgerPath(cacheDir), async () => JSON.stringify(change(await readTurnRenders(cacheDir))));
236
+ }
237
+
238
+ // src/commands/canvas/viewer-check.ts
239
+ var VIEWER_QUESTIONS = ["offer", "for_whom", "next_step"];
240
+ var VIEWER_CLARITY = ["clear", "guess", "unclear"];
241
+ var ViewerReply = z3.object({ answer: z3.string().default(""), clarity: z3.enum(VIEWER_CLARITY) });
242
+ var ViewerAnswerSchema = z3.object({
243
+ offer: ViewerReply,
244
+ for_whom: ViewerReply,
245
+ next_step: ViewerReply,
246
+ /** The words that talk to the viewer as if they had already done something with the brand; "" when none. */
247
+ presumes: z3.string().default(""),
248
+ missing: z3.string().default("")
249
+ });
250
+ var VIEWER_REQUIRED_CLARITY = {
251
+ offer: "clear",
252
+ for_whom: "unclear",
253
+ next_step: "guess"
254
+ };
255
+ var RANK = { unclear: 0, guess: 1, clear: 2 };
256
+ var sureEnough = (clarity, least) => RANK[clarity] >= RANK[least];
257
+ var OFFER_READ = 0.5;
258
+ var READ_QUESTION = "A viewer said an ad offers `viewer_said`; the ad means `meant`. Does `viewer_said` name the same thing on offer as `meant`, in other words or in another language? A general kind of thing that covers it counts (delivery driver jobs for van driving work).";
259
+ var SELLS_QUESTION = "A viewer said an ad offers `viewer_said`. Is `viewer_said` about what `company_sells` describes: the same product or service, a part of it, or a step toward buying it (a quote, a survey, a trial), in any language?";
260
+ function jevReadJudge(onSpend) {
261
+ return async (pairs) => {
262
+ const questions = pairs.flatMap((p) => [
263
+ { instructions: { viewer_said: p.said, meant: p.meant, question: READ_QUESTION } },
264
+ ...p.sells ? [{ instructions: { viewer_said: p.said, company_sells: p.sells, question: SELLS_QUESTION } }] : []
265
+ ]);
266
+ const answers = await askJev(questions, onSpend);
267
+ if (answers === null) return null;
268
+ let next = 0;
269
+ return pairs.map((p) => {
270
+ const meant = answers[next++] ?? 0;
271
+ return p.sells ? Math.max(meant, answers[next++] ?? 0) : meant;
272
+ });
273
+ };
274
+ }
275
+ async function misreadings(pairs, judge) {
276
+ const asked = pairs.flatMap(
277
+ (p, i) => p.said.trim() && p.meant?.trim() ? [{ i, pair: { said: p.said.trim(), meant: p.meant.trim(), ...p.sells?.trim() ? { sells: p.sells.trim() } : {} } }] : []
278
+ );
279
+ const out = pairs.map(() => false);
280
+ if (asked.length === 0) return out;
281
+ const judged = await judge(asked.map((a) => a.pair)).catch(() => null);
282
+ if (judged === null) return out;
283
+ asked.forEach((a, k) => {
284
+ const p = judged[k];
285
+ out[a.i] = p !== void 0 && p < OFFER_READ;
286
+ });
287
+ return out;
288
+ }
289
+ function judgeViewerAnswer(answer, intended, required = VIEWER_REQUIRED_CLARITY, offerMisread = false) {
290
+ const missed = [];
291
+ for (const question of VIEWER_QUESTIONS) {
292
+ const reply = answer[question];
293
+ const meant = question === "offer" ? intended.offer : question === "for_whom" ? intended.persona : void 0;
294
+ const withIntended = meant ? { intended: meant } : {};
295
+ if (RANK[reply.clarity] < RANK[required[question]]) {
296
+ missed.push({
297
+ question,
298
+ reason: reply.clarity === "unclear" ? "unclear" : "guessed",
299
+ viewerSaid: reply.answer,
300
+ ...withIntended
301
+ });
302
+ } else if (question === "offer" && offerMisread) {
303
+ missed.push({ question, reason: "misread", viewerSaid: reply.answer, ...withIntended });
304
+ }
305
+ }
306
+ if (answer.presumes.trim()) missed.push({ question: "presumes", reason: "presumed", viewerSaid: answer.presumes.trim() });
307
+ return { pass: missed.length === 0, missed };
308
+ }
309
+ var SMALL_PRINT = /^(fine_print|legal|disclaimer|footnote)$/;
310
+ function wherePhrase(placements) {
311
+ const fullScreen = placements.length === 0 || placements.some((p) => /automatic|stor|reel/i.test(p));
312
+ return fullScreen ? "full screen through Instagram or Facebook Stories and Reels, thumb ready to swipe" : "through your Instagram or Facebook feed";
313
+ }
314
+ function knowledgePhrase(viewer, offer) {
315
+ const brand = "the advertiser";
316
+ if (!viewer.knows.includes("brand")) return `You have never heard of ${brand} and know nothing about what it sells.`;
317
+ const offerPart = viewer.knows.includes("offer") ? offer ? ` You know what they offer: ${offer}.` : " You know what they offer." : " You do not know what they are offering right now.";
318
+ const product = viewer.knows.includes("product") ? " You have used what they sell." : "";
319
+ return `You have come across ${brand} before.${offerPart}${product}`;
320
+ }
321
+ function buildViewerPrompt(input) {
322
+ const brand = "the advertiser";
323
+ const stranger = !input.viewer.knows.includes("brand");
324
+ const read = input.copy.filter((line) => !SMALL_PRINT.test((line.role ?? "").trim().toLowerCase().replace(/[\s-]+/g, "_")));
325
+ const words = read.length > 0 ? read.map((line) => `- "${line.text}"${line.on ? ` (written on the ${line.on})` : ""}`).join("\n") : "- none: the picture is the whole ad";
326
+ return [
327
+ `${input.viewer.market ? `You are ${describeMarket(input.viewer.market)}.` : "You live where this ad runs and read its language natively."} You are scrolling ${wherePhrase(input.viewer.placements)}. ${knowledgePhrase(input.viewer, input.intended.offer)}`,
328
+ `An ad from an advertiser whose name means nothing to you holds you for about three seconds: you take in the picture and read the biggest words, not every line. This is what you see, plus the platform's usual button under it (such as "Learn more"):`,
329
+ "",
330
+ `Picture: ${input.scene.trim()}`,
331
+ "Words on it:",
332
+ words,
333
+ "",
334
+ "Answer as this person, from those words, that picture and what you already know. Do not fill gaps with what ads like this usually sell.",
335
+ `For each question give your answer in English and how sure you are: "clear" when the words or the picture say it outright, or you already know it; "guess" when you are piecing it together from someone else's story or review, a list of perks, a statistic or the advertiser's name; "unclear" when you cannot tell.`,
336
+ "offer: what is being offered?",
337
+ "for_whom: who is it for?",
338
+ "next_step: what would you do next if you wanted it?",
339
+ ...stranger ? [
340
+ `presumes: quote the words that say you have already done something with ${brand} (bought, signed up, started a trial, an order or a registration, donated, left something in a basket); words that only speak to you, or say what you would get, do not count; "" when none do.`
341
+ ] : [],
342
+ 'missing: in one short sentence, what you would need to be told to get it; "" when nothing.',
343
+ "",
344
+ `Reply with only this JSON: {"offer":{"answer":"","clarity":"clear|guess|unclear"},"for_whom":{"answer":"","clarity":"clear|guess|unclear"},"next_step":{"answer":"","clarity":"clear|guess|unclear"},${stranger ? '"presumes":"",' : ""}"missing":""}`
345
+ ].join("\n");
346
+ }
347
+ function viewerCheckCacheKey(input, model) {
348
+ const { temperature, knows, placements, market } = input.viewer;
349
+ const canonical = {
350
+ prompt: buildViewerPrompt({ ...input, viewer: { ...input.viewer, reasons: [] } }),
351
+ viewer: { temperature, knows: [...knows].sort(), placements: [...placements].sort(), ...market ? { market } : {} },
352
+ intended: input.intended,
353
+ model
354
+ };
355
+ return createHash2("sha256").update(JSON.stringify(canonical)).digest("hex");
356
+ }
357
+ async function cachedAnswer(file) {
358
+ try {
359
+ const parsed = ViewerAnswerSchema.safeParse(JSON.parse(await readFile3(file, "utf8")));
360
+ return parsed.success ? parsed.data : null;
361
+ } catch {
362
+ return null;
363
+ }
364
+ }
365
+ async function checkViewer(input, opts) {
366
+ const file = path3.join(opts.cacheDir, "viewer-check", `${viewerCheckCacheKey(input, opts.model)}.json`);
367
+ let answer = await cachedAnswer(file);
368
+ const cached = answer !== null;
369
+ const prompt = buildViewerPrompt(input);
370
+ for (let attempt = 0; answer === null && attempt < 2; attempt++) {
371
+ const parsed = ViewerAnswerSchema.safeParse(await opts.ask(prompt));
372
+ if (parsed.success) answer = parsed.data;
373
+ }
374
+ if (answer === null) return { status: "unavailable", input };
375
+ if (!cached) {
376
+ await mkdir2(path3.dirname(file), { recursive: true });
377
+ await writeFile2(file, `${JSON.stringify(answer, null, 2)}
378
+ `, "utf8");
379
+ }
380
+ const sure = sureEnough(answer.offer.clarity, VIEWER_REQUIRED_CLARITY.offer);
381
+ const [offerMisread = false] = sure ? await misreadings(
382
+ [{ said: answer.offer.answer, meant: input.intended.offer, sells: input.intended.sells }],
383
+ opts.judge ?? jevReadJudge()
384
+ ) : [];
385
+ const verdict = judgeViewerAnswer(answer, input.intended, VIEWER_REQUIRED_CLARITY, offerMisread);
386
+ const judged = { input, answer, verdict, cached };
387
+ return verdict.pass ? { ...judged, status: "passed" } : { ...judged, status: "failed" };
388
+ }
389
+ function describeViewer(viewer) {
390
+ const known = viewer.knows.map((k) => `the ${k}`);
391
+ const knows = known.length > 0 ? `who knows ${known.length > 1 ? `${known.slice(0, -1).join(", ")} and ${known.at(-1)}` : known[0]}` : "who knows nothing about the brand yet";
392
+ return `a ${viewer.temperature} viewer ${knows}, on ${viewer.placements.join(", ") || "automatic"} placements`;
393
+ }
394
+ var QUESTION_WORDS = {
395
+ offer: "what is offered",
396
+ for_whom: "who it is for",
397
+ next_step: "what to do next"
398
+ };
399
+ function missLine(miss) {
400
+ if (miss.question === "presumes") {
401
+ return `The words talk to them as if they had already done something with the brand: "${miss.viewerSaid}". They have not.`;
402
+ }
403
+ const said = miss.viewerSaid.trim() ? `"${miss.viewerSaid.trim()}"` : "nothing";
404
+ const how = miss.reason === "misread" ? `was sure it is ${said}` : miss.reason === "guessed" ? `could only guess ${said}` : `could not tell (said ${said})`;
405
+ const question = QUESTION_WORDS[miss.question];
406
+ return `${question.charAt(0).toUpperCase()}${question.slice(1)}: they ${how}${miss.intended ? `; the ad means "${miss.intended}"` : ""}.`;
407
+ }
408
+ function viewerCheckFailure(outcome, slug) {
409
+ const { viewer } = outcome.input;
410
+ const who = describeViewer(viewer);
411
+ const missing = outcome.answer.missing.trim();
412
+ const unsaid = outcome.verdict.missed.flatMap((m) => m.question === "presumes" ? [] : [QUESTION_WORDS[m.question]]);
413
+ const offer = outcome.input.intended.offer?.trim();
414
+ const rewrite = offer && outcome.verdict.missed.some((m) => m.question === "offer") ? [`Do this: make the biggest words say "${offer}", plainly, in the ad's language; keep the rest.`] : [];
415
+ const fix = [
416
+ ...rewrite,
417
+ ...unsaid.length > 0 ? [`Seen by ${who}, the words and picture alone do not say ${unsaid.join(" or ")}.`] : [`Seen by ${who}:`],
418
+ ...outcome.verdict.missed.map(missLine),
419
+ ...missing ? [`They needed: ${missing}`] : [],
420
+ "Rewrite the copy in prompt.json so the words on the ad say it plainly (name the offer and who it is for; a stranger reads only what is printed), then re-run.",
421
+ // The run asks the viewer itself, from the same cache: a separate check is one more wait (dev, Oct 2026).
422
+ `Then run the same \`baker canvas run\` again: it checks the new copy before it spends (or \`baker canvas viewer-check ${slug}\` alone).`,
423
+ "If this ad will run to people who already know the brand, record that viewer in _definition.md (`targetAdSet` and `viewer`, from `baker ads meta adsets --audience`) instead of rewriting."
424
+ ].join(" ");
425
+ return {
426
+ ok: false,
427
+ error: {
428
+ code: "viewer_check_failed",
429
+ message: `Not rendered: ${who} would not understand this ad.`,
430
+ fix,
431
+ viewer,
432
+ missed: outcome.verdict.missed
433
+ }
434
+ };
435
+ }
436
+ var RecordedViewer = z3.object({
437
+ temperature: z3.enum(VIEWER_TEMPERATURE_VALUES),
438
+ knows: z3.array(z3.enum(VIEWER_KNOWS_VALUES)).default([]),
439
+ placements: z3.array(z3.string().min(1)).default(["automatic"]),
440
+ source: z3.enum(VIEWER_SOURCE_VALUES),
441
+ reasons: z3.array(z3.string()).default([]),
442
+ market: z3.object({
443
+ country: z3.string().min(2),
444
+ language: z3.string().optional(),
445
+ currency: z3.string().optional(),
446
+ address: z3.string().optional()
447
+ }).optional()
448
+ });
449
+ var nameKey = (text) => text.normalize("NFD").replace(new RegExp("\\p{M}", "gu"), "").toLowerCase().split(/[^\p{L}\p{N}]+/u).filter(Boolean).join(" ");
450
+ function personaSegments(persona, entries) {
451
+ const describe = (entry) => entry.segment ?? entry.title ?? entry.slug;
452
+ if (!persona?.trim()) return entries.map(describe);
453
+ const wanted = nameKey(persona);
454
+ const match = entries.find(
455
+ (entry) => [entry.slug.replace(/[-_]/g, " "), entry.title, entry.segment].some((name) => name && nameKey(name) === wanted)
456
+ );
457
+ return [match ? describe(match) : persona.trim()];
458
+ }
459
+ async function resolveViewer(sources, lookups) {
460
+ const resolved = await resolveViewerAlone(sources, lookups);
461
+ if (resolved.viewer.market || !lookups.companyMarket) return resolved;
462
+ const market = await lookups.companyMarket().catch(() => void 0);
463
+ return market ? { ...resolved, viewer: { ...resolved.viewer, market } } : resolved;
464
+ }
465
+ async function resolveViewerAlone(sources, lookups) {
466
+ const notes = [];
467
+ if (sources.recorded !== void 0) {
468
+ const recorded = RecordedViewer.safeParse(sources.recorded);
469
+ if (recorded.success) return { viewer: recorded.data, from: "recorded", notes };
470
+ notes.push("The viewer recorded in _definition.md is not in the shape `baker ads meta adsets --audience` prints; it was skipped.");
471
+ }
472
+ if (sources.targetAdSet) {
473
+ try {
474
+ const fromAdSet = await lookups.adSetViewer(sources.targetAdSet);
475
+ if (fromAdSet) return { viewer: fromAdSet, from: "ad_set", notes };
476
+ notes.push(`Ad set ${sources.targetAdSet} is not in any connected Meta ad account.`);
477
+ } catch (e) {
478
+ notes.push(`Could not read ad set ${sources.targetAdSet} (${e instanceof Error ? e.message : String(e)}).`);
479
+ }
480
+ }
481
+ let entries = [];
482
+ try {
483
+ entries = await lookups.personas();
484
+ } catch (e) {
485
+ notes.push(`Could not read the personas in the Knowledge (${e instanceof Error ? e.message : String(e)}).`);
486
+ }
487
+ const personas = personaSegments(sources.persona, entries);
488
+ if (personas.length > 0 || sources.awareness) {
489
+ return { viewer: viewerFromKnowledge({ personas, awareness: sources.awareness }), from: "knowledge", notes };
490
+ }
491
+ return {
492
+ viewer: {
493
+ temperature: "cold",
494
+ knows: [],
495
+ placements: ["automatic"],
496
+ source: "knowledge",
497
+ reasons: [
498
+ "Nothing says who will see this ad (no viewer or targetAdSet in _definition.md, no persona in the Knowledge), so it is checked against a cold stranger who has never heard of the brand."
499
+ ]
500
+ },
501
+ from: "default",
502
+ notes
503
+ };
504
+ }
505
+ var Frontmatter = z3.object({
506
+ viewer: z3.unknown().optional(),
507
+ targetAdSet: z3.union([z3.string(), z3.number()]).transform(String).optional(),
508
+ persona: z3.string().optional(),
509
+ awareness: z3.enum(AWARENESS_VALUES).optional().catch(void 0),
510
+ angle: z3.string().optional()
511
+ });
512
+ function frontmatterOf(raw) {
513
+ const block = raw.match(/^---\r?\n([\s\S]*?)\r?\n---/)?.[1];
514
+ if (!block) return {};
515
+ try {
516
+ const parsed = Frontmatter.safeParse(parseYaml(block));
517
+ return parsed.success ? parsed.data : {};
518
+ } catch {
519
+ return {};
520
+ }
521
+ }
522
+ async function readCreativeForViewerCheck(creativeDir) {
523
+ const spec = readAdSpec(JSON.parse(await readFile3(path3.join(creativeDir, "prompt.json"), "utf8")));
524
+ const definition = frontmatterOf(await readFile3(path3.join(creativeDir, "_definition.md"), "utf8").catch(() => ""));
525
+ const offer = spec.message?.trim() || definition.angle?.trim();
526
+ const persona = spec.viewer?.who.trim() || definition.persona?.trim();
527
+ const brand = spec.brand?.name?.trim();
528
+ const sells = (await readCompanyReading(path3.resolve(creativeDir, "../../..")))?.sells;
529
+ return {
530
+ ad: {
531
+ copy: spec.copy.map((line) => ({
532
+ text: line.text,
533
+ ...line.lettering === "in_scene" && line.on ? { on: line.on } : {},
534
+ ...line.role ? { role: line.role } : {}
535
+ })),
536
+ scene: spec.scene.description,
537
+ ...brand ? { brand } : {},
538
+ intended: { ...offer ? { offer } : {}, ...persona ? { persona } : {}, ...sells ? { sells } : {} },
539
+ ...castPeople(spec)
540
+ },
541
+ sources: {
542
+ ...definition.viewer !== void 0 ? { recorded: definition.viewer } : {},
543
+ ...definition.targetAdSet ? { targetAdSet: definition.targetAdSet } : {},
544
+ ...definition.persona?.trim() ? { persona: definition.persona.trim() } : {},
545
+ ...definition.awareness ? { awareness: definition.awareness } : {}
546
+ }
547
+ };
548
+ }
549
+ function castPeople(spec) {
550
+ const people = spec.references.filter((r) => r.role === "identity" && (r.avatar || r.image) && !/^ANIMAL_/.test(r.id)).map((r) => r.what);
551
+ return people.length > 0 ? { people } : {};
552
+ }
553
+ async function readPersonas(workspaceRoot) {
554
+ const dir = path3.join(workspaceRoot, "src", "content", "personas");
555
+ let files;
556
+ try {
557
+ files = (await readdir(dir, { recursive: true })).filter((f) => f.endsWith(".md"));
558
+ } catch {
559
+ return [];
560
+ }
561
+ return await Promise.all(
562
+ files.map(async (file) => {
563
+ const raw = await readFile3(path3.join(dir, file), "utf8");
564
+ const block = raw.match(/^---\r?\n([\s\S]*?)\r?\n---/)?.[1];
565
+ let segment;
566
+ try {
567
+ segment = block ? parseYaml(block)?.segment : void 0;
568
+ } catch {
569
+ segment = void 0;
570
+ }
571
+ const title = raw.match(/^#\s+(.+)$/m)?.[1]?.trim();
572
+ return {
573
+ slug: path3.basename(file, ".md"),
574
+ ...title ? { title } : {},
575
+ ...typeof segment === "string" && segment.trim() ? { segment: segment.trim() } : {}
576
+ };
577
+ })
578
+ );
579
+ }
580
+ function bakerRead() {
581
+ const creds = requireCredentialsFromEnv();
582
+ const http = new HttpClient({ baseUrl: creds.url, apiKey: creds.apiKey, timeoutMs: 6e4, maxRetries: 1 });
583
+ return (apiPath, params) => http.getJson(params ? `${apiPath}?${new URLSearchParams(params)}` : apiPath);
584
+ }
585
+ async function metaAccountIds(read) {
586
+ const named = process.env.BAKER_META_AD_ACCOUNT_ID;
587
+ if (named) return [named];
588
+ const accounts = await read("/api/ads/meta/accounts");
589
+ return accounts.flatMap((a) => {
590
+ const id = a.externalId ?? a.id;
591
+ return typeof id === "string" && id ? [id] : [];
592
+ });
593
+ }
594
+ async function metaAdSetViewer(adSetId, workspaceRoot) {
595
+ const read = bakerRead();
596
+ for (const account of (await metaAccountIds(read)).slice(0, 5)) {
597
+ const params = { "account-id": account.startsWith("act_") ? account : `act_${account}` };
598
+ const adSet = (await read("/api/ads/meta/adsets", params)).find((row) => String(row.id) === adSetId);
599
+ if (!adSet) continue;
600
+ const [audiences, campaigns] = await Promise.all([
601
+ read("/api/ads/meta/audiences", params).catch(() => []),
602
+ read("/api/ads/meta/campaigns", params).catch(() => [])
603
+ ]);
604
+ const cacheDir = path3.join(workspaceRoot, "canvas", ".cache");
605
+ const spent = [];
606
+ const readName = await readAudienceNames(
607
+ audienceNamesOf([adSet], audiences),
608
+ rememberedJev(path3.join(cacheDir, "audience-names.json"), (u) => spent.push(u))
609
+ );
610
+ await holdUnbilledSpend(cacheDir, spent).catch(() => void 0);
611
+ return adSetViewerRows([adSet], audiences, campaigns, readName)[0]?.viewer ?? null;
612
+ }
613
+ return null;
614
+ }
615
+ var CAST_RULES = 8;
616
+ function liveViewerLookups(workspaceRoot) {
617
+ return {
618
+ adSetViewer: (adSetId) => metaAdSetViewer(adSetId, workspaceRoot),
619
+ personas: () => readPersonas(workspaceRoot),
620
+ companyMarket: async () => marketFromCompanyDoc(await readFile3(path3.join(workspaceRoot, "COMPANY.md"), "utf8").catch(() => null)),
621
+ company: async () => companyLine(await readCompanyReading(workspaceRoot)),
622
+ // Who appears, as the rules that hold for this ad say: a person's on its picture or cast, the brand's on
623
+ // its cast only (a brand document's picture rules are often its web design system's: `briefRules`).
624
+ castRules: async (creativeDir) => briefRules((await heldRules(creativeDir)).rules).filter((r) => r.applies === "cast" || r.origin === "learned" && r.applies === "picture").slice(0, CAST_RULES).map((r) => r.text)
625
+ };
626
+ }
627
+ function gatewayViewerModel(model, onSpend) {
628
+ return (prompt) => askAboutText(model, prompt, onSpend);
629
+ }
630
+ var SKIP_WORDS = {
631
+ fix: "a correction of a version already checked",
632
+ resume: "a resumed render, checked when it started",
633
+ asked: "--skip-viewer-check"
634
+ };
635
+ function viewerCheckSkip(run) {
636
+ if (run.fix || run.useVariant || run.relaid || run.autoFixRound > 0) return "fix";
637
+ if (run.resumed) return "resume";
638
+ return run.asked ? "asked" : null;
639
+ }
640
+ async function viewerCheckBeforeRender(opts) {
641
+ let creative;
642
+ try {
643
+ creative = await readCreativeForViewerCheck(opts.creativeDir);
644
+ } catch (e) {
645
+ return {
646
+ viewer: null,
647
+ lines: [`[warn] viewer_check_skipped: prompt.json could not be read for the viewer check (${e instanceof Error ? e.message : String(e)}).`]
648
+ };
649
+ }
650
+ const resolved = await resolveViewer(creative.sources, opts.lookups);
651
+ const who = describeViewer(resolved.viewer);
652
+ const lines = resolved.notes.map((note) => `[viewer] ${note}`);
653
+ if (opts.skip) return { viewer: resolved.viewer, lines: [...lines, `[viewer] not asked: ${SKIP_WORDS[opts.skip]}.`] };
654
+ const casting = (async () => castingCheck(
655
+ {
656
+ people: creative.ad.people ?? [],
657
+ company: await opts.lookups.company?.().catch(() => "") ?? "",
658
+ rules: await opts.lookups.castRules?.(opts.creativeDir).catch(() => []) ?? [],
659
+ ...resolved.viewer.market ? { market: describeMarket(resolved.viewer.market) } : {},
660
+ ...creative.ad.intended.persona ? { persona: creative.ad.intended.persona } : {}
661
+ },
662
+ { cacheDir: opts.cacheDir, model: opts.model, ask: opts.ask }
663
+ ))().catch(() => ({ status: "unavailable" }));
664
+ const outcome = await checkViewer({ ...creative.ad, viewer: resolved.viewer }, opts);
665
+ if (outcome.status === "unavailable") {
666
+ lines.push(
667
+ `[warn] viewer_check_unavailable: the viewer model did not answer, so this ad renders without the viewer check. Read the copy as ${who} before showing it, or run \`baker canvas viewer-check ${opts.slug}\` again.`
668
+ );
669
+ } else if (outcome.status === "failed" && !opts.spent) {
670
+ return { viewer: resolved.viewer, lines, failure: viewerCheckFailure(outcome, opts.slug) };
671
+ } else if (outcome.status === "failed") {
672
+ lines.push(
673
+ `[viewer] this ad failed the viewer check twice in this turn, so it renders as written. Tell the person what ${who} missed: ${outcome.verdict.missed.map(missLine).join(" ")}`
674
+ );
675
+ } else {
676
+ lines.push(`[viewer] ${who} understood it: ${outcome.answer.offer.answer}${outcome.cached ? " (cached)" : ""}.`);
677
+ }
678
+ if (outcome.status === "unavailable") return { viewer: resolved.viewer, lines };
679
+ const cast = await casting;
680
+ if (cast.status === "failed") return { viewer: resolved.viewer, lines, failure: castingCheckFailure(cast.answer, opts.slug) };
681
+ if (cast.status === "passed") lines.push(`[casting] the people cast pass as real customers${cast.cached ? " (cached)" : ""}.`);
682
+ if (cast.status === "unavailable") {
683
+ lines.push("[warn] casting_check_unavailable: the model did not answer; check yourself that the people cast look like this company's real customers.");
684
+ }
685
+ return { viewer: resolved.viewer, lines };
686
+ }
687
+ var DESCRIPTION = "Would the person this ad reaches understand it? A model plays the viewer the creative is for (the `viewer` in _definition.md, else the one its `targetAdSet` reaches, else the persona and awareness in the Knowledge, else a cold stranger) and says, from prompt.json's copy and scene alone, what is offered, to whom and what to do next; the answer is compared with prompt.json's `message`. Start here after writing the copy, before rendering: baker canvas viewer-check spring-offer. `baker canvas run` makes the same check before it spends, from the same cache, and refuses a static ad the viewer would not understand (exit 2, `viewer_check_failed`, `fix` saying what they missed). Output is compact; --full adds the viewer's whole answer and why that viewer was chosen.";
688
+ var ARGS = {
689
+ slug: {
690
+ type: "positional",
691
+ required: true,
692
+ description: "The creative: its slug (src/creatives/<slug>/), or the path to its folder, canvas or prompt.json."
693
+ },
694
+ full: {
695
+ type: "boolean",
696
+ required: false,
697
+ default: false,
698
+ description: "Add the viewer's whole answer, what the ad means to say, and how the viewer was resolved."
699
+ }
700
+ };
701
+ registerSchema({ command: "canvas.viewer-check", description: DESCRIPTION, args: ARGS });
702
+ async function creativeDirOf(arg, workspaceRoot) {
703
+ const direct = path3.resolve(arg);
704
+ try {
705
+ return (await stat(direct)).isDirectory() ? direct : path3.dirname(direct);
706
+ } catch {
707
+ return path3.join(workspaceRoot, "src", "creatives", arg);
708
+ }
709
+ }
710
+ var viewerCheckCommand = defineCommand({
711
+ meta: { name: "viewer-check", description: DESCRIPTION },
712
+ args: ARGS,
713
+ async run({ args }) {
714
+ const cwd = process.cwd();
715
+ const workspaceRoot = findWorkspaceRoot(cwd) ?? cwd;
716
+ const creativeDir = await creativeDirOf(String(args.slug), workspaceRoot);
717
+ const slug = path3.basename(creativeDir);
718
+ let creative;
719
+ try {
720
+ creative = await readCreativeForViewerCheck(creativeDir);
721
+ } catch (e) {
722
+ writeJson({
723
+ ok: false,
724
+ error: {
725
+ code: "NOT_FOUND",
726
+ message: `No readable prompt.json in ${creativeDir} (${e instanceof Error ? e.message : String(e)}).`,
727
+ fix: "Pass the creative's slug (src/creatives/<slug>/) or its folder; its prompt.json must parse."
728
+ }
729
+ });
730
+ process.exit(1);
731
+ }
732
+ const resolved = await resolveViewer(creative.sources, liveViewerLookups(workspaceRoot));
733
+ const input = { ...creative.ad, viewer: resolved.viewer };
734
+ const cacheDir = path3.join(workspaceRoot, "canvas", ".cache");
735
+ const spent = [];
736
+ const outcome = await checkViewer(input, {
737
+ cacheDir,
738
+ model: VIEWER_CHECK_MODEL,
739
+ ask: gatewayViewerModel(VIEWER_CHECK_MODEL, (usage) => spent.push(usage)),
740
+ judge: jevReadJudge((usage) => spent.push(usage))
741
+ });
742
+ await holdUnbilledSpend(cacheDir, spent);
743
+ const who = describeViewer(resolved.viewer);
744
+ const detail = args.full ? {
745
+ viewer_profile: resolved.viewer,
746
+ viewer_from: resolved.from,
747
+ intended: input.intended,
748
+ ...outcome.status !== "unavailable" ? { answer: outcome.answer } : {},
749
+ ...resolved.notes.length > 0 ? { notes: resolved.notes } : {}
750
+ } : {};
751
+ if (outcome.status === "failed") {
752
+ const turnId = optionalTurnId();
753
+ const ledger = await readTurnRenders(cacheDir);
754
+ if (viewerChecksSpent(ledger, turnId, slug)) {
755
+ writeJson({
756
+ ok: true,
757
+ data: { checked: true, understood: false, viewer: who, missed: outcome.verdict.missed, ...detail },
758
+ hints: [
759
+ `This ad failed the viewer check twice in this turn: render it as written (baker canvas run --slug ${slug}) and tell the person what ${who} missed: ${outcome.verdict.missed.map(missLine).join(" ")}`
760
+ ]
761
+ });
762
+ return;
763
+ }
764
+ if (turnId) await updateTurnRenders(cacheDir, (current) => recordViewerFail(current, turnId, slug));
765
+ const failure = viewerCheckFailure(outcome, slug);
766
+ writeJson({ ...failure, error: { ...failure.error, ...detail } });
767
+ process.exit(2);
768
+ }
769
+ if (outcome.status === "unavailable") {
770
+ writeJson({
771
+ ok: true,
772
+ data: { checked: false, viewer: who, ...detail },
773
+ hints: [
774
+ "The viewer model did not answer (no gateway key here, or it failed twice). Read the copy as this viewer yourself, or run the check again."
775
+ ]
776
+ });
777
+ return;
778
+ }
779
+ writeJson({
780
+ ok: true,
781
+ data: {
782
+ checked: true,
783
+ understood: true,
784
+ viewer: who,
785
+ offer: outcome.answer.offer.answer,
786
+ for_whom: outcome.answer.for_whom.answer,
787
+ next_step: outcome.answer.next_step.answer,
788
+ ...outcome.cached ? { cached: true } : {},
789
+ ...detail
790
+ },
791
+ hints: [
792
+ resolved.from === "default" ? "Checked against a cold stranger because nothing says who will see this ad: record `targetAdSet` and `viewer` in _definition.md (`baker ads meta adsets --audience`) when it will run in a known ad set." : `Checked against ${who}. Render it: baker canvas run --slug ${slug}`
793
+ ]
794
+ });
795
+ }
796
+ });
797
+
798
+ export {
799
+ mayBeCorrection,
800
+ turnRenderRefusal,
801
+ recordTurnRender,
802
+ roundFitsTurn,
803
+ recordViewerFail,
804
+ viewerChecksSpent,
805
+ readTurnRenders,
806
+ updateTurnRenders,
807
+ VIEWER_QUESTIONS,
808
+ VIEWER_CLARITY,
809
+ ViewerAnswerSchema,
810
+ VIEWER_REQUIRED_CLARITY,
811
+ sureEnough,
812
+ OFFER_READ,
813
+ jevReadJudge,
814
+ misreadings,
815
+ judgeViewerAnswer,
816
+ buildViewerPrompt,
817
+ viewerCheckCacheKey,
818
+ checkViewer,
819
+ describeViewer,
820
+ viewerCheckFailure,
821
+ personaSegments,
822
+ resolveViewer,
823
+ readCreativeForViewerCheck,
824
+ readPersonas,
825
+ liveViewerLookups,
826
+ gatewayViewerModel,
827
+ viewerCheckSkip,
828
+ viewerCheckBeforeRender,
829
+ viewerCheckCommand
830
+ };
831
+ //# sourceMappingURL=chunk-4XHCEYHI.js.map