@ignix-social/editor 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (586) hide show
  1. package/LICENSE +190 -0
  2. package/NOTICE +54 -0
  3. package/README.md +23 -0
  4. package/bin/ignix-editor.mjs +8 -0
  5. package/package.json +53 -0
  6. package/patches/index.mjs +53 -0
  7. package/scripts/build-ffmpeg-macos.sh +35 -0
  8. package/scripts/build-whisper-macos.sh +21 -0
  9. package/scripts/vendor.mjs +41 -0
  10. package/skills/ignix-editor/SKILL.md +132 -0
  11. package/src/audio.mjs +31 -0
  12. package/src/binaries.json +46 -0
  13. package/src/binaries.mjs +83 -0
  14. package/src/cli.mjs +254 -0
  15. package/src/prepare.mjs +74 -0
  16. package/src/runtime/ignix-frame.js +92 -0
  17. package/src/transcribe.mjs +71 -0
  18. package/src/validate.mjs +71 -0
  19. package/templates/blank/index.html +41 -0
  20. package/vendor/hyperframes/README.md +181 -0
  21. package/vendor/hyperframes/UPSTREAM.json +12 -0
  22. package/vendor/hyperframes/bin/hyperframes-localize-fonts.mjs +12 -0
  23. package/vendor/hyperframes/bin/hyperframes.mjs +11 -0
  24. package/vendor/hyperframes/dist/add-LR3ZR2A5.js +79 -0
  25. package/vendor/hyperframes/dist/agentPromptGenerator-VIIPZCJ3.js +143 -0
  26. package/vendor/hyperframes/dist/animatedGifPrep-P2T6YM7Z.js +34 -0
  27. package/vendor/hyperframes/dist/asset-BE2DOV72.js +26 -0
  28. package/vendor/hyperframes/dist/assetCataloger-VBLPHX24.js +340 -0
  29. package/vendor/hyperframes/dist/auth-RCQB2ZT7.js +60 -0
  30. package/vendor/hyperframes/dist/autoUpdate-RJAX3DAZ.js +268 -0
  31. package/vendor/hyperframes/dist/backgroundChecks-H2LCUIMJ.js +61 -0
  32. package/vendor/hyperframes/dist/backgroundChecksWorker.js +26 -0
  33. package/vendor/hyperframes/dist/batchRender-FT7AP7XH.js +355 -0
  34. package/vendor/hyperframes/dist/beat-analyzer.global.js +338 -0
  35. package/vendor/hyperframes/dist/beats-Y2EOP72P.js +309 -0
  36. package/vendor/hyperframes/dist/benchmark-MZ7GY3JW.js +231 -0
  37. package/vendor/hyperframes/dist/browser-HUTAMRQE.js +237 -0
  38. package/vendor/hyperframes/dist/bundleWithLocalizedFonts-5QOPOB5D.js +52 -0
  39. package/vendor/hyperframes/dist/capture-RLZA6EMR.js +4079 -0
  40. package/vendor/hyperframes/dist/capture-SZZ4IYJK.js +290 -0
  41. package/vendor/hyperframes/dist/captureFile-LYOJOUIE.js +15 -0
  42. package/vendor/hyperframes/dist/captureTimeout-PA4FYWT5.js +27 -0
  43. package/vendor/hyperframes/dist/catalog-KYU55EWR.js +1001 -0
  44. package/vendor/hyperframes/dist/check-TCG4PXLR.js +1697 -0
  45. package/vendor/hyperframes/dist/checkBrowser-RPMO4OW5.js +1032 -0
  46. package/vendor/hyperframes/dist/chunk-2EAXUCCE.js +88 -0
  47. package/vendor/hyperframes/dist/chunk-2EGFTPWD.js +1077 -0
  48. package/vendor/hyperframes/dist/chunk-2PSPARWP.js +6058 -0
  49. package/vendor/hyperframes/dist/chunk-2YN64IN5.js +5747 -0
  50. package/vendor/hyperframes/dist/chunk-3GXQPCJC.js +682 -0
  51. package/vendor/hyperframes/dist/chunk-3ZP5DXE7.js +15 -0
  52. package/vendor/hyperframes/dist/chunk-4NWOGZZS.js +1990 -0
  53. package/vendor/hyperframes/dist/chunk-4PFZPP2N.js +587 -0
  54. package/vendor/hyperframes/dist/chunk-4THIAPBL.js +128 -0
  55. package/vendor/hyperframes/dist/chunk-4YYJOFKS.js +28 -0
  56. package/vendor/hyperframes/dist/chunk-54HJ63Q2.js +29 -0
  57. package/vendor/hyperframes/dist/chunk-5ETJX6WM.js +89 -0
  58. package/vendor/hyperframes/dist/chunk-5IAKAQA7.js +389 -0
  59. package/vendor/hyperframes/dist/chunk-5Z63TBTX.js +37 -0
  60. package/vendor/hyperframes/dist/chunk-6BEFEWFB.js +25 -0
  61. package/vendor/hyperframes/dist/chunk-6CSYCFQV.js +68 -0
  62. package/vendor/hyperframes/dist/chunk-6CTIGJY7.js +154 -0
  63. package/vendor/hyperframes/dist/chunk-7HG4BFIN.js +93 -0
  64. package/vendor/hyperframes/dist/chunk-7JZ4FXP2.js +118 -0
  65. package/vendor/hyperframes/dist/chunk-A2Z4Z4VL.js +2961 -0
  66. package/vendor/hyperframes/dist/chunk-AMKC3AXA.js +25 -0
  67. package/vendor/hyperframes/dist/chunk-AVUUN2XD.js +4847 -0
  68. package/vendor/hyperframes/dist/chunk-AWDFDFI3.js +46 -0
  69. package/vendor/hyperframes/dist/chunk-AWNBM3MZ.js +94 -0
  70. package/vendor/hyperframes/dist/chunk-BXCMXMJQ.js +73 -0
  71. package/vendor/hyperframes/dist/chunk-BZ56MTDX.js +6 -0
  72. package/vendor/hyperframes/dist/chunk-CFKU7HTK.js +171 -0
  73. package/vendor/hyperframes/dist/chunk-CWPVM2QV.js +308 -0
  74. package/vendor/hyperframes/dist/chunk-DPVXBVLL.js +31292 -0
  75. package/vendor/hyperframes/dist/chunk-DQBY7FRR.js +397 -0
  76. package/vendor/hyperframes/dist/chunk-E6RPWJVC.js +213 -0
  77. package/vendor/hyperframes/dist/chunk-EISRN4E6.js +294 -0
  78. package/vendor/hyperframes/dist/chunk-EOVYQ3IG.js +143 -0
  79. package/vendor/hyperframes/dist/chunk-F3WZGU7C.js +479 -0
  80. package/vendor/hyperframes/dist/chunk-FCSIGXXP.js +366 -0
  81. package/vendor/hyperframes/dist/chunk-FI4I7CME.js +56 -0
  82. package/vendor/hyperframes/dist/chunk-FLWXXDNS.js +15 -0
  83. package/vendor/hyperframes/dist/chunk-GK4AIFIH.js +11171 -0
  84. package/vendor/hyperframes/dist/chunk-GMECXFAN.js +57 -0
  85. package/vendor/hyperframes/dist/chunk-GULOKZLI.js +155 -0
  86. package/vendor/hyperframes/dist/chunk-H4YZZ2VQ.js +68 -0
  87. package/vendor/hyperframes/dist/chunk-H6QMKUYA.js +477 -0
  88. package/vendor/hyperframes/dist/chunk-HBBJFK6I.js +273 -0
  89. package/vendor/hyperframes/dist/chunk-HRUGC23L.js +212 -0
  90. package/vendor/hyperframes/dist/chunk-HVW7ABXD.js +19 -0
  91. package/vendor/hyperframes/dist/chunk-HW6OYASV.js +344 -0
  92. package/vendor/hyperframes/dist/chunk-HWKCIWQT.js +3578 -0
  93. package/vendor/hyperframes/dist/chunk-I465DBM6.js +1214 -0
  94. package/vendor/hyperframes/dist/chunk-IGLEPPTN.js +24 -0
  95. package/vendor/hyperframes/dist/chunk-IGNAAHS3.js +433 -0
  96. package/vendor/hyperframes/dist/chunk-IHFUKJOR.js +85 -0
  97. package/vendor/hyperframes/dist/chunk-IQ3OUQ5Z.js +213 -0
  98. package/vendor/hyperframes/dist/chunk-ISN5GRYI.js +20 -0
  99. package/vendor/hyperframes/dist/chunk-IUZFXWSV.js +446 -0
  100. package/vendor/hyperframes/dist/chunk-JH556Q42.js +647 -0
  101. package/vendor/hyperframes/dist/chunk-JTHMTOMQ.js +601 -0
  102. package/vendor/hyperframes/dist/chunk-K2EQN4VU.js +405 -0
  103. package/vendor/hyperframes/dist/chunk-K2FTXJYH.js +16044 -0
  104. package/vendor/hyperframes/dist/chunk-K4WIOZFP.js +32 -0
  105. package/vendor/hyperframes/dist/chunk-K4WKGXRC.js +18 -0
  106. package/vendor/hyperframes/dist/chunk-KBJUXVOJ.js +172 -0
  107. package/vendor/hyperframes/dist/chunk-KC5XXX3X.js +590 -0
  108. package/vendor/hyperframes/dist/chunk-KNU5COPB.js +29 -0
  109. package/vendor/hyperframes/dist/chunk-KZI44OPA.js +185 -0
  110. package/vendor/hyperframes/dist/chunk-L3YOGIPG.js +48 -0
  111. package/vendor/hyperframes/dist/chunk-LAOCA3MQ.js +189 -0
  112. package/vendor/hyperframes/dist/chunk-LCSMOLGX.js +312 -0
  113. package/vendor/hyperframes/dist/chunk-LFGJWOVA.js +61 -0
  114. package/vendor/hyperframes/dist/chunk-LHSR3M4M.js +498 -0
  115. package/vendor/hyperframes/dist/chunk-LYNI3FOL.js +123 -0
  116. package/vendor/hyperframes/dist/chunk-M2WBOQ2Q.js +54 -0
  117. package/vendor/hyperframes/dist/chunk-MRF4AMKD.js +104 -0
  118. package/vendor/hyperframes/dist/chunk-MWB3ZIFM.js +852 -0
  119. package/vendor/hyperframes/dist/chunk-NGKM64BP.js +39 -0
  120. package/vendor/hyperframes/dist/chunk-NXMYHJAL.js +43 -0
  121. package/vendor/hyperframes/dist/chunk-OAF4XJOW.js +192 -0
  122. package/vendor/hyperframes/dist/chunk-OFQWTKPW.js +117 -0
  123. package/vendor/hyperframes/dist/chunk-P6LJ4Y32.js +4662 -0
  124. package/vendor/hyperframes/dist/chunk-PBN6GBJE.js +108 -0
  125. package/vendor/hyperframes/dist/chunk-PDAMK4Q5.js +28 -0
  126. package/vendor/hyperframes/dist/chunk-PFCFR3KZ.js +20 -0
  127. package/vendor/hyperframes/dist/chunk-PJ3HDUCY.js +108 -0
  128. package/vendor/hyperframes/dist/chunk-PMRBLBUP.js +152 -0
  129. package/vendor/hyperframes/dist/chunk-PPQUYWTW.js +240 -0
  130. package/vendor/hyperframes/dist/chunk-Q5X2B5WT.js +29 -0
  131. package/vendor/hyperframes/dist/chunk-Q7IU7MOR.js +351 -0
  132. package/vendor/hyperframes/dist/chunk-QC4FJVLM.js +371 -0
  133. package/vendor/hyperframes/dist/chunk-QNYYOUU3.js +1318 -0
  134. package/vendor/hyperframes/dist/chunk-RDNNAKEP.js +161 -0
  135. package/vendor/hyperframes/dist/chunk-RMHUQGRK.js +657 -0
  136. package/vendor/hyperframes/dist/chunk-RQVDTPGD.js +6 -0
  137. package/vendor/hyperframes/dist/chunk-RVCWIIZ7.js +68 -0
  138. package/vendor/hyperframes/dist/chunk-S3D6GE5W.js +72 -0
  139. package/vendor/hyperframes/dist/chunk-S3S4TGEH.js +424 -0
  140. package/vendor/hyperframes/dist/chunk-S7NPLFWV.js +11395 -0
  141. package/vendor/hyperframes/dist/chunk-SHB5VDMH.js +51 -0
  142. package/vendor/hyperframes/dist/chunk-TCLGPL65.js +860 -0
  143. package/vendor/hyperframes/dist/chunk-THXFSPLV.js +40 -0
  144. package/vendor/hyperframes/dist/chunk-TJSTGSAW.js +354 -0
  145. package/vendor/hyperframes/dist/chunk-TQFG7HTI.js +1024 -0
  146. package/vendor/hyperframes/dist/chunk-TVCRUG2S.js +265 -0
  147. package/vendor/hyperframes/dist/chunk-TWWSYAKJ.js +24 -0
  148. package/vendor/hyperframes/dist/chunk-U7CZBDMV.js +27 -0
  149. package/vendor/hyperframes/dist/chunk-UEZXMWG3.js +139 -0
  150. package/vendor/hyperframes/dist/chunk-UYEZTK4U.js +61 -0
  151. package/vendor/hyperframes/dist/chunk-VC76R6W2.js +27 -0
  152. package/vendor/hyperframes/dist/chunk-VFCKXTBB.js +159 -0
  153. package/vendor/hyperframes/dist/chunk-VWG7OQKU.js +22 -0
  154. package/vendor/hyperframes/dist/chunk-VXVRPIJA.js +105 -0
  155. package/vendor/hyperframes/dist/chunk-WBLXWOYK.js +15 -0
  156. package/vendor/hyperframes/dist/chunk-WERLJGIC.js +20 -0
  157. package/vendor/hyperframes/dist/chunk-WMQNIQDJ.js +2057 -0
  158. package/vendor/hyperframes/dist/chunk-WPHMNO44.js +4528 -0
  159. package/vendor/hyperframes/dist/chunk-X5HWXQPU.js +113 -0
  160. package/vendor/hyperframes/dist/chunk-X7MTZ4T2.js +6 -0
  161. package/vendor/hyperframes/dist/chunk-XH4DSOS5.js +59 -0
  162. package/vendor/hyperframes/dist/chunk-XS4EJSKU.js +23 -0
  163. package/vendor/hyperframes/dist/chunk-XT5P4QMO.js +181 -0
  164. package/vendor/hyperframes/dist/chunk-XT7X6QCP.js +6 -0
  165. package/vendor/hyperframes/dist/chunk-XUHOIDKG.js +6 -0
  166. package/vendor/hyperframes/dist/chunk-XUXGIA7H.js +485 -0
  167. package/vendor/hyperframes/dist/chunk-XZABUQTX.js +113 -0
  168. package/vendor/hyperframes/dist/chunk-Y6W4DVPS.js +356 -0
  169. package/vendor/hyperframes/dist/chunk-YEIFI443.js +44 -0
  170. package/vendor/hyperframes/dist/chunk-YQZNILVH.js +375 -0
  171. package/vendor/hyperframes/dist/chunk-Z27A7NUB.js +65 -0
  172. package/vendor/hyperframes/dist/chunk-Z6B37SNM.js +3081 -0
  173. package/vendor/hyperframes/dist/chunk-ZJUKFZ2P.js +10954 -0
  174. package/vendor/hyperframes/dist/chunk-ZKDMAOFU.js +32 -0
  175. package/vendor/hyperframes/dist/chunk-ZMXUQLI2.js +17219 -0
  176. package/vendor/hyperframes/dist/chunk-ZTZ7NCJT.js +58 -0
  177. package/vendor/hyperframes/dist/chunk-ZTZA4UWZ.js +108 -0
  178. package/vendor/hyperframes/dist/clean-W57E5YQ3.js +293 -0
  179. package/vendor/hyperframes/dist/cli.js +495 -0
  180. package/vendor/hyperframes/dist/cloud-FFTJGZ24.js +70 -0
  181. package/vendor/hyperframes/dist/cloudrun-AJUTHUEA.js +763 -0
  182. package/vendor/hyperframes/dist/colors-HKWSZCGK.js +15 -0
  183. package/vendor/hyperframes/dist/commands/contrast-audit.browser.js +459 -0
  184. package/vendor/hyperframes/dist/commands/layout-audit.browser.js +2102 -0
  185. package/vendor/hyperframes/dist/commands/motion-sample.browser.js +74 -0
  186. package/vendor/hyperframes/dist/commands/motion-signature.browser.js +374 -0
  187. package/vendor/hyperframes/dist/compare-AYCTT55F.js +421 -0
  188. package/vendor/hyperframes/dist/compiler-QO36EXLS.js +121 -0
  189. package/vendor/hyperframes/dist/component-VFFR2O7T.js +176 -0
  190. package/vendor/hyperframes/dist/compositions-QTVN3U2A.js +228 -0
  191. package/vendor/hyperframes/dist/contactSheet-27SRU7A4.js +22 -0
  192. package/vendor/hyperframes/dist/delete-ZAKYCB7I.js +114 -0
  193. package/vendor/hyperframes/dist/deploy-MX76RZ36.js +101 -0
  194. package/vendor/hyperframes/dist/destroy-H2TZBYHH.js +42 -0
  195. package/vendor/hyperframes/dist/deterministicFonts-HAEMV4TM.js +50 -0
  196. package/vendor/hyperframes/dist/dist-EWXJGN63.js +129 -0
  197. package/vendor/hyperframes/dist/dist-FNNGCKFS.js +29 -0
  198. package/vendor/hyperframes/dist/dist-S3PJNPXQ.js +392 -0
  199. package/vendor/hyperframes/dist/docker/Dockerfile.render +65 -0
  200. package/vendor/hyperframes/dist/docs/compositions.md +67 -0
  201. package/vendor/hyperframes/dist/docs/data-attributes.md +27 -0
  202. package/vendor/hyperframes/dist/docs/examples.md +19 -0
  203. package/vendor/hyperframes/dist/docs/gsap.md +26 -0
  204. package/vendor/hyperframes/dist/docs/rendering.md +35 -0
  205. package/vendor/hyperframes/dist/docs/troubleshooting.md +29 -0
  206. package/vendor/hyperframes/dist/docs-QAPJEGLS.js +131 -0
  207. package/vendor/hyperframes/dist/doctor-AI7C3FON.js +67 -0
  208. package/vendor/hyperframes/dist/dom-IROKGVJI.js +14 -0
  209. package/vendor/hyperframes/dist/dotEnv-AECLXQSO.js +14 -0
  210. package/vendor/hyperframes/dist/events-7LALYNKZ.js +92 -0
  211. package/vendor/hyperframes/dist/events-FQY3HGKZ.js +88 -0
  212. package/vendor/hyperframes/dist/feedback-WCMDMSTK.js +472 -0
  213. package/vendor/hyperframes/dist/ffmpeg-QIUFEFTY.js +35 -0
  214. package/vendor/hyperframes/dist/figma-64WY462P.js +63 -0
  215. package/vendor/hyperframes/dist/fontData.generated-NXAOI4GH.js +13 -0
  216. package/vendor/hyperframes/dist/fontLocalizeCli.js +132 -0
  217. package/vendor/hyperframes/dist/get-FPOMJMZB.js +103 -0
  218. package/vendor/hyperframes/dist/gpuPolicy-2ZUZE5D6.js +38 -0
  219. package/vendor/hyperframes/dist/grade-compare-E2CKPST4.js +647 -0
  220. package/vendor/hyperframes/dist/gsapParser-DIYYX6JT.js +2846 -0
  221. package/vendor/hyperframes/dist/gsapParserAcorn-E3GEIRZB.js +28 -0
  222. package/vendor/hyperframes/dist/help-YRQIDDML.js +197 -0
  223. package/vendor/hyperframes/dist/history-PP5NDRV3.js +571 -0
  224. package/vendor/hyperframes/dist/hyperframe-runtime.js +1081 -0
  225. package/vendor/hyperframes/dist/hyperframe.manifest.json +22 -0
  226. package/vendor/hyperframes/dist/hyperframe.runtime.iife.js +1081 -0
  227. package/vendor/hyperframes/dist/hyperframes-player.global.js +474 -0
  228. package/vendor/hyperframes/dist/hyperframes-slideshow.global.js +149 -0
  229. package/vendor/hyperframes/dist/info-SEX3B7JL.js +153 -0
  230. package/vendor/hyperframes/dist/init-U3AKHO5B.js +1147 -0
  231. package/vendor/hyperframes/dist/inspect-Q3K6EDEK.js +97 -0
  232. package/vendor/hyperframes/dist/installer-K6O5WF44.js +37 -0
  233. package/vendor/hyperframes/dist/keyframes-DC64JCI3.js +2602 -0
  234. package/vendor/hyperframes/dist/lambda-D7UMN4DJ.js +451 -0
  235. package/vendor/hyperframes/dist/layout-XSPPDHOO.js +86 -0
  236. package/vendor/hyperframes/dist/lib-TPG2ZMAX.js +128 -0
  237. package/vendor/hyperframes/dist/lint-7DQZE7L3.js +164 -0
  238. package/vendor/hyperframes/dist/lintProject-OHBBM3DJ.js +27 -0
  239. package/vendor/hyperframes/dist/list-4K5MVDQX.js +162 -0
  240. package/vendor/hyperframes/dist/login-NTX4OWXL.js +377 -0
  241. package/vendor/hyperframes/dist/logout-Q654A3SI.js +100 -0
  242. package/vendor/hyperframes/dist/manager-67P2XFXQ.js +34 -0
  243. package/vendor/hyperframes/dist/manager-CT3D67CG.js +38 -0
  244. package/vendor/hyperframes/dist/manager-GFN75DM4.js +30 -0
  245. package/vendor/hyperframes/dist/media-treatment-5FYAOPNL.js +972 -0
  246. package/vendor/hyperframes/dist/media-use-4XXGABIL.js +113 -0
  247. package/vendor/hyperframes/dist/models-C4E4IWJD.js +137 -0
  248. package/vendor/hyperframes/dist/motionShot-S4MIGMT5.js +614 -0
  249. package/vendor/hyperframes/dist/normalize-O76AC4HE.js +333 -0
  250. package/vendor/hyperframes/dist/normalize-audio-CSFTXLXD.js +276 -0
  251. package/vendor/hyperframes/dist/open-2ZD6BHZG.js +115 -0
  252. package/vendor/hyperframes/dist/pipeline-TNGWUZQC.js +54 -0
  253. package/vendor/hyperframes/dist/play-CTMUXX6E.js +349 -0
  254. package/vendor/hyperframes/dist/policies-FSDZVS2E.js +292 -0
  255. package/vendor/hyperframes/dist/preflight-SMNV6RW2.js +45 -0
  256. package/vendor/hyperframes/dist/present-WQVHV5CR.js +350 -0
  257. package/vendor/hyperframes/dist/preview-JOJXTH75.js +1820 -0
  258. package/vendor/hyperframes/dist/producer-ECLEN5RP.js +13 -0
  259. package/vendor/hyperframes/dist/progress-FBIEEB7Y.js +73 -0
  260. package/vendor/hyperframes/dist/projectConfig-HYJMJ5BY.js +56 -0
  261. package/vendor/hyperframes/dist/publication-HQ5Y3KBM.js +29 -0
  262. package/vendor/hyperframes/dist/publish-VHDYQASC.js +430 -0
  263. package/vendor/hyperframes/dist/refresh-K24ETHMA.js +53 -0
  264. package/vendor/hyperframes/dist/remove-background-W2YX2NVH.js +253 -0
  265. package/vendor/hyperframes/dist/render-AO5VX3YI.js +177 -0
  266. package/vendor/hyperframes/dist/render-LNO62LEL.js +2367 -0
  267. package/vendor/hyperframes/dist/render-TTQI7TGN.js +796 -0
  268. package/vendor/hyperframes/dist/render-batch-YH7CTWNY.js +284 -0
  269. package/vendor/hyperframes/dist/renderCancellation-JPIHE47X.js +35 -0
  270. package/vendor/hyperframes/dist/renderSetupWorker.js +79 -0
  271. package/vendor/hyperframes/dist/resolver-IZ647GBZ.js +38 -0
  272. package/vendor/hyperframes/dist/runtimeVersion.js +18 -0
  273. package/vendor/hyperframes/dist/screenshotCapture-ECBTLCU6.js +179 -0
  274. package/vendor/hyperframes/dist/shaderTransitionWorker.js +44 -0
  275. package/vendor/hyperframes/dist/sherpa-KKLNW6U2.js +314 -0
  276. package/vendor/hyperframes/dist/sherpaWorker.js +77 -0
  277. package/vendor/hyperframes/dist/sites-TNVKZS73.js +52 -0
  278. package/vendor/hyperframes/dist/skill-ZHVLH7KX.js +15 -0
  279. package/vendor/hyperframes/dist/skills/hyperframes/SKILL.md +152 -0
  280. package/vendor/hyperframes/dist/skills/hyperframes/references/brief-contract.md +108 -0
  281. package/vendor/hyperframes/dist/skills/hyperframes/references/brief-format.md +72 -0
  282. package/vendor/hyperframes/dist/skills/hyperframes/references/capability-menu.md +47 -0
  283. package/vendor/hyperframes/dist/skills/hyperframes/references/frame-worker-core.md +80 -0
  284. package/vendor/hyperframes/dist/skills/hyperframes/references/intent-interview.md +73 -0
  285. package/vendor/hyperframes/dist/skills/hyperframes/references/pitch-round.md +40 -0
  286. package/vendor/hyperframes/dist/skills/hyperframes/references/plugin-installation.md +43 -0
  287. package/vendor/hyperframes/dist/skills/hyperframes/references/production-loop.md +26 -0
  288. package/vendor/hyperframes/dist/skills/hyperframes/references/review-loop.md +37 -0
  289. package/vendor/hyperframes/dist/skills/hyperframes/references/route-briefs.md +11 -0
  290. package/vendor/hyperframes/dist/skills/hyperframes/references/routes/embedded-captions.md +11 -0
  291. package/vendor/hyperframes/dist/skills/hyperframes/references/routes/faceless-explainer.md +12 -0
  292. package/vendor/hyperframes/dist/skills/hyperframes/references/routes/general-video.md +12 -0
  293. package/vendor/hyperframes/dist/skills/hyperframes/references/routes/motion-graphics.md +11 -0
  294. package/vendor/hyperframes/dist/skills/hyperframes/references/routes/music-to-video.md +12 -0
  295. package/vendor/hyperframes/dist/skills/hyperframes/references/routes/pr-to-video.md +28 -0
  296. package/vendor/hyperframes/dist/skills/hyperframes/references/routes/product-launch-video.md +13 -0
  297. package/vendor/hyperframes/dist/skills/hyperframes/references/routes/remotion-to-hyperframes.md +9 -0
  298. package/vendor/hyperframes/dist/skills/hyperframes/references/routes/slideshow.md +11 -0
  299. package/vendor/hyperframes/dist/skills/hyperframes/references/routes/talking-head-recut.md +11 -0
  300. package/vendor/hyperframes/dist/skills/hyperframes/references/script-format.md +52 -0
  301. package/vendor/hyperframes/dist/skills/hyperframes/references/skill-lifecycle.md +35 -0
  302. package/vendor/hyperframes/dist/skills/hyperframes/references/storyboard-format.md +99 -0
  303. package/vendor/hyperframes/dist/skills/hyperframes/references/subagent-dispatch.md +35 -0
  304. package/vendor/hyperframes/dist/skills/hyperframes/references/workflow-catalog.md +10 -0
  305. package/vendor/hyperframes/dist/skills/hyperframes/scripts/lib/frame-packets-core.mjs +194 -0
  306. package/vendor/hyperframes/dist/skills/hyperframes/scripts/plugin-cli.mjs +88 -0
  307. package/vendor/hyperframes/dist/skills/hyperframes/scripts/plugin-cli.test.mjs +117 -0
  308. package/vendor/hyperframes/dist/skills/hyperframes-cli/SKILL.md +189 -0
  309. package/vendor/hyperframes/dist/skills/hyperframes-cli/references/beats.md +19 -0
  310. package/vendor/hyperframes/dist/skills/hyperframes-cli/references/cloud.md +163 -0
  311. package/vendor/hyperframes/dist/skills/hyperframes-cli/references/cloudrun.md +62 -0
  312. package/vendor/hyperframes/dist/skills/hyperframes-cli/references/compare-and-batch.md +105 -0
  313. package/vendor/hyperframes/dist/skills/hyperframes-cli/references/doctor-browser.md +57 -0
  314. package/vendor/hyperframes/dist/skills/hyperframes-cli/references/init-and-scaffold.md +74 -0
  315. package/vendor/hyperframes/dist/skills/hyperframes-cli/references/lambda.md +185 -0
  316. package/vendor/hyperframes/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +132 -0
  317. package/vendor/hyperframes/dist/skills/hyperframes-cli/references/preview-render.md +193 -0
  318. package/vendor/hyperframes/dist/skills/hyperframes-cli/references/upgrade-info-misc.md +134 -0
  319. package/vendor/hyperframes/dist/skills/media-use/SKILL.md +100 -0
  320. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/CREDITS.md +35 -0
  321. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/chime.mp3 +0 -0
  322. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/click-soft.mp3 +0 -0
  323. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/click.mp3 +0 -0
  324. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/error.mp3 +0 -0
  325. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/glitch-1.mp3 +0 -0
  326. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/glitch-2.mp3 +0 -0
  327. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/glitch-3.mp3 +0 -0
  328. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/impact-bass-1.mp3 +0 -0
  329. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/impact-bass-2.mp3 +0 -0
  330. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/key-press.mp3 +0 -0
  331. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/manifest.json +97 -0
  332. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/notification.mp3 +0 -0
  333. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/ping.mp3 +0 -0
  334. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/pop.mp3 +0 -0
  335. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/riser.mp3 +0 -0
  336. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/sparkle.mp3 +0 -0
  337. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/typing.mp3 +0 -0
  338. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/whoosh-cinematic.mp3 +0 -0
  339. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/whoosh-short.mp3 +0 -0
  340. package/vendor/hyperframes/dist/skills/media-use/audio/assets/sfx/whoosh.mp3 +0 -0
  341. package/vendor/hyperframes/dist/skills/media-use/audio/references/bgm.md +76 -0
  342. package/vendor/hyperframes/dist/skills/media-use/audio/references/captions/authoring.md +163 -0
  343. package/vendor/hyperframes/dist/skills/media-use/audio/references/captions/motion.md +87 -0
  344. package/vendor/hyperframes/dist/skills/media-use/audio/references/captions/transcript-handling.md +97 -0
  345. package/vendor/hyperframes/dist/skills/media-use/audio/references/remove-background.md +143 -0
  346. package/vendor/hyperframes/dist/skills/media-use/audio/references/requirements.md +29 -0
  347. package/vendor/hyperframes/dist/skills/media-use/audio/references/sfx.md +42 -0
  348. package/vendor/hyperframes/dist/skills/media-use/audio/references/transcribe.md +52 -0
  349. package/vendor/hyperframes/dist/skills/media-use/audio/references/tts-to-captions.md +35 -0
  350. package/vendor/hyperframes/dist/skills/media-use/audio/references/tts.md +260 -0
  351. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/audio.mjs +311 -0
  352. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/audio.test.mjs +159 -0
  353. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/gemini-pipeline.test.mjs +131 -0
  354. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/heygen-tts.mjs +122 -0
  355. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/heygen-tts.test.mjs +38 -0
  356. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/heygen-voice.mjs +98 -0
  357. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/heygen-voice.test.mjs +233 -0
  358. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/audio-meta.mjs +39 -0
  359. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/audio-meta.test.mjs +136 -0
  360. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/bgm-volume.mjs +4 -0
  361. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/bgm.mjs +257 -0
  362. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/bgm.test.mjs +74 -0
  363. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/concurrency.mjs +14 -0
  364. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/concurrency.test.mjs +41 -0
  365. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/gemini-auth.mjs +43 -0
  366. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/gemini-auth.py +52 -0
  367. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/gemini-auth.test.mjs +86 -0
  368. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/gemini-auth_test.py +90 -0
  369. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/gemini-tts.mjs +122 -0
  370. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/gemini-tts.test.mjs +243 -0
  371. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/heygen.mjs +197 -0
  372. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/heygen.test.mjs +185 -0
  373. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/media-record.mjs +114 -0
  374. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/media-record.test.mjs +205 -0
  375. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/python.mjs +77 -0
  376. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/python.test.mjs +136 -0
  377. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/sfx.mjs +165 -0
  378. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/sfx.test.mjs +121 -0
  379. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/tts.mjs +389 -0
  380. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/tts.spawn.test.mjs +158 -0
  381. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lib/tts.test.mjs +230 -0
  382. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/lyria-recipe.py +136 -0
  383. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/wait-bgm.mjs +175 -0
  384. package/vendor/hyperframes/dist/skills/media-use/audio/scripts/wait-bgm.test.mjs +108 -0
  385. package/vendor/hyperframes/dist/skills/media-use/luts/README.md +28 -0
  386. package/vendor/hyperframes/dist/skills/media-use/luts/index.json +57 -0
  387. package/vendor/hyperframes/dist/skills/media-use/references/audio.md +20 -0
  388. package/vendor/hyperframes/dist/skills/media-use/references/grading.md +160 -0
  389. package/vendor/hyperframes/dist/skills/media-use/references/media-treatment-recipes.md +929 -0
  390. package/vendor/hyperframes/dist/skills/media-use/references/media-treatments.md +202 -0
  391. package/vendor/hyperframes/dist/skills/media-use/references/memory.md +37 -0
  392. package/vendor/hyperframes/dist/skills/media-use/references/meta.md +61 -0
  393. package/vendor/hyperframes/dist/skills/media-use/references/operations.md +327 -0
  394. package/vendor/hyperframes/dist/skills/media-use/references/resolve.md +150 -0
  395. package/vendor/hyperframes/dist/skills/media-use/references/setup-providers.md +80 -0
  396. package/vendor/hyperframes/dist/skills/media-use/references/telemetry-dashboard.md +49 -0
  397. package/vendor/hyperframes/dist/skills/media-use/scripts/audio-duck.mjs +113 -0
  398. package/vendor/hyperframes/dist/skills/media-use/scripts/compatibility.test.mjs +96 -0
  399. package/vendor/hyperframes/dist/skills/media-use/scripts/dither.mjs +328 -0
  400. package/vendor/hyperframes/dist/skills/media-use/scripts/dither.test.mjs +176 -0
  401. package/vendor/hyperframes/dist/skills/media-use/scripts/eval.mjs +369 -0
  402. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/adopt.mjs +128 -0
  403. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/adopt.test.mjs +95 -0
  404. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/bgm-provider.mjs +20 -0
  405. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/brand-provider.mjs +59 -0
  406. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/bundled-sfx-provider.mjs +119 -0
  407. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/bundled-sfx-provider.test.mjs +139 -0
  408. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/cache.mjs +148 -0
  409. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/candidates.mjs +91 -0
  410. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/candidates.test.mjs +155 -0
  411. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/codex-provider.mjs +161 -0
  412. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/codex-provider.test.mjs +34 -0
  413. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/config-lock.d.mts +3 -0
  414. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/config-lock.mjs +45 -0
  415. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/config-lock.test.mjs +79 -0
  416. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/coverage.test.mjs +136 -0
  417. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/cube-build.mjs +181 -0
  418. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/cube-build.test.mjs +80 -0
  419. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/cube-validate.mjs +198 -0
  420. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/cube-validate.test.mjs +125 -0
  421. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/cutlist.mjs +184 -0
  422. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/cutlist.test.mjs +162 -0
  423. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/duck.mjs +95 -0
  424. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/duck.test.mjs +153 -0
  425. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/error-diffusion.mjs +230 -0
  426. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/error-diffusion.test.mjs +102 -0
  427. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/ff-binaries.mjs +37 -0
  428. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/freeze.mjs +72 -0
  429. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/freeze.test.mjs +138 -0
  430. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/grade-analyzer.mjs +265 -0
  431. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/grade-analyzer.test.mjs +285 -0
  432. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/heygen-cli.mjs +191 -0
  433. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/heygen-cli.test.mjs +301 -0
  434. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/heygen-search.mjs +45 -0
  435. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/heygen-search.test.mjs +49 -0
  436. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/heygen-video-provider.mjs +138 -0
  437. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/heygen-video-provider.test.mjs +435 -0
  438. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/image-provider.mjs +44 -0
  439. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/index-gen.mjs +63 -0
  440. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/local-media-search.mjs +32 -0
  441. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/local-models.mjs +318 -0
  442. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/local-models.test.mjs +220 -0
  443. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/local-run.mjs +78 -0
  444. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/local-run.test.mjs +121 -0
  445. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/logo-provider.mjs +244 -0
  446. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/logo-provider.test.mjs +298 -0
  447. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/ltx-video-provider.mjs +94 -0
  448. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/ltx-video-provider.test.mjs +316 -0
  449. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/lut-preset-provider.mjs +271 -0
  450. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/lut-preset-provider.test.mjs +199 -0
  451. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/manifest.d.mts +19 -0
  452. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/manifest.mjs +279 -0
  453. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/manifest.test.mjs +397 -0
  454. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/match.mjs +47 -0
  455. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/media-fetch.mjs +85 -0
  456. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/media-fetch.test.mjs +197 -0
  457. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/media-home.mjs +20 -0
  458. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/media-home.test.mjs +61 -0
  459. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/media-search.d.mts +9 -0
  460. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/media-search.mjs +107 -0
  461. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/mflux-provider.mjs +128 -0
  462. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/mflux-provider.test.mjs +174 -0
  463. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/misses.mjs +49 -0
  464. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/misses.test.mjs +89 -0
  465. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/npx-sync.mjs +31 -0
  466. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/npx-sync.test.mjs +50 -0
  467. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/parakeet-words.mjs +27 -0
  468. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/parakeet-words.test.mjs +44 -0
  469. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/prefs-store.mjs +180 -0
  470. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/prefs-store.test.mjs +189 -0
  471. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/probe.mjs +41 -0
  472. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/probe.test.mjs +148 -0
  473. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/providers.mjs +5 -0
  474. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/recipe-store.mjs +367 -0
  475. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/recipe-store.test.mjs +367 -0
  476. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/registry.mjs +212 -0
  477. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/registry.test.mjs +262 -0
  478. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/search.mjs +24 -0
  479. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/search.test.mjs +32 -0
  480. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/sfx-provider.mjs +23 -0
  481. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/specs.mjs +132 -0
  482. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/specs.test.mjs +157 -0
  483. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/stats.mjs +117 -0
  484. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/stats.test.mjs +165 -0
  485. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/svg-sanitize.mjs +21 -0
  486. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/telemetry.mjs +210 -0
  487. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/telemetry.test.mjs +437 -0
  488. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/test-home.test.mjs +10 -0
  489. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/transcriptCutFade.mjs +21 -0
  490. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/transcriptCutFade.test.mjs +33 -0
  491. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/tts-local-provider.mjs +94 -0
  492. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/tts-local-provider.test.mjs +72 -0
  493. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/usage.mjs +57 -0
  494. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/usage.test.mjs +54 -0
  495. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/voice-provider.mjs +57 -0
  496. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/voice-provider.test.mjs +46 -0
  497. package/vendor/hyperframes/dist/skills/media-use/scripts/lib/words.mjs +18 -0
  498. package/vendor/hyperframes/dist/skills/media-use/scripts/prefs.mjs +70 -0
  499. package/vendor/hyperframes/dist/skills/media-use/scripts/recipe.mjs +103 -0
  500. package/vendor/hyperframes/dist/skills/media-use/scripts/resolve-plugin.test.mjs +62 -0
  501. package/vendor/hyperframes/dist/skills/media-use/scripts/resolve.mjs +1369 -0
  502. package/vendor/hyperframes/dist/skills/media-use/scripts/transcribe.mjs +194 -0
  503. package/vendor/hyperframes/dist/skills/media-use/scripts/transcribe.test.mjs +112 -0
  504. package/vendor/hyperframes/dist/skills/media-use/scripts/transcript-cut.mjs +270 -0
  505. package/vendor/hyperframes/dist/skills/media-use/scripts/transcript-cut.test.mjs +117 -0
  506. package/vendor/hyperframes/dist/skills-MJ2J4GEM.js +808 -0
  507. package/vendor/hyperframes/dist/skillsUpdateCheck-TKTYQN5R.js +26 -0
  508. package/vendor/hyperframes/dist/slideshow-EJ4IMY6P.js +24 -0
  509. package/vendor/hyperframes/dist/snapshot-KIVDUUMN.js +875 -0
  510. package/vendor/hyperframes/dist/src-6YQBJGWR.js +202 -0
  511. package/vendor/hyperframes/dist/src-PVYUYV3M.js +471 -0
  512. package/vendor/hyperframes/dist/state-KAXGHF77.js +26 -0
  513. package/vendor/hyperframes/dist/staticProjectServer-7EU666GS.js +49 -0
  514. package/vendor/hyperframes/dist/status-YM52BQ6S.js +311 -0
  515. package/vendor/hyperframes/dist/studio/assets/hyperframes-player-Cp8e_Zst.js +473 -0
  516. package/vendor/hyperframes/dist/studio/assets/index-BX3KHhGX.js +71 -0
  517. package/vendor/hyperframes/dist/studio/assets/index-CASEBNy2.js +1 -0
  518. package/vendor/hyperframes/dist/studio/assets/index-D11atkBt.css +1 -0
  519. package/vendor/hyperframes/dist/studio/assets/index-DMTt9nTf.js +531 -0
  520. package/vendor/hyperframes/dist/studio/assets/index-oE1pOdAy.js +399 -0
  521. package/vendor/hyperframes/dist/studio/chunk-5VSXRGIX.js +948 -0
  522. package/vendor/hyperframes/dist/studio/chunk-5VSXRGIX.js.map +1 -0
  523. package/vendor/hyperframes/dist/studio/chunk-7UQWVN52.js +938 -0
  524. package/vendor/hyperframes/dist/studio/chunk-7UQWVN52.js.map +1 -0
  525. package/vendor/hyperframes/dist/studio/chunk-EEXSYY5F.js +190 -0
  526. package/vendor/hyperframes/dist/studio/chunk-EEXSYY5F.js.map +1 -0
  527. package/vendor/hyperframes/dist/studio/chunk-FOEID72M.js +1441 -0
  528. package/vendor/hyperframes/dist/studio/chunk-FOEID72M.js.map +1 -0
  529. package/vendor/hyperframes/dist/studio/chunk-PZ5AY32C.js +10 -0
  530. package/vendor/hyperframes/dist/studio/chunk-PZ5AY32C.js.map +1 -0
  531. package/vendor/hyperframes/dist/studio/chunk-TDWGXBUT.js +1103 -0
  532. package/vendor/hyperframes/dist/studio/chunk-TDWGXBUT.js.map +1 -0
  533. package/vendor/hyperframes/dist/studio/domEditingLayers-IEVLO54Z.js +47 -0
  534. package/vendor/hyperframes/dist/studio/domEditingLayers-IEVLO54Z.js.map +1 -0
  535. package/vendor/hyperframes/dist/studio/favicon.svg +14 -0
  536. package/vendor/hyperframes/dist/studio/icons/timeline/audio.svg +7 -0
  537. package/vendor/hyperframes/dist/studio/icons/timeline/captions.svg +5 -0
  538. package/vendor/hyperframes/dist/studio/icons/timeline/composition.svg +12 -0
  539. package/vendor/hyperframes/dist/studio/icons/timeline/image.svg +18 -0
  540. package/vendor/hyperframes/dist/studio/icons/timeline/music.svg +10 -0
  541. package/vendor/hyperframes/dist/studio/icons/timeline/text.svg +3 -0
  542. package/vendor/hyperframes/dist/studio/index.css +165 -0
  543. package/vendor/hyperframes/dist/studio/index.css.map +1 -0
  544. package/vendor/hyperframes/dist/studio/index.d.ts +4296 -0
  545. package/vendor/hyperframes/dist/studio/index.html +23 -0
  546. package/vendor/hyperframes/dist/studio/index.js +99693 -0
  547. package/vendor/hyperframes/dist/studio/index.js.map +1 -0
  548. package/vendor/hyperframes/dist/studio/player.d.ts +30 -0
  549. package/vendor/hyperframes/dist/studio/player.js +10 -0
  550. package/vendor/hyperframes/dist/studio/player.js.map +1 -0
  551. package/vendor/hyperframes/dist/studio/styles/tailwind-preset.d.ts +39 -0
  552. package/vendor/hyperframes/dist/studio/styles/tailwind-preset.js +50 -0
  553. package/vendor/hyperframes/dist/studio/styles/tailwind-preset.js.map +1 -0
  554. package/vendor/hyperframes/dist/studio/styles.css +1 -0
  555. package/vendor/hyperframes/dist/studio/ui.d.ts +296 -0
  556. package/vendor/hyperframes/dist/studio/ui.js +66 -0
  557. package/vendor/hyperframes/dist/studio/ui.js.map +1 -0
  558. package/vendor/hyperframes/dist/studio-api-PNQZRPX5.js +136 -0
  559. package/vendor/hyperframes/dist/studioSelectionClient-IUUPKUHZ.js +25 -0
  560. package/vendor/hyperframes/dist/studioServer-UWRBPIOJ.js +1457 -0
  561. package/vendor/hyperframes/dist/synthesize-K62TIZWI.js +182 -0
  562. package/vendor/hyperframes/dist/system-EZYZNUFD.js +44 -0
  563. package/vendor/hyperframes/dist/telemetry-2YC4SGQU.js +144 -0
  564. package/vendor/hyperframes/dist/telemetry-QMYM4WME.js +95 -0
  565. package/vendor/hyperframes/dist/templates/_shared/AGENTS.md +107 -0
  566. package/vendor/hyperframes/dist/templates/_shared/CLAUDE.md +107 -0
  567. package/vendor/hyperframes/dist/templates/blank/index.html +55 -0
  568. package/vendor/hyperframes/dist/templates/from-file/index.html +75 -0
  569. package/vendor/hyperframes/dist/templates/warm-grain/compositions/captions.html +154 -0
  570. package/vendor/hyperframes/dist/templates/warm-grain/compositions/graphics.html +162 -0
  571. package/vendor/hyperframes/dist/templates/warm-grain/compositions/intro.html +87 -0
  572. package/vendor/hyperframes/dist/templates/warm-grain/index.html +264 -0
  573. package/vendor/hyperframes/dist/templates/warm-grain/registry-item.json +34 -0
  574. package/vendor/hyperframes/dist/timeline-77Z3BBQM.js +1377 -0
  575. package/vendor/hyperframes/dist/tokens-OBGTYE4Z.js +92 -0
  576. package/vendor/hyperframes/dist/transcribe-7NVFHCGA.js +387 -0
  577. package/vendor/hyperframes/dist/transcribe-BNSJRR4M.js +62 -0
  578. package/vendor/hyperframes/dist/tts-P3LIPIL5.js +234 -0
  579. package/vendor/hyperframes/dist/updateCheck-UDWIJ4ZQ.js +39 -0
  580. package/vendor/hyperframes/dist/upgrade-CT3CPO3E.js +231 -0
  581. package/vendor/hyperframes/dist/urlDownloader-H6WRI2UE.js +39 -0
  582. package/vendor/hyperframes/dist/usage-EC3KFUIJ.js +2139 -0
  583. package/vendor/hyperframes/dist/validate-65QDZJWZ.js +70 -0
  584. package/vendor/hyperframes/dist/video-FGSGKRSV.js +261 -0
  585. package/vendor/hyperframes/dist/workspaceBuildCheck-TOLGAI4T.js +133 -0
  586. package/vendor/hyperframes/package.json +80 -0
@@ -0,0 +1,587 @@
1
+ import { createRequire as __hf_createRequire } from "node:module";
2
+ import { fileURLToPath as __hf_fileURLToPath } from "node:url";
3
+ import { dirname as __hf_dirname } from "node:path";
4
+ var require = __hf_createRequire(import.meta.url);
5
+ var __filename = __hf_fileURLToPath(import.meta.url);
6
+ var __dirname = __hf_dirname(__filename);
7
+ import {
8
+ runRenderSetupWorker
9
+ } from "./chunk-LCSMOLGX.js";
10
+ import {
11
+ chromeMajorCeiling,
12
+ exceedsChromeCeiling
13
+ } from "./chunk-TWWSYAKJ.js";
14
+ import {
15
+ normalizeErrorMessage
16
+ } from "./chunk-KNU5COPB.js";
17
+
18
+ // src/browser/manager.ts
19
+ import { execSync, spawnSync } from "child_process";
20
+ import { randomUUID } from "crypto";
21
+ import {
22
+ existsSync,
23
+ mkdirSync,
24
+ readFileSync,
25
+ readdirSync,
26
+ renameSync,
27
+ rmSync,
28
+ statSync,
29
+ utimesSync,
30
+ writeFileSync
31
+ } from "fs";
32
+ import { homedir } from "os";
33
+ import { basename, dirname, join, relative } from "path";
34
+ async function loadPuppeteerBrowsers() {
35
+ try {
36
+ return await import("@puppeteer/browsers");
37
+ } catch (err) {
38
+ const cause = normalizeErrorMessage(err);
39
+ throw new Error(
40
+ `Failed to load @puppeteer/browsers: ${cause}
41
+ Fix: run \`npm install\` or \`bun install\` to restore missing packages, then retry.`
42
+ );
43
+ }
44
+ }
45
+ var CHROME_VERSION = "152.0.7977.30";
46
+ var MACOS_12_CHROME_VERSION = "150.0.7871.124";
47
+ function managedChromeVersion() {
48
+ return chromeMajorCeiling() === void 0 ? CHROME_VERSION : MACOS_12_CHROME_VERSION;
49
+ }
50
+ var CACHE_ROOT_DIR = join(homedir(), ".cache", "hyperframes");
51
+ var CACHE_DIR = join(homedir(), ".cache", "hyperframes", "chrome");
52
+ var PUPPETEER_CACHE_DIR = join(homedir(), ".cache", "puppeteer", "chrome-headless-shell");
53
+ var INSTALL_LOCK_DIR = join(CACHE_ROOT_DIR, ".chrome.install.lock");
54
+ var INSTALL_RECLAIM_LOCK_DIR = join(CACHE_ROOT_DIR, ".chrome.install.reclaim.lock");
55
+ var INSTALL_LOCK_OWNER_FILE = join(INSTALL_LOCK_DIR, "owner");
56
+ var INSTALL_LOCK_OWNER_ENV = "HYPERFRAMES_BROWSER_LOCK_OWNER";
57
+ var ownedInstallLockToken;
58
+ var INSTALL_LOCK_TIMINGS = {
59
+ staleMs: 12e4,
60
+ pollMs: 200,
61
+ heartbeatMs: 15e3,
62
+ waitNoticeMs: 1e4
63
+ };
64
+ function isErrno(err, code) {
65
+ return err.code === code;
66
+ }
67
+ function sleep(ms) {
68
+ return new Promise((resolve) => setTimeout(resolve, ms));
69
+ }
70
+ function tryAcquireDirLock(lockDir) {
71
+ try {
72
+ mkdirSync(lockDir, { recursive: false });
73
+ return true;
74
+ } catch (err) {
75
+ if (!isErrno(err, "EEXIST")) throw err;
76
+ return false;
77
+ }
78
+ }
79
+ function isDirLockStale(lockDir, timeoutMs) {
80
+ try {
81
+ return Date.now() - statSync(lockDir).mtimeMs > timeoutMs;
82
+ } catch (err) {
83
+ if (isErrno(err, "ENOENT")) return false;
84
+ throw err;
85
+ }
86
+ }
87
+ function reclaimStaleInstallLock(timeoutMs) {
88
+ if (!tryAcquireDirLock(INSTALL_RECLAIM_LOCK_DIR)) return;
89
+ try {
90
+ const mtimeMs = statSync(INSTALL_LOCK_DIR).mtimeMs;
91
+ if (Date.now() - mtimeMs > timeoutMs) {
92
+ rmSync(INSTALL_LOCK_DIR, { recursive: true, force: true });
93
+ }
94
+ } catch (err) {
95
+ if (!isErrno(err, "ENOENT")) throw err;
96
+ } finally {
97
+ rmSync(INSTALL_RECLAIM_LOCK_DIR, { recursive: true, force: true });
98
+ }
99
+ }
100
+ function reclaimAbandonedReclaimLock(timeoutMs) {
101
+ try {
102
+ if (isDirLockStale(INSTALL_RECLAIM_LOCK_DIR, timeoutMs)) {
103
+ rmSync(INSTALL_RECLAIM_LOCK_DIR, { recursive: true, force: true });
104
+ }
105
+ } catch (err) {
106
+ if (!isErrno(err, "ENOENT")) throw err;
107
+ }
108
+ }
109
+ function touchInstallLock() {
110
+ try {
111
+ const now = /* @__PURE__ */ new Date();
112
+ utimesSync(INSTALL_LOCK_DIR, now, now);
113
+ } catch {
114
+ }
115
+ }
116
+ async function withInstallLock(fn, timings = INSTALL_LOCK_TIMINGS) {
117
+ if (!existsSync(CACHE_ROOT_DIR)) mkdirSync(CACHE_ROOT_DIR, { recursive: true });
118
+ let deadline = Date.now() + timings.staleMs;
119
+ const waitStart = Date.now();
120
+ let lastNoticeMs = 0;
121
+ for (; ; ) {
122
+ if (existsSync(INSTALL_RECLAIM_LOCK_DIR)) {
123
+ reclaimAbandonedReclaimLock(timings.staleMs);
124
+ await sleep(timings.pollMs);
125
+ continue;
126
+ }
127
+ if (tryAcquireDirLock(INSTALL_LOCK_DIR)) {
128
+ ownedInstallLockToken = process.env[INSTALL_LOCK_OWNER_ENV] ?? randomUUID();
129
+ try {
130
+ writeFileSync(INSTALL_LOCK_OWNER_FILE, ownedInstallLockToken);
131
+ } catch (error) {
132
+ ownedInstallLockToken = void 0;
133
+ rmSync(INSTALL_LOCK_DIR, { recursive: true, force: true });
134
+ throw error;
135
+ }
136
+ rmSync(INSTALL_RECLAIM_LOCK_DIR, { recursive: true, force: true });
137
+ break;
138
+ }
139
+ const waitedMs = Date.now() - waitStart;
140
+ if (waitedMs - lastNoticeMs >= timings.waitNoticeMs) {
141
+ lastNoticeMs = waitedMs;
142
+ console.warn(
143
+ `[browser] Waiting for another hyperframes process to finish installing chrome-headless-shell (${Math.round(waitedMs / 1e3)}s elapsed)...`
144
+ );
145
+ }
146
+ if (isDirLockStale(INSTALL_LOCK_DIR, timings.staleMs) || Date.now() > deadline) {
147
+ reclaimStaleInstallLock(timings.staleMs);
148
+ deadline = Date.now() + timings.staleMs;
149
+ continue;
150
+ }
151
+ await sleep(timings.pollMs);
152
+ }
153
+ const heartbeat = setInterval(touchInstallLock, timings.heartbeatMs);
154
+ if (typeof heartbeat.unref === "function") heartbeat.unref();
155
+ try {
156
+ return await fn();
157
+ } finally {
158
+ clearInterval(heartbeat);
159
+ releaseOwnedBrowserInstallLock();
160
+ }
161
+ }
162
+ function releaseOwnedBrowserInstallLock() {
163
+ if (!ownedInstallLockToken) return;
164
+ releaseBrowserInstallLock(ownedInstallLockToken);
165
+ }
166
+ function releaseBrowserInstallLock(ownerToken) {
167
+ if (ownedInstallLockToken === ownerToken) ownedInstallLockToken = void 0;
168
+ try {
169
+ if (readFileSync(INSTALL_LOCK_OWNER_FILE, "utf8") !== ownerToken) return;
170
+ } catch {
171
+ return;
172
+ }
173
+ rmSync(INSTALL_LOCK_DIR, { recursive: true, force: true });
174
+ }
175
+ var SYSTEM_CHROME_PATHS = process.platform === "darwin" ? ["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"] : process.platform === "win32" ? [
176
+ join(
177
+ process.env["ProgramW6432"] ?? process.env["PROGRAMFILES"] ?? "C:\\Program Files",
178
+ "Google",
179
+ "Chrome",
180
+ "Application",
181
+ "chrome.exe"
182
+ ),
183
+ join(
184
+ process.env["PROGRAMFILES(X86)"] ?? "C:\\Program Files (x86)",
185
+ "Google",
186
+ "Chrome",
187
+ "Application",
188
+ "chrome.exe"
189
+ ),
190
+ ...process.env["LOCALAPPDATA"] ? [join(process.env["LOCALAPPDATA"], "Google", "Chrome", "Application", "chrome.exe")] : []
191
+ ] : [
192
+ "/usr/bin/google-chrome",
193
+ "/usr/bin/google-chrome-stable",
194
+ "/usr/bin/chromium",
195
+ "/usr/bin/chromium-browser"
196
+ ];
197
+ function whichBinary(name) {
198
+ try {
199
+ const cmd = process.platform === "win32" ? `where ${name}` : `which ${name}`;
200
+ const output = execSync(cmd, {
201
+ encoding: "utf-8",
202
+ stdio: ["pipe", "pipe", "pipe"],
203
+ timeout: 5e3,
204
+ windowsHide: true
205
+ });
206
+ const first = output.split(/\r?\n/).map((s) => s.trim()).find(Boolean);
207
+ return first || void 0;
208
+ } catch {
209
+ return void 0;
210
+ }
211
+ }
212
+ function findFromEnv() {
213
+ const envPath = process.env["HYPERFRAMES_BROWSER_PATH"] ?? process.env["PRODUCER_HEADLESS_SHELL_PATH"];
214
+ if (envPath && existsSync(envPath)) {
215
+ return { executablePath: envPath, source: "env" };
216
+ }
217
+ return void 0;
218
+ }
219
+ async function findFromHyperframesCache() {
220
+ if (!existsSync(CACHE_DIR)) return {};
221
+ const { Browser, detectBrowserPlatform, getInstalledBrowsers } = await loadPuppeteerBrowsers();
222
+ let installed;
223
+ try {
224
+ installed = await getInstalledBrowsers({ cacheDir: CACHE_DIR });
225
+ } catch (err) {
226
+ const code = err?.code;
227
+ const suffix = code ? ` (${code})` : "";
228
+ console.warn(
229
+ `[hyperframes] Browser cache read failed${suffix}: ${normalizeErrorMessage(err)}. Falling back to system Chrome or a fresh download.`
230
+ );
231
+ installed = [];
232
+ }
233
+ const hostPlatform = detectBrowserPlatform();
234
+ const match = installed.find(
235
+ (b) => b.browser === Browser.CHROMEHEADLESSSHELL && b.buildId === managedChromeVersion() && b.platform === hostPlatform
236
+ );
237
+ if (match && existsSync(match.executablePath)) {
238
+ return { result: { executablePath: match.executablePath, source: "cache" } };
239
+ }
240
+ if (match) {
241
+ return { staleHyperframesCachePath: match.executablePath };
242
+ }
243
+ return {};
244
+ }
245
+ async function findFromCache() {
246
+ const fromPuppeteer = findFromPuppeteerCache();
247
+ if (fromPuppeteer) {
248
+ return { result: fromPuppeteer };
249
+ }
250
+ return findFromHyperframesCache();
251
+ }
252
+ function parseVersionSegments(versionDir) {
253
+ const dashIdx = versionDir.indexOf("-");
254
+ const versionPart = dashIdx >= 0 ? versionDir.slice(dashIdx + 1) : versionDir;
255
+ const segments = versionPart.split(".");
256
+ const parsed = [];
257
+ for (const seg of segments) {
258
+ const n = parseInt(seg, 10);
259
+ if (!Number.isFinite(n)) {
260
+ break;
261
+ }
262
+ parsed.push(n);
263
+ }
264
+ return parsed.length > 0 ? parsed : void 0;
265
+ }
266
+ function compareVersionDirsDescending(a, b) {
267
+ const pa = parseVersionSegments(a);
268
+ const pb = parseVersionSegments(b);
269
+ if (!pa && !pb) return 0;
270
+ if (!pa) return 1;
271
+ if (!pb) return -1;
272
+ const len = Math.max(pa.length, pb.length);
273
+ for (let i = 0; i < len; i += 1) {
274
+ const av = pa[i] ?? 0;
275
+ const bv = pb[i] ?? 0;
276
+ if (av !== bv) return bv - av;
277
+ }
278
+ return 0;
279
+ }
280
+ var CACHED_HEADLESS_SHELL_EXECUTABLES = {
281
+ "darwin/arm64": ["chrome-headless-shell-mac-arm64", "chrome-headless-shell"],
282
+ "darwin/x64": ["chrome-headless-shell-mac-x64", "chrome-headless-shell"],
283
+ "linux/x64": ["chrome-headless-shell-linux64", "chrome-headless-shell"],
284
+ "win32/ia32": ["chrome-headless-shell-win32", "chrome-headless-shell.exe"],
285
+ "win32/x64": ["chrome-headless-shell-win64", "chrome-headless-shell.exe"]
286
+ };
287
+ function cachedHeadlessShellExecutable(hostPlatform = process.platform, hostArch = process.arch) {
288
+ return CACHED_HEADLESS_SHELL_EXECUTABLES[`${hostPlatform}/${hostArch}`];
289
+ }
290
+ function findFromPuppeteerCache() {
291
+ if (!existsSync(PUPPETEER_CACHE_DIR)) return void 0;
292
+ const executable = cachedHeadlessShellExecutable();
293
+ if (!executable) return void 0;
294
+ let versions;
295
+ try {
296
+ versions = [...readdirSync(PUPPETEER_CACHE_DIR)].sort(compareVersionDirsDescending);
297
+ } catch {
298
+ return void 0;
299
+ }
300
+ const ceiling = chromeMajorCeiling();
301
+ for (const version of versions) {
302
+ if (exceedsChromeCeiling(version, ceiling)) continue;
303
+ const binary = join(PUPPETEER_CACHE_DIR, version, ...executable);
304
+ if (existsSync(binary)) {
305
+ return { executablePath: binary, source: "cache" };
306
+ }
307
+ }
308
+ return void 0;
309
+ }
310
+ function isHeadlessShellBinary(executablePath) {
311
+ const name = basename(executablePath).toLowerCase();
312
+ return name === "chrome-headless-shell" || name === "chrome-headless-shell.exe";
313
+ }
314
+ var _warnedSystemFallback = false;
315
+ function warnSystemFallbackOnce(executablePath) {
316
+ if (_warnedSystemFallback) return;
317
+ if (process.platform !== "linux") return;
318
+ if (isHeadlessShellBinary(executablePath)) return;
319
+ _warnedSystemFallback = true;
320
+ console.warn(
321
+ `[hyperframes] Using system Chrome at ${executablePath}; HeadlessExperimental.beginFrame is unavailable in regular Chrome builds, so the perf-optimized capture path falls back to screenshot mode. Install chrome-headless-shell for the optimized path:
322
+ npx @puppeteer/browsers install chrome-headless-shell
323
+ (Or set HYPERFRAMES_BROWSER_PATH to point at an existing chrome-headless-shell binary.)`
324
+ );
325
+ }
326
+ function _resetSystemFallbackWarnForTests() {
327
+ _warnedSystemFallback = false;
328
+ }
329
+ function findSystemBrowser() {
330
+ for (const p of SYSTEM_CHROME_PATHS) {
331
+ if (existsSync(p)) {
332
+ return { executablePath: p, source: "system" };
333
+ }
334
+ }
335
+ const fromWhich = whichBinary("google-chrome") ?? whichBinary("chromium");
336
+ if (fromWhich) {
337
+ return { executablePath: fromWhich, source: "system" };
338
+ }
339
+ return void 0;
340
+ }
341
+ async function findBrowser() {
342
+ const fromEnv = findFromEnv();
343
+ if (fromEnv) return fromEnv;
344
+ const fromCache = await findFromCache();
345
+ if (fromCache.result) return fromCache.result;
346
+ if (fromCache.staleHyperframesCachePath) {
347
+ console.warn(
348
+ `[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
349
+ );
350
+ try {
351
+ return await withInstallLock(() => downloadBrowser());
352
+ } catch (err) {
353
+ const cause = normalizeErrorMessage(err);
354
+ throw new Error(
355
+ `Cached Chrome binary was missing at ${fromCache.staleHyperframesCachePath}, and re-download failed: ${cause}
356
+ Run \`hyperframes browser ensure --force\` to re-download.`
357
+ );
358
+ }
359
+ }
360
+ const fromSystem = findSystemBrowser();
361
+ if (fromSystem) {
362
+ warnSystemFallbackOnce(fromSystem.executablePath);
363
+ }
364
+ return fromSystem;
365
+ }
366
+ async function ensureLinuxArmBrowser(options) {
367
+ void options;
368
+ const existing = await findBrowser();
369
+ if (existing) return existing;
370
+ const hasApt = existsSync("/usr/bin/apt-get");
371
+ if (hasApt) {
372
+ console.error(
373
+ "\n\u{1F50D} Linux ARM64 detected \u2014 Chrome Headless Shell is not available for this platform."
374
+ );
375
+ console.error("\u{1F4E6} Auto-installing system Chromium via apt-get (this only happens once)...\n");
376
+ const result = spawnSync("apt-get", ["install", "-y", "chromium-browser"], {
377
+ stdio: "inherit",
378
+ timeout: 12e4
379
+ });
380
+ if (result.status === 0) {
381
+ const afterInstall = await findBrowser();
382
+ if (afterInstall) {
383
+ console.error(`
384
+ \u2705 Chromium installed at ${afterInstall.executablePath}
385
+ `);
386
+ return afterInstall;
387
+ }
388
+ } else {
389
+ console.error("\n\u26A0\uFE0F apt-get exited with errors. Trying anyway...\n");
390
+ const afterAttempt = await findBrowser();
391
+ if (afterAttempt) return afterAttempt;
392
+ }
393
+ }
394
+ throw new Error(
395
+ `Chrome Headless Shell is not available for Linux ARM64 (DGX Spark, GB10, Jetson).
396
+
397
+ Install Chromium manually and point hyperframes to it:
398
+
399
+ sudo apt-get install -y chromium-browser
400
+ export HYPERFRAMES_BROWSER_PATH=$(which chromium-browser)
401
+
402
+ Then re-run your command. The HYPERFRAMES_BROWSER_PATH env var persists for the session.`
403
+ );
404
+ }
405
+ async function ensureBrowser(options) {
406
+ if (options?.signal) return ensureBrowserInOwnedProcess(options);
407
+ return ensureBrowserInCurrentProcess(options);
408
+ }
409
+ async function ensureBrowserInCurrentProcess(options) {
410
+ const fromEnv = findFromEnv();
411
+ if (fromEnv) return fromEnv;
412
+ if (!options?.force) {
413
+ const fromCache = await (options?.preferManagedChrome ? findFromHyperframesCache() : findFromCache());
414
+ if (fromCache.result) return fromCache.result;
415
+ if (fromCache.staleHyperframesCachePath) {
416
+ console.warn(
417
+ `[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
418
+ );
419
+ return withInstallLock(() => downloadBrowser(options));
420
+ }
421
+ if (!options?.preferManagedChrome) {
422
+ const fromSystem = findSystemBrowser();
423
+ if (fromSystem) {
424
+ warnSystemFallbackOnce(fromSystem.executablePath);
425
+ return fromSystem;
426
+ }
427
+ }
428
+ }
429
+ return withInstallLock(async () => {
430
+ if (!options?.force) {
431
+ const afterLock = await (options?.preferManagedChrome ? findFromHyperframesCache() : findFromCache());
432
+ if (afterLock.result) return afterLock.result;
433
+ }
434
+ return downloadBrowser(options);
435
+ });
436
+ }
437
+ async function ensureBrowserInOwnedProcess(options) {
438
+ const signal = options.signal;
439
+ signal?.throwIfAborted();
440
+ const lockOwner = randomUUID();
441
+ try {
442
+ return await runRenderSetupWorker(
443
+ "browser",
444
+ {
445
+ force: options.force,
446
+ preferManagedChrome: options.preferManagedChrome
447
+ },
448
+ {
449
+ signal,
450
+ maxBufferBytes: 4 * 1024 * 1024,
451
+ env: { [INSTALL_LOCK_OWNER_ENV]: lockOwner }
452
+ }
453
+ );
454
+ } finally {
455
+ releaseBrowserInstallLock(lockOwner);
456
+ }
457
+ }
458
+ function isCorruptArchiveError(err) {
459
+ const msg = normalizeErrorMessage(err).toLowerCase();
460
+ return msg.includes("end of central directory") || msg.includes("end-of-central-directory") || msg.includes("invalid or corrupt") || msg.includes("corrupt zip") || msg.includes("not a zip") || msg.includes("unexpected end of") || msg.includes("corrupted");
461
+ }
462
+ async function installWithCorruptArchiveRecovery(runInstall, clearCache, onRecover) {
463
+ try {
464
+ return await runInstall();
465
+ } catch (err) {
466
+ if (!isCorruptArchiveError(err)) throw err;
467
+ onRecover?.(err);
468
+ clearCache();
469
+ return await runInstall();
470
+ }
471
+ }
472
+ function browserPathHintForPlatform() {
473
+ if (process.platform === "darwin") {
474
+ return "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome";
475
+ }
476
+ if (process.platform === "win32") {
477
+ return "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe";
478
+ }
479
+ return "/usr/bin/google-chrome";
480
+ }
481
+ function wrapDownloadFailureWithBrowserPathHint(cause) {
482
+ const original = normalizeErrorMessage(cause);
483
+ const example = browserPathHintForPlatform();
484
+ const message = `Failed to download chrome-headless-shell ${managedChromeVersion()}: ${original}
485
+
486
+ Point hyperframes at an already-installed Chrome/Chromium instead:
487
+
488
+ export HYPERFRAMES_BROWSER_PATH="${example}"
489
+
490
+ Then re-run your command. Any Chrome build works for the screenshot capture path; install a real chrome-headless-shell later if you need the perf-optimized BeginFrame path. Alternatively, run inside the hyperframes Docker image which ships a compatible headless-shell.`;
491
+ return new Error(message, { cause: cause instanceof Error ? cause : void 0 });
492
+ }
493
+ async function downloadBrowser(options) {
494
+ if (isLinuxArm()) {
495
+ return ensureLinuxArmBrowser(options);
496
+ }
497
+ const { Browser, detectBrowserPlatform, install } = await loadPuppeteerBrowsers();
498
+ const platform = detectBrowserPlatform();
499
+ if (!platform) {
500
+ throw new Error(`Unsupported platform: ${process.platform} ${process.arch}`);
501
+ }
502
+ removeInstallLeftovers();
503
+ const stagingDir = join(CACHE_ROOT_DIR, `${STAGING_PREFIX}${randomUUID()}`);
504
+ const clearStaging = () => rmSync(stagingDir, { recursive: true, force: true });
505
+ const runInstall = () => install({
506
+ cacheDir: stagingDir,
507
+ browser: Browser.CHROMEHEADLESSSHELL,
508
+ buildId: managedChromeVersion(),
509
+ platform,
510
+ downloadProgressCallback: options?.onProgress
511
+ });
512
+ try {
513
+ const staged = await installWithCorruptArchiveRecovery(
514
+ runInstall,
515
+ clearStaging,
516
+ (err) => console.warn(
517
+ `[hyperframes] Downloaded browser archive was corrupt (${normalizeErrorMessage(err)}); re-downloading.`
518
+ )
519
+ );
520
+ return { executablePath: moveStagedInstallIntoCache(stagingDir, staged), source: "download" };
521
+ } catch (err) {
522
+ throw wrapDownloadFailureWithBrowserPathHint(err);
523
+ } finally {
524
+ clearStaging();
525
+ }
526
+ }
527
+ function moveStagedInstallIntoCache(stagingDir, staged) {
528
+ const target = join(CACHE_DIR, relative(stagingDir, staged.path));
529
+ const aside = join(CACHE_ROOT_DIR, `${REPLACED_PREFIX}${randomUUID()}`);
530
+ mkdirSync(dirname(target), { recursive: true });
531
+ let replaced = false;
532
+ try {
533
+ renameSync(target, aside);
534
+ replaced = true;
535
+ } catch (err) {
536
+ if (!isErrno(err, "ENOENT")) throw err;
537
+ }
538
+ try {
539
+ renameSync(staged.path, target);
540
+ } catch (err) {
541
+ if (replaced) renameSync(aside, target);
542
+ throw err;
543
+ }
544
+ if (replaced) rmSync(aside, { recursive: true, force: true });
545
+ return join(target, relative(staged.path, staged.executablePath));
546
+ }
547
+ var STAGING_PREFIX = ".chrome-staging-";
548
+ var REPLACED_PREFIX = ".chrome-replaced-";
549
+ function removeInstallLeftovers() {
550
+ let names;
551
+ try {
552
+ names = readdirSync(CACHE_ROOT_DIR);
553
+ } catch (err) {
554
+ if (isErrno(err, "ENOENT")) return false;
555
+ throw err;
556
+ }
557
+ const leftovers = names.filter(
558
+ (name) => name.startsWith(STAGING_PREFIX) || name.startsWith(REPLACED_PREFIX)
559
+ );
560
+ for (const name of leftovers)
561
+ rmSync(join(CACHE_ROOT_DIR, name), { recursive: true, force: true });
562
+ return leftovers.length > 0;
563
+ }
564
+ function clearBrowser() {
565
+ const removedLeftovers = removeInstallLeftovers();
566
+ if (!existsSync(CACHE_DIR)) return removedLeftovers;
567
+ rmSync(CACHE_DIR, { recursive: true, force: true });
568
+ return true;
569
+ }
570
+ function isLinuxArm() {
571
+ return process.platform === "linux" && process.arch === "arm64";
572
+ }
573
+
574
+ export {
575
+ managedChromeVersion,
576
+ CACHE_DIR,
577
+ withInstallLock,
578
+ releaseOwnedBrowserInstallLock,
579
+ _resetSystemFallbackWarnForTests,
580
+ findSystemBrowser,
581
+ findBrowser,
582
+ ensureBrowser,
583
+ isCorruptArchiveError,
584
+ installWithCorruptArchiveRecovery,
585
+ clearBrowser,
586
+ isLinuxArm
587
+ };
@@ -0,0 +1,128 @@
1
+ import { createRequire as __hf_createRequire } from "node:module";
2
+ import { fileURLToPath as __hf_fileURLToPath } from "node:url";
3
+ import { dirname as __hf_dirname } from "node:path";
4
+ var require = __hf_createRequire(import.meta.url);
5
+ var __filename = __hf_fileURLToPath(import.meta.url);
6
+ var __dirname = __hf_dirname(__filename);
7
+ import {
8
+ parseFeedbackRating,
9
+ trackRenderFeedback
10
+ } from "./chunk-JTHMTOMQ.js";
11
+ import {
12
+ shouldTrack
13
+ } from "./chunk-EISRN4E6.js";
14
+ import {
15
+ c
16
+ } from "./chunk-ZTZA4UWZ.js";
17
+ import {
18
+ detectAgentRuntime
19
+ } from "./chunk-IUZFXWSV.js";
20
+ import {
21
+ readConfig,
22
+ writeConfig
23
+ } from "./chunk-XUXGIA7H.js";
24
+
25
+ // src/telemetry/feedback.ts
26
+ import * as readline from "readline";
27
+ var DEFAULT_FEEDBACK_INTERVAL = 15;
28
+ function getFeedbackInterval() {
29
+ const env = process.env.HYPERFRAMES_FEEDBACK_INTERVAL;
30
+ if (env) {
31
+ const n = parseInt(env, 10);
32
+ if (Number.isFinite(n) && n > 0) return n;
33
+ }
34
+ return DEFAULT_FEEDBACK_INTERVAL;
35
+ }
36
+ var promptedThisSession = false;
37
+ async function maybePromptRenderFeedback(opts) {
38
+ if (promptedThisSession) return;
39
+ if (opts.quiet) return;
40
+ if (!shouldTrack()) return;
41
+ if (process.env.CI) return;
42
+ const config = readConfig();
43
+ config.renderSuccessCount = (config.renderSuccessCount ?? 0) + 1;
44
+ const lastAt = config.lastFeedbackPromptAt ?? 0;
45
+ const isFirstEverRender = lastAt === 0;
46
+ const sinceLastPrompt = config.renderSuccessCount - lastAt;
47
+ if (!isFirstEverRender && sinceLastPrompt < getFeedbackInterval()) {
48
+ writeConfig(config);
49
+ return;
50
+ }
51
+ if (detectAgentRuntime()) {
52
+ promptedThisSession = true;
53
+ config.lastFeedbackPromptAt = config.renderSuccessCount;
54
+ writeConfig(config);
55
+ console.log(
56
+ c.dim(" [hyperframes] ") + c.dim("Agent feedback: ") + c.accent('hyperframes feedback --rating <0-10> --comment "..."')
57
+ );
58
+ return;
59
+ }
60
+ if (!process.stdin.isTTY) {
61
+ writeConfig(config);
62
+ return;
63
+ }
64
+ promptedThisSession = true;
65
+ config.lastFeedbackPromptAt = config.renderSuccessCount;
66
+ writeConfig(config);
67
+ const answer = await askQuestion(
68
+ ` ${c.dim("How likely are you to recommend HyperFrames?")} ${c.accent("[0=not likely 10=extremely likely, enter to skip]")} `
69
+ );
70
+ const rating = parseFeedbackRating(answer);
71
+ if (rating !== null) {
72
+ const details = await askQuestion(` ${c.dim("Any details?")} ${c.accent("(enter to skip)")} `);
73
+ const trimmedDetails = details.trim();
74
+ trackRenderFeedback({
75
+ rating,
76
+ renderDurationMs: opts.renderDurationMs,
77
+ comment: trimmedDetails || void 0,
78
+ doctorSummary: await getDoctorSummary()
79
+ });
80
+ console.log(c.dim(" Thanks for the feedback!"));
81
+ }
82
+ }
83
+ async function getDoctorSummary() {
84
+ try {
85
+ const [{ getSystemMeta }, { findFFmpeg }] = await Promise.all([
86
+ import("./system-EZYZNUFD.js"),
87
+ import("./ffmpeg-QIUFEFTY.js")
88
+ ]);
89
+ const sys = getSystemMeta();
90
+ const parts = [
91
+ `os=${process.platform}/${process.arch}`,
92
+ `node=${process.version}`,
93
+ `cpu=${sys.cpu_count}cores`,
94
+ `mem=${(sys.memory_total_mb / 1024).toFixed(0)}GB`,
95
+ `ffmpeg=${findFFmpeg() ? "yes" : "no"}`
96
+ ];
97
+ if (sys.is_docker) parts.push("docker");
98
+ if (sys.is_wsl) parts.push("wsl");
99
+ if (sys.client) parts.push(`client=${sys.client}`);
100
+ return parts.join(" ");
101
+ } catch {
102
+ return "";
103
+ }
104
+ }
105
+ function askQuestion(prompt) {
106
+ return new Promise((resolve) => {
107
+ const rl = readline.createInterface({
108
+ input: process.stdin,
109
+ output: process.stdout
110
+ });
111
+ rl.question(prompt, (answer) => {
112
+ rl.close();
113
+ resolve(answer);
114
+ });
115
+ const timeout = setTimeout(() => {
116
+ rl.close();
117
+ resolve("");
118
+ }, 1e4);
119
+ if (typeof timeout === "object" && timeout !== null && "unref" in timeout) {
120
+ timeout.unref();
121
+ }
122
+ });
123
+ }
124
+
125
+ export {
126
+ maybePromptRenderFeedback,
127
+ getDoctorSummary
128
+ };