@koda-sl/baker-cli 0.509.0 → 0.511.0-dev.2d26314a2

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 (894) hide show
  1. package/README.md +5 -1
  2. package/dist/account-EU56GXWO.js +80 -0
  3. package/dist/account-MYHDHWFR.js +80 -0
  4. package/dist/account-reads-Z5SLGMZQ.js +219 -0
  5. package/dist/account-users-PDM5MG3I.js +62 -0
  6. package/dist/account-writes-CADBLQBA.js +66 -0
  7. package/dist/accounts-MZHZAKFF.js +699 -0
  8. package/dist/accounts-XW2ITV7O.js +78 -0
  9. package/dist/actions-HXFYLLNM.js +55 -0
  10. package/dist/activecampaign-U23DAKU7.js +936 -0
  11. package/dist/ad-group-writes-NVWZYX47.js +170 -0
  12. package/dist/ad-groups-IB5BCB4D.js +68 -0
  13. package/dist/ad-writes-WGXISLOY.js +174 -0
  14. package/dist/add-GARPLRCZ.js +303 -0
  15. package/dist/add-IC32BDV6.js +105 -0
  16. package/dist/ads-D3W54MG2.js +48 -0
  17. package/dist/ads-KBE5JXCH.js +115 -0
  18. package/dist/ads-PTZZMD6I.js +77 -0
  19. package/dist/adsets-YWBJFPAZ.js +182 -0
  20. package/dist/advertisers-J3FEKJ6I.js +121 -0
  21. package/dist/analytics-ICDNEPNZ.js +2435 -0
  22. package/dist/analytics-WKXIPHCX.js +445 -0
  23. package/dist/animate-HRWFVE2N.js +480 -0
  24. package/dist/assign-VHI3K2MP.js +78 -0
  25. package/dist/audience-size-434OUGQU.js +74 -0
  26. package/dist/audiences-2GVJ6EMO.js +268 -0
  27. package/dist/audit-XICSIZPK.js +152 -0
  28. package/dist/autocomplete-3BGZNGZH.js +112 -0
  29. package/dist/avatars-OOLTJXEB.js +38 -0
  30. package/dist/bid-pricing-Q3BMK6JL.js +101 -0
  31. package/dist/brand-DG7ECGWS.js +22 -0
  32. package/dist/brief-K4VBTIE7.js +541 -0
  33. package/dist/campaign-groups-P4JVXS42.js +97 -0
  34. package/dist/campaign-writes-2SPNUA2E.js +174 -0
  35. package/dist/campaign-writes-7YVUFOAZ.js +166 -0
  36. package/dist/campaigns-4UWMHE2E.js +111 -0
  37. package/dist/campaigns-6ADGMGBE.js +111 -0
  38. package/dist/campaigns-XZOQ2VTK.js +130 -0
  39. package/dist/campaigns-ZBN2RDTI.js +76 -0
  40. package/dist/canvas-MPONUE22.js +46 -0
  41. package/dist/capabilities-426RKJJS.js +145 -0
  42. package/dist/catalog-ZY3MFT55.js +65 -0
  43. package/dist/catalogs-KZZN6W3M.js +128 -0
  44. package/dist/changes-6UUUCIK3.js +135 -0
  45. package/dist/chatgpt-VYZONEHH.js +47 -0
  46. package/dist/chats-M75TGD6O.js +277 -0
  47. package/dist/check-NTXU4MFW.js +105 -0
  48. package/dist/chunk-23E6XLI3.js +604 -0
  49. package/dist/chunk-2A7KCBFW.js +387 -0
  50. package/dist/chunk-2LEW2WH2.js +63 -0
  51. package/dist/chunk-32KUF3RV.js +228 -0
  52. package/dist/chunk-3DYCS7LX.js +61 -0
  53. package/dist/chunk-3I2B5U2N.js +8954 -0
  54. package/dist/chunk-3RBTIJPR.js +783 -0
  55. package/dist/chunk-443BEDOK.js +224 -0
  56. package/dist/chunk-4CNR3MNJ.js +7190 -0
  57. package/dist/chunk-4CNR3MNJ.js.map +1 -0
  58. package/dist/chunk-4IHWT7PH.js +167 -0
  59. package/dist/chunk-4XA55SWV.js +363 -0
  60. package/dist/chunk-4XNVHSJZ.js +66 -0
  61. package/dist/chunk-4Z4N6XCJ.js +169 -0
  62. package/dist/chunk-5SZKPTIK.js +191 -0
  63. package/dist/chunk-6OIKNJ7G.js +26 -0
  64. package/dist/chunk-6ZFSDYWV.js +131 -0
  65. package/dist/chunk-AULSX5ZA.js +5368 -0
  66. package/dist/chunk-AVYUFJQQ.js +46 -0
  67. package/dist/chunk-BDOYNGUL.js +98 -0
  68. package/dist/chunk-BJVXXJ4H.js +349 -0
  69. package/dist/chunk-BSZA4PNA.js +319 -0
  70. package/dist/chunk-D3WLAZD5.js +170 -0
  71. package/dist/chunk-DMAAI5PM.js +103 -0
  72. package/dist/chunk-DPFHGPIW.js +122 -0
  73. package/dist/chunk-DSJHEMXL.js +197 -0
  74. package/dist/chunk-DUCUOZLS.js +225 -0
  75. package/dist/chunk-ELR5JGLM.js +846 -0
  76. package/dist/chunk-ESLLM23I.js +676 -0
  77. package/dist/chunk-F3CZFUXZ.js +3187 -0
  78. package/dist/chunk-F3CZFUXZ.js.map +1 -0
  79. package/dist/chunk-FJ6SKVNO.js +97 -0
  80. package/dist/chunk-FJZYOVSW.js +843 -0
  81. package/dist/chunk-G52PS5DJ.js +592 -0
  82. package/dist/chunk-GG4UDQF3.js +494 -0
  83. package/dist/chunk-GQCUO7GQ.js +156 -0
  84. package/dist/chunk-HNNCAJNF.js +4254 -0
  85. package/dist/chunk-HNNCAJNF.js.map +1 -0
  86. package/dist/chunk-HOHQXBFP.js +274 -0
  87. package/dist/chunk-I43ZEWJQ.js +285 -0
  88. package/dist/chunk-I7B7MXPH.js +910 -0
  89. package/dist/chunk-IPBF673T.js +297 -0
  90. package/dist/chunk-JIVXDIQQ.js +831 -0
  91. package/dist/chunk-KMMQLWNC.js +139 -0
  92. package/dist/chunk-KPCHWDJM.js +8914 -0
  93. package/dist/chunk-KTZCLJ2D.js +148 -0
  94. package/dist/chunk-KZISJO24.js +1646 -0
  95. package/dist/chunk-LOQYUZ5H.js +207 -0
  96. package/dist/chunk-M2XZ7QTJ.js +3868 -0
  97. package/dist/chunk-MKUA54QE.js +638 -0
  98. package/dist/chunk-MLLFLYQQ.js +19 -0
  99. package/dist/chunk-OMCZGOER.js +275 -0
  100. package/dist/chunk-QHZE62GP.js +1919 -0
  101. package/dist/chunk-QJE3BPGJ.js +392 -0
  102. package/dist/chunk-RFICGCZP.js +455 -0
  103. package/dist/chunk-RVYF7O5T.js +91 -0
  104. package/dist/chunk-S5Q2DYJL.js +57 -0
  105. package/dist/chunk-SIKCVWM3.js +76 -0
  106. package/dist/chunk-STNKHWDE.js +203 -0
  107. package/dist/chunk-TIFF5AUE.js +51 -0
  108. package/dist/chunk-UMIX2BMM.js +1518 -0
  109. package/dist/chunk-UOXCQPTS.js +23 -0
  110. package/dist/chunk-URBN6DXM.js +24017 -0
  111. package/dist/chunk-URBN6DXM.js.map +1 -0
  112. package/dist/chunk-UT5Z7T4Z.js +249 -0
  113. package/dist/chunk-UUCFUACM.js +429 -0
  114. package/dist/chunk-UUCFUACM.js.map +1 -0
  115. package/dist/chunk-UWHAVADJ.js +479 -0
  116. package/dist/chunk-XOGQJYXH.js +64 -0
  117. package/dist/chunk-Y3EIDK4C.js +163 -0
  118. package/dist/chunk-YUIIO5VF.js +142 -0
  119. package/dist/chunk-YZBB72TV.js +150 -0
  120. package/dist/chunk-Z2NSX6Y5.js +344 -0
  121. package/dist/chunk-Z2PKXY3H.js +89 -0
  122. package/dist/chunk-ZKKYUXTA.js +547 -0
  123. package/dist/chunk-ZVJXQK7Q.js +942 -0
  124. package/dist/claim-QWWYDOSG.js +198 -0
  125. package/dist/cli.js +34 -34
  126. package/dist/companies-QJPNZKWC.js +196 -0
  127. package/dist/company-2XI5YENC.js +306 -0
  128. package/dist/complete-NQLNIST2.js +82 -0
  129. package/dist/connect-GIAB7I3B.js +43 -0
  130. package/dist/conversation-3SGF4ZYK.js +94 -0
  131. package/dist/conversion-report-SSURSX3A.js +125 -0
  132. package/dist/conversion-upload-command-IRE3YQXF.js +439 -0
  133. package/dist/conversion-writes-DZFTO25O.js +120 -0
  134. package/dist/conversions-4HSCON4E.js +76 -0
  135. package/dist/conversions-CUE5PD2T.js +138 -0
  136. package/dist/create-5IKCUAKR.js +208 -0
  137. package/dist/create-DSV7FWVH.js +237 -0
  138. package/dist/create-LS4H4KAD.js +60 -0
  139. package/dist/create-WFQJ4INC.js +133 -0
  140. package/dist/creatives-GUB46RDL.js +58 -0
  141. package/dist/creatives-QHV5PM2O.js +221 -0
  142. package/dist/credentials-XPE4J425.js +288 -0
  143. package/dist/critique-GP43IFZ6.js +230 -0
  144. package/dist/critique-P3AT4R2H.js +1449 -0
  145. package/dist/crm-F4ZET6GF.js +321 -0
  146. package/dist/crm-IVNKJMDK.js +225 -0
  147. package/dist/currency-2224QRF5.js +88 -0
  148. package/dist/customers-XWZI4ZJA.js +57 -0
  149. package/dist/delete-5CIN35JC.js +55 -0
  150. package/dist/delete-B5BYKT7P.js +67 -0
  151. package/dist/delete-RTYU4PI2.js +65 -0
  152. package/dist/demographics-HXQUDRVQ.js +139 -0
  153. package/dist/discard-34DFH75U.js +67 -0
  154. package/dist/discover-UFGF5UNA.js +172 -0
  155. package/dist/domain-L2DZR3WF.js +99 -0
  156. package/dist/download-65UKEVNB.js +170 -0
  157. package/dist/draft-4V5Q7MCH.js +308 -0
  158. package/dist/draft-LPMNAJ37.js +218 -0
  159. package/dist/draft-ONIL5ET5.js +281 -0
  160. package/dist/draft-RCOLNCYG.js +333 -0
  161. package/dist/draft-WOKX5ZAC.js +308 -0
  162. package/dist/engine/index.js +7 -7
  163. package/dist/experiments-I466EYXE.js +234 -0
  164. package/dist/facets-SFZM5X2R.js +115 -0
  165. package/dist/feedback-YUNGXAZX.js +109 -0
  166. package/dist/feedback-record-7BSKBCSU.js +263 -0
  167. package/dist/fetch-R5RUA7W2.js +177 -0
  168. package/dist/find-5FCDTFYC.js +134 -0
  169. package/dist/fit-TSYPV7TI.js +63 -0
  170. package/dist/flows-AVKPI6A7.js +248 -0
  171. package/dist/fonts-EUAHM2UJ.js +37 -0
  172. package/dist/forecast-3F7ZCCJ5.js +169 -0
  173. package/dist/forecast-S7ZYASUU.js +119 -0
  174. package/dist/funnel-7PTBJKJY.js +395 -0
  175. package/dist/ga4-BWVCDVIR.js +55 -0
  176. package/dist/generate-VBEY3N3L.js +263 -0
  177. package/dist/get-F6VFBT36.js +57 -0
  178. package/dist/get-JHYQ4QXP.js +80 -0
  179. package/dist/google-3BO7KNZ6.js +136 -0
  180. package/dist/google-XKUH32VA.js +3267 -0
  181. package/dist/google-ads-NH2FFXLZ.js +196 -0
  182. package/dist/history-DTYOAOE2.js +134 -0
  183. package/dist/history-KVIO5DRG.js +100 -0
  184. package/dist/history-KVIO5DRG.js.map +1 -0
  185. package/dist/history-OYKUWMQR.js +67 -0
  186. package/dist/hubspot-HWP6MND7.js +780 -0
  187. package/dist/icon-XHPEVICH.js +137 -0
  188. package/dist/ideas-3U3A4EN6.js +43 -0
  189. package/dist/images-SJG47ECD.js +92 -0
  190. package/dist/ingest-DAOHJQKA.js +108 -0
  191. package/dist/ingest-JVIIL2LQ.js +24 -0
  192. package/dist/insights-DYCUSIPZ.js +130 -0
  193. package/dist/inspect-2YRCLJYJ.js +190 -0
  194. package/dist/inspiration-BPG25PTI.js +53 -0
  195. package/dist/intent-3SNXAUCK.js +95 -0
  196. package/dist/keyword-gap-YUL7H46U.js +130 -0
  197. package/dist/keyword-metrics-72DK47OR.js +198 -0
  198. package/dist/keywords-for-site-FZ6IRJZT.js +129 -0
  199. package/dist/landing-SX5AKQXF.js +28 -0
  200. package/dist/languages-JEPSSZLV.js +40 -0
  201. package/dist/leads-35BGOUYS.js +113 -0
  202. package/dist/learn-BWUPJSSS.js +205 -0
  203. package/dist/line-item-writes-UPZGBKNK.js +209 -0
  204. package/dist/line-items-OVFRYFKZ.js +107 -0
  205. package/dist/link-PFJ4S5HG.js +65 -0
  206. package/dist/linkedin-PA2E4TUD.js +1314 -0
  207. package/dist/linkedin-PA2E4TUD.js.map +1 -0
  208. package/dist/linkedin-person-D6I5VQU2.js +137 -0
  209. package/dist/list-62ZMY2SZ.js +304 -0
  210. package/dist/list-C5EP7PEA.js +152 -0
  211. package/dist/list-SRZWTWDO.js +65 -0
  212. package/dist/locations-GO7L7BYJ.js +40 -0
  213. package/dist/locations-KQLA6ZAG.js +67 -0
  214. package/dist/log-3PXLI7AB.js +93 -0
  215. package/dist/logo-4MGGQHQ7.js +18 -0
  216. package/dist/make-LQCMYG5L.js +1368 -0
  217. package/dist/map-AA63G2TQ.js +434 -0
  218. package/dist/mcp-FLQIIXGQ.js +715 -0
  219. package/dist/media-sources-FKAQL6RJ.js +35 -0
  220. package/dist/members-WH47N66M.js +45 -0
  221. package/dist/meta-EHKXH257.js +122 -0
  222. package/dist/metrics-2EYRCEJE.js +152 -0
  223. package/dist/models-HJ7Y55AH.js +155 -0
  224. package/dist/normalize-J54J2FFS.js +142 -0
  225. package/dist/options-ZXQ376Y6.js +123 -0
  226. package/dist/organization-DVL6F3XN.js +947 -0
  227. package/dist/performance-3XVX6WRF.js +25 -0
  228. package/dist/performance-SNJQ3UZ5.js +5539 -0
  229. package/dist/pixels-2MSQKQKG.js +60 -0
  230. package/dist/posts-LKL4S52R.js +34 -0
  231. package/dist/promoted-tweet-writes-E2DAPUB7.js +181 -0
  232. package/dist/promoted-tweets-LZMVYSIM.js +119 -0
  233. package/dist/publish-4NGQYOBU.js +342 -0
  234. package/dist/query-2V2IOV4K.js +62 -0
  235. package/dist/reddit-UNGMZMFK.js +27 -0
  236. package/dist/refresh-BWIZETBJ.js +95 -0
  237. package/dist/release-AYXLDMY3.js +61 -0
  238. package/dist/relevant-pages-ODV4OWSA.js +99 -0
  239. package/dist/remove-AOFHEO2V.js +51 -0
  240. package/dist/reopen-TTW47NHH.js +64 -0
  241. package/dist/rerun-W23AYLWT.js +93 -0
  242. package/dist/research-LICSQSXV.js +72 -0
  243. package/dist/research-XAAKJGYK.js +263 -0
  244. package/dist/reset-5DJQY4B3.js +55 -0
  245. package/dist/reset-QVVRZV2W.js +55 -0
  246. package/dist/resolve-YHWTBFX6.js +122 -0
  247. package/dist/retry-VHXWYHJP.js +63 -0
  248. package/dist/retry-WMQQGD47.js +61 -0
  249. package/dist/revenue-BIZY5UE2.js +89 -0
  250. package/dist/rules-6HFOBVKB.js +97 -0
  251. package/dist/rules-add-UFQ3RFJJ.js +463 -0
  252. package/dist/run-3ATMLBLR.js +67 -0
  253. package/dist/run-ZJE7RVUI.js +68 -0
  254. package/dist/scaffold-ad-2DWRSJXF.js +1514 -0
  255. package/dist/scaffold-static-ad-XCFF3LYA.js +1013 -0
  256. package/dist/scaffold-video-UCO6MRJB.js +886 -0
  257. package/dist/schedule-ESSBF3LF.js +62 -0
  258. package/dist/scheduled-agents-4RKZOCCS.js +55 -0
  259. package/dist/scheduled-agents-4RKZOCCS.js.map +1 -0
  260. package/dist/schema-WQORY2KW.js +133 -0
  261. package/dist/search-57D2B2OY.js +175 -0
  262. package/dist/select-56BHOXBY.js +104 -0
  263. package/dist/set-prompt-GVZND3QG.js +196 -0
  264. package/dist/setup-links-HHMBQEO4.js +142 -0
  265. package/dist/shopify-P7UW2EF7.js +3956 -0
  266. package/dist/site-B5MR2MLX.js +178 -0
  267. package/dist/sources-76KVKVQK.js +30 -0
  268. package/dist/sources-WIJSQ22D.js +455 -0
  269. package/dist/stale-4S5VUSLX.js +74 -0
  270. package/dist/stats-QP4LFQZJ.js +34 -0
  271. package/dist/status-SPJRL574.js +63 -0
  272. package/dist/stock-TAKWC3YI.js +179 -0
  273. package/dist/studio-5Z4NMA4K.js +49 -0
  274. package/dist/sync-XKOU34SQ.js +55 -0
  275. package/dist/sync-definition-MRPGG7M4.js +67 -0
  276. package/dist/tag-manager-F7PVTDBB.js +43 -0
  277. package/dist/tags-27GGQKET.js +21 -0
  278. package/dist/tags-2AUUNOQS.js +21 -0
  279. package/dist/tags-CKLEZFM7.js +26 -0
  280. package/dist/tags-PJPJZU37.js +21 -0
  281. package/dist/tags-TWUCUOK4.js +225 -0
  282. package/dist/targeting-criteria-VGRHR5AY.js +113 -0
  283. package/dist/targets-7VQKQPBI.js +104 -0
  284. package/dist/testimonials-JTUDC34Z.js +32 -0
  285. package/dist/themes-QESDDIHF.js +95 -0
  286. package/dist/top-companies-DSL7KEGE.js +109 -0
  287. package/dist/transcript-WDVQZGV2.js +163 -0
  288. package/dist/translate-BBL55D4V.js +607 -0
  289. package/dist/triggers-MJBTJEDT.js +142 -0
  290. package/dist/unlink-GYZ2UCFF.js +68 -0
  291. package/dist/unstage-GU7LCKKS.js +86 -0
  292. package/dist/update-A55RAMSY.js +99 -0
  293. package/dist/update-DGLTQPQV.js +153 -0
  294. package/dist/update-DGLTQPQV.js.map +1 -0
  295. package/dist/update-SN432VZE.js +64 -0
  296. package/dist/update-XAD5DRCC.js +190 -0
  297. package/dist/upload-XTQJ2P4U.js +127 -0
  298. package/dist/url-options-IBU342D6.js +130 -0
  299. package/dist/url-params-VKFODKXG.js +99 -0
  300. package/dist/validate-HOVZUHU5.js +120 -0
  301. package/dist/videos-RAF7DZU2.js +41 -0
  302. package/dist/viewer-check-6GN3FD33.js +81 -0
  303. package/dist/web-ODL344X6.js +141 -0
  304. package/dist/winning-ads-JTZIUTBR.js +86 -0
  305. package/dist/write-commands-XKW222IN.js +1498 -0
  306. package/dist/write-commands-XKW222IN.js.map +1 -0
  307. package/dist/x-NYDP7RVN.js +47 -0
  308. package/package.json +1 -1
  309. package/dist/account-HQYMZFHE.js +0 -80
  310. package/dist/account-WLQBAQMD.js +0 -80
  311. package/dist/account-reads-SNOWDHHF.js +0 -219
  312. package/dist/account-users-SFWB5YPY.js +0 -62
  313. package/dist/account-writes-TU3WJRSI.js +0 -66
  314. package/dist/accounts-HCBZ57CY.js +0 -699
  315. package/dist/accounts-ZT3V74OW.js +0 -78
  316. package/dist/actions-24REETZ7.js +0 -55
  317. package/dist/activecampaign-HLGF44ST.js +0 -936
  318. package/dist/ad-group-writes-HLBWN4E4.js +0 -170
  319. package/dist/ad-groups-33NZD6J3.js +0 -68
  320. package/dist/ad-writes-7ZDNDZ2E.js +0 -174
  321. package/dist/add-UOSAFYCR.js +0 -303
  322. package/dist/add-ZP66FQUM.js +0 -105
  323. package/dist/ads-C7XJNMCX.js +0 -115
  324. package/dist/ads-D4T23ZXW.js +0 -48
  325. package/dist/ads-X3AM6M7L.js +0 -77
  326. package/dist/adsets-6H5ZOYGF.js +0 -182
  327. package/dist/advertisers-V7X72LYS.js +0 -121
  328. package/dist/analytics-7H7CQDVQ.js +0 -2435
  329. package/dist/analytics-UGUJ45EF.js +0 -445
  330. package/dist/animate-2BMHZ4FM.js +0 -480
  331. package/dist/assign-65YTAQF7.js +0 -78
  332. package/dist/audience-size-TL34W6YD.js +0 -74
  333. package/dist/audiences-WCDWN64L.js +0 -268
  334. package/dist/audit-PCYVN2UD.js +0 -152
  335. package/dist/autocomplete-7D2RMLT6.js +0 -112
  336. package/dist/avatars-WWNIQGPS.js +0 -38
  337. package/dist/bid-pricing-ZDUFQVTM.js +0 -101
  338. package/dist/brand-LV733C7I.js +0 -22
  339. package/dist/brief-FMYAZPGC.js +0 -541
  340. package/dist/campaign-groups-UZ34DRKD.js +0 -97
  341. package/dist/campaign-writes-ESYD3UQT.js +0 -166
  342. package/dist/campaign-writes-XO74BALZ.js +0 -174
  343. package/dist/campaigns-HN656A2N.js +0 -130
  344. package/dist/campaigns-IQ4S5WH4.js +0 -111
  345. package/dist/campaigns-LS65QM6W.js +0 -76
  346. package/dist/campaigns-RNGISVCE.js +0 -111
  347. package/dist/canvas-6MN7IMGU.js +0 -46
  348. package/dist/capabilities-VKHVPNFJ.js +0 -145
  349. package/dist/catalog-TZLU5NWI.js +0 -65
  350. package/dist/catalogs-T23RKYFC.js +0 -128
  351. package/dist/changes-36C754R4.js +0 -135
  352. package/dist/chatgpt-DEG26ES2.js +0 -47
  353. package/dist/chats-YMLASZPT.js +0 -277
  354. package/dist/check-RPSB7U3P.js +0 -105
  355. package/dist/chunk-277FW25B.js +0 -406
  356. package/dist/chunk-277FW25B.js.map +0 -1
  357. package/dist/chunk-2TOIY2WN.js +0 -4254
  358. package/dist/chunk-2TOIY2WN.js.map +0 -1
  359. package/dist/chunk-36MUCC42.js +0 -203
  360. package/dist/chunk-3YJNSUNF.js +0 -131
  361. package/dist/chunk-4GAEB6NK.js +0 -228
  362. package/dist/chunk-5DJ5RNAO.js +0 -66
  363. package/dist/chunk-5XTGG4PV.js +0 -274
  364. package/dist/chunk-6KWEF6HF.js +0 -8914
  365. package/dist/chunk-7HZSORAB.js +0 -843
  366. package/dist/chunk-7LLKJN2O.js +0 -344
  367. package/dist/chunk-A3IQAONL.js +0 -638
  368. package/dist/chunk-AHUA76NQ.js +0 -363
  369. package/dist/chunk-BHXFGLY5.js +0 -61
  370. package/dist/chunk-BOE6YB2D.js +0 -387
  371. package/dist/chunk-BRA6IXRS.js +0 -910
  372. package/dist/chunk-BW36QQQU.js +0 -3868
  373. package/dist/chunk-CLUJWAQE.js +0 -207
  374. package/dist/chunk-D2JFOD5O.js +0 -249
  375. package/dist/chunk-D735YLAX.js +0 -547
  376. package/dist/chunk-DM6CEVCN.js +0 -197
  377. package/dist/chunk-DTUGU4EI.js +0 -169
  378. package/dist/chunk-DZGXFV6A.js +0 -97
  379. package/dist/chunk-EXELLNQS.js +0 -7128
  380. package/dist/chunk-EXELLNQS.js.map +0 -1
  381. package/dist/chunk-F4RZHA74.js +0 -191
  382. package/dist/chunk-F4YQ5PVR.js +0 -1518
  383. package/dist/chunk-FFFJBNHA.js +0 -63
  384. package/dist/chunk-FFG2OYVV.js +0 -64
  385. package/dist/chunk-FM6RRYJB.js +0 -163
  386. package/dist/chunk-GACSA5A6.js +0 -1646
  387. package/dist/chunk-GDXJVEVG.js +0 -592
  388. package/dist/chunk-GNDSD5VQ.js +0 -297
  389. package/dist/chunk-HD23TJIT.js +0 -392
  390. package/dist/chunk-HML3VQIW.js +0 -225
  391. package/dist/chunk-HWDRW36T.js +0 -479
  392. package/dist/chunk-IYMGQATT.js +0 -23
  393. package/dist/chunk-JAC6JVCI.js +0 -26
  394. package/dist/chunk-JCRCI7Q3.js +0 -139
  395. package/dist/chunk-JYG7N6TV.js +0 -455
  396. package/dist/chunk-KBRJSPIM.js +0 -676
  397. package/dist/chunk-KTCWU4A4.js +0 -494
  398. package/dist/chunk-KYSTZP7J.js +0 -604
  399. package/dist/chunk-LE7VW2IU.js +0 -224
  400. package/dist/chunk-LIRX2Q66.js +0 -57
  401. package/dist/chunk-LRV6M2WB.js +0 -1919
  402. package/dist/chunk-M7HD42M6.js +0 -24017
  403. package/dist/chunk-M7HD42M6.js.map +0 -1
  404. package/dist/chunk-MCJ5I5LR.js +0 -3187
  405. package/dist/chunk-MCJ5I5LR.js.map +0 -1
  406. package/dist/chunk-MGYC2IRC.js +0 -783
  407. package/dist/chunk-MVD7QIXI.js +0 -46
  408. package/dist/chunk-MZPS46OR.js +0 -76
  409. package/dist/chunk-NALPM5QO.js +0 -275
  410. package/dist/chunk-PISGCYXU.js +0 -170
  411. package/dist/chunk-PLBITHV6.js +0 -846
  412. package/dist/chunk-PX3PUDK7.js +0 -167
  413. package/dist/chunk-PZ7BORLO.js +0 -91
  414. package/dist/chunk-QUSH6U7Z.js +0 -349
  415. package/dist/chunk-RJY5S7RU.js +0 -8954
  416. package/dist/chunk-ROVV7INH.js +0 -19
  417. package/dist/chunk-RRJK46PC.js +0 -103
  418. package/dist/chunk-SBFP3REK.js +0 -51
  419. package/dist/chunk-SG2BCYWB.js +0 -122
  420. package/dist/chunk-SWN6OHXG.js +0 -148
  421. package/dist/chunk-T3KW63H7.js +0 -942
  422. package/dist/chunk-TX7CQTD4.js +0 -5368
  423. package/dist/chunk-UKSSNYLU.js +0 -98
  424. package/dist/chunk-WVTKUCAO.js +0 -831
  425. package/dist/chunk-X45ASFZW.js +0 -142
  426. package/dist/chunk-YNYAT2TZ.js +0 -285
  427. package/dist/chunk-ZAM6PVHX.js +0 -89
  428. package/dist/chunk-ZGWXGK5S.js +0 -156
  429. package/dist/chunk-ZNRGH4NS.js +0 -150
  430. package/dist/chunk-ZQXHOHSC.js +0 -319
  431. package/dist/claim-J63DCFSE.js +0 -198
  432. package/dist/companies-ZMETD3YL.js +0 -196
  433. package/dist/company-HBBUATR5.js +0 -306
  434. package/dist/complete-33TVSO6E.js +0 -82
  435. package/dist/connect-AEDQW4QD.js +0 -43
  436. package/dist/conversation-XW5EOIEN.js +0 -94
  437. package/dist/conversion-report-DKXFHLLX.js +0 -125
  438. package/dist/conversion-upload-command-KTYAY7IG.js +0 -439
  439. package/dist/conversion-writes-7ODJDAUP.js +0 -120
  440. package/dist/conversions-4KNKID42.js +0 -138
  441. package/dist/conversions-BKVGNNC6.js +0 -76
  442. package/dist/create-5S6F54WE.js +0 -133
  443. package/dist/create-6SDMZQ4Q.js +0 -60
  444. package/dist/create-CXRJDYGF.js +0 -208
  445. package/dist/create-ZYOYCWXN.js +0 -237
  446. package/dist/creatives-5MEZ5NZR.js +0 -221
  447. package/dist/creatives-5YGEPIB3.js +0 -58
  448. package/dist/credentials-RPMSP2VS.js +0 -288
  449. package/dist/critique-MG7EUWWV.js +0 -1449
  450. package/dist/critique-T3IBMGZM.js +0 -230
  451. package/dist/crm-ASGBZRVG.js +0 -225
  452. package/dist/crm-EL4J4WNF.js +0 -321
  453. package/dist/currency-R4ORE2U3.js +0 -88
  454. package/dist/customers-C44FU6CG.js +0 -57
  455. package/dist/delete-DLYNWRJT.js +0 -67
  456. package/dist/delete-JTFI6V7V.js +0 -55
  457. package/dist/delete-Q5HD4KGJ.js +0 -65
  458. package/dist/demographics-MOZIPEHS.js +0 -139
  459. package/dist/discard-PSP4EE5Q.js +0 -67
  460. package/dist/discover-GSJRZUOC.js +0 -172
  461. package/dist/domain-Z7IZLEAT.js +0 -99
  462. package/dist/download-YL3WYXAK.js +0 -170
  463. package/dist/draft-7FCTYBSL.js +0 -308
  464. package/dist/draft-HRQVDCRE.js +0 -333
  465. package/dist/draft-KBYO7UYX.js +0 -218
  466. package/dist/draft-LPVK6YHI.js +0 -281
  467. package/dist/draft-WYDMLNYA.js +0 -308
  468. package/dist/experiments-ATZUDSJ2.js +0 -234
  469. package/dist/facets-OFMQGFQI.js +0 -115
  470. package/dist/feedback-5PUJ4R4T.js +0 -109
  471. package/dist/feedback-record-OCFYFDZS.js +0 -263
  472. package/dist/fetch-OOHRKFR3.js +0 -177
  473. package/dist/find-FHM5R2XW.js +0 -134
  474. package/dist/fit-F5ITXQC2.js +0 -63
  475. package/dist/flows-S7JTDSQI.js +0 -248
  476. package/dist/fonts-6SSX5XCC.js +0 -37
  477. package/dist/forecast-2HNOCRWB.js +0 -119
  478. package/dist/forecast-4AG5F7YC.js +0 -169
  479. package/dist/funnel-YIORZXII.js +0 -395
  480. package/dist/ga4-HTD6WC3P.js +0 -55
  481. package/dist/generate-NWHPM2GQ.js +0 -263
  482. package/dist/get-EM23C25V.js +0 -80
  483. package/dist/get-HKPSBLZS.js +0 -57
  484. package/dist/google-AFV6DMTA.js +0 -136
  485. package/dist/google-Z45VV6UD.js +0 -3267
  486. package/dist/google-ads-BVQMRZU6.js +0 -196
  487. package/dist/history-5MRLNTCI.js +0 -67
  488. package/dist/history-X4VXR7DB.js +0 -134
  489. package/dist/hubspot-R5LFC5Q4.js +0 -780
  490. package/dist/icon-XO2EKLWL.js +0 -137
  491. package/dist/ideas-2RRMJOSO.js +0 -43
  492. package/dist/images-3LNUPFRA.js +0 -92
  493. package/dist/ingest-I6BQM5NK.js +0 -24
  494. package/dist/ingest-ZYSC76V2.js +0 -108
  495. package/dist/insights-XCT3ONC7.js +0 -130
  496. package/dist/inspect-ROB566AP.js +0 -190
  497. package/dist/inspiration-QJNUFRNH.js +0 -53
  498. package/dist/intent-NSHW7EJT.js +0 -95
  499. package/dist/keyword-gap-ITTWKBWZ.js +0 -130
  500. package/dist/keyword-metrics-KONKDXMK.js +0 -198
  501. package/dist/keywords-for-site-4AGYZ265.js +0 -129
  502. package/dist/landing-F4RB6L3I.js +0 -28
  503. package/dist/languages-MEFQQBJ2.js +0 -40
  504. package/dist/leads-GZX36YYH.js +0 -113
  505. package/dist/learn-FWFTBWWN.js +0 -205
  506. package/dist/line-item-writes-KDYZM7WT.js +0 -209
  507. package/dist/line-items-WZVTLUZ6.js +0 -107
  508. package/dist/link-VLRNY66A.js +0 -65
  509. package/dist/linkedin-5XOK2SJ3.js +0 -1314
  510. package/dist/linkedin-5XOK2SJ3.js.map +0 -1
  511. package/dist/linkedin-person-4NGRXXV6.js +0 -137
  512. package/dist/list-6J2IGMLV.js +0 -152
  513. package/dist/list-AN6K2XLU.js +0 -304
  514. package/dist/list-LHGVHGUM.js +0 -65
  515. package/dist/locations-RLWAS6AC.js +0 -40
  516. package/dist/locations-UKBOT6SB.js +0 -67
  517. package/dist/log-7EBQ7DJ6.js +0 -93
  518. package/dist/logo-UJIVQZRI.js +0 -18
  519. package/dist/make-PECS5NAQ.js +0 -1368
  520. package/dist/map-7253CTNY.js +0 -434
  521. package/dist/mcp-XMPWI5XB.js +0 -715
  522. package/dist/media-sources-HQHZF4D6.js +0 -35
  523. package/dist/members-N4CCN335.js +0 -45
  524. package/dist/meta-QWV6UVUC.js +0 -122
  525. package/dist/metrics-K6FDCMK7.js +0 -152
  526. package/dist/models-JQEPSPNQ.js +0 -155
  527. package/dist/normalize-RUXCKIOY.js +0 -142
  528. package/dist/options-MOPECJ3O.js +0 -123
  529. package/dist/organization-WIS6VWWR.js +0 -947
  530. package/dist/performance-7QCPWSO3.js +0 -25
  531. package/dist/performance-WPK4ZDES.js +0 -5539
  532. package/dist/pixels-Z7ZGXAGB.js +0 -60
  533. package/dist/posts-37LZKGWU.js +0 -34
  534. package/dist/promoted-tweet-writes-RVG3ZFBU.js +0 -181
  535. package/dist/promoted-tweets-REBNGC5C.js +0 -119
  536. package/dist/publish-SWCARQK4.js +0 -342
  537. package/dist/query-QM7MBQD7.js +0 -62
  538. package/dist/reddit-PUZYTZEN.js +0 -27
  539. package/dist/refresh-LAVH2YVG.js +0 -95
  540. package/dist/release-SBJJ2V5Q.js +0 -61
  541. package/dist/relevant-pages-VOICMQ7U.js +0 -99
  542. package/dist/remove-RVNHSUJR.js +0 -51
  543. package/dist/reopen-LLM42KTM.js +0 -64
  544. package/dist/rerun-CR4XIAN5.js +0 -93
  545. package/dist/research-SD4HOWYT.js +0 -72
  546. package/dist/research-WQA67XCR.js +0 -263
  547. package/dist/reset-G7ECVXHU.js +0 -55
  548. package/dist/reset-O6RQAPSK.js +0 -55
  549. package/dist/resolve-UUJJWBD4.js +0 -122
  550. package/dist/retry-M7JN2ID5.js +0 -61
  551. package/dist/retry-Q7SRV5UM.js +0 -63
  552. package/dist/revenue-DRFCKON6.js +0 -89
  553. package/dist/rules-S4VLYI3O.js +0 -97
  554. package/dist/rules-add-JQNLQ562.js +0 -463
  555. package/dist/run-FQL2BFN7.js +0 -67
  556. package/dist/run-QVTDEUR2.js +0 -68
  557. package/dist/scaffold-ad-JRFQNS7S.js +0 -1514
  558. package/dist/scaffold-static-ad-ZSBLJMCN.js +0 -1013
  559. package/dist/scaffold-video-6VPW4W6D.js +0 -886
  560. package/dist/schedule-KRDPSVBL.js +0 -62
  561. package/dist/scheduled-agents-HEFR2APK.js +0 -50
  562. package/dist/scheduled-agents-HEFR2APK.js.map +0 -1
  563. package/dist/schema-GU6HWW7C.js +0 -133
  564. package/dist/search-IYLUSJ5N.js +0 -175
  565. package/dist/select-SPEV6G7T.js +0 -104
  566. package/dist/set-prompt-2LAI5467.js +0 -196
  567. package/dist/setup-links-KOSGFATQ.js +0 -142
  568. package/dist/shopify-OJTU5IST.js +0 -3956
  569. package/dist/site-GVTJSU2O.js +0 -178
  570. package/dist/sources-AP6R4HV7.js +0 -30
  571. package/dist/sources-T2VR3QZS.js +0 -455
  572. package/dist/stale-XTMLMQRG.js +0 -74
  573. package/dist/stats-HUWCLN7J.js +0 -34
  574. package/dist/status-FTKR66FZ.js +0 -63
  575. package/dist/stock-4AQFDZLE.js +0 -179
  576. package/dist/studio-Z4AJRIGP.js +0 -49
  577. package/dist/sync-X54QUCUX.js +0 -55
  578. package/dist/sync-definition-7VHFXDQL.js +0 -67
  579. package/dist/tag-manager-BVPLGLTF.js +0 -43
  580. package/dist/tags-DLRVIRYW.js +0 -21
  581. package/dist/tags-J6DYTDPK.js +0 -21
  582. package/dist/tags-PJAGQDWN.js +0 -225
  583. package/dist/tags-RG2S2DED.js +0 -26
  584. package/dist/tags-VOQPFWYT.js +0 -21
  585. package/dist/targeting-criteria-35JQFAIN.js +0 -113
  586. package/dist/targets-VCQOKL74.js +0 -104
  587. package/dist/testimonials-FZMOZNTT.js +0 -32
  588. package/dist/themes-B4LCQUXB.js +0 -95
  589. package/dist/top-companies-TM5P62HC.js +0 -109
  590. package/dist/transcript-YLB4MEFL.js +0 -163
  591. package/dist/translate-LNTTT5OG.js +0 -607
  592. package/dist/triggers-T4DMWZKK.js +0 -142
  593. package/dist/unlink-E2LNVKQV.js +0 -68
  594. package/dist/unstage-2BXWGRZ7.js +0 -86
  595. package/dist/update-N5V5YUNT.js +0 -190
  596. package/dist/update-QECD6GQV.js +0 -153
  597. package/dist/update-QECD6GQV.js.map +0 -1
  598. package/dist/update-XCYMB2GE.js +0 -64
  599. package/dist/update-Z5UK64G6.js +0 -99
  600. package/dist/upload-P47KDC73.js +0 -127
  601. package/dist/url-options-IHL4OU4C.js +0 -130
  602. package/dist/url-params-NXAAL6R4.js +0 -99
  603. package/dist/validate-E7ZDF74Z.js +0 -120
  604. package/dist/videos-JB4OONPY.js +0 -41
  605. package/dist/viewer-check-UR6QUTH3.js +0 -81
  606. package/dist/web-WE34D4FA.js +0 -141
  607. package/dist/winning-ads-A2WEL3LP.js +0 -86
  608. package/dist/write-commands-YECHNZOK.js +0 -1498
  609. package/dist/write-commands-YECHNZOK.js.map +0 -1
  610. package/dist/x-DVGGVFDR.js +0 -47
  611. /package/dist/{account-HQYMZFHE.js.map → account-EU56GXWO.js.map} +0 -0
  612. /package/dist/{account-WLQBAQMD.js.map → account-MYHDHWFR.js.map} +0 -0
  613. /package/dist/{account-reads-SNOWDHHF.js.map → account-reads-Z5SLGMZQ.js.map} +0 -0
  614. /package/dist/{account-users-SFWB5YPY.js.map → account-users-PDM5MG3I.js.map} +0 -0
  615. /package/dist/{account-writes-TU3WJRSI.js.map → account-writes-CADBLQBA.js.map} +0 -0
  616. /package/dist/{accounts-HCBZ57CY.js.map → accounts-MZHZAKFF.js.map} +0 -0
  617. /package/dist/{accounts-ZT3V74OW.js.map → accounts-XW2ITV7O.js.map} +0 -0
  618. /package/dist/{actions-24REETZ7.js.map → actions-HXFYLLNM.js.map} +0 -0
  619. /package/dist/{activecampaign-HLGF44ST.js.map → activecampaign-U23DAKU7.js.map} +0 -0
  620. /package/dist/{ad-group-writes-HLBWN4E4.js.map → ad-group-writes-NVWZYX47.js.map} +0 -0
  621. /package/dist/{ad-groups-33NZD6J3.js.map → ad-groups-IB5BCB4D.js.map} +0 -0
  622. /package/dist/{ad-writes-7ZDNDZ2E.js.map → ad-writes-WGXISLOY.js.map} +0 -0
  623. /package/dist/{add-UOSAFYCR.js.map → add-GARPLRCZ.js.map} +0 -0
  624. /package/dist/{add-ZP66FQUM.js.map → add-IC32BDV6.js.map} +0 -0
  625. /package/dist/{ads-D4T23ZXW.js.map → ads-D3W54MG2.js.map} +0 -0
  626. /package/dist/{ads-C7XJNMCX.js.map → ads-KBE5JXCH.js.map} +0 -0
  627. /package/dist/{ads-X3AM6M7L.js.map → ads-PTZZMD6I.js.map} +0 -0
  628. /package/dist/{adsets-6H5ZOYGF.js.map → adsets-YWBJFPAZ.js.map} +0 -0
  629. /package/dist/{advertisers-V7X72LYS.js.map → advertisers-J3FEKJ6I.js.map} +0 -0
  630. /package/dist/{analytics-7H7CQDVQ.js.map → analytics-ICDNEPNZ.js.map} +0 -0
  631. /package/dist/{analytics-UGUJ45EF.js.map → analytics-WKXIPHCX.js.map} +0 -0
  632. /package/dist/{animate-2BMHZ4FM.js.map → animate-HRWFVE2N.js.map} +0 -0
  633. /package/dist/{assign-65YTAQF7.js.map → assign-VHI3K2MP.js.map} +0 -0
  634. /package/dist/{audience-size-TL34W6YD.js.map → audience-size-434OUGQU.js.map} +0 -0
  635. /package/dist/{audiences-WCDWN64L.js.map → audiences-2GVJ6EMO.js.map} +0 -0
  636. /package/dist/{audit-PCYVN2UD.js.map → audit-XICSIZPK.js.map} +0 -0
  637. /package/dist/{autocomplete-7D2RMLT6.js.map → autocomplete-3BGZNGZH.js.map} +0 -0
  638. /package/dist/{avatars-WWNIQGPS.js.map → avatars-OOLTJXEB.js.map} +0 -0
  639. /package/dist/{bid-pricing-ZDUFQVTM.js.map → bid-pricing-Q3BMK6JL.js.map} +0 -0
  640. /package/dist/{brand-LV733C7I.js.map → brand-DG7ECGWS.js.map} +0 -0
  641. /package/dist/{brief-FMYAZPGC.js.map → brief-K4VBTIE7.js.map} +0 -0
  642. /package/dist/{campaign-groups-UZ34DRKD.js.map → campaign-groups-P4JVXS42.js.map} +0 -0
  643. /package/dist/{campaign-writes-XO74BALZ.js.map → campaign-writes-2SPNUA2E.js.map} +0 -0
  644. /package/dist/{campaign-writes-ESYD3UQT.js.map → campaign-writes-7YVUFOAZ.js.map} +0 -0
  645. /package/dist/{campaigns-RNGISVCE.js.map → campaigns-4UWMHE2E.js.map} +0 -0
  646. /package/dist/{campaigns-IQ4S5WH4.js.map → campaigns-6ADGMGBE.js.map} +0 -0
  647. /package/dist/{campaigns-HN656A2N.js.map → campaigns-XZOQ2VTK.js.map} +0 -0
  648. /package/dist/{campaigns-LS65QM6W.js.map → campaigns-ZBN2RDTI.js.map} +0 -0
  649. /package/dist/{canvas-6MN7IMGU.js.map → canvas-MPONUE22.js.map} +0 -0
  650. /package/dist/{capabilities-VKHVPNFJ.js.map → capabilities-426RKJJS.js.map} +0 -0
  651. /package/dist/{catalog-TZLU5NWI.js.map → catalog-ZY3MFT55.js.map} +0 -0
  652. /package/dist/{catalogs-T23RKYFC.js.map → catalogs-KZZN6W3M.js.map} +0 -0
  653. /package/dist/{changes-36C754R4.js.map → changes-6UUUCIK3.js.map} +0 -0
  654. /package/dist/{chatgpt-DEG26ES2.js.map → chatgpt-VYZONEHH.js.map} +0 -0
  655. /package/dist/{chats-YMLASZPT.js.map → chats-M75TGD6O.js.map} +0 -0
  656. /package/dist/{check-RPSB7U3P.js.map → check-NTXU4MFW.js.map} +0 -0
  657. /package/dist/{chunk-KYSTZP7J.js.map → chunk-23E6XLI3.js.map} +0 -0
  658. /package/dist/{chunk-BOE6YB2D.js.map → chunk-2A7KCBFW.js.map} +0 -0
  659. /package/dist/{chunk-FFFJBNHA.js.map → chunk-2LEW2WH2.js.map} +0 -0
  660. /package/dist/{chunk-4GAEB6NK.js.map → chunk-32KUF3RV.js.map} +0 -0
  661. /package/dist/{chunk-BHXFGLY5.js.map → chunk-3DYCS7LX.js.map} +0 -0
  662. /package/dist/{chunk-RJY5S7RU.js.map → chunk-3I2B5U2N.js.map} +0 -0
  663. /package/dist/{chunk-MGYC2IRC.js.map → chunk-3RBTIJPR.js.map} +0 -0
  664. /package/dist/{chunk-LE7VW2IU.js.map → chunk-443BEDOK.js.map} +0 -0
  665. /package/dist/{chunk-PX3PUDK7.js.map → chunk-4IHWT7PH.js.map} +0 -0
  666. /package/dist/{chunk-AHUA76NQ.js.map → chunk-4XA55SWV.js.map} +0 -0
  667. /package/dist/{chunk-5DJ5RNAO.js.map → chunk-4XNVHSJZ.js.map} +0 -0
  668. /package/dist/{chunk-DTUGU4EI.js.map → chunk-4Z4N6XCJ.js.map} +0 -0
  669. /package/dist/{chunk-F4RZHA74.js.map → chunk-5SZKPTIK.js.map} +0 -0
  670. /package/dist/{chunk-JAC6JVCI.js.map → chunk-6OIKNJ7G.js.map} +0 -0
  671. /package/dist/{chunk-3YJNSUNF.js.map → chunk-6ZFSDYWV.js.map} +0 -0
  672. /package/dist/{chunk-TX7CQTD4.js.map → chunk-AULSX5ZA.js.map} +0 -0
  673. /package/dist/{chunk-MVD7QIXI.js.map → chunk-AVYUFJQQ.js.map} +0 -0
  674. /package/dist/{chunk-UKSSNYLU.js.map → chunk-BDOYNGUL.js.map} +0 -0
  675. /package/dist/{chunk-QUSH6U7Z.js.map → chunk-BJVXXJ4H.js.map} +0 -0
  676. /package/dist/{chunk-ZQXHOHSC.js.map → chunk-BSZA4PNA.js.map} +0 -0
  677. /package/dist/{chunk-PISGCYXU.js.map → chunk-D3WLAZD5.js.map} +0 -0
  678. /package/dist/{chunk-RRJK46PC.js.map → chunk-DMAAI5PM.js.map} +0 -0
  679. /package/dist/{chunk-SG2BCYWB.js.map → chunk-DPFHGPIW.js.map} +0 -0
  680. /package/dist/{chunk-DM6CEVCN.js.map → chunk-DSJHEMXL.js.map} +0 -0
  681. /package/dist/{chunk-HML3VQIW.js.map → chunk-DUCUOZLS.js.map} +0 -0
  682. /package/dist/{chunk-PLBITHV6.js.map → chunk-ELR5JGLM.js.map} +0 -0
  683. /package/dist/{chunk-KBRJSPIM.js.map → chunk-ESLLM23I.js.map} +0 -0
  684. /package/dist/{chunk-DZGXFV6A.js.map → chunk-FJ6SKVNO.js.map} +0 -0
  685. /package/dist/{chunk-7HZSORAB.js.map → chunk-FJZYOVSW.js.map} +0 -0
  686. /package/dist/{chunk-GDXJVEVG.js.map → chunk-G52PS5DJ.js.map} +0 -0
  687. /package/dist/{chunk-KTCWU4A4.js.map → chunk-GG4UDQF3.js.map} +0 -0
  688. /package/dist/{chunk-ZGWXGK5S.js.map → chunk-GQCUO7GQ.js.map} +0 -0
  689. /package/dist/{chunk-5XTGG4PV.js.map → chunk-HOHQXBFP.js.map} +0 -0
  690. /package/dist/{chunk-YNYAT2TZ.js.map → chunk-I43ZEWJQ.js.map} +0 -0
  691. /package/dist/{chunk-BRA6IXRS.js.map → chunk-I7B7MXPH.js.map} +0 -0
  692. /package/dist/{chunk-GNDSD5VQ.js.map → chunk-IPBF673T.js.map} +0 -0
  693. /package/dist/{chunk-WVTKUCAO.js.map → chunk-JIVXDIQQ.js.map} +0 -0
  694. /package/dist/{chunk-JCRCI7Q3.js.map → chunk-KMMQLWNC.js.map} +0 -0
  695. /package/dist/{chunk-6KWEF6HF.js.map → chunk-KPCHWDJM.js.map} +0 -0
  696. /package/dist/{chunk-SWN6OHXG.js.map → chunk-KTZCLJ2D.js.map} +0 -0
  697. /package/dist/{chunk-GACSA5A6.js.map → chunk-KZISJO24.js.map} +0 -0
  698. /package/dist/{chunk-CLUJWAQE.js.map → chunk-LOQYUZ5H.js.map} +0 -0
  699. /package/dist/{chunk-BW36QQQU.js.map → chunk-M2XZ7QTJ.js.map} +0 -0
  700. /package/dist/{chunk-A3IQAONL.js.map → chunk-MKUA54QE.js.map} +0 -0
  701. /package/dist/{chunk-ROVV7INH.js.map → chunk-MLLFLYQQ.js.map} +0 -0
  702. /package/dist/{chunk-NALPM5QO.js.map → chunk-OMCZGOER.js.map} +0 -0
  703. /package/dist/{chunk-LRV6M2WB.js.map → chunk-QHZE62GP.js.map} +0 -0
  704. /package/dist/{chunk-HD23TJIT.js.map → chunk-QJE3BPGJ.js.map} +0 -0
  705. /package/dist/{chunk-JYG7N6TV.js.map → chunk-RFICGCZP.js.map} +0 -0
  706. /package/dist/{chunk-PZ7BORLO.js.map → chunk-RVYF7O5T.js.map} +0 -0
  707. /package/dist/{chunk-LIRX2Q66.js.map → chunk-S5Q2DYJL.js.map} +0 -0
  708. /package/dist/{chunk-MZPS46OR.js.map → chunk-SIKCVWM3.js.map} +0 -0
  709. /package/dist/{chunk-36MUCC42.js.map → chunk-STNKHWDE.js.map} +0 -0
  710. /package/dist/{chunk-SBFP3REK.js.map → chunk-TIFF5AUE.js.map} +0 -0
  711. /package/dist/{chunk-F4YQ5PVR.js.map → chunk-UMIX2BMM.js.map} +0 -0
  712. /package/dist/{chunk-IYMGQATT.js.map → chunk-UOXCQPTS.js.map} +0 -0
  713. /package/dist/{chunk-D2JFOD5O.js.map → chunk-UT5Z7T4Z.js.map} +0 -0
  714. /package/dist/{chunk-HWDRW36T.js.map → chunk-UWHAVADJ.js.map} +0 -0
  715. /package/dist/{chunk-FFG2OYVV.js.map → chunk-XOGQJYXH.js.map} +0 -0
  716. /package/dist/{chunk-FM6RRYJB.js.map → chunk-Y3EIDK4C.js.map} +0 -0
  717. /package/dist/{chunk-X45ASFZW.js.map → chunk-YUIIO5VF.js.map} +0 -0
  718. /package/dist/{chunk-ZNRGH4NS.js.map → chunk-YZBB72TV.js.map} +0 -0
  719. /package/dist/{chunk-7LLKJN2O.js.map → chunk-Z2NSX6Y5.js.map} +0 -0
  720. /package/dist/{chunk-ZAM6PVHX.js.map → chunk-Z2PKXY3H.js.map} +0 -0
  721. /package/dist/{chunk-D735YLAX.js.map → chunk-ZKKYUXTA.js.map} +0 -0
  722. /package/dist/{chunk-T3KW63H7.js.map → chunk-ZVJXQK7Q.js.map} +0 -0
  723. /package/dist/{claim-J63DCFSE.js.map → claim-QWWYDOSG.js.map} +0 -0
  724. /package/dist/{companies-ZMETD3YL.js.map → companies-QJPNZKWC.js.map} +0 -0
  725. /package/dist/{company-HBBUATR5.js.map → company-2XI5YENC.js.map} +0 -0
  726. /package/dist/{complete-33TVSO6E.js.map → complete-NQLNIST2.js.map} +0 -0
  727. /package/dist/{connect-AEDQW4QD.js.map → connect-GIAB7I3B.js.map} +0 -0
  728. /package/dist/{conversation-XW5EOIEN.js.map → conversation-3SGF4ZYK.js.map} +0 -0
  729. /package/dist/{conversion-report-DKXFHLLX.js.map → conversion-report-SSURSX3A.js.map} +0 -0
  730. /package/dist/{conversion-upload-command-KTYAY7IG.js.map → conversion-upload-command-IRE3YQXF.js.map} +0 -0
  731. /package/dist/{conversion-writes-7ODJDAUP.js.map → conversion-writes-DZFTO25O.js.map} +0 -0
  732. /package/dist/{conversions-BKVGNNC6.js.map → conversions-4HSCON4E.js.map} +0 -0
  733. /package/dist/{conversions-4KNKID42.js.map → conversions-CUE5PD2T.js.map} +0 -0
  734. /package/dist/{create-CXRJDYGF.js.map → create-5IKCUAKR.js.map} +0 -0
  735. /package/dist/{create-ZYOYCWXN.js.map → create-DSV7FWVH.js.map} +0 -0
  736. /package/dist/{create-6SDMZQ4Q.js.map → create-LS4H4KAD.js.map} +0 -0
  737. /package/dist/{create-5S6F54WE.js.map → create-WFQJ4INC.js.map} +0 -0
  738. /package/dist/{creatives-5YGEPIB3.js.map → creatives-GUB46RDL.js.map} +0 -0
  739. /package/dist/{creatives-5MEZ5NZR.js.map → creatives-QHV5PM2O.js.map} +0 -0
  740. /package/dist/{credentials-RPMSP2VS.js.map → credentials-XPE4J425.js.map} +0 -0
  741. /package/dist/{critique-T3IBMGZM.js.map → critique-GP43IFZ6.js.map} +0 -0
  742. /package/dist/{critique-MG7EUWWV.js.map → critique-P3AT4R2H.js.map} +0 -0
  743. /package/dist/{crm-EL4J4WNF.js.map → crm-F4ZET6GF.js.map} +0 -0
  744. /package/dist/{crm-ASGBZRVG.js.map → crm-IVNKJMDK.js.map} +0 -0
  745. /package/dist/{currency-R4ORE2U3.js.map → currency-2224QRF5.js.map} +0 -0
  746. /package/dist/{customers-C44FU6CG.js.map → customers-XWZI4ZJA.js.map} +0 -0
  747. /package/dist/{delete-JTFI6V7V.js.map → delete-5CIN35JC.js.map} +0 -0
  748. /package/dist/{delete-DLYNWRJT.js.map → delete-B5BYKT7P.js.map} +0 -0
  749. /package/dist/{delete-Q5HD4KGJ.js.map → delete-RTYU4PI2.js.map} +0 -0
  750. /package/dist/{demographics-MOZIPEHS.js.map → demographics-HXQUDRVQ.js.map} +0 -0
  751. /package/dist/{discard-PSP4EE5Q.js.map → discard-34DFH75U.js.map} +0 -0
  752. /package/dist/{discover-GSJRZUOC.js.map → discover-UFGF5UNA.js.map} +0 -0
  753. /package/dist/{domain-Z7IZLEAT.js.map → domain-L2DZR3WF.js.map} +0 -0
  754. /package/dist/{download-YL3WYXAK.js.map → download-65UKEVNB.js.map} +0 -0
  755. /package/dist/{draft-WYDMLNYA.js.map → draft-4V5Q7MCH.js.map} +0 -0
  756. /package/dist/{draft-KBYO7UYX.js.map → draft-LPMNAJ37.js.map} +0 -0
  757. /package/dist/{draft-LPVK6YHI.js.map → draft-ONIL5ET5.js.map} +0 -0
  758. /package/dist/{draft-HRQVDCRE.js.map → draft-RCOLNCYG.js.map} +0 -0
  759. /package/dist/{draft-7FCTYBSL.js.map → draft-WOKX5ZAC.js.map} +0 -0
  760. /package/dist/{experiments-ATZUDSJ2.js.map → experiments-I466EYXE.js.map} +0 -0
  761. /package/dist/{facets-OFMQGFQI.js.map → facets-SFZM5X2R.js.map} +0 -0
  762. /package/dist/{feedback-5PUJ4R4T.js.map → feedback-YUNGXAZX.js.map} +0 -0
  763. /package/dist/{feedback-record-OCFYFDZS.js.map → feedback-record-7BSKBCSU.js.map} +0 -0
  764. /package/dist/{fetch-OOHRKFR3.js.map → fetch-R5RUA7W2.js.map} +0 -0
  765. /package/dist/{find-FHM5R2XW.js.map → find-5FCDTFYC.js.map} +0 -0
  766. /package/dist/{fit-F5ITXQC2.js.map → fit-TSYPV7TI.js.map} +0 -0
  767. /package/dist/{flows-S7JTDSQI.js.map → flows-AVKPI6A7.js.map} +0 -0
  768. /package/dist/{fonts-6SSX5XCC.js.map → fonts-EUAHM2UJ.js.map} +0 -0
  769. /package/dist/{forecast-4AG5F7YC.js.map → forecast-3F7ZCCJ5.js.map} +0 -0
  770. /package/dist/{forecast-2HNOCRWB.js.map → forecast-S7ZYASUU.js.map} +0 -0
  771. /package/dist/{funnel-YIORZXII.js.map → funnel-7PTBJKJY.js.map} +0 -0
  772. /package/dist/{ga4-HTD6WC3P.js.map → ga4-BWVCDVIR.js.map} +0 -0
  773. /package/dist/{generate-NWHPM2GQ.js.map → generate-VBEY3N3L.js.map} +0 -0
  774. /package/dist/{get-HKPSBLZS.js.map → get-F6VFBT36.js.map} +0 -0
  775. /package/dist/{get-EM23C25V.js.map → get-JHYQ4QXP.js.map} +0 -0
  776. /package/dist/{google-AFV6DMTA.js.map → google-3BO7KNZ6.js.map} +0 -0
  777. /package/dist/{google-Z45VV6UD.js.map → google-XKUH32VA.js.map} +0 -0
  778. /package/dist/{google-ads-BVQMRZU6.js.map → google-ads-NH2FFXLZ.js.map} +0 -0
  779. /package/dist/{history-X4VXR7DB.js.map → history-DTYOAOE2.js.map} +0 -0
  780. /package/dist/{history-5MRLNTCI.js.map → history-OYKUWMQR.js.map} +0 -0
  781. /package/dist/{hubspot-R5LFC5Q4.js.map → hubspot-HWP6MND7.js.map} +0 -0
  782. /package/dist/{icon-XO2EKLWL.js.map → icon-XHPEVICH.js.map} +0 -0
  783. /package/dist/{ideas-2RRMJOSO.js.map → ideas-3U3A4EN6.js.map} +0 -0
  784. /package/dist/{images-3LNUPFRA.js.map → images-SJG47ECD.js.map} +0 -0
  785. /package/dist/{ingest-ZYSC76V2.js.map → ingest-DAOHJQKA.js.map} +0 -0
  786. /package/dist/{ingest-I6BQM5NK.js.map → ingest-JVIIL2LQ.js.map} +0 -0
  787. /package/dist/{insights-XCT3ONC7.js.map → insights-DYCUSIPZ.js.map} +0 -0
  788. /package/dist/{inspect-ROB566AP.js.map → inspect-2YRCLJYJ.js.map} +0 -0
  789. /package/dist/{inspiration-QJNUFRNH.js.map → inspiration-BPG25PTI.js.map} +0 -0
  790. /package/dist/{intent-NSHW7EJT.js.map → intent-3SNXAUCK.js.map} +0 -0
  791. /package/dist/{keyword-gap-ITTWKBWZ.js.map → keyword-gap-YUL7H46U.js.map} +0 -0
  792. /package/dist/{keyword-metrics-KONKDXMK.js.map → keyword-metrics-72DK47OR.js.map} +0 -0
  793. /package/dist/{keywords-for-site-4AGYZ265.js.map → keywords-for-site-FZ6IRJZT.js.map} +0 -0
  794. /package/dist/{landing-F4RB6L3I.js.map → landing-SX5AKQXF.js.map} +0 -0
  795. /package/dist/{languages-MEFQQBJ2.js.map → languages-JEPSSZLV.js.map} +0 -0
  796. /package/dist/{leads-GZX36YYH.js.map → leads-35BGOUYS.js.map} +0 -0
  797. /package/dist/{learn-FWFTBWWN.js.map → learn-BWUPJSSS.js.map} +0 -0
  798. /package/dist/{line-item-writes-KDYZM7WT.js.map → line-item-writes-UPZGBKNK.js.map} +0 -0
  799. /package/dist/{line-items-WZVTLUZ6.js.map → line-items-OVFRYFKZ.js.map} +0 -0
  800. /package/dist/{link-VLRNY66A.js.map → link-PFJ4S5HG.js.map} +0 -0
  801. /package/dist/{linkedin-person-4NGRXXV6.js.map → linkedin-person-D6I5VQU2.js.map} +0 -0
  802. /package/dist/{list-AN6K2XLU.js.map → list-62ZMY2SZ.js.map} +0 -0
  803. /package/dist/{list-6J2IGMLV.js.map → list-C5EP7PEA.js.map} +0 -0
  804. /package/dist/{list-LHGVHGUM.js.map → list-SRZWTWDO.js.map} +0 -0
  805. /package/dist/{locations-RLWAS6AC.js.map → locations-GO7L7BYJ.js.map} +0 -0
  806. /package/dist/{locations-UKBOT6SB.js.map → locations-KQLA6ZAG.js.map} +0 -0
  807. /package/dist/{log-7EBQ7DJ6.js.map → log-3PXLI7AB.js.map} +0 -0
  808. /package/dist/{logo-UJIVQZRI.js.map → logo-4MGGQHQ7.js.map} +0 -0
  809. /package/dist/{make-PECS5NAQ.js.map → make-LQCMYG5L.js.map} +0 -0
  810. /package/dist/{map-7253CTNY.js.map → map-AA63G2TQ.js.map} +0 -0
  811. /package/dist/{mcp-XMPWI5XB.js.map → mcp-FLQIIXGQ.js.map} +0 -0
  812. /package/dist/{media-sources-HQHZF4D6.js.map → media-sources-FKAQL6RJ.js.map} +0 -0
  813. /package/dist/{members-N4CCN335.js.map → members-WH47N66M.js.map} +0 -0
  814. /package/dist/{meta-QWV6UVUC.js.map → meta-EHKXH257.js.map} +0 -0
  815. /package/dist/{metrics-K6FDCMK7.js.map → metrics-2EYRCEJE.js.map} +0 -0
  816. /package/dist/{models-JQEPSPNQ.js.map → models-HJ7Y55AH.js.map} +0 -0
  817. /package/dist/{normalize-RUXCKIOY.js.map → normalize-J54J2FFS.js.map} +0 -0
  818. /package/dist/{options-MOPECJ3O.js.map → options-ZXQ376Y6.js.map} +0 -0
  819. /package/dist/{organization-WIS6VWWR.js.map → organization-DVL6F3XN.js.map} +0 -0
  820. /package/dist/{performance-7QCPWSO3.js.map → performance-3XVX6WRF.js.map} +0 -0
  821. /package/dist/{performance-WPK4ZDES.js.map → performance-SNJQ3UZ5.js.map} +0 -0
  822. /package/dist/{pixels-Z7ZGXAGB.js.map → pixels-2MSQKQKG.js.map} +0 -0
  823. /package/dist/{posts-37LZKGWU.js.map → posts-LKL4S52R.js.map} +0 -0
  824. /package/dist/{promoted-tweet-writes-RVG3ZFBU.js.map → promoted-tweet-writes-E2DAPUB7.js.map} +0 -0
  825. /package/dist/{promoted-tweets-REBNGC5C.js.map → promoted-tweets-LZMVYSIM.js.map} +0 -0
  826. /package/dist/{publish-SWCARQK4.js.map → publish-4NGQYOBU.js.map} +0 -0
  827. /package/dist/{query-QM7MBQD7.js.map → query-2V2IOV4K.js.map} +0 -0
  828. /package/dist/{reddit-PUZYTZEN.js.map → reddit-UNGMZMFK.js.map} +0 -0
  829. /package/dist/{refresh-LAVH2YVG.js.map → refresh-BWIZETBJ.js.map} +0 -0
  830. /package/dist/{release-SBJJ2V5Q.js.map → release-AYXLDMY3.js.map} +0 -0
  831. /package/dist/{relevant-pages-VOICMQ7U.js.map → relevant-pages-ODV4OWSA.js.map} +0 -0
  832. /package/dist/{remove-RVNHSUJR.js.map → remove-AOFHEO2V.js.map} +0 -0
  833. /package/dist/{reopen-LLM42KTM.js.map → reopen-TTW47NHH.js.map} +0 -0
  834. /package/dist/{rerun-CR4XIAN5.js.map → rerun-W23AYLWT.js.map} +0 -0
  835. /package/dist/{research-SD4HOWYT.js.map → research-LICSQSXV.js.map} +0 -0
  836. /package/dist/{research-WQA67XCR.js.map → research-XAAKJGYK.js.map} +0 -0
  837. /package/dist/{reset-O6RQAPSK.js.map → reset-5DJQY4B3.js.map} +0 -0
  838. /package/dist/{reset-G7ECVXHU.js.map → reset-QVVRZV2W.js.map} +0 -0
  839. /package/dist/{resolve-UUJJWBD4.js.map → resolve-YHWTBFX6.js.map} +0 -0
  840. /package/dist/{retry-Q7SRV5UM.js.map → retry-VHXWYHJP.js.map} +0 -0
  841. /package/dist/{retry-M7JN2ID5.js.map → retry-WMQQGD47.js.map} +0 -0
  842. /package/dist/{revenue-DRFCKON6.js.map → revenue-BIZY5UE2.js.map} +0 -0
  843. /package/dist/{rules-S4VLYI3O.js.map → rules-6HFOBVKB.js.map} +0 -0
  844. /package/dist/{rules-add-JQNLQ562.js.map → rules-add-UFQ3RFJJ.js.map} +0 -0
  845. /package/dist/{run-FQL2BFN7.js.map → run-3ATMLBLR.js.map} +0 -0
  846. /package/dist/{run-QVTDEUR2.js.map → run-ZJE7RVUI.js.map} +0 -0
  847. /package/dist/{scaffold-ad-JRFQNS7S.js.map → scaffold-ad-2DWRSJXF.js.map} +0 -0
  848. /package/dist/{scaffold-static-ad-ZSBLJMCN.js.map → scaffold-static-ad-XCFF3LYA.js.map} +0 -0
  849. /package/dist/{scaffold-video-6VPW4W6D.js.map → scaffold-video-UCO6MRJB.js.map} +0 -0
  850. /package/dist/{schedule-KRDPSVBL.js.map → schedule-ESSBF3LF.js.map} +0 -0
  851. /package/dist/{schema-GU6HWW7C.js.map → schema-WQORY2KW.js.map} +0 -0
  852. /package/dist/{search-IYLUSJ5N.js.map → search-57D2B2OY.js.map} +0 -0
  853. /package/dist/{select-SPEV6G7T.js.map → select-56BHOXBY.js.map} +0 -0
  854. /package/dist/{set-prompt-2LAI5467.js.map → set-prompt-GVZND3QG.js.map} +0 -0
  855. /package/dist/{setup-links-KOSGFATQ.js.map → setup-links-HHMBQEO4.js.map} +0 -0
  856. /package/dist/{shopify-OJTU5IST.js.map → shopify-P7UW2EF7.js.map} +0 -0
  857. /package/dist/{site-GVTJSU2O.js.map → site-B5MR2MLX.js.map} +0 -0
  858. /package/dist/{sources-AP6R4HV7.js.map → sources-76KVKVQK.js.map} +0 -0
  859. /package/dist/{sources-T2VR3QZS.js.map → sources-WIJSQ22D.js.map} +0 -0
  860. /package/dist/{stale-XTMLMQRG.js.map → stale-4S5VUSLX.js.map} +0 -0
  861. /package/dist/{stats-HUWCLN7J.js.map → stats-QP4LFQZJ.js.map} +0 -0
  862. /package/dist/{status-FTKR66FZ.js.map → status-SPJRL574.js.map} +0 -0
  863. /package/dist/{stock-4AQFDZLE.js.map → stock-TAKWC3YI.js.map} +0 -0
  864. /package/dist/{studio-Z4AJRIGP.js.map → studio-5Z4NMA4K.js.map} +0 -0
  865. /package/dist/{sync-X54QUCUX.js.map → sync-XKOU34SQ.js.map} +0 -0
  866. /package/dist/{sync-definition-7VHFXDQL.js.map → sync-definition-MRPGG7M4.js.map} +0 -0
  867. /package/dist/{tag-manager-BVPLGLTF.js.map → tag-manager-F7PVTDBB.js.map} +0 -0
  868. /package/dist/{tags-VOQPFWYT.js.map → tags-27GGQKET.js.map} +0 -0
  869. /package/dist/{tags-J6DYTDPK.js.map → tags-2AUUNOQS.js.map} +0 -0
  870. /package/dist/{tags-RG2S2DED.js.map → tags-CKLEZFM7.js.map} +0 -0
  871. /package/dist/{tags-DLRVIRYW.js.map → tags-PJPJZU37.js.map} +0 -0
  872. /package/dist/{tags-PJAGQDWN.js.map → tags-TWUCUOK4.js.map} +0 -0
  873. /package/dist/{targeting-criteria-35JQFAIN.js.map → targeting-criteria-VGRHR5AY.js.map} +0 -0
  874. /package/dist/{targets-VCQOKL74.js.map → targets-7VQKQPBI.js.map} +0 -0
  875. /package/dist/{testimonials-FZMOZNTT.js.map → testimonials-JTUDC34Z.js.map} +0 -0
  876. /package/dist/{themes-B4LCQUXB.js.map → themes-QESDDIHF.js.map} +0 -0
  877. /package/dist/{top-companies-TM5P62HC.js.map → top-companies-DSL7KEGE.js.map} +0 -0
  878. /package/dist/{transcript-YLB4MEFL.js.map → transcript-WDVQZGV2.js.map} +0 -0
  879. /package/dist/{translate-LNTTT5OG.js.map → translate-BBL55D4V.js.map} +0 -0
  880. /package/dist/{triggers-T4DMWZKK.js.map → triggers-MJBTJEDT.js.map} +0 -0
  881. /package/dist/{unlink-E2LNVKQV.js.map → unlink-GYZ2UCFF.js.map} +0 -0
  882. /package/dist/{unstage-2BXWGRZ7.js.map → unstage-GU7LCKKS.js.map} +0 -0
  883. /package/dist/{update-Z5UK64G6.js.map → update-A55RAMSY.js.map} +0 -0
  884. /package/dist/{update-XCYMB2GE.js.map → update-SN432VZE.js.map} +0 -0
  885. /package/dist/{update-N5V5YUNT.js.map → update-XAD5DRCC.js.map} +0 -0
  886. /package/dist/{upload-P47KDC73.js.map → upload-XTQJ2P4U.js.map} +0 -0
  887. /package/dist/{url-options-IHL4OU4C.js.map → url-options-IBU342D6.js.map} +0 -0
  888. /package/dist/{url-params-NXAAL6R4.js.map → url-params-VKFODKXG.js.map} +0 -0
  889. /package/dist/{validate-E7ZDF74Z.js.map → validate-HOVZUHU5.js.map} +0 -0
  890. /package/dist/{videos-JB4OONPY.js.map → videos-RAF7DZU2.js.map} +0 -0
  891. /package/dist/{viewer-check-UR6QUTH3.js.map → viewer-check-6GN3FD33.js.map} +0 -0
  892. /package/dist/{web-WE34D4FA.js.map → web-ODL344X6.js.map} +0 -0
  893. /package/dist/{winning-ads-A2WEL3LP.js.map → winning-ads-JTZIUTBR.js.map} +0 -0
  894. /package/dist/{x-DVGGVFDR.js.map → x-NYDP7RVN.js.map} +0 -0
@@ -0,0 +1,886 @@
1
+ import {
2
+ stampCompositionDims
3
+ } from "./chunk-5MBPIONY.js";
4
+ import {
5
+ isValidScaffoldSlug,
6
+ resolveCastAvatars
7
+ } from "./chunk-YSPCWJCO.js";
8
+ import {
9
+ SHIPPED_CAPTIONS_DIR,
10
+ SHIPPED_OVERLAY_COMPOSITION_DIR,
11
+ fail,
12
+ fileExists,
13
+ loadAssetText,
14
+ parseElements,
15
+ resolveModel
16
+ } from "./chunk-SIKCVWM3.js";
17
+ import {
18
+ readDefinitionPlatforms,
19
+ syncCreativeDefinitionBestEffort
20
+ } from "./chunk-443BEDOK.js";
21
+ import "./chunk-XOGQJYXH.js";
22
+ import {
23
+ enforceNewCreativeLimit
24
+ } from "./chunk-XVFZDPEW.js";
25
+ import "./chunk-4IHWT7PH.js";
26
+ import {
27
+ REBUILD_FILE,
28
+ annotateBlueprintWithElements,
29
+ avatarsNotCast,
30
+ buildCreativeDefinition,
31
+ buildOverlayHtml,
32
+ cachedJev,
33
+ canvasDims,
34
+ castAvatarsOnElements,
35
+ computeSourceSha,
36
+ definitionPlatformsOf,
37
+ genAspectsFor,
38
+ languageCodeNamed,
39
+ readBlueprintSpeech,
40
+ renderStyleProjectionFromValue,
41
+ resolveAspect,
42
+ resolveFormats,
43
+ scaffoldVideoCanvas,
44
+ slimBlueprintForSelection,
45
+ spokenLanguage,
46
+ titleFromSlug,
47
+ videoReport,
48
+ voiceGenderModel,
49
+ writeSceneFiles
50
+ } from "./chunk-3I2B5U2N.js";
51
+ import "./chunk-YUIIO5VF.js";
52
+ import "./chunk-Z2PKXY3H.js";
53
+ import "./chunk-WHBFXR6F.js";
54
+ import "./chunk-DQVI7GCX.js";
55
+ import "./chunk-EKX37C3T.js";
56
+ import "./chunk-KTZCLJ2D.js";
57
+ import "./chunk-Z2NSX6Y5.js";
58
+ import "./chunk-MKUA54QE.js";
59
+ import "./chunk-RFICGCZP.js";
60
+ import "./chunk-UT5Z7T4Z.js";
61
+ import "./chunk-6ZFSDYWV.js";
62
+ import "./chunk-QPESDKZC.js";
63
+ import {
64
+ holdUnbilledSpend
65
+ } from "./chunk-E44NXCTL.js";
66
+ import {
67
+ findWorkspaceRoot,
68
+ resolveRelativeCanvasPaths
69
+ } from "./chunk-EJGAJHLB.js";
70
+ import {
71
+ ValidationError,
72
+ createEngineFromEnv,
73
+ defaultRegistry,
74
+ validateCanvasDeep
75
+ } from "./chunk-KPCHWDJM.js";
76
+ import "./chunk-AULSX5ZA.js";
77
+ import "./chunk-UMIX2BMM.js";
78
+ import "./chunk-DGCUPJZD.js";
79
+ import "./chunk-AVYUFJQQ.js";
80
+ import "./chunk-QHZE62GP.js";
81
+ import "./chunk-FJZYOVSW.js";
82
+ import {
83
+ AD_IMAGE_MODEL,
84
+ BLUEPRINT_ANALYSIS_MODEL,
85
+ DEFAULT_VIDEO_GENERATE_MODEL,
86
+ MODEL_ROLES,
87
+ SEEDANCE_DURATIONS,
88
+ VIDEO_DECONSTRUCT_MODEL
89
+ } from "./chunk-F3CZFUXZ.js";
90
+ import "./chunk-2WZI36D3.js";
91
+ import "./chunk-65Y3RCWP.js";
92
+ import {
93
+ askJevQuestions
94
+ } from "./chunk-LNNTHEL7.js";
95
+ import {
96
+ MAX_ASSET_BYTES,
97
+ sha256Hex
98
+ } from "./chunk-FOMFU2RX.js";
99
+ import "./chunk-PSGIHSNC.js";
100
+ import {
101
+ fetchExternalBytes
102
+ } from "./chunk-PONLPYD7.js";
103
+ import "./chunk-4CNR3MNJ.js";
104
+ import "./chunk-CAZGM2NX.js";
105
+ import "./chunk-NZS3KEQ2.js";
106
+ import "./chunk-GIWHHCD6.js";
107
+ import "./chunk-NSBNIPIW.js";
108
+ import "./chunk-HNNCAJNF.js";
109
+ import "./chunk-X7VQFLHI.js";
110
+ import "./chunk-LU4HI4KI.js";
111
+ import "./chunk-LGK7UWBN.js";
112
+ import "./chunk-Q7US4OOA.js";
113
+ import "./chunk-YQSBHWOI.js";
114
+
115
+ // src/commands/canvas/scaffold-video.ts
116
+ import { cp, mkdir, readFile as readFile3, rm as rm2, writeFile } from "fs/promises";
117
+ import { tmpdir as tmpdir2 } from "os";
118
+ import path2 from "path";
119
+ import { defineCommand } from "citty";
120
+
121
+ // src/engine/scaffold/lib/model-router.ts
122
+ var SEEDANCE = MODEL_ROLES.videoRouterWorkhorse.model;
123
+ var VEO = MODEL_ROLES.videoRouterRealFace.model;
124
+ var VEO_FAST = MODEL_ROLES.videoRouterRealFaceEconomy.model;
125
+ var KLING = MODEL_ROLES.videoRouterMotion.model;
126
+ var GEMINI_OMNI = MODEL_ROLES.videoDefault.model;
127
+ function routeVideoModel(input) {
128
+ const budget = input.budget ?? "standard";
129
+ const signals = [];
130
+ if (input.hasRealFace) {
131
+ signals.push({ model: VEO, weight: 1200, because: "real human likeness \u2192 Veo (dodges the real-person filter)" });
132
+ }
133
+ if (input.needsMotionTransfer) {
134
+ signals.push({ model: KLING, weight: 800, because: "motion-transfer / dynamic multi-shot \u2192 Kling" });
135
+ }
136
+ if (input.needsIdentity && !input.hasRealFace) {
137
+ signals.push({ model: SEEDANCE, weight: 300, because: "identity/product consistency \u2192 Seedance workhorse" });
138
+ }
139
+ signals.push({ model: GEMINI_OMNI, weight: 100, because: "default \u2014 native audio in one call" });
140
+ const scores = { [SEEDANCE]: 0, [VEO]: 0, [VEO_FAST]: 0, [KLING]: 0, [GEMINI_OMNI]: 0 };
141
+ let top = signals[0];
142
+ for (const s of signals) {
143
+ scores[s.model] = (scores[s.model] ?? 0) + s.weight;
144
+ if ((scores[s.model] ?? 0) >= (scores[top.model] ?? 0)) top = s;
145
+ }
146
+ let model = top.model;
147
+ let reason = top.because;
148
+ if (model === VEO && budget === "economy") {
149
+ model = VEO_FAST;
150
+ reason = `${reason}, on the economy fast tier`;
151
+ scores[VEO_FAST] = scores[VEO] ?? 0;
152
+ }
153
+ return { model, reason, scores };
154
+ }
155
+
156
+ // src/engine/nodes/local/lib/sceneDetect.ts
157
+ import { execFile } from "child_process";
158
+ import { mkdtemp, readdir, readFile, rm } from "fs/promises";
159
+ import { tmpdir } from "os";
160
+ import { join } from "path";
161
+ import { promisify } from "util";
162
+ var execFileAsync = promisify(execFile);
163
+ var PYSCENEDETECT_THRESHOLD = 18;
164
+ var PYSCENEDETECT_MIN_SCENE_LEN_S = 0.25;
165
+ var PYSCENEDETECT_RECHECK_THRESHOLD = 27;
166
+ var PYSCENEDETECT_RECHECK_MIN_SCENE_LEN_S = 0.6;
167
+ function isLikelyOverSegmented(cuts, opts = {}) {
168
+ const minCuts = opts.minCuts ?? 6;
169
+ const maxMedianGap = opts.medianGapS ?? 2;
170
+ const sorted = [...cuts].filter((c) => Number.isFinite(c) && c > 0).sort((a, b) => a - b);
171
+ if (sorted.length < minCuts) return false;
172
+ const gaps = [];
173
+ let prev = 0;
174
+ for (const c of sorted) {
175
+ gaps.push(c - prev);
176
+ prev = c;
177
+ }
178
+ gaps.sort((a, b) => a - b);
179
+ const mid = Math.floor(gaps.length / 2);
180
+ const median = gaps.length % 2 ? gaps[mid] : (gaps[mid - 1] + gaps[mid]) / 2;
181
+ return median < maxMedianGap;
182
+ }
183
+ function mergeRecheckCuts(firstPass, recheck, isolationS = 0.75) {
184
+ const kept = [...new Set(recheck)].sort((a, b) => a - b);
185
+ const extras = [...new Set(firstPass)].filter((c) => kept.every((k) => Math.abs(k - c) >= isolationS)).sort((a, b) => a - b);
186
+ const isolated = extras.filter((c, i) => {
187
+ const prev = extras[i - 1];
188
+ const next = extras[i + 1];
189
+ return (prev === void 0 || c - prev >= isolationS) && (next === void 0 || next - c >= isolationS);
190
+ });
191
+ return [.../* @__PURE__ */ new Set([...kept, ...isolated])].sort((a, b) => a - b);
192
+ }
193
+ function timecodeToSeconds(tc) {
194
+ const m = tc.trim().match(/^(\d+):(\d{1,2}):(\d{1,2}(?:\.\d+)?)$/);
195
+ if (!m) return null;
196
+ const h = Number.parseInt(m[1] ?? "", 10);
197
+ const min = Number.parseInt(m[2] ?? "", 10);
198
+ const s = Number.parseFloat(m[3] ?? "");
199
+ if (!Number.isFinite(h) || !Number.isFinite(min) || !Number.isFinite(s)) return null;
200
+ return h * 3600 + min * 60 + s;
201
+ }
202
+ function parsePySceneDetectCsvCuts(csv) {
203
+ const firstLine = csv.split(/\r?\n/, 1)[0] ?? "";
204
+ if (!/^\s*Timecode List:/i.test(firstLine)) return [];
205
+ const cuts = [];
206
+ for (const cell of firstLine.split(",").slice(1)) {
207
+ const t = timecodeToSeconds(cell);
208
+ if (t !== null && t > 0) cuts.push(Math.round(t * 1e3) / 1e3);
209
+ }
210
+ return [...new Set(cuts)].sort((a, b) => a - b);
211
+ }
212
+ async function runSceneDetectOnce(filePath, threshold, minSceneLenS, timeoutMs) {
213
+ const outDir = await mkdtemp(join(tmpdir(), "baker-scenedetect-"));
214
+ try {
215
+ await execFileAsync(
216
+ "scenedetect",
217
+ [
218
+ "--input",
219
+ filePath,
220
+ "--output",
221
+ outDir,
222
+ "detect-content",
223
+ "--threshold",
224
+ String(threshold),
225
+ "--min-scene-len",
226
+ String(minSceneLenS),
227
+ "list-scenes",
228
+ "--quiet"
229
+ ],
230
+ { encoding: "utf-8", maxBuffer: 32 * 1024 * 1024, timeout: timeoutMs }
231
+ );
232
+ const csvName = (await readdir(outDir)).find((f) => f.toLowerCase().endsWith(".csv"));
233
+ if (!csvName) return [];
234
+ return parsePySceneDetectCsvCuts(await readFile(join(outDir, csvName), "utf-8"));
235
+ } finally {
236
+ await rm(outDir, { recursive: true, force: true });
237
+ }
238
+ }
239
+ async function detectSceneCutsPySceneDetect(filePath, opts = {}) {
240
+ const pinned = opts.threshold !== void 0;
241
+ const threshold = opts.threshold ?? PYSCENEDETECT_THRESHOLD;
242
+ const minSceneLenS = opts.minSceneLenS ?? PYSCENEDETECT_MIN_SCENE_LEN_S;
243
+ const timeoutMs = opts.timeout_ms ?? 12e4;
244
+ const cuts = await runSceneDetectOnce(filePath, threshold, minSceneLenS, timeoutMs);
245
+ if (!pinned && isLikelyOverSegmented(cuts)) {
246
+ const rechecked = await runSceneDetectOnce(
247
+ filePath,
248
+ PYSCENEDETECT_RECHECK_THRESHOLD,
249
+ PYSCENEDETECT_RECHECK_MIN_SCENE_LEN_S,
250
+ timeoutMs
251
+ );
252
+ return mergeRecheckCuts(cuts, rechecked);
253
+ }
254
+ return cuts;
255
+ }
256
+
257
+ // src/commands/canvas/gitignore.ts
258
+ import { appendFile, readFile as readFile2 } from "fs/promises";
259
+ import path from "path";
260
+ function missingGitignoreEntries(existing, entries) {
261
+ const present = new Set(
262
+ existing.split("\n").map((l) => l.trim().replace(/\/+$/, "")).filter((l) => l.length > 0 && !l.startsWith("#"))
263
+ );
264
+ return entries.filter((e) => !present.has(e.trim().replace(/\/+$/, "")));
265
+ }
266
+ async function ensureGitignore(dir, entries) {
267
+ const file = path.join(dir, ".gitignore");
268
+ let existing;
269
+ try {
270
+ existing = await readFile2(file, "utf8");
271
+ } catch {
272
+ return;
273
+ }
274
+ const missing = missingGitignoreEntries(existing, entries);
275
+ if (missing.length === 0) return;
276
+ const prefix = existing.endsWith("\n") || existing.length === 0 ? "" : "\n";
277
+ await appendFile(file, `${prefix}
278
+ # Baker canvas (engine cache + scaffold working files)
279
+ ${missing.join("\n")}
280
+ `);
281
+ }
282
+
283
+ // src/commands/canvas/scaffold-video.ts
284
+ var SELECT_SYSTEM = 'You identify the RECURRING, identity-critical visual elements of a video ad from its deconstruction blueprint \u2014 the people, animals, products, and logos that must stay consistent every time they appear, so a faithful reproduction grounds each in ONE real reference image reused across every frame it appears in. Output ONLY a JSON object of the form { "elements": [ ... ] }, no prose.';
285
+ var SELECT_PROMPT = `VIDEO DECONSTRUCTION BLUEPRINT (video-deconstruct/1):
286
+ {{blueprint}}
287
+
288
+ List ONLY the elements worth keeping consistent across frames \u2014 the ones a reproduction must ground in a real asset:
289
+ - each recurring person from global.cast (a presenter/actor/persona) -> type "person"
290
+ - a recurring animal/pet/character with a stable identity -> type "animal"
291
+ - a showcased product, package, card, or device the ad sells or demonstrates -> type "product"
292
+ - the advertiser brand logo/wordmark (from global.branding) -> type "logo"
293
+ - a recurring trust/rating/certification badge -> type "badge"
294
+ - the dominant recording set/location the scenes share (e.g. the same living room, car interior, kitchen) -> type "location"
295
+
296
+ DROP one-off background extras and incidental props \u2014 but the shared set/location is NOT generic scenery: pin it as ONE "location" element so the room stays identical across scenes. A person in global.cast is almost always recurring. Keep at most ~8.
297
+
298
+ ONE PERSON, MULTIPLE LOOKS: if a single individual plays MULTIPLE personas or wardrobes (e.g. a creator as a skeptic in one outfit and a believer in another, or a before/after), emit ONE element PER look (so each outfit gets its own real reference image) and link the extra looks to the first via "same_as" \u2014 they are the SAME person, only the wardrobe/state differs, so the face must stay identical.
299
+
300
+ For each kept element return: { "type": one of person|animal|product|logo|badge|location, "label": a short UPPER_SNAKE_CASE name (e.g. HERO, CREATOR_SKEPTIC, INSURANCE_CARD, LOGO), "description": a concrete reusable description to source/shoot the real asset \u2014 for a person/animal give a NEUTRAL castable role (e.g. "hero pet-owner, woman in her 30s" or "a small beagle"), NOT the original individual's literal face/identity: we RECAST with a FRESH person/animal, so never tell the agent to reuse the original. "expression": a living subject's typical expression or null, "cast_id": the global.cast id if it maps to one else null, "same_as": the label of another element this is the SAME individual as (different wardrobe/persona) else null, "scenes": the 0-based indices of ONLY the scenes where the element is ACTUALLY VISIBLE ON SCREEN \u2014 judged from that scene's start_frame_prompt / end_frame_prompt subjects and its action_detail, NOT from who is merely speaking. A narrator heard over b-roll is NOT present in that b-roll scene; a dog-running cutaway does NOT contain the couch creator just because she talks across it. Do NOT pad the list \u2014 an element wrongly listed in a scene makes the reproduction render the wrong subject there (e.g. the creator appearing in a pure-dog b-roll). When in doubt, leave a scene OUT. Output ONLY the JSON object.`;
301
+ async function loadTranscriptBestEffort(ref) {
302
+ if (!ref) return void 0;
303
+ try {
304
+ return await loadAssetText(ref, "deconstruct transcript");
305
+ } catch {
306
+ return void 0;
307
+ }
308
+ }
309
+ async function stageCaptions(outDir, transcript) {
310
+ const text = transcript?.trim();
311
+ if (!text || text === "[]") return {};
312
+ const compositionPath = path2.join(outDir, "tiktok-captions-composition");
313
+ await cp(SHIPPED_CAPTIONS_DIR, compositionPath, { recursive: true });
314
+ return { compositionPath };
315
+ }
316
+ async function detectShotCutsBestEffort(videoPath, threshold) {
317
+ try {
318
+ const cuts = await detectSceneCutsPySceneDetect(videoPath, threshold ? { threshold } : {});
319
+ if (cuts.length > 0) {
320
+ process.stderr.write(`Detected ${cuts.length} shot cut(s) via PySceneDetect: ${cuts.join(", ")}s
321
+ `);
322
+ } else {
323
+ process.stderr.write("PySceneDetect ran but found no hard cuts; using LLM scene boundaries.\n");
324
+ }
325
+ return cuts;
326
+ } catch (e) {
327
+ const msg = e instanceof Error ? e.message : String(e);
328
+ const code = e?.code;
329
+ const missing = code === "ENOENT" || /ENOENT|not found|command not found/i.test(msg);
330
+ if (missing) {
331
+ process.stderr.write(
332
+ "WARNING: `scenedetect` (PySceneDetect) is NOT installed \u2014 falling back to LLM-only scene boundaries, which under-segments (coarse 9-15s scenes instead of the real 1-4s cuts). Install it (`pipx install scenedetect[opencv]` or `pip install scenedetect[opencv]`) for accurate shot-cut detection.\n"
333
+ );
334
+ } else {
335
+ process.stderr.write(`Shot-cut detection skipped (${msg}); using LLM boundaries.
336
+ `);
337
+ }
338
+ return void 0;
339
+ }
340
+ }
341
+ var VIDEO_EXT_BY_MIME = {
342
+ "video/mp4": ".mp4",
343
+ "video/quicktime": ".mov",
344
+ "video/webm": ".webm",
345
+ "video/x-matroska": ".mkv"
346
+ };
347
+ function referenceVideoExt(url, contentType) {
348
+ const fromPath = path2.extname(new URL(url).pathname).toLowerCase();
349
+ if (fromPath && fromPath.length <= 5) return fromPath;
350
+ const mime = (contentType ?? "").split(";")[0]?.trim().toLowerCase();
351
+ return mime && VIDEO_EXT_BY_MIME[mime] || ".mp4";
352
+ }
353
+ function videoSourceReference(blueprint, fileArg) {
354
+ const bp = blueprint ?? {};
355
+ const durable = typeof bp.source?.url === "string" ? bp.source.url : void 0;
356
+ const original = /^https?:\/\//i.test(fileArg) ? fileArg : void 0;
357
+ const brand = bp.global?.branding?.brand_name;
358
+ return { url: durable ?? original, advertiser: typeof brand === "string" && brand.trim() ? brand.trim() : void 0 };
359
+ }
360
+ function videoDefinitionDescription(blueprint) {
361
+ const g = (blueprint ?? {}).global ?? {};
362
+ const notes = g.reproduction_notes;
363
+ if (typeof notes === "string" && notes.trim()) return notes.trim();
364
+ const product = g.branding?.product;
365
+ return typeof product === "string" && product.trim() ? product.trim() : void 0;
366
+ }
367
+ function framesModeReport(canvas, requested) {
368
+ const todo = canvas.metadata?.todo;
369
+ const mode = typeof todo?.frames_mode === "string" ? todo.frames_mode : requested;
370
+ const refused = typeof todo?.frames_reuse_refused === "string" ? todo.frames_reuse_refused : void 0;
371
+ return { frames_mode: mode, ...refused ? { frames_reuse_refused: refused } : {} };
372
+ }
373
+ async function materializeReferenceVideo(fileArg) {
374
+ if (!/^https?:\/\//i.test(fileArg)) return path2.resolve(fileArg);
375
+ let bytes;
376
+ let contentType;
377
+ try {
378
+ ({ buffer: bytes, contentType } = await fetchExternalBytes(fileArg, {
379
+ sniffChallenge: false,
380
+ maxBytes: MAX_ASSET_BYTES
381
+ }));
382
+ } catch (e) {
383
+ throw new Error(`failed to download reference video: ${e instanceof Error ? e.message : String(e)}`);
384
+ }
385
+ if (bytes.length === 0) throw new Error("reference video download was empty");
386
+ const dest = path2.join(
387
+ tmpdir2(),
388
+ `baker-ref-${sha256Hex(bytes).slice(0, 16)}${referenceVideoExt(fileArg, contentType)}`
389
+ );
390
+ await writeFile(dest, bytes);
391
+ return dest;
392
+ }
393
+ function resolveSeamDedup(raw) {
394
+ if (raw === void 0) return "head";
395
+ const v = String(raw);
396
+ if (v === "head" || v === "tail" || v === "off") return v;
397
+ throw new Error(`--seam-dedup must be "head", "tail", or "off" (got "${v}")`);
398
+ }
399
+ var VIDEO_BUDGETS = ["economy", "standard", "premium"];
400
+ function parseBudget(raw) {
401
+ const v = raw === void 0 ? "standard" : String(raw);
402
+ if (VIDEO_BUDGETS.includes(v)) return v;
403
+ throw new Error(`--budget must be one of ${VIDEO_BUDGETS.join(", ")} (got "${v}")`);
404
+ }
405
+ function resolveModels(args) {
406
+ return {
407
+ // Flash by default (the `videoDeconstruct` role). Override with --deconstruct-model
408
+ // ~google/gemini-pro-latest for the densest extraction when speed matters less.
409
+ deconstructModel: resolveModel("video_deconstruct", args["deconstruct-model"], VIDEO_DECONSTRUCT_MODEL),
410
+ selectModel: resolveModel("text_generate", args["select-model"], BLUEPRINT_ANALYSIS_MODEL),
411
+ // The ad-frame model (matches the static-ad scaffold); the frame generators need the
412
+ // most faithful text/identity reproduction. Override with --image-model for a
413
+ // cheaper/faster pass.
414
+ imageModel: resolveModel("image_generate", args["image-model"], AD_IMAGE_MODEL)
415
+ };
416
+ }
417
+ function hasPhotorealCast(elements) {
418
+ return Array.isArray(elements) && elements.some((e) => {
419
+ const type = typeof e === "object" && e !== null ? e.type : void 0;
420
+ return type === "person" || type === "animal";
421
+ });
422
+ }
423
+ function resolveVideoModel(args, elements) {
424
+ if (args["video-model"]) {
425
+ return { videoModel: resolveModel("video_generate", args["video-model"], DEFAULT_VIDEO_GENERATE_MODEL) };
426
+ }
427
+ const photorealCast = hasPhotorealCast(elements);
428
+ const route = routeVideoModel({
429
+ hasRealFace: Boolean(args["real-face"]) || photorealCast,
430
+ needsIdentity: Boolean(args.identity),
431
+ needsMotionTransfer: Boolean(args["motion-transfer"]),
432
+ budget: parseBudget(args.budget)
433
+ });
434
+ const reason = photorealCast && !args["real-face"] ? `${route.reason} \u2014 detected a photoreal on-camera cast, which Seedance's real-person filter would block` : route.reason;
435
+ return {
436
+ videoModel: resolveModel("video_generate", route.model, DEFAULT_VIDEO_GENERATE_MODEL),
437
+ videoRouteReason: reason
438
+ };
439
+ }
440
+ function buildDeconstructCanvas(videoPath, deconstructModel, opts) {
441
+ const deconstructParams = { model: deconstructModel, mode: "full" };
442
+ if (typeof opts.maxScenes === "number") deconstructParams.max_scenes = opts.maxScenes;
443
+ if (opts.language) deconstructParams.language = opts.language;
444
+ if (opts.focus) deconstructParams.focus = opts.focus;
445
+ if (opts.shotCuts) deconstructParams.shot_cuts = opts.shotCuts;
446
+ deconstructParams.max_clip_s = SEEDANCE_DURATIONS[SEEDANCE_DURATIONS.length - 1];
447
+ return {
448
+ schema: "baker-canvas/1",
449
+ metadata: { name: "video deconstruct pass" },
450
+ nodes: [
451
+ { id: "src", type: "ingest", params: { source: "path", path: videoPath, expect: "video" } },
452
+ { id: "deconstruct", type: "video_deconstruct", inputs: { video: "$ref:src.asset" }, params: deconstructParams }
453
+ ],
454
+ output: { node: "deconstruct", output: "analysis" }
455
+ };
456
+ }
457
+ function buildSelectCanvas(selectModel, slimmedBlueprintJson) {
458
+ return {
459
+ schema: "baker-canvas/1",
460
+ metadata: { name: "element selection pass" },
461
+ nodes: [
462
+ {
463
+ id: "select",
464
+ type: "text_generate",
465
+ params: {
466
+ model: selectModel,
467
+ max_tokens: 6e3,
468
+ temperature: 0,
469
+ response_format: "json_object",
470
+ system: SELECT_SYSTEM,
471
+ prompt: SELECT_PROMPT.replace("{{blueprint}}", () => slimmedBlueprintJson)
472
+ }
473
+ }
474
+ ],
475
+ output: { node: "select", output: "text" }
476
+ };
477
+ }
478
+ async function runAnalysisPasses(deconstructCanvas, selectModel) {
479
+ const engine = createEngineFromEnv({ log: (line) => process.stderr.write(`${line}
480
+ `) });
481
+ let credits = 0;
482
+ let sawCredits = false;
483
+ const addCredits = (stats) => {
484
+ const c = stats?.total_credits;
485
+ if (typeof c === "number") {
486
+ credits += c;
487
+ sawCredits = true;
488
+ }
489
+ };
490
+ let blueprint;
491
+ let transcript;
492
+ let detectedLanguage;
493
+ try {
494
+ const r1 = await engine.run(deconstructCanvas, {});
495
+ addCredits(r1.stats);
496
+ blueprint = JSON.parse(await loadAssetText(r1.outputs_by_node.deconstruct?.analysis, "deconstruct output"));
497
+ transcript = await loadTranscriptBestEffort(r1.outputs_by_node.deconstruct?.transcript);
498
+ const heard = r1.outputs_by_node.deconstruct?.transcript?.metadata?.detected_language;
499
+ detectedLanguage = typeof heard === "string" && heard.trim() ? heard.trim() : void 0;
500
+ } catch (e) {
501
+ if (e instanceof ValidationError) return fail("validation", JSON.stringify(e.issues));
502
+ if (e instanceof SyntaxError) return fail("read_outputs", e.message);
503
+ return fail("deconstruct", e instanceof Error ? e.message : String(e));
504
+ }
505
+ const slimJson = JSON.stringify(slimBlueprintForSelection(blueprint));
506
+ try {
507
+ const r2 = await engine.run(buildSelectCanvas(selectModel, slimJson), {});
508
+ addCredits(r2.stats);
509
+ const elements = parseElements(await loadAssetText(r2.outputs_by_node.select?.text, "selection output"));
510
+ return { blueprint, elements, transcript, detectedLanguage, creditsSpent: sawCredits ? credits : void 0 };
511
+ } catch (e) {
512
+ if (e instanceof ValidationError) return fail("validation", JSON.stringify(e.issues));
513
+ if (e instanceof SyntaxError) return fail("read_outputs", e.message);
514
+ return fail("deconstruct", e instanceof Error ? e.message : String(e));
515
+ }
516
+ }
517
+ var scaffoldVideoCommand = defineCommand({
518
+ meta: {
519
+ name: "scaffold-video",
520
+ description: "Turn a reference video into a runnable reproduction canvas in one command. Runs billed passes \u2014 video_deconstruct (the full scene-by-scene blueprint + transcript, baked to a split, editable blueprint: a global prompt.json plus one small scenes/sNN.json per scene) and an AI selection of the video's RECURRING identity elements (person/animal/product/logo) \u2014 then scaffolds a pipeline where every scene boundary is a static-ad-grade frame (the blueprint as target_blueprint, a reference legend, the real frame as anchor) and each recurring element gets ONE shared [TODO] ingest slot wired into every frame it appears in. The clips feed Seedance an ultra-detailed motion brief (action, camera, dialogue, transcript). Edit a scene's scenes/sNN.json (or prompt.json for global cast/palette/brand), fill the remaining [TODO] images, then `baker canvas run`. A person in the reference is played by an invented, realistic person generated from their description \u2014 never the source actor and never a photo of anyone real; pass `--avatar <handle>` (`baker avatars list`) when the same actor has to recur across the company's ads."
521
+ },
522
+ args: {
523
+ file: {
524
+ type: "positional",
525
+ required: true,
526
+ description: "Reference video \u2014 a local path OR an http(s) URL (e.g. a winning-ads link). A URL is downloaded for you; pass --slug or --out with it."
527
+ },
528
+ out: { type: "string", description: "Output canvas path (default <video-dir>/<name>.video.canvas.json)" },
529
+ slug: {
530
+ type: "string",
531
+ description: "Creative slug \u2014 writes the canvas to src/creatives/<slug>/<slug>.canvas.json (repo convention)"
532
+ },
533
+ frames: {
534
+ type: "string",
535
+ description: `"generate" (default, every frame regenerated for our ad) or "reuse" (wire the source's real frames in). Reuse applies only to a video with nobody in it \u2014 on a video showing people it is refused and every frame is generated, so the source's actors never reach our ad.`
536
+ },
537
+ ambient: {
538
+ type: "boolean",
539
+ description: "Give silent b-roll scenes native diegetic ambient mixed deep under the music bed (off by default)"
540
+ },
541
+ "seam-dedup": {
542
+ type: "string",
543
+ description: `How to dedup the frame two clips SHARE when a long shot is split for length: "head" (default, drop the second clip's first frame), "tail" (drop the first clip's last frame), or "off" (keep both).`
544
+ },
545
+ "max-scenes": { type: "string", description: "Cap the number of scenes the deconstruct emits" },
546
+ "shot-threshold": {
547
+ type: "string",
548
+ description: "PySceneDetect content threshold. Default is adaptive (18, auto re-checked at 27 when a continuous shot looks over-segmented); pinning a value disables the re-check. Lower = more/softer cuts, higher = fewer."
549
+ },
550
+ language: { type: "string", description: "Transcript/dialogue language hint (e.g. fr, en)" },
551
+ focus: { type: "string", description: "Known provenance/emphasis to ground the deconstruct" },
552
+ advertiser: {
553
+ type: "string",
554
+ description: "Source advertiser recorded in _definition.md (default: the brand the deconstruct identified)"
555
+ },
556
+ platforms: {
557
+ type: "string",
558
+ description: "Where the ad runs, the main platform first (meta, linkedin, tiktok, \u2026): recorded in _definition.md. Take it from the person's request or the idea."
559
+ },
560
+ platform: { type: "string", description: "Retired: use --platforms. Still recorded in _definition.md." },
561
+ "deconstruct-model": { type: "string", description: "Override the video_deconstruct model id" },
562
+ "select-model": { type: "string", description: "Override the text_generate model id for element selection" },
563
+ "image-model": { type: "string", description: "Override the image_generate model id for frames" },
564
+ "video-model": { type: "string", description: "Override the video_generate model id for clips (skips the scored router)" },
565
+ "real-face": {
566
+ type: "boolean",
567
+ description: "The ad has a photoreal human face on camera \u2192 the router picks Veo (dodges the ByteDance real-person filter). Set this for ANY photoreal presenter/creator/testimonial cast \u2014 the filter blocks AI-GENERATED photoreal faces too, not just real ones."
568
+ },
569
+ "motion-transfer": {
570
+ type: "boolean",
571
+ description: "Motion driven from a reference video / deliberately hyper-dynamic \u2192 the router picks Kling."
572
+ },
573
+ identity: {
574
+ type: "boolean",
575
+ description: "The same character/product must stay consistent across clips \u2192 the router picks the Seedance workhorse."
576
+ },
577
+ budget: {
578
+ type: "string",
579
+ description: 'Cost posture for the router: "economy" | "standard" | "premium" (default standard).'
580
+ },
581
+ aspect: {
582
+ type: "string",
583
+ description: `Output aspect ratio (e.g. "4:5"). Default: the source video's detected ratio. When the video model can't generate the ratio (Seedance has no 4:5) clips generate at the nearest supported ratio and are center-cropped onto the output canvas.`
584
+ },
585
+ resolution: {
586
+ type: "string",
587
+ description: `Output resolution for generated clips (e.g. "1080p"). Default 1080p \u2014 the highest the video model supports \u2014 so clips keep the keyframe sharpness instead of the model's low default.`
588
+ },
589
+ avatar: {
590
+ type: "string",
591
+ description: "Cast company avatars as the reference's people \u2014 pass this when the same actor has to recur across ads (without it, each person is invented from their description). One handle, or several comma-separated in the order the people appear (`--avatar marta` / `--avatar marta,joan`). Each recurring person grounds on that avatar's identity sheet, so the ad shows the company's own cast instead of the source ad's actors. `baker avatars list` shows who there is; checked before anything is billed."
592
+ }
593
+ },
594
+ async run({ args }) {
595
+ const fileArg = String(args.file);
596
+ const slug = args.slug ? String(args.slug) : void 0;
597
+ if (slug && !isValidScaffoldSlug(slug)) {
598
+ process.stderr.write(
599
+ `${JSON.stringify({ ok: false, error: { code: "invalid_slug", message: "--slug must be lowercase kebab (a-z, 0-9, hyphens), max 100 chars" } }, null, 2)}
600
+ `
601
+ );
602
+ process.exit(2);
603
+ }
604
+ const isUrl = /^https?:\/\//i.test(fileArg);
605
+ if (isUrl && !slug && !args.out) {
606
+ return fail(
607
+ "missing_output_target",
608
+ "When the reference is a URL, pass --slug (writes src/creatives/<slug>/) or --out <path> so the scaffolded canvas has a home in the repo."
609
+ );
610
+ }
611
+ let videoPath;
612
+ try {
613
+ videoPath = await materializeReferenceVideo(fileArg);
614
+ } catch (e) {
615
+ return fail("download", e instanceof Error ? e.message : String(e));
616
+ }
617
+ const base = path2.basename(videoPath, path2.extname(videoPath));
618
+ const outPath = args.out ? path2.resolve(String(args.out)) : slug ? path2.join(process.cwd(), "src", "creatives", slug, `${slug}.canvas.json`) : path2.join(path2.dirname(videoPath), `${base}.video.canvas.json`);
619
+ if (slug) await enforceNewCreativeLimit(slug, outPath);
620
+ const outDir = path2.dirname(outPath);
621
+ const blueprintPath = path2.join(outDir, "prompt.json");
622
+ const blueprintStylePath = path2.join(outDir, "prompt.style.json");
623
+ const frames = args.frames === "reuse" ? "reuse" : "generate";
624
+ const maxScenes = args["max-scenes"] ? Number(args["max-scenes"]) : void 0;
625
+ if (Number.isFinite(maxScenes)) {
626
+ process.stderr.write(
627
+ `\u26A0\uFE0F --max-scenes ${maxScenes} caps the deconstruct: any scenes beyond ${maxScenes} are MERGED away, reducing fidelity (fewer cuts, lost beats). Omit it to reproduce every scene.
628
+ `
629
+ );
630
+ }
631
+ let models;
632
+ try {
633
+ models = resolveModels(args);
634
+ if (args["video-model"]) resolveModel("video_generate", args["video-model"], DEFAULT_VIDEO_GENERATE_MODEL);
635
+ } catch (e) {
636
+ return fail("unknown_model", e instanceof Error ? e.message : String(e));
637
+ }
638
+ const { deconstructModel, selectModel, imageModel } = models;
639
+ const cast = await resolveCastAvatars(args.avatar);
640
+ if ("error" in cast) return fail("avatar", cast.error);
641
+ const { handles: avatarHandles, avatars } = cast;
642
+ const shotThreshold = args["shot-threshold"] ? Number(args["shot-threshold"]) : void 0;
643
+ const shotCuts = await detectShotCutsBestEffort(videoPath, shotThreshold);
644
+ const deconstructCanvas = buildDeconstructCanvas(videoPath, deconstructModel, {
645
+ maxScenes: Number.isFinite(maxScenes) ? maxScenes : void 0,
646
+ language: args.language ? String(args.language) : void 0,
647
+ focus: args.focus ? String(args.focus) : void 0,
648
+ shotCuts
649
+ });
650
+ const analysis = await runAnalysisPasses(deconstructCanvas, selectModel);
651
+ const { blueprint, transcript, creditsSpent } = analysis;
652
+ const heard = analysis.detectedLanguage;
653
+ const declaredLanguage = (args.language ? spokenLanguage(String(args.language))?.tag : void 0) ?? (heard ? spokenLanguage(heard)?.tag ?? languageCodeNamed(heard) : void 0);
654
+ const speechCache = path2.join(findWorkspaceRoot(outDir) ?? process.cwd(), "canvas", ".cache");
655
+ const speechSpent = [];
656
+ const speech = await readBlueprintSpeech(
657
+ blueprint,
658
+ declaredLanguage ? { declaredLanguage } : {},
659
+ {
660
+ ask: cachedJev(speechCache, (questions) => askJevQuestions(questions, (u) => speechSpent.push(u))),
661
+ genders: voiceGenderModel(speechCache, (u) => speechSpent.push(u))
662
+ }
663
+ );
664
+ await holdUnbilledSpend(speechCache, speechSpent).catch(() => {
665
+ });
666
+ const elements = castAvatarsOnElements(analysis.elements, avatars);
667
+ const uncast = avatarsNotCast(analysis.elements, avatarHandles);
668
+ const uncastHint = uncast.length ? {
669
+ hints: [
670
+ `NOT CAST: ${uncast.map((h) => `\`${h}\``).join(", ")} \u2014 the element selection found no more recurring people than it cast, so ${uncast.length === 1 ? "this avatar plays" : "these avatars play"} nobody in this canvas. A person shown in only one scene is not a recurring element, so those frames render whoever their scene file describes \u2014 tell the user who is cast and who is not.`
671
+ ]
672
+ } : {};
673
+ let routed;
674
+ try {
675
+ routed = resolveVideoModel(args, elements);
676
+ } catch (e) {
677
+ return fail("unknown_model", e instanceof Error ? e.message : String(e));
678
+ }
679
+ const { videoModel, videoRouteReason } = routed;
680
+ if (videoRouteReason && !args["video-model"] && !args["real-face"] && hasPhotorealCast(elements)) {
681
+ process.stderr.write(`\u{1F3AC} Photoreal on-camera cast detected \u2192 generating clips on ${videoModel} (dodges Seedance's real-person filter).
682
+ `);
683
+ }
684
+ await mkdir(outDir, { recursive: true });
685
+ const annotated = annotateBlueprintWithElements(blueprint, elements);
686
+ await writeSceneFiles(outDir, annotated);
687
+ await writeFile(blueprintStylePath, renderStyleProjectionFromValue(annotated), "utf8");
688
+ let aspect;
689
+ try {
690
+ aspect = resolveAspect(
691
+ blueprint.source?.aspect_ratio,
692
+ args.aspect ? String(args.aspect) : void 0,
693
+ genAspectsFor(videoModel)
694
+ );
695
+ } catch (e) {
696
+ return fail("aspect", e instanceof Error ? e.message : String(e));
697
+ }
698
+ const outDims = canvasDims(aspect.outAr);
699
+ if (aspect.remapped) {
700
+ process.stderr.write(
701
+ `\u26A0\uFE0F ${aspect.outAr} output \u2192 clips generate at ${aspect.genAr} (the video model's nearest ratio) and are center-cropped to ${aspect.outAr} (${outDims.w}\xD7${outDims.h}) \u2014 keep subjects centered in frame prompts.
702
+ `
703
+ );
704
+ }
705
+ const compositionDest = path2.join(outDir, "video-overlay-composition");
706
+ await cp(SHIPPED_OVERLAY_COMPOSITION_DIR, compositionDest, { recursive: true });
707
+ await stampCompositionDims(compositionDest, outDims);
708
+ const indexPath = path2.join(compositionDest, "index.html");
709
+ const overlayHtml = buildOverlayHtml(blueprint, { captionsActive: Boolean(transcript), videoModel });
710
+ const indexHtml = await readFile3(indexPath, "utf8");
711
+ const injected = indexHtml.replace("<!--OVERLAYS-->", () => overlayHtml);
712
+ if (injected === indexHtml && overlayHtml.trim()) {
713
+ fail(
714
+ "composition_marker_missing",
715
+ `video-overlay-composition/index.html is missing the <!--OVERLAYS--> marker \u2014 cannot inject the overlay layer`
716
+ );
717
+ }
718
+ await writeFile(indexPath, injected, "utf8");
719
+ const captions = await stageCaptions(outDir, transcript);
720
+ if (captions.compositionPath) await stampCompositionDims(captions.compositionPath, outDims);
721
+ const opts = {
722
+ imageModel,
723
+ videoModel,
724
+ overlayCompositionPath: path2.relative(outDir, compositionDest),
725
+ captionsCompositionPath: captions.compositionPath ? path2.relative(outDir, captions.compositionPath) : void 0,
726
+ blueprintPath: path2.relative(outDir, blueprintPath),
727
+ blueprintStylePath: path2.relative(outDir, blueprintStylePath),
728
+ frames,
729
+ ambient: Boolean(args.ambient),
730
+ seamDedup: resolveSeamDedup(args["seam-dedup"]),
731
+ ...speech.spokenLanguage ? { spokenLanguage: speech.spokenLanguage } : {},
732
+ voiceGenders: speech.voiceGenders,
733
+ ...speech.captionCarriesOn.length ? { captionCarriesOn: speech.captionCarriesOn } : {},
734
+ ...args.aspect ? { aspect: String(args.aspect) } : {},
735
+ ...args.resolution ? { resolution: String(args.resolution) } : {}
736
+ };
737
+ let canvas;
738
+ let report;
739
+ try {
740
+ canvas = scaffoldVideoCanvas(blueprint, elements, opts);
741
+ report = videoReport(blueprint, elements, videoModel);
742
+ } catch (e) {
743
+ return fail("scaffold", e instanceof Error ? e.message : String(e));
744
+ }
745
+ if (captions.compositionPath && !canvas.nodes.some((n) => n.id === "captions")) {
746
+ await rm2(captions.compositionPath, { recursive: true, force: true });
747
+ }
748
+ const validation = await validateCanvasDeep(resolveRelativeCanvasPaths(canvas, outDir), defaultRegistry());
749
+ if (!validation.ok) {
750
+ const meta = canvas.metadata;
751
+ const todo = meta.todo ?? {};
752
+ todo.blocking_validation_issues = validation.issues;
753
+ meta.todo = todo;
754
+ }
755
+ await writeFile(outPath, `${JSON.stringify(canvas, null, 2)}
756
+ `, "utf8");
757
+ await writeFile(
758
+ path2.join(outDir, REBUILD_FILE),
759
+ `${JSON.stringify({ elements, opts }, null, 2)}
760
+ `,
761
+ "utf8"
762
+ );
763
+ if (!validation.ok) {
764
+ process.stderr.write(
765
+ `${JSON.stringify(
766
+ {
767
+ ok: false,
768
+ error: { code: "validation", issues: validation.issues },
769
+ canvas_path: outPath,
770
+ prompt_path: blueprintPath,
771
+ ...framesModeReport(canvas, frames),
772
+ note: "The canvas WAS written despite the blocking issue(s) \u2014 fix them in place, then `baker canvas validate` before running.",
773
+ ...uncastHint
774
+ },
775
+ null,
776
+ 2
777
+ )}
778
+ `
779
+ );
780
+ process.exit(2);
781
+ }
782
+ await ensureGitignore(process.cwd(), ["canvas/", ".context/"]);
783
+ const sourceRef = videoSourceReference(blueprint, fileArg);
784
+ if (slug) {
785
+ const definitionPath = path2.join(outDir, "_definition.md");
786
+ if (!await fileExists(definitionPath)) {
787
+ await writeFile(
788
+ definitionPath,
789
+ buildCreativeDefinition({
790
+ title: titleFromSlug(slug),
791
+ kind: "video",
792
+ ...definitionPlatformsOf(
793
+ args.platforms ? String(args.platforms) : void 0,
794
+ args.platform ? String(args.platform) : void 0
795
+ ),
796
+ formats: resolveFormats(aspect.outAr),
797
+ sourceReferenceUrl: sourceRef.url,
798
+ sourceAdvertiser: args.advertiser ? String(args.advertiser) : sourceRef.advertiser,
799
+ sourceKind: "video",
800
+ description: videoDefinitionDescription(blueprint)
801
+ }),
802
+ "utf8"
803
+ );
804
+ }
805
+ }
806
+ if (slug) {
807
+ await syncCreativeDefinitionBestEffort({
808
+ slug,
809
+ title: titleFromSlug(slug),
810
+ ...await readDefinitionPlatforms(outPath),
811
+ formats: [aspect.outAr],
812
+ canvas,
813
+ sourceReferenceUrl: sourceRef.url,
814
+ sourceSha: await computeSourceSha(outPath)
815
+ });
816
+ }
817
+ process.stdout.write(
818
+ `${JSON.stringify(
819
+ {
820
+ ok: true,
821
+ canvas_path: outPath,
822
+ prompt_path: blueprintPath,
823
+ source_reference: sourceRef.url,
824
+ composition_dir: compositionDest,
825
+ output: canvas.output,
826
+ ...uncastHint,
827
+ ...framesModeReport(canvas, frames),
828
+ models: {
829
+ deconstruct: deconstructModel,
830
+ select: selectModel,
831
+ image: imageModel,
832
+ video: videoModel,
833
+ ...videoRouteReason ? { video_route_reason: videoRouteReason } : {}
834
+ },
835
+ stats: {
836
+ scene_count: report.scene_count,
837
+ total_nodes: canvas.nodes.length,
838
+ analysis_credits_spent: creditsSpent,
839
+ run_estimated_credits: validation.estimatedCredits,
840
+ // WHY the graph has its nodes: per-scene routes + the node-type histogram
841
+ // (mirrors metadata.video.graph_stats in the canvas).
842
+ graph: canvas.metadata?.video?.graph_stats
843
+ },
844
+ checklist: {
845
+ edit_prompt: `The blueprint is split so you edit ONE small file at a time \u2014 never a giant one. Per-scene content (a scene's dialogue, action, frame prompts, overlays) lives in \`scenes/sNN.json\` \u2014 edit the single scene you want to change. Global cast/palette/brand/copy lives in \`${path2.basename(blueprintPath)}\`. \`baker canvas validate\`/\`run\` re-assemble the blueprint and re-flow every edited scene back into the render (and regenerate ${path2.basename(blueprintStylePath)}, the projection each frame's target_blueprint reads) \u2014 so your scene edits reach the render automatically. Never hand-edit the inlined node prompts in the canvas or the derived ${path2.basename(blueprintStylePath)}; both are regenerated.`,
846
+ recurring_elements_to_supply: report.elements,
847
+ voices_to_confirm: report.dialogue.map((d) => ({
848
+ scene: d.scene,
849
+ speaker: d.speaker,
850
+ voice_description: d.voice_description,
851
+ line: d.line
852
+ })),
853
+ sfx_count: report.sfx_count,
854
+ overlay_count: report.overlay_count,
855
+ has_music: report.has_music,
856
+ scenes_clamped_to_clip_max: report.clamped_scenes,
857
+ oversize_scenes: report.oversize_scenes,
858
+ overstuffed_scenes: report.overstuffed_scenes,
859
+ // Steer the edit toward disciplined prompting + on-brand MOTION, not just
860
+ // on-brand color. The overlays inherit the reference's motion unless the
861
+ // operator restyles easing/transition/accent from the brand's motion language.
862
+ prompt_discipline: "Rewrite each scene with the six-decision structure (Route / Spec / Beats / Copy / Technique / Negatives): quote exact copy, give every beat a timestamp, and name the moves. Pull easing, transition (cut vs fade), pacing, and the accent moment from BRAND.md \xA7 Brand in Motion so the overlays move like THIS brand \u2014 not the reference's. If BRAND.md has no Brand-in-Motion section, seed it with brand-build first. See the creative-canvas-ads skill: references/prompt-anatomy.md + references/hyperframes/.",
863
+ // Photoreal on-camera casts auto-route to Veo above, so this only fires
864
+ // when `--video-model bytedance/seedance-2.0` was EXPLICITLY forced despite
865
+ // a person/animal cast — overriding that safety route. Warn that every such
866
+ // clip will hit ByteDance's real-person filter and burn a wasted attempt.
867
+ ...report.elements.some((e) => e.type === "person" || e.type === "animal") && /seedance/i.test(videoModel) ? {
868
+ content_policy_risk: "You FORCED Seedance (`--video-model bytedance/seedance-2.0`) on an ad with a photoreal on-camera cast. ByteDance's real-person filter will reject those clips (content_policy_blocked, E005) \u2014 no prompt change clears it. Each clip auto-recovers on Veo at render time so the run still completes, but you burn a wasted Seedance attempt per clip. Drop `--video-model` to let the scaffold route the cast to Veo up front, or make the frames less photorealistic."
869
+ } : {},
870
+ note: "Fill each el_* [TODO] \u2014 a person needs none (invented from their description, or cast with `--avatar <handle>`), never a photo of a real person; anything else with ONE real source image (reused across every frame that element appears in) \u2014 confirm each voice_select casting, then `baker canvas validate` and `baker canvas run`. Running generates many billed image/video/audio assets \u2014 it is not free."
871
+ }
872
+ },
873
+ null,
874
+ 2
875
+ )}
876
+ `
877
+ );
878
+ }
879
+ });
880
+ export {
881
+ hasPhotorealCast,
882
+ referenceVideoExt,
883
+ resolveVideoModel,
884
+ scaffoldVideoCommand
885
+ };
886
+ //# sourceMappingURL=scaffold-video-UCO6MRJB.js.map