hyperframes 0.8.190 → 0.8.192

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 (222) hide show
  1. package/dist/{add-DBKN5H7H.js → add-TZU2UW7A.js} +17 -17
  2. package/dist/{animatedGifPrep-YVBKKLQY.js → animatedGifPrep-NLAXC3VV.js} +11 -10
  3. package/dist/api.js +24 -23
  4. package/dist/{appHistory-TH3TL6N6.js → appHistory-QVCSAOI4.js} +1 -1
  5. package/dist/{asset-2OHQKUMQ.js → asset-JAJXA6LB.js} +2 -2
  6. package/dist/{assetCataloger-O3QAUWIK.js → assetCataloger-4WTX3J4I.js} +13 -12
  7. package/dist/{audio-IR3JGCMM.js → audio-XLWC7JKS.js} +22 -21
  8. package/dist/{auth-J6TAJLGD.js → auth-5K6X3NPJ.js} +4 -4
  9. package/dist/{autoUpdate-D7BJJUT2.js → autoUpdate-RNV7SKGB.js} +4 -4
  10. package/dist/{backgroundChecks-AILHY2YZ.js → backgroundChecks-QXLVZVGX.js} +5 -5
  11. package/dist/backgroundChecksWorker.js +5 -5
  12. package/dist/{batchRender-QZKFVWEI.js → batchRender-THKSPDZR.js} +14 -7
  13. package/dist/{beats-6LOEKZPB.js → beats-K7CGCFVL.js} +53 -15
  14. package/dist/{benchmark-RJMHI3YW.js → benchmark-PHRDIXNL.js} +18 -14
  15. package/dist/{browser-Q3Q36FE3.js → browser-GN6R5ZSK.js} +7 -7
  16. package/dist/{bundleWithLocalizedFonts-RWHFMSFL.js → bundleWithLocalizedFonts-C325UNR4.js} +3 -3
  17. package/dist/{capture-2PNTGVYV.js → capture-6UBQFHZQ.js} +76 -68
  18. package/dist/{capture-FO3ZZCT4.js → capture-BZ7APOGQ.js} +3 -3
  19. package/dist/{captureCompositionFrame-WTMLWVEJ.js → captureCompositionFrame-VORSCTWC.js} +19 -16
  20. package/dist/{catalog-LUZYPUYT.js → catalog-PHU2RUZ3.js} +18 -18
  21. package/dist/{catch-up-TUTLUTFP.js → catch-up-HCNRM46J.js} +7 -7
  22. package/dist/{check-K2TBTJZS.js → check-TJ5ZLB4I.js} +43 -42
  23. package/dist/{checkBrowser-JT7CXDT6.js → checkBrowser-DWP7ZXJ7.js} +38 -37
  24. package/dist/{chunk-STJ2ANMF.js → chunk-2HP5GIQ3.js} +3 -3
  25. package/dist/{chunk-L34DPWY4.js → chunk-2J3NA3OB.js} +13 -13
  26. package/dist/{chunk-B2A56S5C.js → chunk-2MCXIY4B.js} +13 -10
  27. package/dist/{chunk-DCAI5DBR.js → chunk-2ST4WAFY.js} +9 -1
  28. package/dist/{chunk-TSFA2Y5C.js → chunk-2VXY3PEF.js} +99 -69
  29. package/dist/{chunk-AYFF3GX6.js → chunk-32NB4VMH.js} +1 -1
  30. package/dist/{chunk-IXLUTE6N.js → chunk-3422KMTD.js} +5 -1
  31. package/dist/{chunk-JB7LML5B.js → chunk-3CXIX6XS.js} +68 -7
  32. package/dist/{chunk-F6DNM676.js → chunk-3FV5BVWS.js} +2 -2
  33. package/dist/{chunk-OTQXYTQZ.js → chunk-4E75LHAL.js} +23 -3
  34. package/dist/{chunk-TMBUBLZB.js → chunk-4HCJOFMB.js} +166 -46
  35. package/dist/{chunk-UZ7RJDEC.js → chunk-5IPKQHOL.js} +17 -6
  36. package/dist/{chunk-WBUO6WH6.js → chunk-5TRFLZ5Z.js} +2 -2
  37. package/dist/{chunk-HRPWRZGF.js → chunk-6N65ZMC5.js} +1 -1
  38. package/dist/{chunk-XUXGIA7H.js → chunk-6NLPPKBO.js} +1 -2
  39. package/dist/{chunk-3QLT727N.js → chunk-6WNLQI63.js} +4 -4
  40. package/dist/{chunk-XNLYMHX2.js → chunk-6XVKMBUA.js} +9 -6
  41. package/dist/{chunk-JLSXXMRU.js → chunk-7JJMT6LN.js} +1 -1
  42. package/dist/{chunk-7JHTNUF2.js → chunk-7LLRMYP6.js} +2 -2
  43. package/dist/{chunk-BT64TTSE.js → chunk-7RSY7SZN.js} +2 -2
  44. package/dist/{chunk-DX7VEUBO.js → chunk-7UZC4N62.js} +1 -1
  45. package/dist/{chunk-YT5VLUHM.js → chunk-A4OI5ZNX.js} +1 -1
  46. package/dist/{chunk-TSQAPPRS.js → chunk-AEXVVABM.js} +83 -45
  47. package/dist/{chunk-Y5L5I4US.js → chunk-AMZJFCOX.js} +8 -8
  48. package/dist/{chunk-WCT6KGGT.js → chunk-AR46ND2Q.js} +1 -1
  49. package/dist/chunk-B2XLXD7V.js +3897 -0
  50. package/dist/{chunk-KNQQZRB2.js → chunk-BEOK6F26.js} +2 -2
  51. package/dist/{chunk-76ITJYXX.js → chunk-BPKLUHFT.js} +7 -7
  52. package/dist/{chunk-OOAVKK2W.js → chunk-BV6YE455.js} +2 -2
  53. package/dist/{chunk-XGHHVYC7.js → chunk-BY6OQ6XP.js} +2 -2
  54. package/dist/{chunk-JQYJXUJW.js → chunk-C6KE4AFW.js} +1 -1
  55. package/dist/{chunk-TMK4Q7JA.js → chunk-CFUCHO4T.js} +20 -5
  56. package/dist/{chunk-FANFO5HI.js → chunk-CXRZBWSH.js} +11 -11
  57. package/dist/chunk-CZGHFATT.js +31 -0
  58. package/dist/{chunk-CYBXXSC4.js → chunk-DIKAPMMF.js} +2 -2
  59. package/dist/{chunk-7L37AB57.js → chunk-E3P3LJG6.js} +9 -9
  60. package/dist/{chunk-EU5HTY3E.js → chunk-E5V6WEMK.js} +58 -23
  61. package/dist/{chunk-HJZ5CPZA.js → chunk-EKGGSAWR.js} +6 -5
  62. package/dist/{chunk-7KVVNF7B.js → chunk-ELP5QZWL.js} +1 -1
  63. package/dist/{chunk-QH3T4WI2.js → chunk-EXAX37XR.js} +8 -2
  64. package/dist/{chunk-EI7FP7F3.js → chunk-FBVUAH7N.js} +12 -2
  65. package/dist/{chunk-TTZTGXKG.js → chunk-GANST5K3.js} +2 -2
  66. package/dist/{chunk-EQF6TVWB.js → chunk-IMSI7IFW.js} +65 -29
  67. package/dist/{chunk-W64L7IFS.js → chunk-IW5G323T.js} +1 -1
  68. package/dist/{chunk-RBGNU7VD.js → chunk-J2ASTCU6.js} +2 -2
  69. package/dist/{chunk-SUSSMCWL.js → chunk-J2BSUF6X.js} +1 -1
  70. package/dist/{chunk-GGVGOY6M.js → chunk-JCDYDF54.js} +2 -2
  71. package/dist/{chunk-EPOYPP36.js → chunk-K2AKVYNR.js} +2 -2
  72. package/dist/{chunk-XBGEWNGQ.js → chunk-KZOZN4PI.js} +4 -4
  73. package/dist/{chunk-E7DXKMKU.js → chunk-L2YGSAOL.js} +3 -3
  74. package/dist/{chunk-2FFOLLU2.js → chunk-LOKCBZYF.js} +3 -3
  75. package/dist/{chunk-56IDMP37.js → chunk-MEE4NTPZ.js} +2 -2
  76. package/dist/{chunk-56IOFIYB.js → chunk-MGBUWPXX.js} +2 -2
  77. package/dist/{chunk-K4664CDS.js → chunk-MVIJTXN5.js} +35 -14
  78. package/dist/{chunk-S2IEO6TH.js → chunk-ODBYZIOH.js} +28 -16
  79. package/dist/{chunk-45U3KY7Z.js → chunk-OQL4AJ4X.js} +6 -6
  80. package/dist/{chunk-5C7R55BJ.js → chunk-P2I4RLJE.js} +1 -1
  81. package/dist/{chunk-S7C6EM7N.js → chunk-PFRG5P32.js} +1 -1
  82. package/dist/{chunk-RUOG4VB7.js → chunk-PKZ7RK5N.js} +5 -4
  83. package/dist/{chunk-LLFQA7XF.js → chunk-QFPBRZJD.js} +1 -1
  84. package/dist/{chunk-CWVSJA52.js → chunk-QWLES6YV.js} +3 -3
  85. package/dist/{chunk-OAPYPSEB.js → chunk-QX4TB4NH.js} +292 -79
  86. package/dist/{chunk-BWPY64WA.js → chunk-R2U2G4OS.js} +1 -1
  87. package/dist/{chunk-46HEFGXJ.js → chunk-REUL2KH2.js} +1 -1
  88. package/dist/{chunk-R4QASDTN.js → chunk-RHYOWDI6.js} +2 -2
  89. package/dist/{chunk-DYAPHNV6.js → chunk-RWGASWT7.js} +1 -1
  90. package/dist/chunk-RXATE6FZ.js +385 -0
  91. package/dist/{chunk-CWYS2UNQ.js → chunk-SBBQFPCJ.js} +1 -1
  92. package/dist/{chunk-RDHEG7RX.js → chunk-SK7TR7BL.js} +4 -4
  93. package/dist/{chunk-KNU5COPB.js → chunk-T2EUWCJE.js} +1 -1
  94. package/dist/{chunk-6HYHHMX3.js → chunk-T6O5OLN2.js} +3 -3
  95. package/dist/{chunk-FVD44EQX.js → chunk-ULTKB5FC.js} +65 -23
  96. package/dist/{chunk-B7JFAXDP.js → chunk-VNPADTDD.js} +3 -3
  97. package/dist/{chunk-FUHI34T4.js → chunk-VOM2HLUI.js} +4 -4
  98. package/dist/{chunk-IARWN467.js → chunk-VRAXIQ6I.js} +2 -2
  99. package/dist/{chunk-NAUKCKCJ.js → chunk-W24SZ5FL.js} +4 -4
  100. package/dist/{chunk-ZFFKWHXN.js → chunk-WOKVXK4J.js} +1 -1
  101. package/dist/{chunk-WLG4OYH7.js → chunk-XF77MK3J.js} +1 -1
  102. package/dist/{chunk-DRTIIAIZ.js → chunk-XX2PA4L3.js} +2 -2
  103. package/dist/{chunk-A5YHWTSP.js → chunk-YMQQXPD5.js} +2 -2
  104. package/dist/{chunk-KUMUK6QS.js → chunk-YWRQHRDY.js} +17 -12
  105. package/dist/{chunk-EUUHVDMN.js → chunk-ZEMDV6W2.js} +29 -59
  106. package/dist/{clean-UVTWBPXK.js → clean-2RNCTDBT.js} +40 -27
  107. package/dist/cli.js +69 -67
  108. package/dist/{cloud-M42IPKFD.js → cloud-NFIKESNZ.js} +4 -4
  109. package/dist/{cloudrun-CTNX64R6.js → cloudrun-7224BCX3.js} +9 -9
  110. package/dist/commands/contrast-audit.browser.js +1 -1
  111. package/dist/commands/layout-audit.browser.js +64 -3
  112. package/dist/{compare-MQI7TG5M.js → compare-HL44MXVX.js} +80 -48
  113. package/dist/{compiler-EJE3HLCS.js → compiler-WF5QTXV7.js} +8 -7
  114. package/dist/{component-QSYOSFVV.js → component-ZBZXSJBR.js} +3 -3
  115. package/dist/{compositions-ITDFE7K4.js → compositions-76P7LDDX.js} +19 -17
  116. package/dist/{contactSheet-CAGMKI3E.js → contactSheet-43ISAESM.js} +2 -2
  117. package/dist/{delete-NTGTENKJ.js → delete-4YZBYOHJ.js} +7 -7
  118. package/dist/{deploy-AOJOXEYX.js → deploy-UGUUGYLF.js} +1 -1
  119. package/dist/{deterministicFonts-EGAAE7QL.js → deterministicFonts-RO2TCMLZ.js} +3 -3
  120. package/dist/{dist-NHW2JQCA.js → dist-5KKCRFPT.js} +5 -5
  121. package/dist/{dist-JH32CBQL.js → dist-QQ26RUDV.js} +5 -4
  122. package/dist/docs/rendering.md +2 -2
  123. package/dist/{doctor-Q6DAYVSQ.js → doctor-GGVUK4NB.js} +20 -19
  124. package/dist/{events-BQIBYPCF.js → events-OXPTHVDB.js} +4 -4
  125. package/dist/{events-PV3CDO4A.js → events-V2VU4J3B.js} +5 -5
  126. package/dist/{feedback-BZH26JQE.js → feedback-HFZ5SCUK.js} +16 -16
  127. package/dist/{ffmpeg-KU7RNT3U.js → ffmpeg-3VHY7GO3.js} +13 -12
  128. package/dist/{figma-PBGZUEIL.js → figma-7SEZTLBJ.js} +3 -3
  129. package/dist/fontLocalizeCli.js +14 -13
  130. package/dist/{get-MM2JZ5ET.js → get-Y2S2PXCM.js} +7 -7
  131. package/dist/{gpuPolicy-DQE2CD5T.js → gpuPolicy-UHPOWRV5.js} +11 -10
  132. package/dist/{grade-compare-YTDQ7YXW.js → grade-compare-4VTXSQM5.js} +38 -37
  133. package/dist/{gsapParserAcorn-SKODXC2N.js → gsapParserAcorn-OOTY2MVN.js} +2 -2
  134. package/dist/{help-M4B2DN7E.js → help-HXNOACHI.js} +1 -1
  135. package/dist/{history-ZW4UYKAJ.js → history-XDJUI4LC.js} +39 -16
  136. package/dist/hyperframe.manifest.json +1 -1
  137. package/dist/hyperframe.runtime.iife.js +64 -64
  138. package/dist/hyperframes-player.global.js +3 -3
  139. package/dist/hyperframes-slideshow.global.js +1 -1
  140. package/dist/{info-L7LQAXLK.js → info-KYRI3EZV.js} +56 -22
  141. package/dist/{init-HTSQ535A.js → init-IL7EWMT5.js} +38 -45
  142. package/dist/{inspect-EWF2THRR.js → inspect-TBNH23UC.js} +36 -35
  143. package/dist/{installer-PQKH2S7C.js → installer-O2YMFSI4.js} +8 -8
  144. package/dist/{keyframes-X2QKJ4DP.js → keyframes-4GF62KAJ.js} +13 -14
  145. package/dist/{lambda-BURM66GP.js → lambda-JFL6M4XZ.js} +12 -12
  146. package/dist/{layout-3Z3SJGZZ.js → layout-7MAEFR65.js} +36 -35
  147. package/dist/{lint-OMNZ2K5J.js → lint-4AYHKYAM.js} +23 -16
  148. package/dist/{lintProject-XM3DLUKG.js → lintProject-52SLJPRC.js} +5 -4
  149. package/dist/{list-5ZSQEH6N.js → list-3DP3D3MW.js} +7 -7
  150. package/dist/{login-YNCQPHLA.js → login-T54WQYRQ.js} +7 -7
  151. package/dist/{logout-DDC4QLVK.js → logout-JYFWWUGK.js} +3 -3
  152. package/dist/{manager-UHWEKPXC.js → manager-MZIJY73J.js} +3 -3
  153. package/dist/{manager-N6XXRQN3.js → manager-QROK2IH3.js} +14 -13
  154. package/dist/{media-treatment-EOKBRJPY.js → media-treatment-4CXF7MSG.js} +20 -19
  155. package/dist/{models-6T4CCKUV.js → models-IS3I6JKU.js} +18 -17
  156. package/dist/{motionShot-KXKMYZ3A.js → motionShot-DVYJZOTQ.js} +21 -20
  157. package/dist/{normalize-3AYFSN2F.js → normalize-FASIPBUM.js} +1 -1
  158. package/dist/{normalize-audio-VWB7RHHA.js → normalize-audio-4527JIK4.js} +12 -8
  159. package/dist/{open-32SQCNUP.js → open-5JE46SAX.js} +18 -18
  160. package/dist/{parakeetRunner-BXW2WX6Q.js → parakeetRunner-7JIJGJJ7.js} +20 -19
  161. package/dist/{pipeline-V5ONFRCY.js → pipeline-YEN3WFD2.js} +15 -14
  162. package/dist/{play-BBL262JE.js → play-WFX67I7M.js} +27 -26
  163. package/dist/{policies-MBWGLMWB.js → policies-GHVXA5PE.js} +1 -1
  164. package/dist/{preflight-LCNGQFNY.js → preflight-D377HVUZ.js} +15 -14
  165. package/dist/{present-RY4HO4ZQ.js → present-XTSEKAC7.js} +24 -23
  166. package/dist/{preview-BLLPCCLG.js → preview-5XH7EK6O.js} +28 -26
  167. package/dist/{producer-QG4AQ35S.js → producer-TFFYF4ZM.js} +1 -1
  168. package/dist/{projectConfig-LN3NR5OM.js → projectConfig-6YUJHMCL.js} +10 -10
  169. package/dist/{publication-TXMCS4KM.js → publication-JK33Y55E.js} +5 -5
  170. package/dist/{publish-57VURD7Z.js → publish-JHDGXWXU.js} +18 -17
  171. package/dist/{refresh-RXTOPRBB.js → refresh-USSFPJAU.js} +3 -3
  172. package/dist/{remove-background-VEWVIO3A.js → remove-background-P44MYAPJ.js} +16 -15
  173. package/dist/{render-SP7WAUB4.js → render-HJ34EGMN.js} +10 -9
  174. package/dist/{render-XMN3NJIQ.js → render-RBINWWP5.js} +43 -42
  175. package/dist/{render-4E7QDVOI.js → render-RJ3I4E3A.js} +26 -25
  176. package/dist/{render-batch-7ULP5RIJ.js → render-batch-3D6XQYUC.js} +11 -10
  177. package/dist/renderSetupWorker.js +9 -8
  178. package/dist/{resolver-D3XERO6U.js → resolver-HCLTFZUW.js} +7 -7
  179. package/dist/{screenshotCapture-UBY6TT75.js → screenshotCapture-I5EDCITF.js} +6 -3
  180. package/dist/{sherpa-5B5G426W.js → sherpa-IPOUJM6Q.js} +19 -18
  181. package/dist/{sites-5PWHAMEG.js → sites-Q2S3DZY4.js} +2 -1
  182. package/dist/skills/hyperframes/references/captions.md +1 -1
  183. package/dist/skills/hyperframes/references/skill-lifecycle.md +8 -4
  184. package/dist/skills/hyperframes-cli/references/cloudrun.md +1 -1
  185. package/dist/skills/hyperframes-cli/references/init-and-scaffold.md +1 -1
  186. package/dist/skills/hyperframes-cli/references/lambda.md +1 -1
  187. package/dist/skills/hyperframes-cli/references/lint-validate-inspect.md +2 -2
  188. package/dist/skills/hyperframes-cli/references/preview-render.md +1 -1
  189. package/dist/skills/hyperframes-cli/references/upgrade-info-misc.md +0 -8
  190. package/dist/skills/media-use/audio/references/transcribe.md +2 -2
  191. package/dist/skills/media-use/references/audio.md +1 -1
  192. package/dist/{skills-RXHRF7O7.js → skills-P67QEERC.js} +13 -75
  193. package/dist/{skillsUpdateCheck-JOTDZJAE.js → skillsUpdateCheck-IFMLRVIF.js} +5 -5
  194. package/dist/{slideshow-YTWATJRT.js → slideshow-SJGK4RQS.js} +1 -1
  195. package/dist/{snapshot-DN4MP4VN.js → snapshot-4YM4NNWJ.js} +66 -48
  196. package/dist/{src-W6Y5ZYRQ.js → src-DCD3YMXX.js} +13 -12
  197. package/dist/{src-XSDYRKLG.js → src-SSV66L3F.js} +14 -9
  198. package/dist/{staticProjectServer-JMFGTPMX.js → staticProjectServer-C7PPGLEQ.js} +22 -21
  199. package/dist/{status-CM7IQTU2.js → status-H5WLKQDS.js} +3 -3
  200. package/dist/studio/assets/{hyperframes-player-0HXJPmYC.js → hyperframes-player-ChN3cOr0.js} +3 -3
  201. package/dist/studio/assets/{index-DsSfhjUS.js → index-BYbFcRR0.js} +1 -1
  202. package/dist/studio/assets/{index-BYw97F07.js → index-CHu83hHM.js} +126 -125
  203. package/dist/studio/assets/{index-B3vk3hfU.css → index-CYbvOVp-.css} +1 -1
  204. package/dist/studio/index.html +2 -2
  205. package/dist/{studio-api-SZ4OMFPN.js → studio-api-6YZ7PIQR.js} +17 -14
  206. package/dist/{studioServer-LWO33H7D.js → studioServer-EWHSE4GC.js} +60 -59
  207. package/dist/{telemetry-QG5AANZ4.js → telemetry-4K6CPMNT.js} +2 -2
  208. package/dist/{telemetry-K3AFDKOP.js → telemetry-GGLBHZRZ.js} +5 -5
  209. package/dist/{timeline-NYQOAQDH.js → timeline-NKHQJXJ2.js} +65 -43
  210. package/dist/{tokens-K7YWUVOK.js → tokens-FWNNDJ6R.js} +2 -2
  211. package/dist/{transcribe-QAUMODXM.js → transcribe-TRPKXZ7L.js} +27 -26
  212. package/dist/{transcribe-ANPUQDZD.js → transcribe-VD2TMMC2.js} +17 -16
  213. package/dist/{tts-A2WILYGN.js → tts-5I2AJNLM.js} +1 -1
  214. package/dist/{updateCheck-RNR4HMDI.js → updateCheck-CUPS6LU3.js} +4 -4
  215. package/dist/{upgrade-MKUGZZPA.js → upgrade-23XO6MEX.js} +4 -4
  216. package/dist/{urlDownloader-5USPXLCS.js → urlDownloader-YOAOONCK.js} +10 -9
  217. package/dist/{validate-OJHPDLC5.js → validate-BWIW24G5.js} +30 -29
  218. package/dist/{video-BCKRR6LU.js → video-XRXJS4GC.js} +12 -11
  219. package/dist/warmCheck.js +43 -42
  220. package/package.json +2 -1
  221. package/dist/chunk-DIV37NUE.js +0 -3896
  222. package/dist/chunk-I5JRXMCV.js +0 -6077
@@ -38,7 +38,7 @@ import {
38
38
  stripEmbeddedRuntimeScripts,
39
39
  styleElementsFor,
40
40
  warnUnknownEnumValues
41
- } from "./chunk-DIV37NUE.js";
41
+ } from "./chunk-B2XLXD7V.js";
42
42
  import {
43
43
  cssVariableName
44
44
  } from "./chunk-VC76R6W2.js";
@@ -48,7 +48,7 @@ import {
48
48
  } from "./chunk-OFQWTKPW.js";
49
49
  import {
50
50
  lintHyperframeHtml
51
- } from "./chunk-TSFA2Y5C.js";
51
+ } from "./chunk-2VXY3PEF.js";
52
52
  import {
53
53
  checkSubCompositionUsability,
54
54
  resolveSubCompositionContent
@@ -69,9 +69,6 @@ import {
69
69
  import {
70
70
  parseHTML
71
71
  } from "./chunk-SDYDNHEE.js";
72
- import {
73
- parse
74
- } from "./chunk-I5JRXMCV.js";
75
72
 
76
73
  // ../core/dist/compiler/htmlCompiler.js
77
74
  import { resolve } from "path";
@@ -170,7 +167,16 @@ function ensureExternalScriptTag(doc, src, attributes = {}) {
170
167
  }
171
168
 
172
169
  // ../core/dist/compiler/importMaps.js
173
- var rebaseEntries = (entries, rebase) => entries && Object.fromEntries(Object.entries(entries).map(([specifier, url]) => [specifier, rebase(url)]));
170
+ function isRecord(value) {
171
+ return typeof value === "object" && value !== null && !Array.isArray(value);
172
+ }
173
+ function isScopeMap(value) {
174
+ return isRecord(value) && Object.values(value).every(isRecord);
175
+ }
176
+ var rebaseEntries = (entries, rebase) => entries && Object.fromEntries(Object.entries(entries).map(([specifier, url]) => [
177
+ specifier,
178
+ typeof url === "string" ? rebase(url) : null
179
+ ]));
174
180
  function parseImportMap(json, rebase) {
175
181
  let parsed;
176
182
  try {
@@ -178,9 +184,13 @@ function parseImportMap(json, rebase) {
178
184
  } catch {
179
185
  return null;
180
186
  }
181
- if (!parsed || typeof parsed !== "object")
187
+ if (!isRecord(parsed))
182
188
  return null;
183
189
  const { imports, scopes } = parsed;
190
+ if (imports !== void 0 && !isRecord(imports))
191
+ return null;
192
+ if (scopes !== void 0 && !isScopeMap(scopes))
193
+ return null;
184
194
  return {
185
195
  imports: rebaseEntries(imports, rebase),
186
196
  scopes: scopes && Object.fromEntries(Object.entries(scopes).map(([prefix, entries]) => [
@@ -191,9 +201,14 @@ function parseImportMap(json, rebase) {
191
201
  }
192
202
  function mergeEntries(into, from, where) {
193
203
  for (const [specifier, url] of Object.entries(from ?? {})) {
194
- if (!(specifier in into))
195
- into[specifier] = url;
196
- else if (into[specifier] !== url) {
204
+ if (!Object.hasOwn(into, specifier)) {
205
+ Object.defineProperty(into, specifier, {
206
+ value: url,
207
+ enumerable: true,
208
+ configurable: true,
209
+ writable: true
210
+ });
211
+ } else if (into[specifier] !== url) {
197
212
  console.warn(`[HyperFrames] import map conflict for "${specifier}"${where}: keeping ${into[specifier]}, ignoring ${url}.`);
198
213
  }
199
214
  }
@@ -213,7 +228,9 @@ function mergeImportMapsIntoDocument(doc, maps) {
213
228
  for (const map of maps) {
214
229
  mergeEntries(imports, map.imports, "");
215
230
  for (const [prefix, entries] of Object.entries(map.scopes ?? {})) {
216
- mergeEntries(scopes[prefix] ??= {}, entries, ` in scope ${prefix}`);
231
+ const scope = (Object.hasOwn(scopes, prefix) ? scopes[prefix] : void 0) ?? {};
232
+ Object.defineProperty(scopes, prefix, { value: scope, enumerable: true });
233
+ mergeEntries(scope, entries, ` in scope ${prefix}`);
217
234
  }
218
235
  }
219
236
  if (!el) {
@@ -270,6 +287,7 @@ function sanitizeCssValue(value) {
270
287
  // ../core/dist/compiler/htmlBundler.js
271
288
  import { AsyncLocalStorage } from "async_hooks";
272
289
  import { readFileSync, existsSync, statSync } from "fs";
290
+ import { parse as parseJs } from "acorn";
273
291
  import { resolve as resolve2, relative, dirname, isAbsolute, sep } from "path";
274
292
 
275
293
  // ../core/dist/compiler/standaloneEntry.js
@@ -2252,20 +2270,41 @@ function rebaseRelativePath(urlValue, fromDir, toDir) {
2252
2270
  const rebased = encodeUrlPath(relative(resolve2(toDir), absolutePath).split(sep).join("/"));
2253
2271
  return appendSuffixToUrl(rebased, suffix);
2254
2272
  }
2255
- function rebaseSrcsetPaths(srcsetValue, fromDir, toDir) {
2256
- if (!srcsetValue)
2257
- return srcsetValue;
2258
- return srcsetValue.split(",").map((rawCandidate) => {
2259
- const candidate = rawCandidate.trim();
2260
- if (!candidate)
2261
- return candidate;
2262
- const parts = candidate.split(/\s+/);
2263
- const first = parts[0] ?? "";
2264
- if (parts.length === 0 || !isRelativeUrl(first))
2265
- return candidate;
2266
- parts[0] = rebaseRelativePath(first, fromDir, toDir);
2267
- return parts.join(" ");
2268
- }).join(", ");
2273
+ function rewriteSrcsetUrls(srcset, rewriteUrl) {
2274
+ const parts = [];
2275
+ let position = 0;
2276
+ let written = 0;
2277
+ while (position < srcset.length) {
2278
+ while (position < srcset.length && /[ \t\n\r\f,]/.test(srcset.charAt(position)))
2279
+ position++;
2280
+ const start = position;
2281
+ while (position < srcset.length && !/[ \t\n\r\f]/.test(srcset.charAt(position)))
2282
+ position++;
2283
+ let end = position;
2284
+ while (end > start && srcset.charAt(end - 1) === ",")
2285
+ end--;
2286
+ if (end > start) {
2287
+ const url = srcset.slice(start, end);
2288
+ const rewritten = rewriteUrl(url);
2289
+ if (rewritten !== url) {
2290
+ parts.push(srcset.slice(written, start), rewritten);
2291
+ written = end;
2292
+ }
2293
+ }
2294
+ if (end < position)
2295
+ continue;
2296
+ let inParens = false;
2297
+ while (position < srcset.length) {
2298
+ const char = srcset.charAt(position++);
2299
+ if (char === "(")
2300
+ inParens = true;
2301
+ else if (char === ")")
2302
+ inParens = false;
2303
+ else if (char === "," && !inParens)
2304
+ break;
2305
+ }
2306
+ }
2307
+ return parts.length > 0 ? parts.join("") + srcset.slice(written) : srcset;
2269
2308
  }
2270
2309
  function rebaseColorGradingLutPath(value, fromDir, toDir) {
2271
2310
  if (!value.trim().startsWith("{"))
@@ -2317,7 +2356,7 @@ function rebaseEntryAuthoredAssetPaths(document, sourceDir, projectDir) {
2317
2356
  for (const el of [...document.querySelectorAll("[srcset]")]) {
2318
2357
  const srcset = el.getAttribute("srcset");
2319
2358
  if (srcset)
2320
- el.setAttribute("srcset", rebaseSrcsetPaths(srcset, sourceDir, projectDir));
2359
+ el.setAttribute("srcset", rewriteSrcsetUrls(srcset, (url) => isRelativeUrl(url) ? rebaseRelativePath(url, sourceDir, projectDir) : url));
2321
2360
  }
2322
2361
  for (const el of [...document.querySelectorAll(`[${HF_COLOR_GRADING_ATTR}]`)]) {
2323
2362
  const value = el.getAttribute(HF_COLOR_GRADING_ATTR);
@@ -2410,6 +2449,7 @@ var INLINE_MIME = {
2410
2449
  ".avif": "image/avif"
2411
2450
  };
2412
2451
  var MAX_INLINE_ASSET_BYTES = 2 * 1024 * 1024;
2452
+ var MAX_INLINED_BUNDLE_CHARS = 256 * 1024 * 1024;
2413
2453
  function safeStatSize(filePath) {
2414
2454
  try {
2415
2455
  return statSync(filePath).size;
@@ -2421,8 +2461,13 @@ function warnAssetTooLargeToInline(assetPath, byteLength) {
2421
2461
  const mb = (byteLength / (1024 * 1024)).toFixed(1);
2422
2462
  console.warn(`[HyperFrames] Not inlining "${assetPath}" (${mb} MB exceeds the ${MAX_INLINE_ASSET_BYTES / (1024 * 1024)} MB inline limit). The bundle may not be self-contained.`);
2423
2463
  }
2464
+ function warnInlineBudgetExhausted(assetPath) {
2465
+ console.warn(`[HyperFrames] Not inlining "${assetPath}" and later assets: the bundle already inlines ${MAX_INLINED_BUNDLE_CHARS / (1024 * 1024)} MB of data URLs. The bundle may not be self-contained.`);
2466
+ }
2424
2467
  function createAssetInliner(resolveProjectPath, inlineAssets) {
2425
2468
  const assets = /* @__PURE__ */ new Map();
2469
+ let inlinedChars = 0;
2470
+ let budgetExhausted = false;
2426
2471
  const readAsset = (filePath, mimeType) => {
2427
2472
  const byteLength = safeStatSize(filePath);
2428
2473
  if (byteLength !== null && byteLength > MAX_INLINE_ASSET_BYTES)
@@ -2458,7 +2503,16 @@ function createAssetInliner(resolveProjectPath, inlineAssets) {
2458
2503
  warnAssetTooLargeToInline(basePath, asset.tooLarge);
2459
2504
  return null;
2460
2505
  }
2461
- return asset.dataUrl === null ? null : appendSuffixToUrl(asset.dataUrl, suffix);
2506
+ if (asset.dataUrl === null)
2507
+ return null;
2508
+ if (budgetExhausted || inlinedChars + asset.dataUrl.length > MAX_INLINED_BUNDLE_CHARS) {
2509
+ if (!budgetExhausted)
2510
+ warnInlineBudgetExhausted(basePath);
2511
+ budgetExhausted = true;
2512
+ return null;
2513
+ }
2514
+ inlinedChars += asset.dataUrl.length;
2515
+ return appendSuffixToUrl(asset.dataUrl, suffix);
2462
2516
  };
2463
2517
  }
2464
2518
  function isExternalSvgFragmentUse(el, attr, urlValue) {
@@ -2514,22 +2568,6 @@ function rewriteColorGradingLutWithInlinedAssets(value, inlineAsset) {
2514
2568
  Reflect.set(lut, "src", inlined);
2515
2569
  return JSON.stringify(parsed);
2516
2570
  }
2517
- function rewriteSrcsetWithInlinedAssets(srcsetValue, inlineAsset) {
2518
- if (!srcsetValue)
2519
- return srcsetValue;
2520
- return srcsetValue.split(",").map((rawCandidate) => {
2521
- const candidate = rawCandidate.trim();
2522
- if (!candidate)
2523
- return candidate;
2524
- const parts = candidate.split(/\s+/);
2525
- if (parts.length === 0)
2526
- return candidate;
2527
- const maybeInlined = inlineAsset(parts[0] ?? "");
2528
- if (maybeInlined)
2529
- parts[0] = maybeInlined;
2530
- return parts.join(" ");
2531
- }).join(", ");
2532
- }
2533
2571
  function rewriteCssUrlsWithInlinedAssets(cssText, inlineAsset) {
2534
2572
  if (!cssText)
2535
2573
  return cssText;
@@ -2792,7 +2830,7 @@ function joinJsChunks(chunks) {
2792
2830
  }
2793
2831
  function parsesAsScript(source) {
2794
2832
  try {
2795
- parse(source, { ecmaVersion: "latest", sourceType: "script" });
2833
+ parseJs(source, { ecmaVersion: "latest", sourceType: "script" });
2796
2834
  return true;
2797
2835
  } catch {
2798
2836
  return false;
@@ -3222,7 +3260,7 @@ async function bundleProject(projectDir, options) {
3222
3260
  for (const el of [...document.querySelectorAll("[srcset]")]) {
3223
3261
  const srcset = el.getAttribute("srcset");
3224
3262
  if (srcset)
3225
- el.setAttribute("srcset", rewriteSrcsetWithInlinedAssets(srcset, inlineAsset));
3263
+ el.setAttribute("srcset", rewriteSrcsetUrls(srcset, (url) => inlineAsset(url) ?? url));
3226
3264
  }
3227
3265
  const liveStyles = [...document.querySelectorAll("style")].filter(isAlwaysAppliedStyle);
3228
3266
  const liveCss = liveStyles.map((el) => el.textContent || "");
@@ -16,11 +16,11 @@ import {
16
16
  } from "./chunk-5ETJX6WM.js";
17
17
  import {
18
18
  runEnvironmentChecks
19
- } from "./chunk-XBGEWNGQ.js";
19
+ } from "./chunk-KZOZN4PI.js";
20
20
  import {
21
21
  OPTIONAL_PACKAGES,
22
22
  installedOptionalPackageVersion
23
- } from "./chunk-QH3T4WI2.js";
23
+ } from "./chunk-EXAX37XR.js";
24
24
  import {
25
25
  defineCommand
26
26
  } from "./chunk-S3S4TGEH.js";
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-ZTZA4UWZ.js";
30
30
  import {
31
31
  resolveExtractCacheDir
32
- } from "./chunk-OAPYPSEB.js";
32
+ } from "./chunk-QX4TB4NH.js";
33
33
  import {
34
34
  getAvailableMemoryMb,
35
35
  getFreeDiskMb,
@@ -39,17 +39,17 @@ import {
39
39
  import {
40
40
  getUpdateMeta,
41
41
  withMeta
42
- } from "./chunk-STJ2ANMF.js";
42
+ } from "./chunk-2HP5GIQ3.js";
43
43
  import {
44
44
  CONFIG_PATH,
45
45
  withFileLock
46
- } from "./chunk-XUXGIA7H.js";
46
+ } from "./chunk-6NLPPKBO.js";
47
47
  import {
48
48
  VERSION
49
- } from "./chunk-F6DNM676.js";
49
+ } from "./chunk-3FV5BVWS.js";
50
50
  import {
51
51
  normalizeErrorMessage
52
- } from "./chunk-KNU5COPB.js";
52
+ } from "./chunk-T2EUWCJE.js";
53
53
 
54
54
  // src/commands/doctor.ts
55
55
  import { execFileSync, execSync } from "child_process";
@@ -232,7 +232,7 @@ function checkEnvironment() {
232
232
  return { ok: true, detail: parts.join(" \xB7 ") };
233
233
  }
234
234
  async function checkWhisper() {
235
- const { findWhisper, getInstallInstructions } = await import("./manager-N6XXRQN3.js");
235
+ const { findWhisper, getInstallInstructions } = await import("./manager-QROK2IH3.js");
236
236
  const result = findWhisper();
237
237
  if (result) {
238
238
  return { ok: true, detail: result.executablePath };
@@ -10,7 +10,7 @@ import {
10
10
  isDevice,
11
11
  isQuality,
12
12
  render
13
- } from "./chunk-JB7LML5B.js";
13
+ } from "./chunk-3CXIX6XS.js";
14
14
 
15
15
  // src/api/removeBackground.ts
16
16
  import { resolve } from "path";