hyperframes 0.8.119 → 0.8.121

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 (160) hide show
  1. package/dist/{add-LVDM5BBO.js → add-CGDIT7CT.js} +14 -14
  2. package/dist/{animatedGifPrep-RH5AEVNX.js → animatedGifPrep-KPT5VB5Q.js} +5 -5
  3. package/dist/{asset-PA7XD3CI.js → asset-6ZAZIWA7.js} +2 -2
  4. package/dist/{assetCataloger-QX37JS5D.js → assetCataloger-FWWCXIEX.js} +2 -2
  5. package/dist/{auth-SQIHPP3J.js → auth-W4WZ5KT2.js} +4 -4
  6. package/dist/{autoUpdate-JCG27FBW.js → autoUpdate-2KRUUCM2.js} +2 -2
  7. package/dist/{backgroundChecks-U7JCBAWI.js → backgroundChecks-M7YRL5G3.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-BBBUJETN.js → batchRender-2HXYPO62.js} +3 -3
  10. package/dist/{beats-6BSMZTE6.js → beats-KXLHRYXV.js} +13 -13
  11. package/dist/{benchmark-WOZCECBF.js → benchmark-TZRC6JEE.js} +11 -11
  12. package/dist/{browser-KNPH25NJ.js → browser-KFCZEHSG.js} +8 -8
  13. package/dist/{bundleWithLocalizedFonts-I4RJWHKR.js → bundleWithLocalizedFonts-3RRACCEV.js} +2 -2
  14. package/dist/{capture-4WXKXCCV.js → capture-3L7VTWDG.js} +8 -8
  15. package/dist/{capture-PZQOA465.js → capture-N25LJPGM.js} +2 -2
  16. package/dist/{catalog-OXCKYFHY.js → catalog-OJK3RAMA.js} +14 -14
  17. package/dist/{check-N4QDDW6N.js → check-DUQ2OHRX.js} +33 -33
  18. package/dist/{checkBrowser-D3L4OXTQ.js → checkBrowser-XHNFT3DB.js} +30 -30
  19. package/dist/{chunk-P6UJ22SS.js → chunk-2C6UJPQS.js} +1 -1
  20. package/dist/{chunk-TOOQJPUJ.js → chunk-2CGUG4XK.js} +5 -5
  21. package/dist/{chunk-2FJPEXII.js → chunk-2LWWIDPZ.js} +1 -1
  22. package/dist/{chunk-KWABBJYI.js → chunk-2XV3S6TA.js} +2 -2
  23. package/dist/{chunk-HNOJAFT2.js → chunk-3DCZIHXE.js} +21 -21
  24. package/dist/{chunk-WJP3UOB3.js → chunk-3WXWL7AY.js} +1 -1
  25. package/dist/{chunk-Y44PIZOH.js → chunk-44EFU366.js} +11 -11
  26. package/dist/{chunk-523Q6JDM.js → chunk-4JC7LDBQ.js} +2 -2
  27. package/dist/{chunk-OLFFCC2D.js → chunk-5OS5XIWZ.js} +1 -1
  28. package/dist/{chunk-KK7VGMEF.js → chunk-5PTKFXAS.js} +11 -11
  29. package/dist/{chunk-M6LKSPER.js → chunk-6WIWCYD5.js} +3 -3
  30. package/dist/{chunk-V5T6IA7D.js → chunk-6Z4E4GBX.js} +1 -1
  31. package/dist/{chunk-FRIRP3DN.js → chunk-7VXU7E5S.js} +1 -1
  32. package/dist/{chunk-KFKEMNSW.js → chunk-AA4KEZGW.js} +3 -3
  33. package/dist/{chunk-U7AMFQ6G.js → chunk-BN5KOC5O.js} +1 -1
  34. package/dist/{chunk-GVJMAHXQ.js → chunk-DISNXEWU.js} +2 -2
  35. package/dist/{chunk-7UXUVWOY.js → chunk-E5XIJTMU.js} +1 -1
  36. package/dist/{chunk-SUIF4D5H.js → chunk-GF4MOYGU.js} +8 -8
  37. package/dist/{chunk-5IABQ7OX.js → chunk-GPGWCFIA.js} +1 -1
  38. package/dist/{chunk-DNXD7TOA.js → chunk-I465DBM6.js} +27 -12
  39. package/dist/chunk-IGLEPPTN.js +24 -0
  40. package/dist/{chunk-MYSYOQPV.js → chunk-IVLJE3VX.js} +2 -2
  41. package/dist/{chunk-4PTKEI2C.js → chunk-JACPHNUK.js} +1 -1
  42. package/dist/{chunk-MVWXSRY6.js → chunk-JH556Q42.js} +69 -21
  43. package/dist/{chunk-BKQXLO55.js → chunk-JREV7WVY.js} +1 -1
  44. package/dist/{chunk-V2VNJNX6.js → chunk-JWGYWJ5F.js} +1 -1
  45. package/dist/{chunk-AMSNSTLK.js → chunk-JWHQKTVG.js} +3 -3
  46. package/dist/{chunk-FNX7RJIJ.js → chunk-KYDM3W7A.js} +2 -2
  47. package/dist/{chunk-U3CILSBM.js → chunk-LZN67SFR.js} +1 -1
  48. package/dist/{chunk-IUBZ3DSO.js → chunk-MNMD6XLG.js} +2 -2
  49. package/dist/{chunk-CDTPNYO3.js → chunk-NPHNGWJH.js} +3 -3
  50. package/dist/{chunk-EEXM24SY.js → chunk-OWPHLEDI.js} +5 -5
  51. package/dist/chunk-PATLRNZA.js +3541 -0
  52. package/dist/{chunk-2WKWEB4T.js → chunk-RCNDZEBU.js} +1 -1
  53. package/dist/{chunk-KNXXZ73S.js → chunk-RYSHGEZL.js} +4 -4
  54. package/dist/{chunk-OI3IIR2X.js → chunk-S6Y2LOTE.js} +1 -1
  55. package/dist/chunk-SHB5VDMH.js +51 -0
  56. package/dist/{chunk-OWMGDQBZ.js → chunk-SJ64QY5Z.js} +1 -1
  57. package/dist/{chunk-OV62R47Q.js → chunk-VU4KRDRL.js} +1 -1
  58. package/dist/{chunk-6Q3Q7HGA.js → chunk-WBRDOH4A.js} +1 -1
  59. package/dist/{chunk-3NXDJSD5.js → chunk-WG4IZWEH.js} +2 -2
  60. package/dist/{chunk-LHU6KXWL.js → chunk-WW7V2GQJ.js} +1 -1
  61. package/dist/{chunk-2MMAA5I3.js → chunk-XLG5C3XA.js} +1 -1
  62. package/dist/{chunk-RLYTIMTS.js → chunk-Y6W4DVPS.js} +4 -37
  63. package/dist/{chunk-BZKDN6BU.js → chunk-YE5UC4XH.js} +7 -7
  64. package/dist/{chunk-ZTU5PYQJ.js → chunk-YJMQLWG4.js} +36 -23
  65. package/dist/{chunk-PPTHGZTG.js → chunk-ZBMQOBQK.js} +1 -1
  66. package/dist/{chunk-RZAXPDIT.js → chunk-ZTZ7NCJT.js} +1 -1
  67. package/dist/{chunk-RMDKZTSI.js → chunk-ZUVO6Q5Q.js} +2 -2
  68. package/dist/{clean-VWT7OZEN.js → clean-NH5JTTXP.js} +17 -17
  69. package/dist/cli.js +52 -70
  70. package/dist/{cloud-BB7SW4DX.js → cloud-QKM43VWA.js} +4 -4
  71. package/dist/{cloudrun-OQLPEWGP.js → cloudrun-JQCGTNFP.js} +3 -3
  72. package/dist/{compare-3Z4BPHIZ.js → compare-2ZOO6GRL.js} +29 -29
  73. package/dist/{compiler-GPUSYMA6.js → compiler-WNWCQTI6.js} +2 -2
  74. package/dist/{component-6H2NIATV.js → component-Q5AECWP4.js} +3 -3
  75. package/dist/{compositions-I357YMW6.js → compositions-KEMPAOSU.js} +10 -10
  76. package/dist/{delete-YJQPGNJJ.js → delete-TWGIIVHU.js} +6 -5
  77. package/dist/{deterministicFonts-O7BTFDJU.js → deterministicFonts-ITMUXWD2.js} +2 -2
  78. package/dist/{dist-NP53GO3N.js → dist-JGUAVYZS.js} +2 -2
  79. package/dist/{doctor-NP34O2SX.js → doctor-COVUXJ2H.js} +9 -9
  80. package/dist/dotEnv-AI4SYVTX.js +39 -0
  81. package/dist/{events-T4KFU5HZ.js → events-6K4KG2RC.js} +8 -8
  82. package/dist/{events-NV6CNGUD.js → events-PNRVEJOH.js} +7 -7
  83. package/dist/{feedback-DKHIGKC4.js → feedback-YACZS7R7.js} +41 -17
  84. package/dist/{figma-ALVXXDIQ.js → figma-LEEL7JF7.js} +3 -3
  85. package/dist/fontLocalizeCli.js +9 -9
  86. package/dist/{get-CKKP6UBL.js → get-FX23HBPC.js} +6 -5
  87. package/dist/{gpuPolicy-WWBLJO6C.js → gpuPolicy-TCSAVM2S.js} +5 -5
  88. package/dist/{grade-compare-7POS3AY6.js → grade-compare-ENNPIMZX.js} +25 -25
  89. package/dist/{help-KGRXGCVJ.js → help-HNY5LMYR.js} +1 -1
  90. package/dist/{history-JLXPVI2L.js → history-325KQTJM.js} +17 -17
  91. package/dist/hyperframe-runtime.js +54 -54
  92. package/dist/hyperframe.manifest.json +1 -1
  93. package/dist/hyperframe.runtime.iife.js +54 -54
  94. package/dist/hyperframes-player.global.js +1 -1
  95. package/dist/{info-QA5UAYFS.js → info-GKPHG3QO.js} +10 -10
  96. package/dist/{init-7SM4AD76.js → init-UYF6SWL7.js} +21 -21
  97. package/dist/{inspect-ANJ2CRLP.js → inspect-A6DZG7KU.js} +26 -26
  98. package/dist/{installer-EUT2OZTH.js → installer-EY3AB44Q.js} +4 -4
  99. package/dist/{keyframes-H2ZUI3DC.js → keyframes-P62TMLKQ.js} +11 -11
  100. package/dist/{lambda-HZ2ZKLVH.js → lambda-HWU6V36S.js} +4 -4
  101. package/dist/{layout-EDDKQ67V.js → layout-GWF2HD5Z.js} +26 -26
  102. package/dist/{lint-SVXOETDR.js → lint-OBGOECOL.js} +13 -13
  103. package/dist/{list-YRBK24UM.js → list-ZOUMRWXQ.js} +6 -5
  104. package/dist/{login-VE7VGBOA.js → login-4H6ZVI6D.js} +6 -6
  105. package/dist/{logout-HJQT42RL.js → logout-Q654A3SI.js} +2 -2
  106. package/dist/{media-treatment-ZQOBGLJQ.js → media-treatment-GRBN3MG5.js} +13 -13
  107. package/dist/{models-GVMX5TFG.js → models-YFTLSJEG.js} +8 -8
  108. package/dist/{motionShot-2Z6LRHEV.js → motionShot-7VLC2ULG.js} +10 -10
  109. package/dist/{normalize-audio-QHMZWNNH.js → normalize-audio-SLBARKVY.js} +13 -13
  110. package/dist/{pipeline-HYULUMEV.js → pipeline-WRNKPJZH.js} +5 -5
  111. package/dist/{play-EYXIIZHG.js → play-PDEXRHV6.js} +28 -28
  112. package/dist/{preflight-KJHZ46FX.js → preflight-6TUK6Z7A.js} +6 -6
  113. package/dist/{present-YQ2BRUNH.js → present-UXWOO2YL.js} +18 -18
  114. package/dist/{preview-QMAPLY2S.js → preview-CWHCNYYZ.js} +26 -26
  115. package/dist/{producer-FS442D4D.js → producer-WDTJSNXK.js} +1 -1
  116. package/dist/{projectConfig-A4DXJF4P.js → projectConfig-DBP5POAQ.js} +6 -6
  117. package/dist/{publication-QY2H23JU.js → publication-SUAGUL5G.js} +2 -2
  118. package/dist/{publish-PCT6JM4B.js → publish-CDKO6FSQ.js} +39 -33
  119. package/dist/{refresh-IK6LUV5Z.js → refresh-K24ETHMA.js} +2 -2
  120. package/dist/{remove-background-O2J7EVEN.js → remove-background-QFMDODZ4.js} +6 -6
  121. package/dist/{render-6QXPYNLY.js → render-BYD7ZASF.js} +27 -27
  122. package/dist/{render-QUQJP5PP.js → render-NRNF56OV.js} +3 -3
  123. package/dist/{render-HYA6UBZD.js → render-XTI7E22A.js} +20 -19
  124. package/dist/{render-batch-OS4UEZA4.js → render-batch-L2AIXYA3.js} +3 -3
  125. package/dist/{renderCancellation-RWWLGOOD.js → renderCancellation-XR3W2AQT.js} +5 -5
  126. package/dist/{resolver-IM46W362.js → resolver-RYPIAEGU.js} +4 -4
  127. package/dist/{sherpa-COBFACPG.js → sherpa-MXQ34FFS.js} +8 -8
  128. package/dist/skills/media-use/audio/scripts/lib/heygen.mjs +23 -6
  129. package/dist/skills/media-use/audio/scripts/lib/heygen.test.mjs +42 -2
  130. package/dist/{skills-CT7TY7SZ.js → skills-MZQUKPEY.js} +10 -10
  131. package/dist/{skillsUpdateCheck-AWHTVNPB.js → skillsUpdateCheck-B5F5UR7U.js} +3 -3
  132. package/dist/{snapshot-C4PYM7G5.js → snapshot-HPBNWSSK.js} +31 -31
  133. package/dist/{src-QOQJLFDK.js → src-BS6B2UWS.js} +4 -4
  134. package/dist/{src-GGDAYPPK.js → src-RNEWLAP6.js} +8 -8
  135. package/dist/{staticProjectServer-RBGIJQMY.js → staticProjectServer-B44OD7QD.js} +13 -13
  136. package/dist/{status-FCLZF4FT.js → status-RYS52BAQ.js} +7 -7
  137. package/dist/studio/assets/{hyperframes-player-7Icl2uVN.js → hyperframes-player-GkN9yzzq.js} +1 -1
  138. package/dist/studio/assets/{index-7YcUqkoh.js → index-BpKhiuzT.js} +1 -1
  139. package/dist/studio/assets/{index-Dc8FEIEU.js → index-ByV72rWx.js} +1 -1
  140. package/dist/studio/assets/{index-DOO2cYhl.js → index-CyFqMHGS.js} +174 -174
  141. package/dist/studio/index.d.ts +5 -1
  142. package/dist/studio/index.html +1 -1
  143. package/dist/studio/index.js +72 -87
  144. package/dist/studio/index.js.map +1 -1
  145. package/dist/{studio-api-Y67F5TPC.js → studio-api-YCS6DZMR.js} +7 -7
  146. package/dist/{studioServer-SCAZGVUQ.js → studioServer-AEXETXZ2.js} +39 -39
  147. package/dist/{system-QUFWS7NN.js → system-TD2HPCOA.js} +5 -5
  148. package/dist/{telemetry-JJJQWUA3.js → telemetry-7KDXFPTK.js} +8 -8
  149. package/dist/{timeline-BEWRG3QA.js → timeline-P4IMRDIN.js} +17 -17
  150. package/dist/{tokens-GAZXBXWG.js → tokens-HKYWL774.js} +2 -2
  151. package/dist/{transcribe-UJUYNNEH.js → transcribe-2E4QY24M.js} +6 -6
  152. package/dist/{transcribe-ZCFEAIAW.js → transcribe-UIQMMHXI.js} +11 -11
  153. package/dist/{updateCheck-H5DKTWUO.js → updateCheck-KWLMTR35.js} +2 -2
  154. package/dist/{upgrade-RUBSQNRS.js → upgrade-E4TMMCGK.js} +2 -2
  155. package/dist/{urlDownloader-5FUUYAOT.js → urlDownloader-P2EJDWLH.js} +4 -4
  156. package/dist/{validate-5R3OJEGF.js → validate-IX47WBNJ.js} +15 -15
  157. package/dist/{video-RTC4AXZB.js → video-56EQZA6M.js} +5 -5
  158. package/package.json +1 -1
  159. package/dist/chunk-SHLFJFPM.js +0 -3541
  160. package/dist/{chunk-AIYKVE4Y.js → chunk-2GKO3X7F.js} +3 -3
@@ -17,20 +17,20 @@ import {
17
17
  resolveAutoProxy,
18
18
  seedProjectAuthoringSkill,
19
19
  writeProjectConfig
20
- } from "./chunk-WJP3UOB3.js";
20
+ } from "./chunk-3WXWL7AY.js";
21
21
  import "./chunk-XT7X6QCP.js";
22
22
  import "./chunk-4YYJOFKS.js";
23
23
  import "./chunk-HVW7ABXD.js";
24
- import "./chunk-4PTKEI2C.js";
25
- import "./chunk-FNX7RJIJ.js";
26
- import "./chunk-PPTHGZTG.js";
24
+ import "./chunk-JACPHNUK.js";
25
+ import "./chunk-KYDM3W7A.js";
26
+ import "./chunk-ZBMQOBQK.js";
27
27
  import "./chunk-AWDFDFI3.js";
28
28
  import "./chunk-P6LJ4Y32.js";
29
29
  import "./chunk-GMECXFAN.js";
30
- import "./chunk-2WKWEB4T.js";
30
+ import "./chunk-RCNDZEBU.js";
31
31
  import "./chunk-FSLYPQ5Z.js";
32
32
  import "./chunk-DPVXBVLL.js";
33
- import "./chunk-SHLFJFPM.js";
33
+ import "./chunk-PATLRNZA.js";
34
34
  import "./chunk-VC76R6W2.js";
35
35
  import "./chunk-OFQWTKPW.js";
36
36
  import "./chunk-HBBJFK6I.js";
@@ -8,10 +8,10 @@ import {
8
8
  publishRegistryFile,
9
9
  registryTargetPath
10
10
  } from "./chunk-GMECXFAN.js";
11
- import "./chunk-2WKWEB4T.js";
11
+ import "./chunk-RCNDZEBU.js";
12
12
  import "./chunk-FSLYPQ5Z.js";
13
13
  import "./chunk-DPVXBVLL.js";
14
- import "./chunk-SHLFJFPM.js";
14
+ import "./chunk-PATLRNZA.js";
15
15
  import "./chunk-VC76R6W2.js";
16
16
  import {
17
17
  realProjectRoot
@@ -5,19 +5,23 @@ var require = __hf_createRequire(import.meta.url);
5
5
  var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
+ API_KEY_ENV_VAR,
8
9
  buildPublishFileMap,
9
10
  ensureProjectId,
10
11
  publishProjectArchive,
11
12
  readProjectLink,
12
13
  readTeamProject,
14
+ resolvePublishCredential,
13
15
  rewriteHtmlAttributes,
14
16
  writeTeamProject,
15
17
  zipPublishFileMap
16
- } from "./chunk-MVWXSRY6.js";
17
- import "./chunk-RZAXPDIT.js";
18
+ } from "./chunk-JH556Q42.js";
19
+ import "./chunk-ZTZ7NCJT.js";
20
+ import "./chunk-SHB5VDMH.js";
21
+ import "./chunk-I465DBM6.js";
18
22
  import {
19
- tryResolveCredential
20
- } from "./chunk-DNXD7TOA.js";
23
+ formatLintStartupMessage
24
+ } from "./chunk-6CSYCFQV.js";
21
25
  import "./chunk-X7MTZ4T2.js";
22
26
  import {
23
27
  ProxyTranscodeError,
@@ -26,13 +30,10 @@ import {
26
30
  resolveProxy,
27
31
  scanProjectMediaCodecMap,
28
32
  waitForProxy
29
- } from "./chunk-OWMGDQBZ.js";
30
- import {
31
- formatLintStartupMessage
32
- } from "./chunk-6CSYCFQV.js";
33
+ } from "./chunk-SJ64QY5Z.js";
33
34
  import {
34
35
  resolveAutoProxy
35
- } from "./chunk-WJP3UOB3.js";
36
+ } from "./chunk-3WXWL7AY.js";
36
37
  import "./chunk-XT7X6QCP.js";
37
38
  import "./chunk-4YYJOFKS.js";
38
39
  import "./chunk-HVW7ABXD.js";
@@ -42,9 +43,9 @@ import {
42
43
  q,
43
44
  ue
44
45
  } from "./chunk-WMQNIQDJ.js";
45
- import "./chunk-4PTKEI2C.js";
46
- import "./chunk-FNX7RJIJ.js";
47
- import "./chunk-PPTHGZTG.js";
46
+ import "./chunk-JACPHNUK.js";
47
+ import "./chunk-KYDM3W7A.js";
48
+ import "./chunk-ZBMQOBQK.js";
48
49
  import "./chunk-AWDFDFI3.js";
49
50
  import "./chunk-P6LJ4Y32.js";
50
51
  import "./chunk-GMECXFAN.js";
@@ -58,10 +59,10 @@ import {
58
59
  failCommand,
59
60
  setCommandExitCode
60
61
  } from "./chunk-PBN6GBJE.js";
61
- import "./chunk-2WKWEB4T.js";
62
+ import "./chunk-RCNDZEBU.js";
62
63
  import "./chunk-FSLYPQ5Z.js";
63
64
  import "./chunk-DPVXBVLL.js";
64
- import "./chunk-SHLFJFPM.js";
65
+ import "./chunk-PATLRNZA.js";
65
66
  import "./chunk-VC76R6W2.js";
66
67
  import "./chunk-OFQWTKPW.js";
67
68
  import {
@@ -299,12 +300,25 @@ var publish_default = defineCommand({
299
300
  }
300
301
  const updateTarget = typeof args.update === "string" && args.update.trim() ? parseUpdateTarget(args.update) : void 0;
301
302
  const spaceOverride = typeof args.space === "string" && args.space.trim() ? args.space.trim() : void 0;
303
+ let credential;
304
+ try {
305
+ credential = await resolvePublishCredential();
306
+ } catch (err) {
307
+ console.error();
308
+ console.error(` ${err.message}`);
309
+ console.error();
310
+ setCommandExitCode(1);
311
+ return;
312
+ }
302
313
  if (updateTarget || spaceOverride) {
303
- const credential = await tryResolveCredential();
304
- if (!credential) {
314
+ if (credential?.type !== "oauth") {
315
+ const flag = updateTarget ? "--update" : "--space";
316
+ const envKey = credential?.source === "env" || credential?.source === "env_alias" ? API_KEY_ENV_VAR[credential.source] : void 0;
305
317
  console.log();
306
318
  console.log(
307
- ` ${c.error(`${updateTarget ? "--update" : "--space"} requires authentication. Run 'hyperframes auth login' first.`)}`
319
+ ` ${c.error(
320
+ !credential ? `${flag} requires authentication. Run 'hyperframes auth login' first.` : envKey ? `${flag} requires a login; ${envKey} cannot own a project. Unset it and run 'hyperframes auth login'.` : `${flag} requires a login; an API key cannot own a project. Run 'hyperframes auth login'.`
321
+ )}`
308
322
  );
309
323
  console.log();
310
324
  setCommandExitCode(1);
@@ -336,7 +350,8 @@ var publish_default = defineCommand({
336
350
  public: args.public === true,
337
351
  projectId: requestedProjectId,
338
352
  spaceId,
339
- archive
353
+ archive,
354
+ credential
340
355
  });
341
356
  publishSpinner.stop(c.success("Project published"));
342
357
  console.log();
@@ -389,21 +404,12 @@ var publish_default = defineCommand({
389
404
  console.log(` ${c.dim("Claim URL")} ${c.accent(claimUrl.toString())}`);
390
405
  console.log(` ${c.dim("Access")} ${c.accent("Sign in required to claim")}`);
391
406
  console.log();
392
- if (updateTarget || spaceOverride) {
393
- console.log(
394
- ` ${c.error(`Your login looks expired or invalid, so ${updateTarget ? "--update" : "--space"} was ignored and a NEW url was created above.`)}`
395
- );
396
- console.log(
397
- ` ${c.dim("Run 'hyperframes auth login' again, then re-publish to update in place.")}`
398
- );
399
- } else {
400
- console.log(
401
- ` ${c.dim("Open the claim URL on hyperframes.dev, sign in, and claim the project to continue editing.")}`
402
- );
403
- console.log();
404
- const visibilityTip = args.public === true ? "--public applies to the claimed project; this claim URL still requires sign-in." : "Run 'hyperframes auth login' first for a stable link you can re-publish to; add --public to allow signed-out viewing.";
405
- console.log(` ${c.dim(`Tip: ${visibilityTip}`)}`);
406
- }
407
+ console.log(
408
+ ` ${c.dim("Open the claim URL on hyperframes.dev, sign in, and claim the project to continue editing.")}`
409
+ );
410
+ console.log();
411
+ const visibilityTip = args.public === true ? "--public applies to the claimed project; this claim URL still requires sign-in." : "Run 'hyperframes auth login' first for a stable link you can re-publish to; add --public to allow signed-out viewing.";
412
+ console.log(` ${c.dim(`Tip: ${visibilityTip}`)}`);
407
413
  console.log();
408
414
  }
409
415
  return;
@@ -4,13 +4,13 @@ import { dirname as __hf_dirname } from "node:path";
4
4
  var require = __hf_createRequire(import.meta.url);
5
5
  var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
- import "./chunk-RZAXPDIT.js";
7
+ import "./chunk-ZTZ7NCJT.js";
8
8
  import {
9
9
  assertOAuthConfiguredOrExit,
10
10
  isAuthError,
11
11
  readStore,
12
12
  refreshTokens
13
- } from "./chunk-DNXD7TOA.js";
13
+ } from "./chunk-I465DBM6.js";
14
14
  import {
15
15
  c
16
16
  } from "./chunk-ZTZA4UWZ.js";
@@ -8,7 +8,7 @@ import {
8
8
  DEFAULT_QUALITY,
9
9
  QUALITIES,
10
10
  isQuality
11
- } from "./chunk-KWABBJYI.js";
11
+ } from "./chunk-2XV3S6TA.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-IUBZ3DSO.js";
32
- import "./chunk-2WKWEB4T.js";
31
+ import "./chunk-MNMD6XLG.js";
32
+ import "./chunk-RCNDZEBU.js";
33
33
  import "./chunk-FSLYPQ5Z.js";
34
34
  import "./chunk-DPVXBVLL.js";
35
- import "./chunk-5IABQ7OX.js";
36
- import "./chunk-SHLFJFPM.js";
35
+ import "./chunk-GPGWCFIA.js";
36
+ import "./chunk-PATLRNZA.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-HYULUMEV.js");
162
+ const { render } = await import("./pipeline-WRNKPJZH.js");
163
163
  const spin = args.json ? null : ft();
164
164
  spin?.start("Preparing background-removal pipeline...");
165
165
  try {
@@ -6,15 +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-KNXXZ73S.js";
9
+ } from "./chunk-RYSHGEZL.js";
10
10
  import {
11
11
  reportVariableIssues,
12
12
  resolveVariablesArg,
13
13
  validateVariablesAgainstProject
14
- } from "./chunk-LHU6KXWL.js";
14
+ } from "./chunk-WW7V2GQJ.js";
15
15
  import {
16
16
  loadProducer
17
- } from "./chunk-2MMAA5I3.js";
17
+ } from "./chunk-XLG5C3XA.js";
18
+ import {
19
+ formatLintStartupMessage
20
+ } from "./chunk-6CSYCFQV.js";
21
+ import {
22
+ resolveProject
23
+ } from "./chunk-WBRDOH4A.js";
18
24
  import {
19
25
  renderJobObservabilityTelemetryPayload
20
26
  } from "./chunk-VXVRPIJA.js";
@@ -28,14 +34,8 @@ import {
28
34
  resolveBrowserTimeoutMsArg,
29
35
  resolveCompositionEntryArg,
30
36
  resolveDefaultFpsArg
31
- } from "./chunk-OLFFCC2D.js";
37
+ } from "./chunk-5OS5XIWZ.js";
32
38
  import "./chunk-YEIFI443.js";
33
- import {
34
- resolveProject
35
- } from "./chunk-6Q3Q7HGA.js";
36
- import {
37
- formatLintStartupMessage
38
- } from "./chunk-6CSYCFQV.js";
39
39
  import {
40
40
  errorBox,
41
41
  formatBytes,
@@ -46,21 +46,24 @@ import {
46
46
  } from "./chunk-IHFUKJOR.js";
47
47
  import {
48
48
  runEnvironmentChecks
49
- } from "./chunk-OV62R47Q.js";
49
+ } from "./chunk-VU4KRDRL.js";
50
50
  import "./chunk-PFCFR3KZ.js";
51
+ import {
52
+ createRenderCancellationScope
53
+ } from "./chunk-LZN67SFR.js";
51
54
  import {
52
55
  loadProjectConfig,
53
56
  readProjectConfigWithStatus,
54
57
  seedProjectAuthoringSkill
55
- } from "./chunk-WJP3UOB3.js";
58
+ } from "./chunk-3WXWL7AY.js";
56
59
  import "./chunk-XT7X6QCP.js";
57
60
  import "./chunk-4YYJOFKS.js";
58
61
  import {
59
62
  normalizeSkillSlug
60
63
  } from "./chunk-HVW7ABXD.js";
61
- import "./chunk-4PTKEI2C.js";
62
- import "./chunk-FNX7RJIJ.js";
63
- import "./chunk-PPTHGZTG.js";
64
+ import "./chunk-JACPHNUK.js";
65
+ import "./chunk-KYDM3W7A.js";
66
+ import "./chunk-ZBMQOBQK.js";
64
67
  import "./chunk-AWDFDFI3.js";
65
68
  import "./chunk-P6LJ4Y32.js";
66
69
  import "./chunk-GMECXFAN.js";
@@ -72,23 +75,20 @@ import {
72
75
  findFFprobe,
73
76
  getFFmpegInstallHint
74
77
  } from "./chunk-TVCRUG2S.js";
75
- import {
76
- createRenderCancellationScope
77
- } from "./chunk-U3CILSBM.js";
78
78
  import {
79
79
  trackRenderComplete,
80
80
  trackRenderError,
81
81
  trackRenderObservation,
82
82
  trackRenderPreflightRejected
83
- } from "./chunk-CDTPNYO3.js";
84
- import "./chunk-M6LKSPER.js";
83
+ } from "./chunk-NPHNGWJH.js";
84
+ import "./chunk-6WIWCYD5.js";
85
85
  import "./chunk-VWG7OQKU.js";
86
86
  import {
87
87
  c
88
88
  } from "./chunk-ZTZA4UWZ.js";
89
89
  import {
90
90
  bytesToMb
91
- } from "./chunk-U7AMFQ6G.js";
91
+ } from "./chunk-BN5KOC5O.js";
92
92
  import "./chunk-AMKC3AXA.js";
93
93
  import {
94
94
  markRenderSucceeded,
@@ -110,13 +110,13 @@ import {
110
110
  MAX_VP9_CPU_USED,
111
111
  MIN_VP9_CPU_USED,
112
112
  isVideoFrameFormat
113
- } from "./chunk-IUBZ3DSO.js";
113
+ } from "./chunk-MNMD6XLG.js";
114
114
  import {
115
115
  formatRenderOutputTimestamp,
116
116
  fpsToFfmpegArg,
117
117
  fpsToNumber,
118
118
  parseFps
119
- } from "./chunk-2WKWEB4T.js";
119
+ } from "./chunk-RCNDZEBU.js";
120
120
  import {
121
121
  checkOutputResolutionCompatibility,
122
122
  isAspectAgnosticResolutionAlias,
@@ -124,8 +124,8 @@ import {
124
124
  suggestMatchingPreset
125
125
  } from "./chunk-FSLYPQ5Z.js";
126
126
  import "./chunk-DPVXBVLL.js";
127
- import "./chunk-5IABQ7OX.js";
128
- import "./chunk-SHLFJFPM.js";
127
+ import "./chunk-GPGWCFIA.js";
128
+ import "./chunk-PATLRNZA.js";
129
129
  import "./chunk-VC76R6W2.js";
130
130
  import "./chunk-OFQWTKPW.js";
131
131
  import {
@@ -162,7 +162,7 @@ import {
162
162
  } from "./chunk-ISN5GRYI.js";
163
163
  import {
164
164
  VERSION
165
- } from "./chunk-3NXDJSD5.js";
165
+ } from "./chunk-WG4IZWEH.js";
166
166
  import {
167
167
  normalizeErrorMessage
168
168
  } from "./chunk-KNU5COPB.js";
@@ -660,7 +660,7 @@ async function executeRenderPlan(plan, dependencies, cancellation) {
660
660
  let batchModule;
661
661
  let preparedBatch;
662
662
  if (plan.batchPath) {
663
- batchModule = await import("./batchRender-BBBUJETN.js");
663
+ batchModule = await import("./batchRender-2HXYPO62.js");
664
664
  try {
665
665
  preparedBatch = batchModule.prepareBatchRender({
666
666
  batchPath: plan.batchPath,
@@ -15,7 +15,7 @@ import {
15
15
  reportVariableIssues,
16
16
  resolveVariablesArg,
17
17
  validateVariablesAgainstProject
18
- } from "./chunk-LHU6KXWL.js";
18
+ } from "./chunk-WW7V2GQJ.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-2WKWEB4T.js";
28
+ import "./chunk-RCNDZEBU.js";
29
29
  import "./chunk-FSLYPQ5Z.js";
30
30
  import "./chunk-DPVXBVLL.js";
31
- import "./chunk-SHLFJFPM.js";
31
+ import "./chunk-PATLRNZA.js";
32
32
  import "./chunk-VC76R6W2.js";
33
33
  import "./chunk-OFQWTKPW.js";
34
34
  import "./chunk-TQFG7HTI.js";
@@ -20,38 +20,39 @@ import {
20
20
  createCloudClient,
21
21
  pollUntilTerminal,
22
22
  reportApiError
23
- } from "./chunk-RLYTIMTS.js";
23
+ } from "./chunk-Y6W4DVPS.js";
24
24
  import {
25
25
  downloadToFile
26
26
  } from "./chunk-BXCMXMJQ.js";
27
+ import {
28
+ buildPublishFileMap,
29
+ zipPublishFileMap
30
+ } from "./chunk-JH556Q42.js";
31
+ import "./chunk-ZTZ7NCJT.js";
32
+ import "./chunk-SHB5VDMH.js";
33
+ import "./chunk-I465DBM6.js";
27
34
  import {
28
35
  reportVariableIssues,
29
36
  resolveVariablesArg,
30
37
  validateVariablesAgainstProject
31
- } from "./chunk-LHU6KXWL.js";
32
- import {
33
- buildPublishFileMap,
34
- zipPublishFileMap
35
- } from "./chunk-MVWXSRY6.js";
36
- import "./chunk-RZAXPDIT.js";
37
- import "./chunk-DNXD7TOA.js";
38
- import "./chunk-EOVYQ3IG.js";
38
+ } from "./chunk-WW7V2GQJ.js";
39
39
  import {
40
40
  resolveProject
41
- } from "./chunk-6Q3Q7HGA.js";
41
+ } from "./chunk-WBRDOH4A.js";
42
42
  import {
43
43
  errorBox,
44
44
  formatBytes,
45
45
  formatDuration
46
46
  } from "./chunk-IHFUKJOR.js";
47
+ import "./chunk-EOVYQ3IG.js";
47
48
  import "./chunk-PFCFR3KZ.js";
48
- import "./chunk-CDTPNYO3.js";
49
- import "./chunk-M6LKSPER.js";
49
+ import "./chunk-NPHNGWJH.js";
50
+ import "./chunk-6WIWCYD5.js";
50
51
  import "./chunk-VWG7OQKU.js";
51
52
  import {
52
53
  c
53
54
  } from "./chunk-ZTZA4UWZ.js";
54
- import "./chunk-U7AMFQ6G.js";
55
+ import "./chunk-BN5KOC5O.js";
55
56
  import "./chunk-AMKC3AXA.js";
56
57
  import {
57
58
  defineCommand
@@ -60,12 +61,12 @@ import "./chunk-54HJ63Q2.js";
60
61
  import {
61
62
  failCommand
62
63
  } from "./chunk-PBN6GBJE.js";
63
- import "./chunk-IUBZ3DSO.js";
64
- import "./chunk-2WKWEB4T.js";
64
+ import "./chunk-MNMD6XLG.js";
65
+ import "./chunk-RCNDZEBU.js";
65
66
  import "./chunk-FSLYPQ5Z.js";
66
67
  import "./chunk-DPVXBVLL.js";
67
- import "./chunk-5IABQ7OX.js";
68
- import "./chunk-SHLFJFPM.js";
68
+ import "./chunk-GPGWCFIA.js";
69
+ import "./chunk-PATLRNZA.js";
69
70
  import "./chunk-VC76R6W2.js";
70
71
  import "./chunk-OFQWTKPW.js";
71
72
  import "./chunk-TWWSYAKJ.js";
@@ -77,12 +78,12 @@ import "./chunk-GK4AIFIH.js";
77
78
  import "./chunk-2PSPARWP.js";
78
79
  import {
79
80
  withMeta
80
- } from "./chunk-FRIRP3DN.js";
81
+ } from "./chunk-7VXU7E5S.js";
81
82
  import "./chunk-K4WIOZFP.js";
82
83
  import "./chunk-XUXGIA7H.js";
83
84
  import "./chunk-WERLJGIC.js";
84
85
  import "./chunk-ISN5GRYI.js";
85
- import "./chunk-3NXDJSD5.js";
86
+ import "./chunk-WG4IZWEH.js";
86
87
  import {
87
88
  normalizeErrorMessage
88
89
  } from "./chunk-KNU5COPB.js";
@@ -14,7 +14,7 @@ import {
14
14
  loadProjectVariableSchema,
15
15
  reportVariableIssues,
16
16
  validateVariablesAgainstSchema
17
- } from "./chunk-LHU6KXWL.js";
17
+ } from "./chunk-WW7V2GQJ.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-2WKWEB4T.js";
30
+ import "./chunk-RCNDZEBU.js";
31
31
  import "./chunk-FSLYPQ5Z.js";
32
32
  import "./chunk-DPVXBVLL.js";
33
- import "./chunk-SHLFJFPM.js";
33
+ import "./chunk-PATLRNZA.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-U3CILSBM.js";
11
- import "./chunk-IUBZ3DSO.js";
12
- import "./chunk-2WKWEB4T.js";
10
+ } from "./chunk-LZN67SFR.js";
11
+ import "./chunk-MNMD6XLG.js";
12
+ import "./chunk-RCNDZEBU.js";
13
13
  import "./chunk-FSLYPQ5Z.js";
14
14
  import "./chunk-DPVXBVLL.js";
15
- import "./chunk-5IABQ7OX.js";
16
- import "./chunk-SHLFJFPM.js";
15
+ import "./chunk-GPGWCFIA.js";
16
+ import "./chunk-PATLRNZA.js";
17
17
  import "./chunk-VC76R6W2.js";
18
18
  import "./chunk-OFQWTKPW.js";
19
19
  import "./chunk-LAOCA3MQ.js";
@@ -11,15 +11,15 @@ import {
11
11
  resolveItemWithDependencies,
12
12
  resolveItemsByTag,
13
13
  unreachableRegistryMessage
14
- } from "./chunk-4PTKEI2C.js";
15
- import "./chunk-PPTHGZTG.js";
14
+ } from "./chunk-JACPHNUK.js";
15
+ import "./chunk-ZBMQOBQK.js";
16
16
  import "./chunk-AWDFDFI3.js";
17
17
  import "./chunk-P6LJ4Y32.js";
18
18
  import "./chunk-GMECXFAN.js";
19
- import "./chunk-2WKWEB4T.js";
19
+ import "./chunk-RCNDZEBU.js";
20
20
  import "./chunk-FSLYPQ5Z.js";
21
21
  import "./chunk-DPVXBVLL.js";
22
- import "./chunk-SHLFJFPM.js";
22
+ import "./chunk-PATLRNZA.js";
23
23
  import "./chunk-VC76R6W2.js";
24
24
  import "./chunk-OFQWTKPW.js";
25
25
  import "./chunk-TQFG7HTI.js";
@@ -11,20 +11,20 @@ import "./chunk-EOVYQ3IG.js";
11
11
  import {
12
12
  getPreparedWavDurationSeconds,
13
13
  prepareWav
14
- } from "./chunk-KFKEMNSW.js";
14
+ } from "./chunk-AA4KEZGW.js";
15
+ import {
16
+ stoppedByCancelSignal
17
+ } from "./chunk-LZN67SFR.js";
15
18
  import "./chunk-OAF4XJOW.js";
16
19
  import "./chunk-X5HWXQPU.js";
17
20
  import "./chunk-TVCRUG2S.js";
18
- import {
19
- stoppedByCancelSignal
20
- } from "./chunk-U3CILSBM.js";
21
21
  import "./chunk-AMKC3AXA.js";
22
- import "./chunk-IUBZ3DSO.js";
23
- import "./chunk-2WKWEB4T.js";
22
+ import "./chunk-MNMD6XLG.js";
23
+ import "./chunk-RCNDZEBU.js";
24
24
  import "./chunk-FSLYPQ5Z.js";
25
25
  import "./chunk-DPVXBVLL.js";
26
- import "./chunk-5IABQ7OX.js";
27
- import "./chunk-SHLFJFPM.js";
26
+ import "./chunk-GPGWCFIA.js";
27
+ import "./chunk-PATLRNZA.js";
28
28
  import "./chunk-VC76R6W2.js";
29
29
  import "./chunk-OFQWTKPW.js";
30
30
  import "./chunk-LAOCA3MQ.js";
@@ -5,7 +5,7 @@ import { fetchMedia } from "../../../scripts/lib/media-fetch.mjs";
5
5
  // credentials (oauth → Bearer, else api_key → X-Api-Key; $HEYGEN_CONFIG_DIR
6
6
  // overrides the dir). Vendored so the skill ships standalone. Pure node.
7
7
 
8
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
8
+ import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
9
9
  import { homedir } from "node:os";
10
10
  import { dirname, join, resolve } from "node:path";
11
11
 
@@ -17,13 +17,24 @@ export const HEYGEN_CLI_SOURCE_HEADERS = { "X-HeyGen-Source": "cli" };
17
17
  // OAuth-only cli-source header above, which also gates the free allowance.
18
18
  export const HEYGEN_CLIENT_SOURCE_HEADERS = { "X-HeyGen-Client-Source": "media-use" };
19
19
 
20
+ // A missing `.env`, or a `.env` folder (some home dirs have one), is no env file: null. Read without checking first,
21
+ // so the file cannot change between a check and the read.
22
+ function envFileText(path) {
23
+ try {
24
+ return readFileSync(path, "utf8");
25
+ } catch (error) {
26
+ if (["ENOENT", "ENOTDIR", "EISDIR"].includes(error.code)) return null;
27
+ throw error;
28
+ }
29
+ }
30
+
20
31
  // Walk up ≤5 dirs from startDir; load the first .env (shell env always wins).
21
32
  export function loadEnvFromDir(startDir) {
22
33
  let dir = resolve(startDir);
23
34
  for (let i = 0; i < 5; i++) {
24
- const envPath = join(dir, ".env");
25
- if (existsSync(envPath)) {
26
- for (const raw of readFileSync(envPath, "utf8").split("\n")) {
35
+ const text = envFileText(join(dir, ".env"));
36
+ if (text != null) {
37
+ for (const raw of text.split("\n")) {
27
38
  let line = raw.trim();
28
39
  if (!line || line.startsWith("#")) continue;
29
40
  if (line.startsWith("export ")) line = line.slice(7).trim();
@@ -52,8 +63,14 @@ export function heygenCredential() {
52
63
  if (envKey) return { headers: { "X-Api-Key": envKey } };
53
64
 
54
65
  const file = join(process.env.HEYGEN_CONFIG_DIR || join(homedir(), ".heygen"), "credentials");
55
- if (!existsSync(file)) return null;
56
- const raw = readFileSync(file, "utf8").trim();
66
+ // Callers only probe for a credential, so any path that cannot be read (missing, a folder, a locked ~/.heygen)
67
+ // is none. Read without checking first, so the file cannot change between a check and the read.
68
+ let raw;
69
+ try {
70
+ raw = readFileSync(file, "utf8").trim();
71
+ } catch {
72
+ return null;
73
+ }
57
74
  if (!raw) return null;
58
75
  if (!raw.startsWith("{")) return { headers: { "X-Api-Key": raw } };
59
76