hyperframes 0.8.144 → 0.8.145

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 (171) hide show
  1. package/README.md +3 -2
  2. package/dist/{add-CWRTVGDB.js → add-B6OUH46W.js} +11 -11
  3. package/dist/{animatedGifPrep-JTOHIWI4.js → animatedGifPrep-MIWRDJIO.js} +5 -5
  4. package/dist/{asset-KU2Z4UFM.js → asset-XJ2B2PU3.js} +2 -2
  5. package/dist/{assetCataloger-3CS2P7PA.js → assetCataloger-A5ZLSCMZ.js} +2 -2
  6. package/dist/{auth-IDSOIQWG.js → auth-5HOVCZMV.js} +1 -1
  7. package/dist/{autoUpdate-373B4BA2.js → autoUpdate-WVNL5K3D.js} +2 -2
  8. package/dist/{backgroundChecks-53Q3NAMG.js → backgroundChecks-IGF54SFH.js} +3 -3
  9. package/dist/backgroundChecksWorker.js +3 -3
  10. package/dist/{batchRender-UKZA6BME.js → batchRender-T6JEGCQV.js} +3 -3
  11. package/dist/{beats-N5JGEOFR.js → beats-37T6Y6QP.js} +10 -10
  12. package/dist/{benchmark-CUN3LN4V.js → benchmark-ZVVLOWPP.js} +8 -8
  13. package/dist/{browser-NCZT5AP6.js → browser-4SSJOLH4.js} +3 -3
  14. package/dist/{bundleWithLocalizedFonts-FWC7PE2D.js → bundleWithLocalizedFonts-XWK423QP.js} +2 -2
  15. package/dist/{capture-YLS32UHT.js → capture-2SF7YP57.js} +2 -2
  16. package/dist/{capture-QBLG3VJR.js → capture-KZXOPBMO.js} +8 -8
  17. package/dist/{catalog-HIWNAFHW.js → catalog-NLD4A2C6.js} +11 -11
  18. package/dist/{catch-up-HGS7KIAC.js → catch-up-4BSRN6IR.js} +4 -4
  19. package/dist/{check-FH6UYYLO.js → check-IA44QQWM.js} +28 -28
  20. package/dist/{checkBrowser-RNWNOMCZ.js → checkBrowser-VM35KZMW.js} +27 -27
  21. package/dist/{chunk-2DA2BBNY.js → chunk-3IBMBNYY.js} +1 -1
  22. package/dist/{chunk-F2SMS24Q.js → chunk-3KU3PFDW.js} +50 -80
  23. package/dist/{chunk-5WADG7PR.js → chunk-4ORLNTET.js} +1 -1
  24. package/dist/{chunk-NV4RXIQ7.js → chunk-4QWD6JYN.js} +2 -2
  25. package/dist/{chunk-A53CBD24.js → chunk-5NRXZGKK.js} +9 -9
  26. package/dist/{chunk-YJXHMIZA.js → chunk-5WVW7P23.js} +1 -1
  27. package/dist/{chunk-LFX2HEYP.js → chunk-6LGNTUZN.js} +7 -7
  28. package/dist/{chunk-7SDCIWHQ.js → chunk-ADF3X6GM.js} +2 -2
  29. package/dist/{chunk-WJB7WI4J.js → chunk-AUWHD7RA.js} +1 -1
  30. package/dist/{chunk-4OC7MQNB.js → chunk-BFACGEII.js} +2 -2
  31. package/dist/{chunk-AUBOF2PN.js → chunk-BIAC7IJT.js} +1 -1
  32. package/dist/{chunk-JEHFZQYT.js → chunk-CFUXNBWH.js} +1 -1
  33. package/dist/{chunk-Y6UPYWJS.js → chunk-DWUKJQTO.js} +2 -2
  34. package/dist/{chunk-NOPBBSLA.js → chunk-EPE2HRJK.js} +9 -9
  35. package/dist/{chunk-MXNDKDFT.js → chunk-FBCULCAL.js} +1 -1
  36. package/dist/{chunk-OUSLVRO4.js → chunk-FDT6KQV4.js} +75 -5
  37. package/dist/{chunk-GZM2EFOE.js → chunk-FXJJCPPB.js} +1 -1
  38. package/dist/{chunk-VYSUZEJG.js → chunk-GBGJ7A3D.js} +3 -3
  39. package/dist/{chunk-L5TUCXWR.js → chunk-GEMJYBRU.js} +2 -2
  40. package/dist/{chunk-4LAR447G.js → chunk-GMAJB2P6.js} +1 -1
  41. package/dist/{chunk-OIDN7G42.js → chunk-GRY3PN3K.js} +2 -2
  42. package/dist/{chunk-XGFHYAYN.js → chunk-GXJEGZL2.js} +23 -17
  43. package/dist/{chunk-GEWKFRFI.js → chunk-HB7FJOY4.js} +1 -1
  44. package/dist/{chunk-RG3QWWIE.js → chunk-ICKDMTLA.js} +1 -1
  45. package/dist/{chunk-EX6C672Y.js → chunk-IHTRYDFN.js} +1 -1
  46. package/dist/{chunk-ZOA2SC4P.js → chunk-KIFHYXPB.js} +2 -2
  47. package/dist/{chunk-I5KY7EZP.js → chunk-LAFJSYDL.js} +1 -1
  48. package/dist/{chunk-5HJ343GH.js → chunk-OB5MJR4W.js} +1 -1
  49. package/dist/{chunk-3XTEXWNN.js → chunk-OTHDVXOJ.js} +1 -1
  50. package/dist/{chunk-P6WH6QTV.js → chunk-PLR7Z6TC.js} +1 -1
  51. package/dist/{chunk-RI53TS2Y.js → chunk-QLSM7K5S.js} +2 -2
  52. package/dist/{chunk-7RAYSCYT.js → chunk-R42WWQVB.js} +1 -1
  53. package/dist/{chunk-SLCFKB3Y.js → chunk-U5QY7KTN.js} +5 -5
  54. package/dist/{chunk-5VMR4WBS.js → chunk-UXO2L7HJ.js} +98 -40
  55. package/dist/{chunk-LC3RQURJ.js → chunk-VHFEMFYL.js} +2 -2
  56. package/dist/{chunk-3VYNNWVA.js → chunk-VRW6EBHV.js} +1 -1
  57. package/dist/{chunk-KFKZ3ISO.js → chunk-XBX4QJP7.js} +1 -1
  58. package/dist/{chunk-54QISXOC.js → chunk-XIHCMVMG.js} +2 -2
  59. package/dist/{chunk-XU5GGV6R.js → chunk-ZF7SXQJ7.js} +1 -1
  60. package/dist/{chunk-RVFEDAUV.js → chunk-ZIYZ77MR.js} +3 -3
  61. package/dist/{chunk-YUAXFWSQ.js → chunk-ZSVUAVMT.js} +2 -2
  62. package/dist/{clean-KPX27IKJ.js → clean-RDKJB5FK.js} +11 -11
  63. package/dist/cli.js +52 -52
  64. package/dist/{cloud-P7DAOISN.js → cloud-QVPVVNCW.js} +4 -4
  65. package/dist/{cloudrun-XM56TBOH.js → cloudrun-3RE2UCQG.js} +3 -3
  66. package/dist/{compare-F6YAFZZM.js → compare-LEDOY7MO.js} +22 -22
  67. package/dist/{compiler-JZ4GNFMG.js → compiler-F54OZZPM.js} +6 -2
  68. package/dist/{component-3CFOGIQA.js → component-N42M67WY.js} +3 -3
  69. package/dist/{compositions-CPCMWF24.js → compositions-VB2J2LZI.js} +9 -9
  70. package/dist/{delete-GYVKOKB6.js → delete-Q6RWMJ4Z.js} +2 -2
  71. package/dist/{dist-YPWQDWJ4.js → dist-Q4BI5A73.js} +2 -2
  72. package/dist/{doctor-GWI3B6JT.js → doctor-JMMUHDRV.js} +7 -7
  73. package/dist/{events-V2QFN4YM.js → events-6ZBSIBE5.js} +2 -2
  74. package/dist/{events-BRRUDPPT.js → events-RGUAHIBW.js} +3 -3
  75. package/dist/{feedback-CXMD7FWL.js → feedback-FIID6MZW.js} +6 -6
  76. package/dist/{figma-YABDWD66.js → figma-BL3JJC36.js} +3 -3
  77. package/dist/fontLocalizeCli.js +7 -7
  78. package/dist/{get-L2SOQKHX.js → get-P46GS7S6.js} +2 -2
  79. package/dist/{gpuPolicy-NBJNWHYS.js → gpuPolicy-AQ2BPLBK.js} +5 -5
  80. package/dist/{grade-compare-STXQPKYQ.js → grade-compare-GDCWU7ZZ.js} +22 -22
  81. package/dist/{help-4H6BSFLB.js → help-HJR3RWFG.js} +1 -1
  82. package/dist/{history-4IQOLTHJ.js → history-GGO5AWJB.js} +5 -5
  83. package/dist/hyperframe-runtime.js +53 -53
  84. package/dist/hyperframe.manifest.json +1 -1
  85. package/dist/hyperframe.runtime.iife.js +53 -53
  86. package/dist/hyperframes-player.global.js +1 -1
  87. package/dist/{info-2CZOTNBC.js → info-3GFWUBJC.js} +7 -7
  88. package/dist/{init-6BXK42VS.js → init-36OPU2ZG.js} +20 -20
  89. package/dist/{inspect-VKU47TBH.js → inspect-F2HEL5ON.js} +23 -23
  90. package/dist/{installer-T2BSSUDY.js → installer-NI6P6GC4.js} +4 -4
  91. package/dist/{keyframes-IEYVHRPI.js → keyframes-7OY3LMAZ.js} +6 -6
  92. package/dist/{lambda-TIKG25CK.js → lambda-6GJIWNJ3.js} +4 -4
  93. package/dist/{layout-XOI4PT7A.js → layout-FTMLNL5A.js} +23 -23
  94. package/dist/{lint-DWCMVIX5.js → lint-U6POHUON.js} +6 -6
  95. package/dist/{list-7GXKG5QM.js → list-IP5KI5Q2.js} +2 -2
  96. package/dist/{login-BQ5L2UHX.js → login-4VWTVPHG.js} +4 -4
  97. package/dist/{media-treatment-IFB7OSZ3.js → media-treatment-XGV44AGV.js} +12 -9
  98. package/dist/{models-TY4PJ545.js → models-UCXB6UR5.js} +8 -8
  99. package/dist/{motionShot-WXMFHICW.js → motionShot-WPVNBXKA.js} +11 -11
  100. package/dist/{normalize-audio-RFD776HQ.js → normalize-audio-TYJ3UEHO.js} +4 -4
  101. package/dist/{open-7IXXGO2E.js → open-HENOLVB2.js} +4 -4
  102. package/dist/{parakeetRunner-IHLYYMTZ.js → parakeetRunner-VFQ6WFTD.js} +7 -7
  103. package/dist/{pipeline-TXKPLL2U.js → pipeline-6WPSC3H4.js} +5 -5
  104. package/dist/{play-J2KP64UK.js → play-OI53WNUM.js} +16 -16
  105. package/dist/{present-MHHNRVRA.js → present-NGMEQ4NO.js} +12 -12
  106. package/dist/{preview-CONUOFFQ.js → preview-VT2HWRWZ.js} +15 -15
  107. package/dist/{producer-ZI46K7HH.js → producer-7TYEAUF7.js} +1 -1
  108. package/dist/{projectConfig-FGGVG5MV.js → projectConfig-B2AF5DXY.js} +6 -6
  109. package/dist/{publication-TXFBMW6B.js → publication-2PANQVC6.js} +2 -2
  110. package/dist/{publish-YZSPBFRD.js → publish-O5OL42BG.js} +7 -7
  111. package/dist/{remove-background-4ATVLHLG.js → remove-background-T2JM6UVP.js} +6 -6
  112. package/dist/{render-6FBYLYGJ.js → render-OLPKOJRU.js} +8 -8
  113. package/dist/{render-GFW5BPES.js → render-W7OFXDOJ.js} +3 -3
  114. package/dist/{render-MH4IUPWB.js → render-Z253WHBK.js} +18 -18
  115. package/dist/{render-batch-XUCZ2PUJ.js → render-batch-46IIBFKL.js} +3 -3
  116. package/dist/{renderCancellation-XF7M7IUP.js → renderCancellation-QTZOCDJ2.js} +5 -5
  117. package/dist/{resolver-W7AYCQGS.js → resolver-J2PL5FVJ.js} +4 -4
  118. package/dist/{sherpa-LDUB5NLY.js → sherpa-ZF42V3RN.js} +7 -7
  119. package/dist/skills/hyperframes/scripts/lib/frame-packets-core.mjs +2 -20
  120. package/dist/skills/hyperframes/scripts/lib/main-module.mjs +13 -0
  121. package/dist/skills/hyperframes/scripts/lib/main-module.test.mjs +51 -0
  122. package/dist/skills/hyperframes/scripts/plugin-cli.mjs +4 -3
  123. package/dist/skills/hyperframes/scripts/plugin-cli.test.mjs +5 -1
  124. package/dist/skills/hyperframes-cli/SKILL.md +2 -0
  125. package/dist/skills/media-use/audio/scripts/heygen-voice.mjs +2 -2
  126. package/dist/skills/media-use/audio/scripts/lib/main-module.mjs +13 -0
  127. package/dist/skills/media-use/scripts/lib/cube-validate.mjs +2 -3
  128. package/dist/skills/media-use/scripts/lib/main-module.mjs +13 -0
  129. package/dist/{skills-VENERS5X.js → skills-ACDOO3PX.js} +5 -5
  130. package/dist/{skillsUpdateCheck-UXFYTACG.js → skillsUpdateCheck-L5OXVVPU.js} +3 -3
  131. package/dist/{snapshot-C6T74HTI.js → snapshot-UUVNZOW5.js} +23 -23
  132. package/dist/{src-VUJ2FUFK.js → src-BSLKXEGX.js} +6 -4
  133. package/dist/{src-FS5RSVEI.js → src-KS3AWFGT.js} +6 -6
  134. package/dist/{staticProjectServer-V2RZ4DWD.js → staticProjectServer-2TTVGPQH.js} +12 -12
  135. package/dist/studio/assets/{hyperframes-player-Bw_jIaSX.js → hyperframes-player-DZ5JrMDg.js} +1 -1
  136. package/dist/studio/assets/{index-DyH9dT7b.js → index-BOs6C0aZ.js} +1 -1
  137. package/dist/studio/assets/{index-Cj7W_c7p.js → index-BqFRhNZa.js} +1 -1
  138. package/dist/studio/assets/{index-BVM9NuWl.js → index-D8W0a0Z9.js} +131 -131
  139. package/dist/studio/{chunk-3GHTHPZD.js → chunk-6JY3MTIX.js} +101 -2
  140. package/dist/studio/{chunk-G3EDKRZH.js → chunk-NZPJUZKT.js} +99 -3
  141. package/dist/studio/{chunk-PEAKCOUW.js → chunk-TP6D3U37.js} +3 -100
  142. package/dist/studio/{domEditingLayers-PYST4G45.js → domEditingLayers-PTP2ICGM.js} +3 -3
  143. package/dist/studio/index.d.ts +8 -5
  144. package/dist/studio/index.html +1 -1
  145. package/dist/studio/index.js +410 -429
  146. package/dist/studio/player.js +2 -2
  147. package/dist/{studio-api-TQE7KWKO.js → studio-api-WYWF7XRC.js} +6 -6
  148. package/dist/{studioServer-CYKSQK7L.js → studioServer-3FG4YTP7.js} +37 -35
  149. package/dist/{telemetry-A23PPRD6.js → telemetry-PAOOB4T4.js} +3 -3
  150. package/dist/{timeline-T3QSGT3A.js → timeline-JIIJKKPC.js} +12 -12
  151. package/dist/{tokens-RT5HWA6C.js → tokens-3QRAM75Z.js} +2 -2
  152. package/dist/{transcribe-FOLNOC5G.js → transcribe-QSBP5MUG.js} +7 -7
  153. package/dist/{transcribe-HCF64LQK.js → transcribe-SZB6UMXE.js} +6 -6
  154. package/dist/{updateCheck-27PIP3AA.js → updateCheck-V3DSB26K.js} +2 -2
  155. package/dist/{upgrade-TVGXBUPJ.js → upgrade-L5GISOEV.js} +2 -2
  156. package/dist/{urlDownloader-KBLBJKRL.js → urlDownloader-52FERT4X.js} +4 -4
  157. package/dist/{validate-ZMYGK4QI.js → validate-HVVLX7KO.js} +17 -17
  158. package/dist/{video-AVE5GIGM.js → video-MEOWRMFG.js} +5 -5
  159. package/package.json +1 -1
  160. package/dist/studio/chunk-3GHTHPZD.js.map +0 -1
  161. package/dist/studio/chunk-EEXSYY5F.js.map +0 -1
  162. package/dist/studio/chunk-G3EDKRZH.js.map +0 -1
  163. package/dist/studio/chunk-PEAKCOUW.js.map +0 -1
  164. package/dist/studio/chunk-PZ5AY32C.js.map +0 -1
  165. package/dist/studio/chunk-Y2OHHNM2.js.map +0 -1
  166. package/dist/studio/domEditingLayers-PYST4G45.js.map +0 -1
  167. package/dist/studio/index.css.map +0 -1
  168. package/dist/studio/index.js.map +0 -1
  169. package/dist/studio/player.js.map +0 -1
  170. package/dist/studio/styles/tailwind-preset.js.map +0 -1
  171. package/dist/studio/ui.js.map +0 -1
@@ -8,8 +8,8 @@ import {
8
8
  publishRegistryFile,
9
9
  registryTargetPath
10
10
  } from "./chunk-GMECXFAN.js";
11
- import "./chunk-3VYNNWVA.js";
12
- import "./chunk-WJB7WI4J.js";
11
+ import "./chunk-VRW6EBHV.js";
12
+ import "./chunk-AUWHD7RA.js";
13
13
  import "./chunk-VC76R6W2.js";
14
14
  import "./chunk-YA62XGXS.js";
15
15
  import "./chunk-MQZVBHEY.js";
@@ -31,17 +31,17 @@ import {
31
31
  resolveProxy,
32
32
  scanProjectMediaCodecMap,
33
33
  waitForProxy
34
- } from "./chunk-ZOA2SC4P.js";
34
+ } from "./chunk-KIFHYXPB.js";
35
35
  import "./chunk-G75ENCEZ.js";
36
36
  import {
37
37
  resolveAutoProxy
38
- } from "./chunk-JEHFZQYT.js";
38
+ } from "./chunk-CFUXNBWH.js";
39
39
  import "./chunk-XT7X6QCP.js";
40
40
  import "./chunk-4YYJOFKS.js";
41
41
  import "./chunk-HVW7ABXD.js";
42
- import "./chunk-AUBOF2PN.js";
43
- import "./chunk-54QISXOC.js";
44
- import "./chunk-I5KY7EZP.js";
42
+ import "./chunk-BIAC7IJT.js";
43
+ import "./chunk-XIHCMVMG.js";
44
+ import "./chunk-LAFJSYDL.js";
45
45
  import "./chunk-AWDFDFI3.js";
46
46
  import "./chunk-P6LJ4Y32.js";
47
47
  import {
@@ -59,8 +59,8 @@ import {
59
59
  setCommandExitCode
60
60
  } from "./chunk-PBN6GBJE.js";
61
61
  import "./chunk-KC5XXX3X.js";
62
- import "./chunk-3VYNNWVA.js";
63
- import "./chunk-WJB7WI4J.js";
62
+ import "./chunk-VRW6EBHV.js";
63
+ import "./chunk-AUWHD7RA.js";
64
64
  import "./chunk-VC76R6W2.js";
65
65
  import "./chunk-YA62XGXS.js";
66
66
  import "./chunk-MQZVBHEY.js";
@@ -8,7 +8,7 @@ import {
8
8
  DEFAULT_QUALITY,
9
9
  QUALITIES,
10
10
  isQuality
11
- } from "./chunk-LC3RQURJ.js";
11
+ } from "./chunk-VHFEMFYL.js";
12
12
  import "./chunk-3DKN5WKL.js";
13
13
  import {
14
14
  DEVICES,
@@ -27,12 +27,12 @@ import {
27
27
  import {
28
28
  failCommand
29
29
  } from "./chunk-PBN6GBJE.js";
30
- import "./chunk-5VMR4WBS.js";
31
- import "./chunk-OUSLVRO4.js";
30
+ import "./chunk-UXO2L7HJ.js";
31
+ import "./chunk-FDT6KQV4.js";
32
32
  import "./chunk-NE55C6S5.js";
33
33
  import "./chunk-USDEMXXL.js";
34
- import "./chunk-3VYNNWVA.js";
35
- import "./chunk-WJB7WI4J.js";
34
+ import "./chunk-VRW6EBHV.js";
35
+ import "./chunk-AUWHD7RA.js";
36
36
  import "./chunk-VC76R6W2.js";
37
37
  import "./chunk-YA62XGXS.js";
38
38
  import "./chunk-MQZVBHEY.js";
@@ -167,7 +167,7 @@ var remove_background_default = defineCommand({
167
167
  const outputPath = resolve(args.output);
168
168
  const backgroundOutputArg = args["background-output"];
169
169
  const backgroundOutputPath = backgroundOutputArg ? resolve(backgroundOutputArg) : void 0;
170
- const { render } = await import("./pipeline-TXKPLL2U.js");
170
+ const { render } = await import("./pipeline-6WPSC3H4.js");
171
171
  const spin = args.json ? null : ft();
172
172
  spin?.start("Preparing background-removal pipeline...");
173
173
  try {
@@ -35,10 +35,10 @@ import {
35
35
  reportVariableIssues,
36
36
  resolveVariablesArg,
37
37
  validateVariablesAgainstProject
38
- } from "./chunk-7RAYSCYT.js";
38
+ } from "./chunk-R42WWQVB.js";
39
39
  import {
40
40
  resolveProject
41
- } from "./chunk-KFKZ3ISO.js";
41
+ } from "./chunk-XBX4QJP7.js";
42
42
  import {
43
43
  errorBox,
44
44
  formatBytes,
@@ -46,8 +46,8 @@ import {
46
46
  } from "./chunk-K2FLNJVB.js";
47
47
  import "./chunk-EOVYQ3IG.js";
48
48
  import "./chunk-442JNXRM.js";
49
- import "./chunk-RG3QWWIE.js";
50
- import "./chunk-XU5GGV6R.js";
49
+ import "./chunk-ICKDMTLA.js";
50
+ import "./chunk-ZF7SXQJ7.js";
51
51
  import "./chunk-VWG7OQKU.js";
52
52
  import "./chunk-GQJZORQP.js";
53
53
  import "./chunk-AMKC3AXA.js";
@@ -59,8 +59,8 @@ import {
59
59
  failCommand
60
60
  } from "./chunk-PBN6GBJE.js";
61
61
  import "./chunk-USDEMXXL.js";
62
- import "./chunk-3VYNNWVA.js";
63
- import "./chunk-WJB7WI4J.js";
62
+ import "./chunk-VRW6EBHV.js";
63
+ import "./chunk-AUWHD7RA.js";
64
64
  import "./chunk-VC76R6W2.js";
65
65
  import "./chunk-YA62XGXS.js";
66
66
  import "./chunk-MQZVBHEY.js";
@@ -76,12 +76,12 @@ import "./chunk-2PSPARWP.js";
76
76
  import "./chunk-T42U2W2R.js";
77
77
  import {
78
78
  withMeta
79
- } from "./chunk-P6WH6QTV.js";
79
+ } from "./chunk-PLR7Z6TC.js";
80
80
  import "./chunk-K4WIOZFP.js";
81
81
  import "./chunk-XUXGIA7H.js";
82
82
  import "./chunk-WERLJGIC.js";
83
83
  import "./chunk-ISN5GRYI.js";
84
- import "./chunk-4OC7MQNB.js";
84
+ import "./chunk-BFACGEII.js";
85
85
  import {
86
86
  normalizeErrorMessage
87
87
  } from "./chunk-KNU5COPB.js";
@@ -15,15 +15,15 @@ import {
15
15
  reportVariableIssues,
16
16
  resolveVariablesArg,
17
17
  validateVariablesAgainstProject
18
- } from "./chunk-7RAYSCYT.js";
18
+ } from "./chunk-R42WWQVB.js";
19
19
  import "./chunk-FH7WODJH.js";
20
20
  import "./chunk-K2FLNJVB.js";
21
21
  import "./chunk-442JNXRM.js";
22
22
  import {
23
23
  setCommandExitCode
24
24
  } from "./chunk-PBN6GBJE.js";
25
- import "./chunk-3VYNNWVA.js";
26
- import "./chunk-WJB7WI4J.js";
25
+ import "./chunk-VRW6EBHV.js";
26
+ import "./chunk-AUWHD7RA.js";
27
27
  import "./chunk-VC76R6W2.js";
28
28
  import "./chunk-YA62XGXS.js";
29
29
  import "./chunk-MQZVBHEY.js";
@@ -6,21 +6,21 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  maybePromptRenderFeedback
9
- } from "./chunk-YUAXFWSQ.js";
9
+ } from "./chunk-ZSVUAVMT.js";
10
10
  import {
11
11
  reportVariableIssues,
12
12
  resolveVariablesArg,
13
13
  validateVariablesAgainstProject
14
- } from "./chunk-7RAYSCYT.js";
14
+ } from "./chunk-R42WWQVB.js";
15
15
  import {
16
16
  loadProducer
17
- } from "./chunk-GEWKFRFI.js";
17
+ } from "./chunk-HB7FJOY4.js";
18
18
  import {
19
19
  formatLintStartupMessage
20
20
  } from "./chunk-6CSYCFQV.js";
21
21
  import {
22
22
  resolveProject
23
- } from "./chunk-KFKZ3ISO.js";
23
+ } from "./chunk-XBX4QJP7.js";
24
24
  import {
25
25
  renderJobObservabilityTelemetryPayload
26
26
  } from "./chunk-VXVRPIJA.js";
@@ -32,7 +32,7 @@ import {
32
32
  resolveCompositionEntryArg,
33
33
  resolveDefaultFpsArg,
34
34
  windowsChromeCrashRemediation
35
- } from "./chunk-GZM2EFOE.js";
35
+ } from "./chunk-FXJJCPPB.js";
36
36
  import "./chunk-WPNE5NEP.js";
37
37
  import {
38
38
  desktopHint
@@ -53,20 +53,20 @@ import {
53
53
  import "./chunk-442JNXRM.js";
54
54
  import {
55
55
  createRenderCancellationScope
56
- } from "./chunk-MXNDKDFT.js";
56
+ } from "./chunk-FBCULCAL.js";
57
57
  import {
58
58
  loadProjectConfig,
59
59
  readProjectConfigWithStatus,
60
60
  seedProjectAuthoringSkill
61
- } from "./chunk-JEHFZQYT.js";
61
+ } from "./chunk-CFUXNBWH.js";
62
62
  import "./chunk-XT7X6QCP.js";
63
63
  import "./chunk-4YYJOFKS.js";
64
64
  import {
65
65
  normalizeSkillSlug
66
66
  } from "./chunk-HVW7ABXD.js";
67
- import "./chunk-AUBOF2PN.js";
68
- import "./chunk-54QISXOC.js";
69
- import "./chunk-I5KY7EZP.js";
67
+ import "./chunk-BIAC7IJT.js";
68
+ import "./chunk-XIHCMVMG.js";
69
+ import "./chunk-LAFJSYDL.js";
70
70
  import "./chunk-AWDFDFI3.js";
71
71
  import "./chunk-P6LJ4Y32.js";
72
72
  import {
@@ -82,8 +82,8 @@ import {
82
82
  trackRenderError,
83
83
  trackRenderObservation,
84
84
  trackRenderPreflightRejected
85
- } from "./chunk-RG3QWWIE.js";
86
- import "./chunk-XU5GGV6R.js";
85
+ } from "./chunk-ICKDMTLA.js";
86
+ import "./chunk-ZF7SXQJ7.js";
87
87
  import "./chunk-VWG7OQKU.js";
88
88
  import {
89
89
  bytesToMb
@@ -110,8 +110,8 @@ import {
110
110
  MAX_VP9_CPU_USED,
111
111
  MIN_VP9_CPU_USED,
112
112
  isVideoFrameFormat
113
- } from "./chunk-5VMR4WBS.js";
114
- import "./chunk-OUSLVRO4.js";
113
+ } from "./chunk-UXO2L7HJ.js";
114
+ import "./chunk-FDT6KQV4.js";
115
115
  import "./chunk-NE55C6S5.js";
116
116
  import "./chunk-USDEMXXL.js";
117
117
  import {
@@ -119,8 +119,8 @@ import {
119
119
  fpsToFfmpegArg,
120
120
  fpsToNumber,
121
121
  parseFps
122
- } from "./chunk-3VYNNWVA.js";
123
- import "./chunk-WJB7WI4J.js";
122
+ } from "./chunk-VRW6EBHV.js";
123
+ import "./chunk-AUWHD7RA.js";
124
124
  import "./chunk-VC76R6W2.js";
125
125
  import "./chunk-YA62XGXS.js";
126
126
  import {
@@ -172,7 +172,7 @@ import {
172
172
  } from "./chunk-ISN5GRYI.js";
173
173
  import {
174
174
  VERSION
175
- } from "./chunk-4OC7MQNB.js";
175
+ } from "./chunk-BFACGEII.js";
176
176
  import {
177
177
  normalizeErrorMessage
178
178
  } from "./chunk-KNU5COPB.js";
@@ -671,7 +671,7 @@ async function executeRenderPlan(plan, dependencies, cancellation) {
671
671
  let batchModule;
672
672
  let preparedBatch;
673
673
  if (plan.batchPath) {
674
- batchModule = await import("./batchRender-UKZA6BME.js");
674
+ batchModule = await import("./batchRender-T6JEGCQV.js");
675
675
  try {
676
676
  preparedBatch = batchModule.prepareBatchRender({
677
677
  batchPath: plan.batchPath,
@@ -14,7 +14,7 @@ import {
14
14
  loadProjectVariableSchema,
15
15
  reportVariableIssues,
16
16
  validateVariablesAgainstSchema
17
- } from "./chunk-7RAYSCYT.js";
17
+ } from "./chunk-R42WWQVB.js";
18
18
  import "./chunk-FH7WODJH.js";
19
19
  import {
20
20
  errorBox
@@ -24,8 +24,8 @@ import {
24
24
  failCommand,
25
25
  setCommandExitCode
26
26
  } from "./chunk-PBN6GBJE.js";
27
- import "./chunk-3VYNNWVA.js";
28
- import "./chunk-WJB7WI4J.js";
27
+ import "./chunk-VRW6EBHV.js";
28
+ import "./chunk-AUWHD7RA.js";
29
29
  import "./chunk-VC76R6W2.js";
30
30
  import "./chunk-YA62XGXS.js";
31
31
  import "./chunk-MQZVBHEY.js";
@@ -7,13 +7,13 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  createRenderCancellationScope,
9
9
  stoppedByCancelSignal
10
- } from "./chunk-MXNDKDFT.js";
11
- import "./chunk-5VMR4WBS.js";
12
- import "./chunk-OUSLVRO4.js";
10
+ } from "./chunk-FBCULCAL.js";
11
+ import "./chunk-UXO2L7HJ.js";
12
+ import "./chunk-FDT6KQV4.js";
13
13
  import "./chunk-NE55C6S5.js";
14
14
  import "./chunk-USDEMXXL.js";
15
- import "./chunk-3VYNNWVA.js";
16
- import "./chunk-WJB7WI4J.js";
15
+ import "./chunk-VRW6EBHV.js";
16
+ import "./chunk-AUWHD7RA.js";
17
17
  import "./chunk-VC76R6W2.js";
18
18
  import "./chunk-YA62XGXS.js";
19
19
  import "./chunk-MQZVBHEY.js";
@@ -11,13 +11,13 @@ import {
11
11
  resolveItemWithDependencies,
12
12
  resolveItemsByTag,
13
13
  unreachableRegistryMessage
14
- } from "./chunk-AUBOF2PN.js";
15
- import "./chunk-I5KY7EZP.js";
14
+ } from "./chunk-BIAC7IJT.js";
15
+ import "./chunk-LAFJSYDL.js";
16
16
  import "./chunk-AWDFDFI3.js";
17
17
  import "./chunk-P6LJ4Y32.js";
18
18
  import "./chunk-GMECXFAN.js";
19
- import "./chunk-3VYNNWVA.js";
20
- import "./chunk-WJB7WI4J.js";
19
+ import "./chunk-VRW6EBHV.js";
20
+ import "./chunk-AUWHD7RA.js";
21
21
  import "./chunk-VC76R6W2.js";
22
22
  import "./chunk-YA62XGXS.js";
23
23
  import "./chunk-MQZVBHEY.js";
@@ -16,24 +16,24 @@ import {
16
16
  sherpaRuntimeLoadError,
17
17
  sherpaUnsupportedReason,
18
18
  transcribeWithSherpa
19
- } from "./chunk-L5TUCXWR.js";
19
+ } from "./chunk-GEMJYBRU.js";
20
20
  import "./chunk-BXCMXMJQ.js";
21
21
  import "./chunk-3DKN5WKL.js";
22
22
  import "./chunk-EOVYQ3IG.js";
23
- import "./chunk-3XTEXWNN.js";
23
+ import "./chunk-OTHDVXOJ.js";
24
24
  import "./chunk-6IHWCZ3W.js";
25
- import "./chunk-MXNDKDFT.js";
25
+ import "./chunk-FBCULCAL.js";
26
26
  import "./chunk-6BEFEWFB.js";
27
27
  import "./chunk-MAYCCGMQ.js";
28
28
  import "./chunk-BHVFTYSI.js";
29
29
  import "./chunk-ZEUONDQG.js";
30
30
  import "./chunk-AMKC3AXA.js";
31
- import "./chunk-5VMR4WBS.js";
32
- import "./chunk-OUSLVRO4.js";
31
+ import "./chunk-UXO2L7HJ.js";
32
+ import "./chunk-FDT6KQV4.js";
33
33
  import "./chunk-NE55C6S5.js";
34
34
  import "./chunk-USDEMXXL.js";
35
- import "./chunk-3VYNNWVA.js";
36
- import "./chunk-WJB7WI4J.js";
35
+ import "./chunk-VRW6EBHV.js";
36
+ import "./chunk-AUWHD7RA.js";
37
37
  import "./chunk-VC76R6W2.js";
38
38
  import "./chunk-YA62XGXS.js";
39
39
  import "./chunk-MQZVBHEY.js";
@@ -2,16 +2,8 @@
2
2
  // Workflow wrappers supply resource paths and workflow-specific sections.
3
3
  // The role combines the shared worker contract with the workflow delta.
4
4
 
5
- import {
6
- existsSync,
7
- mkdirSync,
8
- readFileSync,
9
- readdirSync,
10
- realpathSync,
11
- writeFileSync,
12
- } from "node:fs";
5
+ import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "node:fs";
13
6
  import { basename, join, resolve } from "node:path";
14
- import { pathToFileURL } from "node:url";
15
7
 
16
8
  export function field(block, name) {
17
9
  const match = block.match(new RegExp(`^-\\s+${name}:\\s*(.+)$`, "im"));
@@ -160,17 +152,7 @@ export function flag(argv, name, fallback) {
160
152
  return index >= 0 && argv[index + 1] ? argv[index + 1] : fallback;
161
153
  }
162
154
 
163
- // realpath both sides: on macOS /tmp → /private/tmp, and node resolves the main
164
- // module's symlinks in import.meta.url while argv[1] keeps the invoked spelling —
165
- // a raw compare silently skips main() when invoked through any symlinked path.
166
- export function isMainModule(importMetaUrl) {
167
- if (!process.argv[1]) return false;
168
- try {
169
- return pathToFileURL(realpathSync(process.argv[1])).href === importMetaUrl;
170
- } catch {
171
- return false;
172
- }
173
- }
155
+ export { isMainModule } from "./main-module.mjs";
174
156
 
175
157
  export function runCli({ buildFramePackets: build, buildRolePayload: buildRole }) {
176
158
  const argv = process.argv.slice(2);
@@ -0,0 +1,13 @@
1
+ import { realpathSync } from "node:fs";
2
+ import { pathToFileURL } from "node:url";
3
+
4
+ // Node resolves symlinks in the main module's import.meta.url but argv[1] keeps the invoked
5
+ // spelling (a symlinked skills dir, or /tmp vs /private/tmp on macOS), so compare real paths.
6
+ export function isMainModule(importMetaUrl) {
7
+ if (!process.argv[1]) return false;
8
+ try {
9
+ return pathToFileURL(realpathSync(process.argv[1])).href === importMetaUrl;
10
+ } catch {
11
+ return false;
12
+ }
13
+ }
@@ -0,0 +1,51 @@
1
+ import { strict as assert } from "node:assert";
2
+ import { test } from "node:test";
3
+ import { mkdtempSync, readFileSync, readdirSync, rmSync, symlinkSync } from "node:fs";
4
+ import { spawnSync } from "node:child_process";
5
+ import { dirname, join, relative, resolve } from "node:path";
6
+ import { tmpdir } from "node:os";
7
+ import { fileURLToPath } from "node:url";
8
+
9
+ const SKILLS = resolve(dirname(fileURLToPath(import.meta.url)), "../../..");
10
+ const CLI_MEDIA_USE = resolve(SKILLS, "../packages/cli/src/media-use");
11
+
12
+ // Agents install skills by symlinking the skills dir, so each script must still run its CLI.
13
+ test("skill CLIs run when invoked through a symlinked skills dir", () => {
14
+ const dir = mkdtempSync(join(tmpdir(), "skills-link-"));
15
+ try {
16
+ symlinkSync(SKILLS, join(dir, "skills"), "dir");
17
+ for (const script of [
18
+ "faceless-explainer/scripts/captions.mjs",
19
+ "pr-to-video/scripts/captions.mjs",
20
+ "product-launch-video/scripts/captions.mjs",
21
+ "media-use/audio/scripts/heygen-voice.mjs",
22
+ ]) {
23
+ const run = spawnSync(process.execPath, [join(dir, "skills", script), "not-a-command"], {
24
+ encoding: "utf8",
25
+ });
26
+ assert.notEqual(run.status, 0, `${script} exited ${run.status} without running its CLI`);
27
+ assert.match(run.stderr, /usage/, script);
28
+ }
29
+ } finally {
30
+ rmSync(dir, { recursive: true, force: true });
31
+ }
32
+ });
33
+
34
+ function skillScripts(dir) {
35
+ return readdirSync(dir, { withFileTypes: true }).flatMap((entry) => {
36
+ const path = join(dir, entry.name);
37
+ if (entry.isDirectory()) return entry.name === "node_modules" ? [] : skillScripts(path);
38
+ return /\.(mjs|js)$/.test(entry.name) && !/\.test\.mjs$/.test(entry.name) ? [path] : [];
39
+ });
40
+ }
41
+
42
+ test("skill scripts detect their CLI entry through lib/main-module.mjs only", () => {
43
+ const handRolled = [...skillScripts(SKILLS), ...skillScripts(CLI_MEDIA_USE)].filter(
44
+ (path) =>
45
+ !path.endsWith("main-module.mjs") && readFileSync(path, "utf8").includes("process.argv[1]"),
46
+ );
47
+ assert.deepEqual(
48
+ handRolled.map((path) => relative(SKILLS, path)),
49
+ [],
50
+ );
51
+ });
@@ -1,9 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  // Run from the user's project; locate the release from this installed file.
3
3
  import { spawnSync } from "node:child_process";
4
- import { existsSync, readFileSync, realpathSync } from "node:fs";
4
+ import { existsSync, readFileSync } from "node:fs";
5
5
  import { join, win32 } from "node:path";
6
- import { fileURLToPath, pathToFileURL } from "node:url";
6
+ import { fileURLToPath } from "node:url";
7
+ import { isMainModule } from "./lib/main-module.mjs";
7
8
 
8
9
  const root = fileURLToPath(new URL("../../../", import.meta.url));
9
10
  const manifests = [
@@ -71,7 +72,7 @@ export function invocation(
71
72
  return { command: node, args: [npx, ...cliArgs], env: childEnv };
72
73
  }
73
74
 
74
- if (process.argv[1] && pathToFileURL(realpathSync(process.argv[1])).href === import.meta.url) {
75
+ if (isMainModule(import.meta.url)) {
75
76
  try {
76
77
  const command = invocation(process.argv.slice(2));
77
78
  const result = spawnSync(command.command, command.args, {
@@ -17,11 +17,15 @@ import { invocation, pluginVersion } from "./plugin-cli.mjs";
17
17
  function fixture(t, manifest = "plugin.json", version = "1.2.3") {
18
18
  const root = mkdtempSync(join(tmpdir(), "hf-plugin-"));
19
19
  t.after(() => rmSync(root, { recursive: true, force: true }));
20
- mkdirSync(join(root, "skills/hyperframes/scripts"), { recursive: true });
20
+ mkdirSync(join(root, "skills/hyperframes/scripts/lib"), { recursive: true });
21
21
  mkdirSync(join(root, manifest, ".."), { recursive: true });
22
22
  writeFileSync(join(root, manifest), JSON.stringify({ name: "hyperframes", version }));
23
23
  const launcher = join(root, "skills/hyperframes/scripts/plugin-cli.mjs");
24
24
  copyFileSync(new URL("./plugin-cli.mjs", import.meta.url), launcher);
25
+ copyFileSync(
26
+ new URL("./lib/main-module.mjs", import.meta.url),
27
+ join(root, "skills/hyperframes/scripts/lib/main-module.mjs"),
28
+ );
25
29
  return { root, launcher };
26
30
  }
27
31
 
@@ -130,6 +130,8 @@ Use `selection.target.hfId` when available, otherwise its selector and source fi
130
130
  | Self-managed distributed AWS render | `npx hyperframes lambda render <project> --width 1920 --height 1080 --wait` |
131
131
  | Self-managed distributed GCP render | `npx hyperframes cloudrun render <project> --width 1920 --height 1080 --wait` |
132
132
 
133
+ A render stops when whatever started it stops, so a Ctrl-C or a closed terminal never leaves Chrome running. If your tool kills its whole process group when a command times out or ends, a long render dies with it. Start such a render in its own process group with `HYPERFRAMES_RENDER_DETACHED=1`, for example `bash -c 'set -m; HYPERFRAMES_RENDER_DETACHED=1 npx hyperframes render --output out.mp4 < /dev/null > render.log 2>&1 &'` (works on macOS and Linux), then check the log and the output file instead of waiting on the command.
134
+
133
135
  Skill attribution is automatic — the examples above need no `--skill`. A project scaffolded by a workflow (`hyperframes init --skill=<workflow>`) records its owning skill in `hyperframes.json`, and every later render inherits it on anonymous telemetry: re-renders, `npm run render`, and `--batch` alike. Pass `--skill=<slug>` explicitly only to stamp a project that was not created through a workflow (its first render then persists it).
134
136
 
135
137
  Use cloud rendering when the user wants hosted rendering without local Chrome, FFmpeg, or AWS. Use Lambda only when AWS ownership is a requirement. Use Cloud Run only when GCP ownership is a requirement. Read the matching reference before running any cloud path.
@@ -5,9 +5,9 @@
5
5
 
6
6
  import { readFileSync } from "node:fs";
7
7
  import { extname } from "node:path";
8
- import { fileURLToPath } from "node:url";
9
8
  import { parseArgs } from "node:util";
10
9
  import { heygenAuthHeaders, heygenJSON, heygenMessage, loadEnvFromDir } from "./lib/heygen.mjs";
10
+ import { isMainModule } from "./lib/main-module.mjs";
11
11
 
12
12
  const MEDIA_TYPES = { ".mp3": "audio/mpeg", ".wav": "audio/wav" };
13
13
  const POLL_MS = 2_000;
@@ -92,7 +92,7 @@ export async function main(
92
92
  }
93
93
  }
94
94
 
95
- if (process.argv[1] === fileURLToPath(import.meta.url)) {
95
+ if (isMainModule(import.meta.url)) {
96
96
  loadEnvFromDir(process.cwd());
97
97
  process.exitCode = await main(process.argv.slice(2));
98
98
  }
@@ -0,0 +1,13 @@
1
+ import { realpathSync } from "node:fs";
2
+ import { pathToFileURL } from "node:url";
3
+
4
+ // Node resolves symlinks in the main module's import.meta.url but argv[1] keeps the invoked
5
+ // spelling (a symlinked skills dir, or /tmp vs /private/tmp on macOS), so compare real paths.
6
+ export function isMainModule(importMetaUrl) {
7
+ if (!process.argv[1]) return false;
8
+ try {
9
+ return pathToFileURL(realpathSync(process.argv[1])).href === importMetaUrl;
10
+ } catch {
11
+ return false;
12
+ }
13
+ }
@@ -5,8 +5,7 @@
5
5
  // parser cases to catch drift in accepted .cube files before freezing them.
6
6
 
7
7
  import { readFileSync } from "node:fs";
8
- import { resolve as resolvePath } from "node:path";
9
- import { fileURLToPath } from "node:url";
8
+ import { isMainModule } from "./main-module.mjs";
10
9
 
11
10
  export const DEFAULT_MAX_CUBE_LUT_SIZE = 64;
12
11
 
@@ -193,6 +192,6 @@ function main(argv) {
193
192
  console.log(`ok: LUT_3D_SIZE ${result.size}`);
194
193
  }
195
194
 
196
- if (process.argv[1] && resolvePath(process.argv[1]) === fileURLToPath(import.meta.url)) {
195
+ if (isMainModule(import.meta.url)) {
197
196
  main(process.argv);
198
197
  }
@@ -0,0 +1,13 @@
1
+ import { realpathSync } from "node:fs";
2
+ import { pathToFileURL } from "node:url";
3
+
4
+ // Node resolves symlinks in the main module's import.meta.url but argv[1] keeps the invoked
5
+ // spelling (a symlinked skills dir, or /tmp vs /private/tmp on macOS), so compare real paths.
6
+ export function isMainModule(importMetaUrl) {
7
+ if (!process.argv[1]) return false;
8
+ try {
9
+ return pathToFileURL(realpathSync(process.argv[1])).href === importMetaUrl;
10
+ } catch {
11
+ return false;
12
+ }
13
+ }
@@ -9,8 +9,8 @@ import {
9
9
  } from "./chunk-6BEFEWFB.js";
10
10
  import {
11
11
  trackSkillsInstallSkipped
12
- } from "./chunk-RG3QWWIE.js";
13
- import "./chunk-XU5GGV6R.js";
12
+ } from "./chunk-ICKDMTLA.js";
13
+ import "./chunk-ZF7SXQJ7.js";
14
14
  import {
15
15
  diag
16
16
  } from "./chunk-VWG7OQKU.js";
@@ -39,15 +39,15 @@ import {
39
39
  isCoreSkill,
40
40
  presentSkills,
41
41
  pruneOrphanedLockEntries
42
- } from "./chunk-5HJ343GH.js";
42
+ } from "./chunk-OB5MJR4W.js";
43
43
  import {
44
44
  withMeta
45
- } from "./chunk-P6WH6QTV.js";
45
+ } from "./chunk-PLR7Z6TC.js";
46
46
  import "./chunk-K4WIOZFP.js";
47
47
  import "./chunk-XUXGIA7H.js";
48
48
  import "./chunk-WERLJGIC.js";
49
49
  import "./chunk-ISN5GRYI.js";
50
- import "./chunk-4OC7MQNB.js";
50
+ import "./chunk-BFACGEII.js";
51
51
  import "./chunk-KNU5COPB.js";
52
52
  import {
53
53
  c
@@ -9,13 +9,13 @@ import {
9
9
  printSkillsUpdateNotice,
10
10
  refreshSkillsCache,
11
11
  skillsCheckDue
12
- } from "./chunk-5HJ343GH.js";
13
- import "./chunk-P6WH6QTV.js";
12
+ } from "./chunk-OB5MJR4W.js";
13
+ import "./chunk-PLR7Z6TC.js";
14
14
  import "./chunk-K4WIOZFP.js";
15
15
  import "./chunk-XUXGIA7H.js";
16
16
  import "./chunk-WERLJGIC.js";
17
17
  import "./chunk-ISN5GRYI.js";
18
- import "./chunk-4OC7MQNB.js";
18
+ import "./chunk-BFACGEII.js";
19
19
  import "./chunk-KNU5COPB.js";
20
20
  import "./chunk-M2WBOQ2Q.js";
21
21
  export {