hyperframes 0.8.114 → 0.8.115

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 (168) hide show
  1. package/dist/{add-KCBOVKEU.js → add-ZSLFODRZ.js} +15 -14
  2. package/dist/{animatedGifPrep-U7FMC7DB.js → animatedGifPrep-72A45YER.js} +5 -5
  3. package/dist/{asset-AJ4ZZE3K.js → asset-SGDOHBBN.js} +2 -2
  4. package/dist/{assetCataloger-5LCGR5XU.js → assetCataloger-Q7BCDARF.js} +2 -2
  5. package/dist/{auth-PSEHAWSA.js → auth-5JGFN7SV.js} +2 -2
  6. package/dist/{autoUpdate-E32YLKFZ.js → autoUpdate-ZVTMYO7Z.js} +2 -2
  7. package/dist/{backgroundChecks-FNHBA7YI.js → backgroundChecks-IY3G5G2D.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-QVJ7NEUH.js → batchRender-QVLLL5DN.js} +3 -3
  10. package/dist/{beats-F67KZC3V.js → beats-66KZIB5V.js} +14 -10
  11. package/dist/{benchmark-CGD6CPRK.js → benchmark-AWFKSWQH.js} +11 -11
  12. package/dist/{browser-FPX3Z2AR.js → browser-J54EXMCE.js} +8 -8
  13. package/dist/{bundleWithLocalizedFonts-4CVITCYK.js → bundleWithLocalizedFonts-BLLHP2TO.js} +2 -2
  14. package/dist/{capture-GLHK4ST7.js → capture-D4HRSVSK.js} +2 -2
  15. package/dist/{capture-F2Y7TIHU.js → capture-SLI2I5BS.js} +16 -11
  16. package/dist/{catalog-4BZX7MQQ.js → catalog-BUMLQU7L.js} +15 -14
  17. package/dist/{check-IO3HWLLU.js → check-HEZUK62C.js} +31 -29
  18. package/dist/{checkBrowser-JTQ7ABCL.js → checkBrowser-RVJM6IUO.js} +30 -28
  19. package/dist/{chunk-MR6BQLGM.js → chunk-2DX6JYL2.js} +2 -2
  20. package/dist/{chunk-BOUDTDBQ.js → chunk-2GWVY66H.js} +1 -1
  21. package/dist/{chunk-P3FGUSFK.js → chunk-2H37RGJ2.js} +7 -7
  22. package/dist/{chunk-7543YIMQ.js → chunk-3J4EBX5M.js} +1 -1
  23. package/dist/{chunk-MLLBZR2U.js → chunk-3R6P5BIG.js} +2 -2
  24. package/dist/{chunk-HGMKPPGD.js → chunk-3YTWSGBV.js} +4 -4
  25. package/dist/{chunk-RKSRXPKV.js → chunk-4HIF3LI3.js} +5 -5
  26. package/dist/{chunk-HTQR7SUZ.js → chunk-4P2TOD7N.js} +1 -1
  27. package/dist/{chunk-G2T2X6FZ.js → chunk-5MXN7WM4.js} +2 -2
  28. package/dist/{chunk-BORVRAHJ.js → chunk-5YSA3YXO.js} +14 -18
  29. package/dist/{chunk-JH7ZJRDL.js → chunk-6SEUZGID.js} +3 -3
  30. package/dist/{chunk-VLC7JS4K.js → chunk-74RAXWDF.js} +1 -1
  31. package/dist/{chunk-MST5JBOR.js → chunk-AXXK3LWL.js} +1 -1
  32. package/dist/chunk-BDNCUMZM.js +2961 -0
  33. package/dist/{chunk-E52XEEAA.js → chunk-BQG33YTI.js} +1 -1
  34. package/dist/{chunk-QPR4N2D4.js → chunk-CVBWF2MD.js} +1 -1
  35. package/dist/{chunk-7ZR25WGW.js → chunk-HOBR4IHC.js} +7 -7
  36. package/dist/{chunk-LSSIYIXI.js → chunk-HPWPLV5J.js} +2 -2
  37. package/dist/{chunk-FCEFKWPM.js → chunk-IEE7GIVX.js} +1 -1
  38. package/dist/{chunk-L5QASNBN.js → chunk-IOJAVV6J.js} +1 -1
  39. package/dist/{chunk-IPXPSCWV.js → chunk-KLZ7OCHR.js} +3 -3
  40. package/dist/{chunk-OCNCK5FQ.js → chunk-M7XTMZF5.js} +1 -1
  41. package/dist/{chunk-GDJ74GHW.js → chunk-MPB7BQT7.js} +1 -1
  42. package/dist/{chunk-3SH322X7.js → chunk-ORAISNGN.js} +14 -17
  43. package/dist/{chunk-IP3XINRB.js → chunk-P6LJ4Y32.js} +23 -2944
  44. package/dist/chunk-P73WQPSB.js +93 -0
  45. package/dist/{chunk-LYNBNESS.js → chunk-PLP4K6WZ.js} +122 -47
  46. package/dist/{chunk-LMC46FK5.js → chunk-QMFCL2ZN.js} +1 -1
  47. package/dist/{chunk-DR7QW6C5.js → chunk-QXNRRMBQ.js} +2 -2
  48. package/dist/{chunk-C6AIZOQN.js → chunk-RRPJEHHW.js} +1 -1
  49. package/dist/{chunk-6U3K3U62.js → chunk-SAO3NQPF.js} +1 -1
  50. package/dist/{chunk-3IUSKIZW.js → chunk-SC7ICSIU.js} +1 -1
  51. package/dist/{chunk-SSM2TJYE.js → chunk-SK53U3PF.js} +1 -1
  52. package/dist/{chunk-XXKBPGPJ.js → chunk-SOEQWMNS.js} +2 -2
  53. package/dist/{chunk-752X6G7T.js → chunk-SSZYJCAL.js} +2 -2
  54. package/dist/{chunk-SYQOD3W7.js → chunk-T5HXGUM3.js} +1 -1
  55. package/dist/{chunk-ENHAGQEP.js → chunk-TMCJPHPP.js} +1 -1
  56. package/dist/{chunk-XFJXFNJF.js → chunk-TWJT2RGZ.js} +27 -12
  57. package/dist/{chunk-ZMMSMDCA.js → chunk-VDASTWUM.js} +1 -1
  58. package/dist/{chunk-T3NMEYGM.js → chunk-WZYHTXZY.js} +1 -1
  59. package/dist/{chunk-WAS5VEA4.js → chunk-XJQ7TRLG.js} +1 -1
  60. package/dist/{chunk-LDSWUYZB.js → chunk-Y2Y4LBJD.js} +3 -3
  61. package/dist/{chunk-SIN32SJB.js → chunk-YNHP6OFJ.js} +2 -2
  62. package/dist/{chunk-4KGMIOMY.js → chunk-ZBQP54CD.js} +10 -7
  63. package/dist/{clean-MCL76KQH.js → clean-X6Y252ZC.js} +14 -14
  64. package/dist/cli.js +53 -52
  65. package/dist/{cloud-444K6HIK.js → cloud-EE4GALWR.js} +4 -4
  66. package/dist/{cloudrun-BML6ZG7K.js → cloudrun-Y6A42KHE.js} +3 -3
  67. package/dist/{compare-CGNTCOR2.js → compare-K6XJZ3OC.js} +25 -23
  68. package/dist/{compiler-ZHVIEP26.js → compiler-DYACPLUW.js} +2 -2
  69. package/dist/{component-HTXLOIHR.js → component-T6IYSCFP.js} +3 -3
  70. package/dist/{compositions-KK46F5AC.js → compositions-4KUTNS5L.js} +10 -10
  71. package/dist/{delete-SSRZKKWQ.js → delete-C64TWAPE.js} +2 -2
  72. package/dist/{dist-OKRUIHYU.js → dist-KNGSQALD.js} +2 -2
  73. package/dist/{doctor-IIOX25KM.js → doctor-WJXZK5QN.js} +9 -9
  74. package/dist/{events-DCUZBRW6.js → events-FVG3Y6Q4.js} +8 -8
  75. package/dist/{events-TYMMAKHX.js → events-QRWJBSV4.js} +7 -7
  76. package/dist/{feedback-RIAGW6LG.js → feedback-NQHRUOZP.js} +9 -9
  77. package/dist/{figma-VBOUGJNX.js → figma-MEX4CSIM.js} +3 -3
  78. package/dist/fontLocalizeCli.js +7 -7
  79. package/dist/{get-LT6NUGNR.js → get-CMJIHGSA.js} +2 -2
  80. package/dist/{gpuPolicy-LRMOZXFU.js → gpuPolicy-5S4OZDME.js} +5 -5
  81. package/dist/{grade-compare-WWYQSQUM.js → grade-compare-NIDMIUGZ.js} +25 -23
  82. package/dist/{help-55ZV2M5U.js → help-G6AWAWJW.js} +1 -1
  83. package/dist/{history-QCY7CO4P.js → history-ZBOK2JQF.js} +20 -18
  84. package/dist/hyperframe-runtime.js +36 -36
  85. package/dist/hyperframe.manifest.json +1 -1
  86. package/dist/hyperframe.runtime.iife.js +36 -36
  87. package/dist/hyperframes-player.global.js +1 -1
  88. package/dist/{info-ROTXHRAH.js → info-2ORQZ6I2.js} +10 -10
  89. package/dist/{init-5XFOWGGN.js → init-3PSKH6UR.js} +22 -21
  90. package/dist/{inspect-3UF4VLTM.js → inspect-NR54RMEE.js} +26 -24
  91. package/dist/{installer-DGYYDGWJ.js → installer-YQUWHYBZ.js} +5 -4
  92. package/dist/{keyframes-OFZ6XNMC.js → keyframes-KT7T4AEV.js} +11 -11
  93. package/dist/{lambda-OQBFCEFA.js → lambda-3FF4V3X3.js} +4 -4
  94. package/dist/{layout-B4XF2734.js → layout-RB3M37ER.js} +26 -24
  95. package/dist/{lint-3YIJITTC.js → lint-HR57M5YP.js} +11 -11
  96. package/dist/{list-276FF3QE.js → list-YDXYHXHF.js} +2 -2
  97. package/dist/{login-SA3MCAIS.js → login-N6UNRVYW.js} +4 -4
  98. package/dist/{media-treatment-ICA5DWHS.js → media-treatment-UXJOTNRO.js} +11 -11
  99. package/dist/{models-JF5OOZ5A.js → models-Z3XFMGXB.js} +6 -6
  100. package/dist/{motionShot-TQBDZZ4M.js → motionShot-KQMCXJ77.js} +15 -12
  101. package/dist/{normalize-audio-URNASKUV.js → normalize-audio-XJQMDWRV.js} +10 -10
  102. package/dist/{pipeline-IWPF5ZMK.js → pipeline-U3OISHWV.js} +5 -5
  103. package/dist/{play-JYBAII35.js → play-XP77PML5.js} +20 -19
  104. package/dist/{preflight-2GH2Z4GZ.js → preflight-CANFVC4Y.js} +6 -6
  105. package/dist/{present-WIEZRZET.js → present-MWGA3O4S.js} +15 -15
  106. package/dist/{preview-YUPU646E.js → preview-X5GWZ3Q6.js} +17 -16
  107. package/dist/{producer-SL66UNEP.js → producer-B2IHU7MA.js} +1 -1
  108. package/dist/{projectConfig-7AKXZNNR.js → projectConfig-2A64YU5H.js} +7 -6
  109. package/dist/{publication-B2OERUY7.js → publication-CFYBPLRS.js} +2 -2
  110. package/dist/{publish-ZGKT7KED.js → publish-WE6AS77D.js} +8 -7
  111. package/dist/{remove-background-4LRTT6YL.js → remove-background-XSDOCVN5.js} +6 -6
  112. package/dist/{render-AX77WC3C.js → render-5TMRIC73.js} +11 -11
  113. package/dist/{render-F3QVCKKA.js → render-HVZUCLYW.js} +21 -20
  114. package/dist/{render-TGCDBKMP.js → render-QX6AKB6Y.js} +3 -3
  115. package/dist/{render-batch-WRQFW4UC.js → render-batch-QJXFVTDE.js} +3 -3
  116. package/dist/{renderCancellation-BFCQYGVV.js → renderCancellation-WSSSHRFR.js} +5 -5
  117. package/dist/{resolver-37UOGAMT.js → resolver-WTXO6WXA.js} +5 -4
  118. package/dist/{sherpa-SDVKYXCX.js → sherpa-S6ZBBEFO.js} +6 -6
  119. package/dist/skills/hyperframes/SKILL.md +4 -0
  120. package/dist/skills/hyperframes-cli/SKILL.md +8 -0
  121. package/dist/skills/hyperframes-cli/references/upgrade-info-misc.md +8 -0
  122. package/dist/skills/media-use/audio/scripts/audio.mjs +4 -1
  123. package/dist/skills/media-use/audio/scripts/audio.test.mjs +33 -0
  124. package/dist/skills/media-use/audio/scripts/lib/tts.mjs +1 -0
  125. package/dist/skills/media-use/audio/scripts/lib/tts.test.mjs +44 -1
  126. package/dist/{skills-M6ETUUH5.js → skills-CDRSTETB.js} +10 -10
  127. package/dist/{skillsUpdateCheck-UTX5LT5C.js → skillsUpdateCheck-FKREJXSF.js} +3 -3
  128. package/dist/{snapshot-HMDAENTY.js → snapshot-T4PFSXTH.js} +26 -24
  129. package/dist/{src-PLWCT745.js → src-5BZDQAVN.js} +6 -6
  130. package/dist/{src-PJJ6NISA.js → src-IZMCUYK7.js} +4 -4
  131. package/dist/{staticProjectServer-XDH5SQV6.js → staticProjectServer-VN4ARAH4.js} +14 -13
  132. package/dist/{status-LENRPQS5.js → status-OJZWJB53.js} +5 -5
  133. package/dist/studio/assets/{hyperframes-player-aXNJKiIg.js → hyperframes-player-C-9N8nk0.js} +1 -1
  134. package/dist/studio/assets/{index-Bn2RJNTJ.js → index-BoUM6Xqb.js} +1 -1
  135. package/dist/studio/assets/{index-Dz7doz9l.js → index-CAvZ0AA-.js} +201 -201
  136. package/dist/studio/assets/{index-C9N-DGjC.js → index-CVuorIMv.js} +1 -1
  137. package/dist/studio/assets/{index-BYnsJnJV.css → index-t1LH6H5H.css} +1 -1
  138. package/dist/studio/{chunk-K47E2ZJA.js → chunk-5EKWJZLM.js} +504 -17
  139. package/dist/studio/chunk-5EKWJZLM.js.map +1 -0
  140. package/dist/studio/{chunk-VWT7STY3.js → chunk-J6Q572FA.js} +2 -2
  141. package/dist/studio/{chunk-BIUXP3PG.js → chunk-TXZMMOMA.js} +43 -276
  142. package/dist/studio/chunk-TXZMMOMA.js.map +1 -0
  143. package/dist/studio/{domEditingLayers-V67MS4WP.js → domEditingLayers-D7VYFJJD.js} +3 -5
  144. package/dist/studio/index.d.ts +43 -19
  145. package/dist/studio/index.html +2 -2
  146. package/dist/studio/index.js +2939 -2596
  147. package/dist/studio/index.js.map +1 -1
  148. package/dist/studio/player.js +2 -2
  149. package/dist/studio/styles.css +1 -1
  150. package/dist/{studio-api-E5WFZ7YK.js → studio-api-CIO2NKK5.js} +9 -7
  151. package/dist/{studioServer-C7GTHTRY.js → studioServer-G5GNYWDI.js} +45 -45
  152. package/dist/{system-4KRSV2B7.js → system-PPNNGVIM.js} +5 -5
  153. package/dist/{telemetry-XH6D37RL.js → telemetry-GMDMISOX.js} +8 -8
  154. package/dist/{timeline-4RR7O6QW.js → timeline-5LSQX4OS.js} +14 -14
  155. package/dist/{tokens-MVTK3RPO.js → tokens-VBXAT7CK.js} +2 -2
  156. package/dist/{transcribe-I6WDPH7E.js → transcribe-GYCAIIEQ.js} +11 -11
  157. package/dist/{transcribe-3UXXEDXX.js → transcribe-VGYAWRXS.js} +6 -6
  158. package/dist/{updateCheck-ELMPFCBF.js → updateCheck-AZEREUQV.js} +2 -2
  159. package/dist/{upgrade-6UAOGP4D.js → upgrade-S63QN2LA.js} +2 -2
  160. package/dist/{urlDownloader-4KNER64L.js → urlDownloader-SM6ODN5O.js} +4 -4
  161. package/dist/usage-EC3KFUIJ.js +2139 -0
  162. package/dist/{validate-ZMMGUMBD.js → validate-7MNUK5MH.js} +15 -14
  163. package/dist/{video-GINAMW5I.js → video-JEOHARTC.js} +5 -5
  164. package/package.json +1 -1
  165. package/dist/studio/chunk-BIUXP3PG.js.map +0 -1
  166. package/dist/studio/chunk-K47E2ZJA.js.map +0 -1
  167. /package/dist/studio/{chunk-VWT7STY3.js.map → chunk-J6Q572FA.js.map} +0 -0
  168. /package/dist/studio/{domEditingLayers-V67MS4WP.js.map → domEditingLayers-D7VYFJJD.js.map} +0 -0
@@ -8,7 +8,7 @@ import {
8
8
  DEFAULT_QUALITY,
9
9
  QUALITIES,
10
10
  isQuality
11
- } from "./chunk-SIN32SJB.js";
11
+ } from "./chunk-YNHP6OFJ.js";
12
12
  import {
13
13
  DEVICES,
14
14
  isDevice
@@ -28,12 +28,12 @@ import {
28
28
  import {
29
29
  failCommand
30
30
  } from "./chunk-PBN6GBJE.js";
31
- import "./chunk-G2T2X6FZ.js";
32
- import "./chunk-FCEFKWPM.js";
31
+ import "./chunk-5MXN7WM4.js";
32
+ import "./chunk-IEE7GIVX.js";
33
33
  import "./chunk-UUDQD62L.js";
34
34
  import "./chunk-DPVXBVLL.js";
35
- import "./chunk-OCNCK5FQ.js";
36
- import "./chunk-C6AIZOQN.js";
35
+ import "./chunk-M7XTMZF5.js";
36
+ import "./chunk-RRPJEHHW.js";
37
37
  import "./chunk-VC76R6W2.js";
38
38
  import "./chunk-OFQWTKPW.js";
39
39
  import "./chunk-LCSMOLGX.js";
@@ -159,7 +159,7 @@ var remove_background_default = defineCommand({
159
159
  const outputPath = resolve(args.output);
160
160
  const backgroundOutputArg = args["background-output"];
161
161
  const backgroundOutputPath = backgroundOutputArg ? resolve(backgroundOutputArg) : void 0;
162
- const { render } = await import("./pipeline-IWPF5ZMK.js");
162
+ const { render } = await import("./pipeline-U3OISHWV.js");
163
163
  const spin = args.json ? null : ft();
164
164
  spin?.start("Preparing background-removal pipeline...");
165
165
  try {
@@ -28,7 +28,7 @@ import {
28
28
  reportVariableIssues,
29
29
  resolveVariablesArg,
30
30
  validateVariablesAgainstProject
31
- } from "./chunk-ZMMSMDCA.js";
31
+ } from "./chunk-VDASTWUM.js";
32
32
  import {
33
33
  buildPublishFileMap,
34
34
  zipPublishFileMap
@@ -38,20 +38,20 @@ import "./chunk-DNXD7TOA.js";
38
38
  import "./chunk-WEATBQTR.js";
39
39
  import {
40
40
  resolveProject
41
- } from "./chunk-WAS5VEA4.js";
41
+ } from "./chunk-XJQ7TRLG.js";
42
42
  import {
43
43
  errorBox,
44
44
  formatBytes,
45
45
  formatDuration
46
46
  } from "./chunk-IHFUKJOR.js";
47
47
  import "./chunk-PFCFR3KZ.js";
48
- import "./chunk-JH7ZJRDL.js";
49
- import "./chunk-IPXPSCWV.js";
48
+ import "./chunk-6SEUZGID.js";
49
+ import "./chunk-KLZ7OCHR.js";
50
50
  import "./chunk-VWG7OQKU.js";
51
51
  import {
52
52
  c
53
53
  } from "./chunk-ZTZA4UWZ.js";
54
- import "./chunk-L5QASNBN.js";
54
+ import "./chunk-IOJAVV6J.js";
55
55
  import "./chunk-AMKC3AXA.js";
56
56
  import {
57
57
  defineCommand
@@ -60,12 +60,12 @@ import "./chunk-54HJ63Q2.js";
60
60
  import {
61
61
  failCommand
62
62
  } from "./chunk-PBN6GBJE.js";
63
- import "./chunk-G2T2X6FZ.js";
64
- import "./chunk-FCEFKWPM.js";
63
+ import "./chunk-5MXN7WM4.js";
64
+ import "./chunk-IEE7GIVX.js";
65
65
  import "./chunk-UUDQD62L.js";
66
66
  import "./chunk-DPVXBVLL.js";
67
- import "./chunk-OCNCK5FQ.js";
68
- import "./chunk-C6AIZOQN.js";
67
+ import "./chunk-M7XTMZF5.js";
68
+ import "./chunk-RRPJEHHW.js";
69
69
  import "./chunk-VC76R6W2.js";
70
70
  import "./chunk-OFQWTKPW.js";
71
71
  import "./chunk-TWWSYAKJ.js";
@@ -77,12 +77,12 @@ import "./chunk-GK4AIFIH.js";
77
77
  import "./chunk-2PSPARWP.js";
78
78
  import {
79
79
  withMeta
80
- } from "./chunk-SYQOD3W7.js";
80
+ } from "./chunk-T5HXGUM3.js";
81
81
  import "./chunk-K4WIOZFP.js";
82
82
  import "./chunk-XUXGIA7H.js";
83
83
  import "./chunk-WERLJGIC.js";
84
84
  import "./chunk-ISN5GRYI.js";
85
- import "./chunk-MLLBZR2U.js";
85
+ import "./chunk-3R6P5BIG.js";
86
86
  import {
87
87
  normalizeErrorMessage
88
88
  } from "./chunk-KNU5COPB.js";
@@ -6,15 +6,15 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  maybePromptRenderFeedback
9
- } from "./chunk-HGMKPPGD.js";
9
+ } from "./chunk-3YTWSGBV.js";
10
10
  import {
11
11
  reportVariableIssues,
12
12
  resolveVariablesArg,
13
13
  validateVariablesAgainstProject
14
- } from "./chunk-ZMMSMDCA.js";
14
+ } from "./chunk-VDASTWUM.js";
15
15
  import {
16
16
  loadProducer
17
- } from "./chunk-VLC7JS4K.js";
17
+ } from "./chunk-74RAXWDF.js";
18
18
  import {
19
19
  renderJobObservabilityTelemetryPayload
20
20
  } from "./chunk-VXVRPIJA.js";
@@ -28,11 +28,11 @@ import {
28
28
  resolveBrowserTimeoutMsArg,
29
29
  resolveCompositionEntryArg,
30
30
  resolveDefaultFpsArg
31
- } from "./chunk-3IUSKIZW.js";
31
+ } from "./chunk-SC7ICSIU.js";
32
32
  import "./chunk-YEIFI443.js";
33
33
  import {
34
34
  resolveProject
35
- } from "./chunk-WAS5VEA4.js";
35
+ } from "./chunk-XJQ7TRLG.js";
36
36
  import {
37
37
  formatLintStartupMessage
38
38
  } from "./chunk-6CSYCFQV.js";
@@ -46,22 +46,23 @@ import {
46
46
  } from "./chunk-IHFUKJOR.js";
47
47
  import {
48
48
  runEnvironmentChecks
49
- } from "./chunk-E52XEEAA.js";
49
+ } from "./chunk-BQG33YTI.js";
50
50
  import "./chunk-PFCFR3KZ.js";
51
51
  import {
52
52
  loadProjectConfig,
53
53
  readProjectConfigWithStatus,
54
54
  seedProjectAuthoringSkill
55
- } from "./chunk-BOUDTDBQ.js";
55
+ } from "./chunk-2GWVY66H.js";
56
56
  import "./chunk-XT7X6QCP.js";
57
57
  import "./chunk-4YYJOFKS.js";
58
58
  import {
59
59
  normalizeSkillSlug
60
60
  } from "./chunk-HVW7ABXD.js";
61
- import "./chunk-ENHAGQEP.js";
62
- import "./chunk-DR7QW6C5.js";
63
- import "./chunk-IP3XINRB.js";
61
+ import "./chunk-TMCJPHPP.js";
62
+ import "./chunk-QXNRRMBQ.js";
63
+ import "./chunk-BDNCUMZM.js";
64
64
  import "./chunk-AWDFDFI3.js";
65
+ import "./chunk-P6LJ4Y32.js";
65
66
  import "./chunk-GMECXFAN.js";
66
67
  import {
67
68
  H264EncoderUnavailableError,
@@ -73,21 +74,21 @@ import {
73
74
  } from "./chunk-TVCRUG2S.js";
74
75
  import {
75
76
  createRenderCancellationScope
76
- } from "./chunk-7543YIMQ.js";
77
+ } from "./chunk-3J4EBX5M.js";
77
78
  import {
78
79
  trackRenderComplete,
79
80
  trackRenderError,
80
81
  trackRenderObservation,
81
82
  trackRenderPreflightRejected
82
- } from "./chunk-JH7ZJRDL.js";
83
- import "./chunk-IPXPSCWV.js";
83
+ } from "./chunk-6SEUZGID.js";
84
+ import "./chunk-KLZ7OCHR.js";
84
85
  import "./chunk-VWG7OQKU.js";
85
86
  import {
86
87
  c
87
88
  } from "./chunk-ZTZA4UWZ.js";
88
89
  import {
89
90
  bytesToMb
90
- } from "./chunk-L5QASNBN.js";
91
+ } from "./chunk-IOJAVV6J.js";
91
92
  import "./chunk-AMKC3AXA.js";
92
93
  import {
93
94
  markRenderSucceeded,
@@ -109,13 +110,13 @@ import {
109
110
  MAX_VP9_CPU_USED,
110
111
  MIN_VP9_CPU_USED,
111
112
  isVideoFrameFormat
112
- } from "./chunk-G2T2X6FZ.js";
113
+ } from "./chunk-5MXN7WM4.js";
113
114
  import {
114
115
  formatRenderOutputTimestamp,
115
116
  fpsToFfmpegArg,
116
117
  fpsToNumber,
117
118
  parseFps
118
- } from "./chunk-FCEFKWPM.js";
119
+ } from "./chunk-IEE7GIVX.js";
119
120
  import {
120
121
  checkOutputResolutionCompatibility,
121
122
  isAspectAgnosticResolutionAlias,
@@ -123,8 +124,8 @@ import {
123
124
  suggestMatchingPreset
124
125
  } from "./chunk-UUDQD62L.js";
125
126
  import "./chunk-DPVXBVLL.js";
126
- import "./chunk-OCNCK5FQ.js";
127
- import "./chunk-C6AIZOQN.js";
127
+ import "./chunk-M7XTMZF5.js";
128
+ import "./chunk-RRPJEHHW.js";
128
129
  import "./chunk-VC76R6W2.js";
129
130
  import "./chunk-OFQWTKPW.js";
130
131
  import {
@@ -161,7 +162,7 @@ import {
161
162
  } from "./chunk-ISN5GRYI.js";
162
163
  import {
163
164
  VERSION
164
- } from "./chunk-MLLBZR2U.js";
165
+ } from "./chunk-3R6P5BIG.js";
165
166
  import {
166
167
  normalizeErrorMessage
167
168
  } from "./chunk-KNU5COPB.js";
@@ -659,7 +660,7 @@ async function executeRenderPlan(plan, dependencies, cancellation) {
659
660
  let batchModule;
660
661
  let preparedBatch;
661
662
  if (plan.batchPath) {
662
- batchModule = await import("./batchRender-QVJ7NEUH.js");
663
+ batchModule = await import("./batchRender-QVLLL5DN.js");
663
664
  try {
664
665
  preparedBatch = batchModule.prepareBatchRender({
665
666
  batchPath: plan.batchPath,
@@ -15,7 +15,7 @@ import {
15
15
  reportVariableIssues,
16
16
  resolveVariablesArg,
17
17
  validateVariablesAgainstProject
18
- } from "./chunk-ZMMSMDCA.js";
18
+ } from "./chunk-VDASTWUM.js";
19
19
  import "./chunk-5Z63TBTX.js";
20
20
  import "./chunk-IHFUKJOR.js";
21
21
  import "./chunk-PFCFR3KZ.js";
@@ -25,10 +25,10 @@ import {
25
25
  import {
26
26
  setCommandExitCode
27
27
  } from "./chunk-PBN6GBJE.js";
28
- import "./chunk-FCEFKWPM.js";
28
+ import "./chunk-IEE7GIVX.js";
29
29
  import "./chunk-UUDQD62L.js";
30
30
  import "./chunk-DPVXBVLL.js";
31
- import "./chunk-C6AIZOQN.js";
31
+ import "./chunk-RRPJEHHW.js";
32
32
  import "./chunk-VC76R6W2.js";
33
33
  import "./chunk-OFQWTKPW.js";
34
34
  import "./chunk-TQFG7HTI.js";
@@ -14,7 +14,7 @@ import {
14
14
  loadProjectVariableSchema,
15
15
  reportVariableIssues,
16
16
  validateVariablesAgainstSchema
17
- } from "./chunk-ZMMSMDCA.js";
17
+ } from "./chunk-VDASTWUM.js";
18
18
  import "./chunk-5Z63TBTX.js";
19
19
  import {
20
20
  errorBox
@@ -27,10 +27,10 @@ import {
27
27
  failCommand,
28
28
  setCommandExitCode
29
29
  } from "./chunk-PBN6GBJE.js";
30
- import "./chunk-FCEFKWPM.js";
30
+ import "./chunk-IEE7GIVX.js";
31
31
  import "./chunk-UUDQD62L.js";
32
32
  import "./chunk-DPVXBVLL.js";
33
- import "./chunk-C6AIZOQN.js";
33
+ import "./chunk-RRPJEHHW.js";
34
34
  import "./chunk-VC76R6W2.js";
35
35
  import "./chunk-OFQWTKPW.js";
36
36
  import "./chunk-TQFG7HTI.js";
@@ -7,13 +7,13 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  createRenderCancellationScope,
9
9
  stoppedByCancelSignal
10
- } from "./chunk-7543YIMQ.js";
11
- import "./chunk-G2T2X6FZ.js";
12
- import "./chunk-FCEFKWPM.js";
10
+ } from "./chunk-3J4EBX5M.js";
11
+ import "./chunk-5MXN7WM4.js";
12
+ import "./chunk-IEE7GIVX.js";
13
13
  import "./chunk-UUDQD62L.js";
14
14
  import "./chunk-DPVXBVLL.js";
15
- import "./chunk-OCNCK5FQ.js";
16
- import "./chunk-C6AIZOQN.js";
15
+ import "./chunk-M7XTMZF5.js";
16
+ import "./chunk-RRPJEHHW.js";
17
17
  import "./chunk-VC76R6W2.js";
18
18
  import "./chunk-OFQWTKPW.js";
19
19
  import "./chunk-LAOCA3MQ.js";
@@ -11,14 +11,15 @@ import {
11
11
  resolveItemWithDependencies,
12
12
  resolveItemsByTag,
13
13
  unreachableRegistryMessage
14
- } from "./chunk-ENHAGQEP.js";
15
- import "./chunk-IP3XINRB.js";
14
+ } from "./chunk-TMCJPHPP.js";
15
+ import "./chunk-BDNCUMZM.js";
16
16
  import "./chunk-AWDFDFI3.js";
17
+ import "./chunk-P6LJ4Y32.js";
17
18
  import "./chunk-GMECXFAN.js";
18
- import "./chunk-FCEFKWPM.js";
19
+ import "./chunk-IEE7GIVX.js";
19
20
  import "./chunk-UUDQD62L.js";
20
21
  import "./chunk-DPVXBVLL.js";
21
- import "./chunk-C6AIZOQN.js";
22
+ import "./chunk-RRPJEHHW.js";
22
23
  import "./chunk-VC76R6W2.js";
23
24
  import "./chunk-OFQWTKPW.js";
24
25
  import "./chunk-TQFG7HTI.js";
@@ -11,20 +11,20 @@ import "./chunk-WEATBQTR.js";
11
11
  import {
12
12
  getPreparedWavDurationSeconds,
13
13
  prepareWav
14
- } from "./chunk-HTQR7SUZ.js";
14
+ } from "./chunk-4P2TOD7N.js";
15
15
  import "./chunk-OAF4XJOW.js";
16
16
  import "./chunk-X5HWXQPU.js";
17
17
  import "./chunk-TVCRUG2S.js";
18
18
  import {
19
19
  stoppedByCancelSignal
20
- } from "./chunk-7543YIMQ.js";
20
+ } from "./chunk-3J4EBX5M.js";
21
21
  import "./chunk-AMKC3AXA.js";
22
- import "./chunk-G2T2X6FZ.js";
23
- import "./chunk-FCEFKWPM.js";
22
+ import "./chunk-5MXN7WM4.js";
23
+ import "./chunk-IEE7GIVX.js";
24
24
  import "./chunk-UUDQD62L.js";
25
25
  import "./chunk-DPVXBVLL.js";
26
- import "./chunk-OCNCK5FQ.js";
27
- import "./chunk-C6AIZOQN.js";
26
+ import "./chunk-M7XTMZF5.js";
27
+ import "./chunk-RRPJEHHW.js";
28
28
  import "./chunk-VC76R6W2.js";
29
29
  import "./chunk-OFQWTKPW.js";
30
30
  import "./chunk-LAOCA3MQ.js";
@@ -16,6 +16,10 @@ description: >
16
16
 
17
17
  # HyperFrames entry point
18
18
 
19
+ ### Check remaining usage
20
+
21
+ At the start of creation, run `npx hyperframes usage --json`. Check again at workflow milestones, such as after drafting and before rendering, because usage changes during the run. Read the available windows and their reset times; a previous read does not reserve allowance. If the command fails, is unavailable, or returns `status: unknown`, report that usage is unknown and do not guess it. Keep scope and workflow choices with the user.
22
+
19
23
  HyperFrames **renders video from HTML** — a composition is an HTML file whose DOM declares timing with `data-*` attributes, whose animation runtime is seekable, and whose media playback is owned by the framework. The full authoring contract lives in `/hyperframes-core`; read it before writing composition HTML. Brief, storyboard, review, production, dispatch, and frame-worker contracts live in this skill's `references/`.
20
24
 
21
25
  ## 1. Start from project state
@@ -178,3 +178,11 @@ Two entries in `hyperframes --help` are not part of the authoring loop, and reac
178
178
 
179
179
  - `events` is the telemetry endpoint skills use to report their **own** invocation, ideally from a bundled script. It emits an anonymous event and exits 0 no matter what you pass it. It is not a way to read telemetry back, and an agent has no reason to call it by hand.
180
180
  - `validate`, `inspect`, and `layout` are deprecated aliases kept for old scripts. `check` is the one that is maintained, and it is what every reference in this skill assumes.
181
+
182
+ ## Remaining harness usage
183
+
184
+ Run `npx hyperframes usage --json` at the start of a video workflow and again at milestones such as after drafting and before rendering. A fresh read at handoff can serve as the start read. Use `--harness claude-code`, `--harness codex`, or `--harness grok` to select explicitly.
185
+
186
+ Known results contain `status: "known"`, `harness`, `planTier`, `session`, and `weekly`. Each available window contains `usedPercent`, `remainingPercent`, and `resetsAt`; an unavailable window is `null`. `planTier` is the readable subscription tier when available, otherwise `null`. Claude Code reports its shared five-hour and weekly windows. Codex reports its shared session and weekly windows when available. Grok reports its included weekly allowance with `session: null`.
187
+
188
+ Unknown results contain `status: "unknown"` and a token-free `reason`. Missing, expired, unsupported, ambiguous, or unreadable logins and unavailable provider responses return unknown. Report the unknown state without guessing allowance. The command reads existing credentials without refreshing or rewriting them and emits no tokens or telemetry. Usage is a snapshot; it does not reserve allowance or estimate the next video's cost. Keep scope and workflow choices with the user.
@@ -124,3 +124,11 @@ npx hyperframes remove-background
124
124
  These produce assets (narration audio, word-level transcripts, transparent video) that get dropped into a composition. Each may download its own model on first run.
125
125
 
126
126
  For voice selection, Whisper model rules, output format choice, and the TTS → transcript → captions chain, invoke the `media-use` skill. This skill stays focused on the dev loop.
127
+
128
+ ## Remaining harness usage
129
+
130
+ Run `npx hyperframes usage --json` at the start of a video workflow and again at milestones such as after drafting and before rendering. A fresh read at handoff can serve as the start read. Use `--harness claude-code`, `--harness codex`, or `--harness grok` to select explicitly.
131
+
132
+ Known results contain `status: "known"`, `harness`, `planTier`, `session`, and `weekly`. Each available window contains `usedPercent`, `remainingPercent`, and `resetsAt`; an unavailable window is `null`. `planTier` is the readable subscription tier when available, otherwise `null`. Claude Code reports its shared five-hour and weekly windows. Codex reports its shared session and weekly windows when available. Grok reports its included weekly allowance with `session: null`.
133
+
134
+ Unknown results contain `status: "unknown"` and a token-free `reason`. Missing, expired, unsupported, ambiguous, or unreadable logins and unavailable provider responses return unknown. Report the unknown state without guessing allowance. The command reads existing credentials without refreshing or rewriting them and emits no tokens or telemetry. Usage is a snapshot; it does not reserve allowance or estimate the next video's cost. Keep scope and workflow choices with the user.
@@ -109,7 +109,10 @@ try {
109
109
  }
110
110
  const lines = Array.isArray(request.lines) ? request.lines : [];
111
111
  const lang = langOverride || request.lang || "en";
112
- const speed = Number(speedOverride ?? request.speed ?? 1.0) || 1.0;
112
+ const speedInput = speedOverride ?? request.speed ?? 1;
113
+ const speed = Number(speedInput);
114
+ if (!(speed > 0 && speed <= 3))
115
+ die(`speed must be above 0 and at most 3, got ${JSON.stringify(speedInput)}`);
113
116
 
114
117
  // ── env + HeyGen availability (the single switch) ─────────────────────────────
115
118
  loadEnvFromDir(hyperframesDir);
@@ -1,6 +1,7 @@
1
1
  import { strict as assert } from "node:assert";
2
2
  import { test } from "node:test";
3
3
  import { mkdtempSync, mkdirSync, readFileSync, rmSync, existsSync, writeFileSync } from "node:fs";
4
+ import { spawnSync } from "node:child_process";
4
5
  import { join, dirname } from "node:path";
5
6
  import { tmpdir } from "node:os";
6
7
  import { fileURLToPath } from "node:url";
@@ -124,3 +125,35 @@ test("two effects never share a file when one's name is taken by the person, run
124
125
  rmSync(dir, { recursive: true, force: true });
125
126
  }
126
127
  });
128
+
129
+ // The engine owns speed parsing; a fallback before the check would turn 0 or junk into 1.
130
+ function runEngineWith(request, ...args) {
131
+ const dir = mkdtempSync(join(tmpdir(), "audio-speed-range-"));
132
+ try {
133
+ writeFileSync(join(dir, "audio_request.json"), JSON.stringify({ lines: [], ...request }));
134
+ return spawnSync(process.execPath, [join(HERE, "audio.mjs"), "--hyperframes", dir, ...args], {
135
+ encoding: "utf8",
136
+ });
137
+ } finally {
138
+ rmSync(dir, { recursive: true, force: true });
139
+ }
140
+ }
141
+
142
+ for (const [label, request, args, shown] of [
143
+ ["request speed 5", { speed: 5 }, [], "5"],
144
+ ["request speed 0", { speed: 0 }, [], "0"],
145
+ ["request speed -1", { speed: -1 }, [], "-1"],
146
+ ["request speed text", { speed: "fast" }, [], '"fast"'],
147
+ ["--speed 0", {}, ["--speed", "0"], '"0"'],
148
+ ["--speed text", { speed: 1 }, ["--speed", "abc"], '"abc"'],
149
+ ]) {
150
+ test(`${label} stops the engine before any TTS runs`, () => {
151
+ const r = runEngineWith(request, ...args);
152
+ assert.equal(r.status, 1);
153
+ assert.ok(r.stderr.includes(`speed must be above 0 and at most 3, got ${shown}`), r.stderr);
154
+ });
155
+ }
156
+
157
+ test("a numeric string speed, as the adapters forward it, passes the check", () => {
158
+ assert.doesNotMatch(runEngineWith({ speed: "0.8" }, "--only", "tts").stderr, /speed must/);
159
+ });
@@ -290,6 +290,7 @@ export async function synthesizeOne({
290
290
  const wavRel = relTo(hyperframesDir, wavAbs);
291
291
  const args = ["hyperframes", "tts", writeTmpText(text), "--voice", voiceId, "--output", wavRel];
292
292
  if (lang !== "en") args.push("--lang", lang);
293
+ if (speed !== 1) args.push("--speed", String(speed));
293
294
  const r = await spawnP("npx", args, { cwd: hyperframesDir });
294
295
  return synthResult(r, wavAbs, "kokoro (npx hyperframes tts)");
295
296
  }
@@ -1,6 +1,6 @@
1
1
  import { test } from "node:test";
2
2
  import assert from "node:assert/strict";
3
- import { mkdtempSync, writeFileSync, chmodSync, rmSync, existsSync } from "node:fs";
3
+ import { mkdtempSync, readFileSync, writeFileSync, chmodSync, rmSync, existsSync } from "node:fs";
4
4
  import { join, dirname } from "node:path";
5
5
  import { tmpdir } from "node:os";
6
6
  import {
@@ -155,3 +155,46 @@ test("synthResult names a non-zero subprocess exit", () => {
155
155
  assert.equal(res.ok, false);
156
156
  assert.match(res.error, /kokoro .* exited with status 2/);
157
157
  });
158
+
159
+ // Kokoro shells out to `npx hyperframes tts`; a fake npx on PATH records the argv
160
+ // synthesizeOne really builds, so a dropped flag fails here. Windows runs npx via
161
+ // node directly, so the stub never resolves there.
162
+ async function kokoroArgv(options) {
163
+ const dir = mkdtempSync(join(tmpdir(), "tts-kokoro-argv-"));
164
+ const argvLog = join(dir, "argv.txt");
165
+ writeFileSync(join(dir, "npx"), `#!/bin/sh\nprintf '%s\\n' "$@" > "${argvLog}"\n`);
166
+ chmodSync(join(dir, "npx"), 0o755);
167
+ const originalPath = process.env.PATH;
168
+ try {
169
+ process.env.PATH = dir;
170
+ await synthesizeOne({
171
+ provider: "kokoro",
172
+ text: "hi",
173
+ voiceId: "am_michael",
174
+ wavAbs: join(dir, "line-0.wav"),
175
+ hyperframesDir: dir,
176
+ ...options,
177
+ });
178
+ return readFileSync(argvLog, "utf8").trim().split("\n");
179
+ } finally {
180
+ process.env.PATH = originalPath;
181
+ rmSync(dir, { recursive: true, force: true });
182
+ }
183
+ }
184
+
185
+ test(
186
+ "synthesizeOne(kokoro) forwards a non-default speed to the CLI",
187
+ { skip: process.platform === "win32" },
188
+ async () => {
189
+ const argv = await kokoroArgv({ speed: 0.8, lang: "es" });
190
+ assert.deepEqual(argv.slice(-4), ["--lang", "es", "--speed", "0.8"]);
191
+ },
192
+ );
193
+
194
+ test(
195
+ "synthesizeOne(kokoro) leaves --speed off at the default",
196
+ { skip: process.platform === "win32" },
197
+ async () => {
198
+ assert.ok(!(await kokoroArgv({})).includes("--speed"));
199
+ },
200
+ );
@@ -9,15 +9,15 @@ import {
9
9
  } from "./chunk-WMQNIQDJ.js";
10
10
  import {
11
11
  trackSkillsInstallSkipped
12
- } from "./chunk-JH7ZJRDL.js";
13
- import "./chunk-IPXPSCWV.js";
12
+ } from "./chunk-6SEUZGID.js";
13
+ import "./chunk-KLZ7OCHR.js";
14
14
  import {
15
15
  diag
16
16
  } from "./chunk-VWG7OQKU.js";
17
17
  import {
18
18
  c
19
19
  } from "./chunk-ZTZA4UWZ.js";
20
- import "./chunk-L5QASNBN.js";
20
+ import "./chunk-IOJAVV6J.js";
21
21
  import "./chunk-AMKC3AXA.js";
22
22
  import {
23
23
  defineCommand
@@ -27,12 +27,12 @@ import {
27
27
  CliResultSignal,
28
28
  setCommandExitCode
29
29
  } from "./chunk-PBN6GBJE.js";
30
- import "./chunk-G2T2X6FZ.js";
31
- import "./chunk-FCEFKWPM.js";
30
+ import "./chunk-5MXN7WM4.js";
31
+ import "./chunk-IEE7GIVX.js";
32
32
  import "./chunk-UUDQD62L.js";
33
33
  import "./chunk-DPVXBVLL.js";
34
- import "./chunk-OCNCK5FQ.js";
35
- import "./chunk-C6AIZOQN.js";
34
+ import "./chunk-M7XTMZF5.js";
35
+ import "./chunk-RRPJEHHW.js";
36
36
  import "./chunk-VC76R6W2.js";
37
37
  import "./chunk-OFQWTKPW.js";
38
38
  import "./chunk-TWWSYAKJ.js";
@@ -51,15 +51,15 @@ import {
51
51
  isCoreSkill,
52
52
  presentSkills,
53
53
  pruneOrphanedLockEntries
54
- } from "./chunk-6U3K3U62.js";
54
+ } from "./chunk-SAO3NQPF.js";
55
55
  import {
56
56
  withMeta
57
- } from "./chunk-SYQOD3W7.js";
57
+ } from "./chunk-T5HXGUM3.js";
58
58
  import "./chunk-K4WIOZFP.js";
59
59
  import "./chunk-XUXGIA7H.js";
60
60
  import "./chunk-WERLJGIC.js";
61
61
  import "./chunk-ISN5GRYI.js";
62
- import "./chunk-MLLBZR2U.js";
62
+ import "./chunk-3R6P5BIG.js";
63
63
  import "./chunk-KNU5COPB.js";
64
64
  import {
65
65
  buildNpxCommand
@@ -9,13 +9,13 @@ import {
9
9
  printSkillsUpdateNotice,
10
10
  refreshSkillsCache,
11
11
  skillsCheckDue
12
- } from "./chunk-6U3K3U62.js";
13
- import "./chunk-SYQOD3W7.js";
12
+ } from "./chunk-SAO3NQPF.js";
13
+ import "./chunk-T5HXGUM3.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-MLLBZR2U.js";
18
+ import "./chunk-3R6P5BIG.js";
19
19
  import "./chunk-KNU5COPB.js";
20
20
  import "./chunk-M2WBOQ2Q.js";
21
21
  export {