hyperframes 0.8.150 → 0.8.151

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 (174) hide show
  1. package/dist/{add-3ZIFEN2U.js → add-QKZZG7A2.js} +11 -11
  2. package/dist/{animatedGifPrep-77LPFLKJ.js → animatedGifPrep-YQDPYGOD.js} +6 -6
  3. package/dist/api.js +16 -16
  4. package/dist/{asset-EYSZEHM6.js → asset-3Q737Y4H.js} +2 -2
  5. package/dist/{assetCataloger-KX3HD7ZI.js → assetCataloger-BTHEBJJB.js} +2 -2
  6. package/dist/{auth-L6IWNRXY.js → auth-XL7EU3SO.js} +1 -1
  7. package/dist/{autoUpdate-2O3HZB65.js → autoUpdate-PJFLTQ3U.js} +2 -2
  8. package/dist/{backgroundChecks-BH2LMJYE.js → backgroundChecks-T5TIR5WK.js} +3 -3
  9. package/dist/backgroundChecksWorker.js +3 -3
  10. package/dist/{batchRender-ZBKAYLWU.js → batchRender-NFLVIDB4.js} +3 -3
  11. package/dist/{beats-IVLF2566.js → beats-JU4GZ26R.js} +12 -12
  12. package/dist/{benchmark-SYZFW2G7.js → benchmark-7U2YWLTW.js} +8 -8
  13. package/dist/{browser-OSW3L25S.js → browser-D57UPYDA.js} +5 -5
  14. package/dist/{bundleWithLocalizedFonts-I4CWOXLK.js → bundleWithLocalizedFonts-26MXQOZG.js} +2 -2
  15. package/dist/{capture-AZOQ57TM.js → capture-47BV25G3.js} +2 -2
  16. package/dist/{capture-V5ICGSVJ.js → capture-LT252COQ.js} +10 -10
  17. package/dist/{catalog-VBJOA2Y5.js → catalog-BEZXOV4O.js} +11 -11
  18. package/dist/{catch-up-TKSEDNJK.js → catch-up-KVV5X6BF.js} +4 -4
  19. package/dist/{check-3HFISKDB.js → check-6KQ433E6.js} +189 -53
  20. package/dist/{checkBrowser-MXBDNZJB.js → checkBrowser-PRDR6XBY.js} +170 -28
  21. package/dist/{chunk-AFRXL75S.js → chunk-35PWWBGZ.js} +1 -1
  22. package/dist/{chunk-WLIUULZQ.js → chunk-3SVC7SW4.js} +28 -14
  23. package/dist/{chunk-EL5QVJEG.js → chunk-3ZPFRDEJ.js} +1 -1
  24. package/dist/{chunk-UQYQ7TBA.js → chunk-4LE27ST4.js} +1 -1
  25. package/dist/{chunk-DUUFDLC4.js → chunk-4MLYMDQ4.js} +1 -1
  26. package/dist/{chunk-Z6WZDGCS.js → chunk-4PKQEKAI.js} +2 -2
  27. package/dist/{chunk-VQ7YIURZ.js → chunk-4YZYYP7V.js} +5 -5
  28. package/dist/{chunk-XPQSL5VS.js → chunk-54DMWFQZ.js} +8 -1
  29. package/dist/{chunk-UVVI2NJQ.js → chunk-BRF3O35X.js} +6 -6
  30. package/dist/chunk-DHPFXAUF.js +165 -0
  31. package/dist/{chunk-6SFPQ2RZ.js → chunk-DIOBKUBV.js} +2 -2
  32. package/dist/{chunk-XQMEGSHG.js → chunk-FAIYEIZ4.js} +1 -1
  33. package/dist/{chunk-LW5VFBSY.js → chunk-FLVI7FHU.js} +1 -1
  34. package/dist/{chunk-JDB65PPT.js → chunk-GNTVYF7E.js} +8 -7
  35. package/dist/{chunk-423DJVX2.js → chunk-HVXRYMGQ.js} +1 -1
  36. package/dist/{chunk-F2RLIE7P.js → chunk-IP73NMQT.js} +11 -11
  37. package/dist/{chunk-2KAL22B5.js → chunk-IPDS2SWI.js} +1 -1
  38. package/dist/{chunk-6KWA3XPS.js → chunk-IZ7L6V76.js} +1 -1
  39. package/dist/{chunk-5NAYNDBT.js → chunk-IZPN423R.js} +6 -2
  40. package/dist/{chunk-4WFNTWKZ.js → chunk-KQGWP4KH.js} +2 -2
  41. package/dist/{chunk-NFQY7EIC.js → chunk-KXX6NLOT.js} +1 -1
  42. package/dist/{chunk-S5F26DUL.js → chunk-L3N7RJHS.js} +3 -3
  43. package/dist/{chunk-73RBX2E7.js → chunk-L6RIMCMG.js} +3 -3
  44. package/dist/{chunk-7IEGPJ4P.js → chunk-LBT4AMSF.js} +1 -1
  45. package/dist/{chunk-6NPFJ255.js → chunk-LKQS72D5.js} +1 -1
  46. package/dist/{chunk-RW7NLGPD.js → chunk-N3I6RAOR.js} +22 -14
  47. package/dist/{chunk-M6UDJ2E7.js → chunk-N4IXP3MY.js} +2 -2
  48. package/dist/{chunk-7E4VHPKJ.js → chunk-O3DUX6P2.js} +5 -5
  49. package/dist/{chunk-O4DC5CHF.js → chunk-OSAH7S5M.js} +1 -1
  50. package/dist/{chunk-UJB7356Y.js → chunk-OZ4K46OV.js} +3 -3
  51. package/dist/{chunk-6QB7F2II.js → chunk-POEEDPJI.js} +1 -1
  52. package/dist/{chunk-DOVJRUFM.js → chunk-PUIELIFA.js} +1 -1
  53. package/dist/chunk-QBYHNRHU.js +3795 -0
  54. package/dist/{chunk-XANZ4R4P.js → chunk-QF7AE3DB.js} +3 -3
  55. package/dist/{chunk-A6ZO4BX7.js → chunk-QLGBNGXC.js} +2 -2
  56. package/dist/{chunk-FPAT5HTI.js → chunk-RJRGR5KF.js} +10 -10
  57. package/dist/{chunk-AXPNVC3N.js → chunk-RRBKEHST.js} +1 -1
  58. package/dist/{chunk-UAIUVPZE.js → chunk-RYL6ZIJP.js} +6 -6
  59. package/dist/{chunk-TZPZE5PS.js → chunk-S22FKF6G.js} +6 -3
  60. package/dist/{chunk-I6DATIHC.js → chunk-TCWMDCBX.js} +2 -2
  61. package/dist/{chunk-M5B42RL5.js → chunk-WUUOFMHU.js} +3 -3
  62. package/dist/{chunk-BLRJKBKP.js → chunk-XGLNQDLN.js} +1 -1
  63. package/dist/{chunk-FN6KAS7A.js → chunk-XKKBIFE5.js} +7 -7
  64. package/dist/{chunk-ZNHAJCEA.js → chunk-XNDXENJQ.js} +27 -12
  65. package/dist/{chunk-PCWOSS7G.js → chunk-XQKVEQNY.js} +2 -2
  66. package/dist/{chunk-R5A7454P.js → chunk-XYHBVSWD.js} +2 -2
  67. package/dist/{chunk-7JTFPUMA.js → chunk-YEBKEWKB.js} +1 -1
  68. package/dist/{chunk-CZQLCBWY.js → chunk-YG2Y55KF.js} +1 -1
  69. package/dist/{chunk-B3XLIBFL.js → chunk-YIJMVFEJ.js} +1 -1
  70. package/dist/{chunk-OQ7XMM3S.js → chunk-YZTVHRJ2.js} +1 -1
  71. package/dist/{chunk-3UAIVF4L.js → chunk-ZD3RDNZI.js} +1 -1
  72. package/dist/{chunk-AKYQGZLU.js → chunk-ZGCRVM5M.js} +2 -2
  73. package/dist/{clean-7HU7S7DT.js → clean-RLTHFTQA.js} +16 -16
  74. package/dist/cli.js +52 -52
  75. package/dist/{cloud-HAXHBO25.js → cloud-Q5TGBTW3.js} +4 -4
  76. package/dist/{cloudrun-A3PIJ6DX.js → cloudrun-4UZF74MV.js} +3 -3
  77. package/dist/{compare-6IPSQMSM.js → compare-Q5UNR2V4.js} +23 -23
  78. package/dist/{compiler-UQP2VXN6.js → compiler-ZXT27Z62.js} +3 -3
  79. package/dist/{component-FF3AU24M.js → component-H734P32V.js} +3 -3
  80. package/dist/{compositions-JSH4MZXB.js → compositions-YEHDSTDR.js} +10 -10
  81. package/dist/{delete-G763SW64.js → delete-LDBMPWRT.js} +2 -2
  82. package/dist/{dist-Z7Q3JS7K.js → dist-7JXLFD6U.js} +2 -2
  83. package/dist/{dist-HUMFCJ6T.js → dist-RGE4QASU.js} +1 -1
  84. package/dist/{doctor-WZB6WMBY.js → doctor-XNJFIWJ7.js} +12 -12
  85. package/dist/{events-MUWJJCC7.js → events-G6UFLNXR.js} +2 -2
  86. package/dist/{events-T4YFQC5G.js → events-UKCPUWMH.js} +3 -3
  87. package/dist/{feedback-AUTHQNN2.js → feedback-CK3KZ7DE.js} +6 -6
  88. package/dist/{ffmpeg-TZB5WAYE.js → ffmpeg-MJFMBBSF.js} +2 -2
  89. package/dist/{figma-NBG6WBI7.js → figma-3D5C737B.js} +3 -3
  90. package/dist/fontLocalizeCli.js +8 -8
  91. package/dist/{get-OXBJLKLV.js → get-QGTQUWFT.js} +2 -2
  92. package/dist/{gpuPolicy-HBCCEQUS.js → gpuPolicy-G5QAQDYF.js} +6 -6
  93. package/dist/{grade-compare-2LX4FDH7.js → grade-compare-XIHOM62P.js} +25 -25
  94. package/dist/{help-LJI46EDO.js → help-U5UBXT52.js} +1 -1
  95. package/dist/{history-MFKAQEHU.js → history-5J73QZSA.js} +5 -5
  96. package/dist/hyperframe-runtime.js +54 -54
  97. package/dist/hyperframe.manifest.json +1 -1
  98. package/dist/hyperframe.runtime.iife.js +54 -54
  99. package/dist/hyperframes-player.global.js +3 -3
  100. package/dist/{info-D6Y5O2QE.js → info-RJHQQQUP.js} +7 -7
  101. package/dist/{init-47NZPEBI.js → init-M6UQOYYC.js} +28 -28
  102. package/dist/{inspect-U5UXJK5D.js → inspect-PRQWDBTP.js} +24 -24
  103. package/dist/{installer-AW7VFVTQ.js → installer-ZL7UKYK5.js} +4 -4
  104. package/dist/{keyframes-5G334NWB.js → keyframes-VMUJYTCQ.js} +6 -6
  105. package/dist/{lambda-GASGXN3A.js → lambda-ON42DRQD.js} +4 -4
  106. package/dist/{layout-OXAQFLJS.js → layout-QKBFVDVY.js} +24 -24
  107. package/dist/{lint-F36QFSNF.js → lint-ZQHHL2SV.js} +7 -7
  108. package/dist/{lintProject-SSEXWCH6.js → lintProject-3Z6OJCSO.js} +1 -1
  109. package/dist/{list-TR6QCI53.js → list-YBRKIWGF.js} +2 -2
  110. package/dist/{login-6LA2RWTC.js → login-4B2YXGLB.js} +4 -4
  111. package/dist/{manager-ES2UFT4X.js → manager-X44GKUEL.js} +3 -3
  112. package/dist/{manager-GWU5J6RJ.js → manager-ZLJD3EAY.js} +2 -2
  113. package/dist/{media-treatment-BOHYDWVY.js → media-treatment-5C5EJAAP.js} +11 -11
  114. package/dist/{models-6GW5Q3IW.js → models-R7ZDWBJ6.js} +12 -12
  115. package/dist/{motionShot-O7AOMPUN.js → motionShot-ZHESZNUL.js} +13 -13
  116. package/dist/{normalize-audio-UO5B4O76.js → normalize-audio-EVWZVTBM.js} +4 -4
  117. package/dist/{open-JV2EHVKM.js → open-TV6HT4UT.js} +4 -4
  118. package/dist/{parakeetRunner-23DZUF6G.js → parakeetRunner-YVVF4CG6.js} +13 -13
  119. package/dist/{pipeline-KTICSIK7.js → pipeline-ETR5SEBS.js} +8 -8
  120. package/dist/{play-CMUYPXBC.js → play-C6WONRZV.js} +17 -17
  121. package/dist/{preflight-JOD4OXGC.js → preflight-JYOX64YP.js} +4 -4
  122. package/dist/{present-ZDT5FM2H.js → present-RANXTVPA.js} +13 -13
  123. package/dist/{preview-ASHLGKDD.js → preview-KF6UMBT2.js} +18 -18
  124. package/dist/{producer-FFH2KUAZ.js → producer-CY2GXBWN.js} +1 -1
  125. package/dist/{projectConfig-FHIAOPKW.js → projectConfig-KPXCNMBM.js} +6 -6
  126. package/dist/{publication-WO5ZXURT.js → publication-Y36N4A7E.js} +2 -2
  127. package/dist/{publish-QWO2W7FB.js → publish-RCQJO35C.js} +8 -8
  128. package/dist/{remove-background-BO5MQR25.js → remove-background-3ZMXVWLB.js} +9 -9
  129. package/dist/{render-SDHFXL3Y.js → render-FKVRCDT2.js} +57 -34
  130. package/dist/{render-XTJKGT3G.js → render-PTNEFO5U.js} +8 -8
  131. package/dist/{render-HS3YOLSD.js → render-WUSTRMUD.js} +3 -3
  132. package/dist/{render-batch-J64AJHQY.js → render-batch-AQHU2JWZ.js} +3 -3
  133. package/dist/renderSetupWorker.js +4 -4
  134. package/dist/{resolver-IHNWMDJA.js → resolver-L5BDZJKU.js} +4 -4
  135. package/dist/{sherpa-FXBBYMDR.js → sherpa-3S3ISG7G.js} +12 -12
  136. package/dist/skills/hyperframes/references/frame-worker-core.md +11 -9
  137. package/dist/skills/hyperframes/references/subagent-dispatch.md +1 -1
  138. package/dist/skills/media-use/audio/scripts/lib/tts.cleanup.test.mjs +175 -0
  139. package/dist/skills/media-use/audio/scripts/lib/tts.mjs +24 -19
  140. package/dist/skills/media-use/references/grading.md +1 -2
  141. package/dist/skills/media-use/references/meta.md +17 -17
  142. package/dist/skills/media-use/references/operations.md +6 -6
  143. package/dist/skills/media-use/references/setup-providers.md +3 -4
  144. package/dist/skills/media-use/scripts/lib/cutlist.mjs +9 -2
  145. package/dist/skills/media-use/scripts/lib/cutlist.test.mjs +12 -0
  146. package/dist/skills/media-use/scripts/lib/telemetry.mjs +4 -1
  147. package/dist/skills/media-use/scripts/lib/telemetry.test.mjs +20 -0
  148. package/dist/skills/media-use/scripts/transcript-cut.mjs +23 -4
  149. package/dist/skills/media-use/scripts/transcript-cut.test.mjs +224 -0
  150. package/dist/{skills-ALLSN7TB.js → skills-X4WQEKNF.js} +5 -5
  151. package/dist/{skillsUpdateCheck-EIT5NWM6.js → skillsUpdateCheck-UYCVHDZ6.js} +3 -3
  152. package/dist/{snapshot-Y3I76OIZ.js → snapshot-YEYHQEZQ.js} +250 -139
  153. package/dist/{src-7V6LBC56.js → src-2NN2WB6X.js} +7 -5
  154. package/dist/{src-S5IZVJUX.js → src-OLBDPEG6.js} +7 -7
  155. package/dist/{staticProjectServer-QLWWGHZE.js → staticProjectServer-7H35NMWB.js} +13 -13
  156. package/dist/studio/assets/{hyperframes-player-kup62bDR.js → hyperframes-player-DJt8E7k4.js} +1 -1
  157. package/dist/studio/assets/{index-CS_m0TkX.js → index-BGks9KLI.js} +73 -73
  158. package/dist/studio/assets/{index-B8BBYY8L.js → index-DWIHrAY2.js} +1 -1
  159. package/dist/studio/assets/{index-DQ5jGodF.js → index-DgbLblGR.js} +1 -1
  160. package/dist/studio/index.html +1 -1
  161. package/dist/{studio-api-UBFLZ3DA.js → studio-api-HGM2A5I3.js} +7 -7
  162. package/dist/{studioServer-REOVCIFP.js → studioServer-M6XFL7N6.js} +43 -43
  163. package/dist/{telemetry-C3GDIXHO.js → telemetry-KVCZKVTE.js} +3 -3
  164. package/dist/{timeline-H42EGLMT.js → timeline-VYYKZR4V.js} +66 -13
  165. package/dist/{tokens-2K7ISTKV.js → tokens-B5NFFL55.js} +2 -2
  166. package/dist/{transcribe-NUPASAUP.js → transcribe-SBETOIWI.js} +11 -11
  167. package/dist/{transcribe-DVM7UFZZ.js → transcribe-WNFRYZAC.js} +17 -17
  168. package/dist/{updateCheck-3RWFSEZD.js → updateCheck-5MM2DFUC.js} +2 -2
  169. package/dist/{upgrade-YKKL36N7.js → upgrade-LWID54R3.js} +2 -2
  170. package/dist/{urlDownloader-6JNJYLPN.js → urlDownloader-CVLNXFDG.js} +5 -5
  171. package/dist/{validate-Z7KQT7GO.js → validate-V4CGQ6OF.js} +18 -18
  172. package/dist/{video-EXL2JDSL.js → video-VJB2KRSS.js} +6 -6
  173. package/package.json +1 -1
  174. package/dist/chunk-CEND6BLF.js +0 -3795
@@ -0,0 +1,165 @@
1
+ import { createRequire as __hf_createRequire } from "node:module";
2
+ import { fileURLToPath as __hf_fileURLToPath } from "node:url";
3
+ import { dirname as __hf_dirname } from "node:path";
4
+ var require = __hf_createRequire(import.meta.url);
5
+ var __filename = __hf_fileURLToPath(import.meta.url);
6
+ var __dirname = __hf_dirname(__filename);
7
+
8
+ // src/utils/toolContext.ts
9
+ import { appendFileSync } from "fs";
10
+ import { extname, isAbsolute, resolve } from "path";
11
+ var TOOL_CONTEXT_VERSION = 1;
12
+ var isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
13
+ function parseEvents(value) {
14
+ if (!isRecord(value) || !isRecord(value.transport)) return void 0;
15
+ const { type, path } = value.transport;
16
+ if (type !== "ndjson-file" || typeof path !== "string" || !isAbsolute(path)) return void 0;
17
+ return { path };
18
+ }
19
+ function parseProjectLock(value) {
20
+ if (!isRecord(value)) return void 0;
21
+ const { waitMs } = value;
22
+ if (typeof waitMs !== "number" || !Number.isFinite(waitMs) || waitMs < 0) return void 0;
23
+ return { waitMs };
24
+ }
25
+ function readToolContext(raw = process.env.HF_TOOL_CONTEXT) {
26
+ if (!raw) return {};
27
+ let value;
28
+ try {
29
+ value = JSON.parse(raw);
30
+ } catch {
31
+ return {};
32
+ }
33
+ if (!isRecord(value) || value.version !== TOOL_CONTEXT_VERSION || !isRecord(value.capabilities))
34
+ return {};
35
+ const events = parseEvents(value.capabilities.events);
36
+ const projectLock = parseProjectLock(value.capabilities["project-lock"]);
37
+ return { ...events && { events }, ...projectLock && { projectLock } };
38
+ }
39
+ var MEDIA_TYPES = {
40
+ ".png": "image/png",
41
+ ".jpg": "image/jpeg",
42
+ ".jpeg": "image/jpeg"
43
+ };
44
+ function reportArtifacts(command, role, paths, context = readToolContext()) {
45
+ if (!context.events || paths.length === 0) return;
46
+ const lines = paths.map((path) => {
47
+ const absolute = resolve(path);
48
+ const event = {
49
+ version: TOOL_CONTEXT_VERSION,
50
+ type: "artifact.created",
51
+ command,
52
+ artifact: {
53
+ role,
54
+ path: absolute,
55
+ mediaType: MEDIA_TYPES[extname(absolute).toLowerCase()] ?? "application/octet-stream"
56
+ }
57
+ };
58
+ return JSON.stringify(event) + "\n";
59
+ });
60
+ try {
61
+ appendFileSync(context.events.path, lines.join(""));
62
+ } catch (error) {
63
+ console.error(`HF_TOOL_CONTEXT events could not be written: ${error.message}`);
64
+ }
65
+ }
66
+
67
+ // src/utils/projectLock.ts
68
+ import { linkSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "fs";
69
+ import { dirname, join } from "path";
70
+ import { setTimeout as sleep } from "timers/promises";
71
+ var ProjectLockTimeout = class extends Error {
72
+ };
73
+ var POLL_MS = 250;
74
+ var projectLockPath = (projectDir) => join(projectDir, ".hyperframes", "project.lock");
75
+ function readHolder(path) {
76
+ try {
77
+ return JSON.parse(readFileSync(path, "utf8"));
78
+ } catch {
79
+ return null;
80
+ }
81
+ }
82
+ function alive(pid) {
83
+ try {
84
+ process.kill(pid, 0);
85
+ return true;
86
+ } catch (error) {
87
+ return error.code === "EPERM";
88
+ }
89
+ }
90
+ var sameHolder = (a, b) => a?.pid === b.pid && a.startedAt === b.startedAt && a.command === b.command;
91
+ function breakStaleHolder(path, current, holder) {
92
+ const breakPath = `${path}.break`;
93
+ const breakDraft = `${breakPath}.${holder.pid}.${holder.startedAt}`;
94
+ let acquired = false;
95
+ writeFileSync(breakDraft, JSON.stringify(holder), { flag: "wx" });
96
+ try {
97
+ try {
98
+ linkSync(breakDraft, breakPath);
99
+ } catch (error) {
100
+ if (error.code === "EEXIST") return false;
101
+ throw error;
102
+ }
103
+ if (sameHolder(readHolder(path), current)) {
104
+ try {
105
+ unlinkSync(path);
106
+ } catch (error) {
107
+ if (error.code !== "ENOENT") throw error;
108
+ }
109
+ }
110
+ acquired = tryAcquire(path, holder);
111
+ } finally {
112
+ unlinkSync(breakDraft);
113
+ if (sameHolder(readHolder(breakPath), holder)) unlinkSync(breakPath);
114
+ }
115
+ return acquired;
116
+ }
117
+ function tryAcquire(path, holder) {
118
+ const draft = `${path}.${holder.pid}.${holder.startedAt}`;
119
+ writeFileSync(draft, JSON.stringify(holder), { flag: "wx" });
120
+ try {
121
+ linkSync(draft, path);
122
+ return true;
123
+ } catch (error) {
124
+ if (error.code !== "EEXIST") throw error;
125
+ } finally {
126
+ unlinkSync(draft);
127
+ }
128
+ const current = readHolder(path);
129
+ if (current && !alive(current.pid)) return breakStaleHolder(path, current, holder);
130
+ return false;
131
+ }
132
+ async function withProjectLock(projectDir, command, run, context = readToolContext()) {
133
+ if (!context.projectLock) return run();
134
+ const path = projectLockPath(projectDir);
135
+ mkdirSync(dirname(path), { recursive: true });
136
+ const holder = { pid: process.pid, command, startedAt: Date.now() };
137
+ const deadline = holder.startedAt + context.projectLock.waitMs;
138
+ while (!tryAcquire(path, holder)) {
139
+ const remaining = deadline - Date.now();
140
+ if (remaining <= 0) {
141
+ const current = readHolder(path);
142
+ const breakPath = `${path}.break`;
143
+ const breaker = readHolder(breakPath);
144
+ if ((!current || !alive(current.pid)) && breaker && !alive(breaker.pid)) {
145
+ throw new ProjectLockTimeout(
146
+ `hyperframes left ${breakPath} (pid ${breaker.pid}); delete it to continue`
147
+ );
148
+ }
149
+ throw new ProjectLockTimeout(
150
+ `hyperframes ${current?.command ?? "another command"} (pid ${current?.pid ?? "unknown"}) is still using this project after ${Math.round(context.projectLock.waitMs / 1e3)}s`
151
+ );
152
+ }
153
+ await sleep(Math.min(POLL_MS, remaining));
154
+ }
155
+ try {
156
+ return await run();
157
+ } finally {
158
+ if (sameHolder(readHolder(path), holder)) unlinkSync(path);
159
+ }
160
+ }
161
+
162
+ export {
163
+ reportArtifacts,
164
+ withProjectLock
165
+ };
@@ -21,10 +21,10 @@ import {
21
21
  emitWords,
22
22
  getPreparedWavDurationSeconds,
23
23
  prepareWav
24
- } from "./chunk-XANZ4R4P.js";
24
+ } from "./chunk-QF7AE3DB.js";
25
25
  import {
26
26
  stoppedByCancelSignal
27
- } from "./chunk-4WFNTWKZ.js";
27
+ } from "./chunk-KQGWP4KH.js";
28
28
  import {
29
29
  PARAKEET_MODEL_LABEL,
30
30
  SHERPA_ERROR_PREFIX,
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-HVW7ABXD.js";
13
13
  import {
14
14
  DEFAULT_REGISTRY_URL
15
- } from "./chunk-OQ7XMM3S.js";
15
+ } from "./chunk-YZTVHRJ2.js";
16
16
 
17
17
  // src/utils/projectConfig.ts
18
18
  import { readFileSync, writeFileSync } from "fs";
@@ -10,7 +10,7 @@ import {
10
10
  isDevice,
11
11
  isQuality,
12
12
  render
13
- } from "./chunk-TZPZE5PS.js";
13
+ } from "./chunk-S22FKF6G.js";
14
14
 
15
15
  // src/api/removeBackground.ts
16
16
  import { resolve } from "path";
@@ -10390,6 +10390,9 @@ var MASK_IMAGE_URL_RE = /\b(?:-webkit-)?mask-image\s*:\s*[^;{}]*url\(\s*(?:"([^"
10390
10390
  function isLocalStylesheetHref(href) {
10391
10391
  return !!href && !/^(https?:|data:|blob:|\/\/)/i.test(href);
10392
10392
  }
10393
+ function staysInsideProjectRoot(href) {
10394
+ return !href.startsWith("/") && !href.split("/").includes("..");
10395
+ }
10393
10396
  function collectLocalStylesheets(projectDir, document, compSrcPath) {
10394
10397
  const styles = [];
10395
10398
  for (const link of querySelectorAllIncludingTemplates(document, "link")) {
@@ -10397,14 +10400,12 @@ function collectLocalStylesheets(projectDir, document, compSrcPath) {
10397
10400
  if (!rel.split(/\s+/).some((part) => part.toLowerCase() === "stylesheet")) continue;
10398
10401
  const href = link.getAttribute("href") ?? "";
10399
10402
  if (!isLocalStylesheetHref(href)) continue;
10400
- const rootRelative = compSrcPath ? join2(dirname(compSrcPath), href) : href;
10401
- const stylesheet = resolveExistingLocalAsset(projectDir, rootRelative);
10403
+ const besideFile = compSrcPath ? join2(dirname(compSrcPath), href) : href;
10404
+ const stylesheet = resolveExistingLocalAsset(projectDir, besideFile) ?? (compSrcPath && staysInsideProjectRoot(href) ? resolveExistingLocalAsset(projectDir, href) : null);
10402
10405
  if (!stylesheet) continue;
10403
- styles.push({
10404
- href,
10405
- content: readFileSync(stylesheet.resolved, "utf-8"),
10406
- rootRelativePath: stylesheet.rootRelativePath
10407
- });
10406
+ const read = readProjectFile(stylesheet.resolved);
10407
+ if (read.kind !== "file") continue;
10408
+ styles.push({ href, content: read.text, rootRelativePath: stylesheet.rootRelativePath });
10408
10409
  }
10409
10410
  return styles;
10410
10411
  }
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-PBN6GBJE.js";
16
16
  import {
17
17
  parseFps
18
- } from "./chunk-PCWOSS7G.js";
18
+ } from "./chunk-XQKVEQNY.js";
19
19
 
20
20
  // src/browser/windowsCrash.ts
21
21
  var STATUS_STACK_BUFFER_OVERRUN_DEC = "3221225595";
@@ -9,17 +9,17 @@ import {
9
9
  resolveCliChromeGpuMode,
10
10
  seekCompositionTimeline,
11
11
  waitForRuntimeReady
12
- } from "./chunk-UAIUVPZE.js";
12
+ } from "./chunk-RYL6ZIJP.js";
13
13
  import {
14
14
  resolveCompositionViewportFromHtml
15
15
  } from "./chunk-FH7WODJH.js";
16
16
  import {
17
17
  launchManagedBrowser,
18
18
  resolveManagedGpuMode
19
- } from "./chunk-AXPNVC3N.js";
19
+ } from "./chunk-RRBKEHST.js";
20
20
  import {
21
21
  resolveProject
22
- } from "./chunk-NFQY7EIC.js";
22
+ } from "./chunk-KXX6NLOT.js";
23
23
  import {
24
24
  defineCommand
25
25
  } from "./chunk-S3S4TGEH.js";
@@ -33,7 +33,7 @@ import {
33
33
  import {
34
34
  printDeprecationNotice,
35
35
  withMeta
36
- } from "./chunk-AFRXL75S.js";
36
+ } from "./chunk-35PWWBGZ.js";
37
37
  import {
38
38
  decodeWellFormedEscapes
39
39
  } from "./chunk-BSQ7XANM.js";
@@ -228,7 +228,7 @@ function extractCompositionErrorsFromLint(lintResult) {
228
228
  async function localizeRemoteAssets(html) {
229
229
  let dir;
230
230
  try {
231
- const { loadProducer } = await import("./producer-FFH2KUAZ.js");
231
+ const { loadProducer } = await import("./producer-CY2GXBWN.js");
232
232
  const { localizeRemoteMediaSources, localizeRemoteImageSources, localizeRemoteFontFaces } = await loadProducer();
233
233
  dir = mkdtempSync(join(tmpdir(), "hf-validate-assets-"));
234
234
  const assetDir = dir;
@@ -249,10 +249,10 @@ async function localizeRemoteAssets(html) {
249
249
  }
250
250
  async function validateInBrowser(project, opts) {
251
251
  const projectDir = project.dir;
252
- const { bundleToSingleHtml } = await import("./compiler-UQP2VXN6.js");
253
- const { ensureBrowser } = await import("./manager-GWU5J6RJ.js");
254
- const { serveStaticProjectHtml } = await import("./staticProjectServer-QLWWGHZE.js");
255
- const { lintProject } = await import("./lintProject-SSEXWCH6.js");
252
+ const { bundleToSingleHtml } = await import("./compiler-ZXT27Z62.js");
253
+ const { ensureBrowser } = await import("./manager-ZLJD3EAY.js");
254
+ const { serveStaticProjectHtml } = await import("./staticProjectServer-7H35NMWB.js");
255
+ const { lintProject } = await import("./lintProject-3Z6OJCSO.js");
256
256
  const lintResult = await lintProject(projectDir);
257
257
  const compositionErrors = extractCompositionErrorsFromLint(lintResult);
258
258
  const html = await bundleToSingleHtml(projectDir);
@@ -273,9 +273,9 @@ async function validateInBrowser(project, opts) {
273
273
  try {
274
274
  const browser = await ensureBrowser();
275
275
  const puppeteer = await import("puppeteer-core");
276
- const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-7V6LBC56.js");
276
+ const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-2NN2WB6X.js");
277
277
  const requestedGpuMode = resolveCliChromeGpuMode();
278
- const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu, resolveLocalWebGpu } = await import("./gpuPolicy-HBCCEQUS.js");
278
+ const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu, resolveLocalWebGpu } = await import("./gpuPolicy-G5QAQDYF.js");
279
279
  const resolvedGpuMode = await resolveManagedGpuMode(requestedGpuMode, browser.executablePath);
280
280
  const requiresWebGpu = compositionRequiresWebGpu(html);
281
281
  const { gpuConfig, softwareWebGpu } = resolveLocalWebGpu(resolvedGpuMode, requiresWebGpu);
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  sherpaParakeetInstalled,
9
9
  sherpaUnsupportedReason
10
- } from "./chunk-6SFPQ2RZ.js";
10
+ } from "./chunk-DIOBKUBV.js";
11
11
  import {
12
12
  findParakeet
13
13
  } from "./chunk-JZIEZCQM.js";
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-XUXGIA7H.js";
30
30
  import {
31
31
  VERSION
32
- } from "./chunk-I6DATIHC.js";
32
+ } from "./chunk-TCWMDCBX.js";
33
33
  import {
34
34
  CANARIES,
35
35
  canaryEnvVar,
@@ -26,7 +26,7 @@ import {
26
26
  renderFrameIdForRenderId,
27
27
  resolveAuthoredTimingWindow,
28
28
  toFps
29
- } from "./chunk-PCWOSS7G.js";
29
+ } from "./chunk-XQKVEQNY.js";
30
30
  import {
31
31
  AUDIO_GROUP_RENDER_ID_ATTR,
32
32
  COLOR_GRADING_SOURCE_HIDDEN_ATTR,
@@ -55,7 +55,7 @@ import {
55
55
  shiftRateLane,
56
56
  sourceTimeAt,
57
57
  timeAtSourceTime
58
- } from "./chunk-CEND6BLF.js";
58
+ } from "./chunk-QBYHNRHU.js";
59
59
  import {
60
60
  clampAudioGain,
61
61
  isAudibleVideoElement
@@ -559,6 +559,7 @@ function applyConcreteGpuScreenshotClamp(currentForceScreenshot, resolvedGpuMode
559
559
  // ../engine/src/utils/sdrCaptureColor.ts
560
560
  var SDR_RGB_TO_BT709_FILTER = "scale=out_color_matrix=bt709:out_range=tv:flags=neighbor";
561
561
  var SDR_CAPTURE_TO_BT709_FILTER = `scale=in_color_matrix=bt601:in_range=pc:flags=neighbor,format=gbrp,${SDR_RGB_TO_BT709_FILTER}`;
562
+ var SDR_RGB_TO_TAGGED_BT709_FILTER = `${SDR_RGB_TO_BT709_FILTER},setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709:range=tv`;
562
563
 
563
564
  // ../parsers/dist/htmlAttributeSpans.js
564
565
  function readAttributeValue(html, at) {
@@ -8979,6 +8980,7 @@ function buildEncoderArgs(options, inputArgs, outputPath, gpuEncoder = null) {
8979
8980
  }
8980
8981
  } else if (codec === "prores") {
8981
8982
  args.push("-c:v", "prores_ks", "-profile:v", preset, "-vendor", "apl0");
8983
+ args.push("-vf", SDR_RGB_TO_TAGGED_BT709_FILTER);
8982
8984
  args.push("-pix_fmt", pixelFormat);
8983
8985
  appendRenderProvenanceArgs(args, outputPath);
8984
8986
  return [...args, "-y", outputPath];
@@ -9640,6 +9642,7 @@ function buildStreamingArgs(options, outputPath, gpuEncoder = null) {
9640
9642
  }
9641
9643
  } else if (codec === "prores") {
9642
9644
  args.push("-c:v", "prores_ks", "-profile:v", preset, "-vendor", "apl0");
9645
+ args.push("-vf", SDR_RGB_TO_TAGGED_BT709_FILTER);
9643
9646
  args.push("-pix_fmt", pixelFormat);
9644
9647
  appendRenderProvenanceArgs(args, outputPath);
9645
9648
  return [...args, "-y", outputPath];
@@ -16848,6 +16851,7 @@ export {
16848
16851
  shouldClampToScreenshotForConcreteGpu,
16849
16852
  applyConcreteGpuScreenshotClamp,
16850
16853
  SDR_RGB_TO_BT709_FILTER,
16854
+ SDR_RGB_TO_TAGGED_BT709_FILTER,
16851
16855
  BrowserLeasePool,
16852
16856
  setHostHandlesSigint,
16853
16857
  resolveHeadlessShellPath,
@@ -6,12 +6,12 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  setHostHandlesSigint
9
- } from "./chunk-5NAYNDBT.js";
9
+ } from "./chunk-IZPN423R.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
13
13
  processParentPid
14
- } from "./chunk-B3XLIBFL.js";
14
+ } from "./chunk-YIJMVFEJ.js";
15
15
  import {
16
16
  processIsAlive
17
17
  } from "./chunk-KGPLIH7B.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-K2FLNJVB.js";
10
10
  import {
11
11
  trackCommandFailure
12
- } from "./chunk-3UAIVF4L.js";
12
+ } from "./chunk-ZD3RDNZI.js";
13
13
  import {
14
14
  failCommand
15
15
  } from "./chunk-PBN6GBJE.js";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType,
9
9
  injectMediaCodecMapIntoHtml
10
- } from "./chunk-UVVI2NJQ.js";
10
+ } from "./chunk-BRF3O35X.js";
11
11
  import {
12
12
  PROXY_VARIANT_CONFIG,
13
13
  ProxyCapacityError,
@@ -18,10 +18,10 @@ import {
18
18
  recordProxyRequest,
19
19
  resolveProxy,
20
20
  resolveProxyVariantRequest
21
- } from "./chunk-EL5QVJEG.js";
21
+ } from "./chunk-3ZPFRDEJ.js";
22
22
  import {
23
23
  resolveAutoProxy
24
- } from "./chunk-XQMEGSHG.js";
24
+ } from "./chunk-FAIYEIZ4.js";
25
25
  import {
26
26
  decodeWellFormedEscapes
27
27
  } from "./chunk-BSQ7XANM.js";
@@ -7,14 +7,14 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  trackLintReport,
9
9
  trackLintRuleStreak
10
- } from "./chunk-3UAIVF4L.js";
10
+ } from "./chunk-ZD3RDNZI.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-6KWA3XPS.js";
13
+ } from "./chunk-IZ7L6V76.js";
14
14
  import {
15
15
  LINT_RULE_COUNT,
16
16
  LINT_RULE_GROUP_COUNTS
17
- } from "./chunk-JDB65PPT.js";
17
+ } from "./chunk-GNTVYF7E.js";
18
18
 
19
19
  // src/telemetry/lintStreaks.ts
20
20
  import { createHash } from "crypto";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  runRenderSetupWorker
9
- } from "./chunk-XPQSL5VS.js";
9
+ } from "./chunk-54DMWFQZ.js";
10
10
  import {
11
11
  chromeMajorCeiling,
12
12
  exceedsChromeCeiling
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-AWDFDFI3.js";
15
15
  import {
16
16
  isBlockedNetworkHost
17
- } from "./chunk-5NAYNDBT.js";
17
+ } from "./chunk-IZPN423R.js";
18
18
  import {
19
19
  DOMParser,
20
20
  parseHTML
@@ -16,7 +16,7 @@ import {
16
16
  EncoderInterruptedError,
17
17
  encoderFailureError,
18
18
  prepareAnimatedGifInputs
19
- } from "./chunk-R5A7454P.js";
19
+ } from "./chunk-XYHBVSWD.js";
20
20
  import {
21
21
  createStudioPositionSeekReapplyScript
22
22
  } from "./chunk-EOOEC32M.js";
@@ -147,7 +147,7 @@ import {
147
147
  validateEngineConfigSnapshot,
148
148
  verifyDiskDrawElementSamples,
149
149
  writeCapturedFrame
150
- } from "./chunk-5NAYNDBT.js";
150
+ } from "./chunk-IZPN423R.js";
151
151
  import {
152
152
  assignBundledRuntimeCompositionIds,
153
153
  buildVariablesByCompScript,
@@ -160,7 +160,7 @@ import {
160
160
  isTemplateEntry,
161
161
  parsesAsScript,
162
162
  prepareFlattenedInnerRoot
163
- } from "./chunk-WLIUULZQ.js";
163
+ } from "./chunk-3SVC7SW4.js";
164
164
  import {
165
165
  LOW_MEMORY_TOTAL_MB_THRESHOLD,
166
166
  getCgroupMemoryLimitMb,
@@ -184,7 +184,7 @@ import {
184
184
  resolveAbsoluteMediaStartSeconds,
185
185
  resolveAuthoredTimingWindow,
186
186
  toFps
187
- } from "./chunk-PCWOSS7G.js";
187
+ } from "./chunk-XQKVEQNY.js";
188
188
  import {
189
189
  COMPOSITION_SOURCE_URL,
190
190
  HF_COLOR_GRADING_ATTR,
@@ -212,7 +212,7 @@ import {
212
212
  shouldClampResolvedMediaDuration,
213
213
  sourceTimeAt,
214
214
  styleElementsFor
215
- } from "./chunk-CEND6BLF.js";
215
+ } from "./chunk-QBYHNRHU.js";
216
216
  import {
217
217
  MAX_AUDIO_GAIN
218
218
  } from "./chunk-UJKQWGFF.js";
@@ -236,7 +236,7 @@ import {
236
236
  } from "./chunk-TWWSYAKJ.js";
237
237
  import {
238
238
  lintHyperframeHtml
239
- } from "./chunk-JDB65PPT.js";
239
+ } from "./chunk-GNTVYF7E.js";
240
240
  import {
241
241
  isUnresolvedAssetPlaceholder,
242
242
  readProjectFile,
@@ -4425,7 +4425,8 @@ function computeSegmentPlanHash(input) {
4425
4425
  input.imageFormat,
4426
4426
  input.useGpu ? "gpu" : "cpu",
4427
4427
  `${input.outputWidth}x${input.outputHeight}`,
4428
- input.motionBlur
4428
+ input.motionBlur,
4429
+ input.captureQuality === void 0 ? "" : String(input.captureQuality)
4429
4430
  ].join(" ");
4430
4431
  return createHash2("sha256").update(ordered).digest("hex").slice(0, 16);
4431
4432
  }
@@ -7289,6 +7290,9 @@ function isActionableProbeFailure(line) {
7289
7290
  function resolveCaptureImageFormat(input) {
7290
7291
  return input.needsAlpha || input.motionBlur ? "png" : "jpeg";
7291
7292
  }
7293
+ function resolveCaptureJpegQuality(quality) {
7294
+ return quality === "draft" ? 80 : 100;
7295
+ }
7292
7296
 
7293
7297
  // ../producer/src/services/render/stages/probeStage.ts
7294
7298
  var FRAME_BOUNDARY_EPSILON = 1e-3;
@@ -7444,7 +7448,7 @@ async function runProbeStage(input) {
7444
7448
  height,
7445
7449
  fps: job.config.fps,
7446
7450
  format: captureFormat,
7447
- quality: captureFormat === "png" ? void 0 : 80,
7451
+ quality: captureFormat === "png" ? void 0 : resolveCaptureJpegQuality(job.config.quality),
7448
7452
  variables: job.config.variables,
7449
7453
  deviceScaleFactor,
7450
7454
  motionBlur,
@@ -8393,13 +8397,16 @@ function shouldAllowAdaptiveCaptureRetry(workerCount, _explicitlyConfigured) {
8393
8397
  return workerCount > 1;
8394
8398
  }
8395
8399
  var JPEG_RAW_RGBA_DIVISOR = 8;
8400
+ var HIGH_QUALITY_JPEG_RAW_RGBA_DIVISOR = 4;
8396
8401
  var DISK_PROJECTION_SAMPLE_FRAMES = 10;
8397
8402
  function estimateDiskCaptureBytes(totalFrames, captureOptions) {
8398
8403
  const scale = captureOptions.deviceScaleFactor ?? 1;
8399
8404
  const outputWidth = Math.ceil(captureOptions.width * scale);
8400
8405
  const outputHeight = Math.ceil(captureOptions.height * scale);
8401
8406
  const rawBytes = Math.ceil(totalFrames) * outputWidth * outputHeight * 4;
8402
- return frameFileExtension(captureOptions.format) === "jpg" ? Math.ceil(rawBytes / JPEG_RAW_RGBA_DIVISOR) : rawBytes;
8407
+ return frameFileExtension(captureOptions.format) === "jpg" ? Math.ceil(
8408
+ rawBytes / ((captureOptions.quality ?? 80) > 80 ? HIGH_QUALITY_JPEG_RAW_RGBA_DIVISOR : JPEG_RAW_RGBA_DIVISOR)
8409
+ ) : rawBytes;
8403
8410
  }
8404
8411
  function freeDiskBytesAt(path) {
8405
8412
  try {
@@ -11815,7 +11822,7 @@ async function executeRenderPipeline(input) {
11815
11822
  height,
11816
11823
  fps: job.config.fps,
11817
11824
  format: captureImageFormat,
11818
- quality: captureImageFormat === "png" ? void 0 : job.config.quality === "draft" ? 80 : 95,
11825
+ quality: captureImageFormat === "png" ? void 0 : resolveCaptureJpegQuality(job.config.quality),
11819
11826
  variables: job.config.variables,
11820
11827
  deviceScaleFactor,
11821
11828
  motionBlur: job.config.motionBlur,
@@ -12443,7 +12450,8 @@ async function executeRenderPipeline(input) {
12443
12450
  // Device-scaled: the capture buffer, not the CSS composition size.
12444
12451
  outputWidth: captureCompositionWidth ?? width,
12445
12452
  outputHeight: captureCompositionHeight ?? height,
12446
- motionBlur: job.config.motionBlur ? JSON.stringify(job.config.motionBlur) : ""
12453
+ motionBlur: job.config.motionBlur ? JSON.stringify(job.config.motionBlur) : "",
12454
+ captureQuality: captureOptions.quality
12447
12455
  });
12448
12456
  const segmentDir = segmentDirFor(join25(projectDir, "renders"), segmentPlanHash);
12449
12457
  let completedSegments = /* @__PURE__ */ new Set();
@@ -14393,7 +14401,7 @@ function startServer(options = {}) {
14393
14401
  });
14394
14402
  async function shutdown(signal) {
14395
14403
  log.info(`Received ${signal}, shutting down`);
14396
- const { drainBrowserPool } = await import("./src-7V6LBC56.js");
14404
+ const { drainBrowserPool } = await import("./src-2NN2WB6X.js");
14397
14405
  await drainBrowserPool().catch(() => {
14398
14406
  });
14399
14407
  const handle = await Promise.race([
@@ -15579,7 +15587,7 @@ async function buildLocalExecutionPlan(projectDir, config, executionPlanDir, opt
15579
15587
  if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
15580
15588
  if (probeResult.probeSession) {
15581
15589
  try {
15582
- const { closeCaptureSession: closeCaptureSession2 } = await import("./src-7V6LBC56.js");
15590
+ const { closeCaptureSession: closeCaptureSession2 } = await import("./src-2NN2WB6X.js");
15583
15591
  await closeCaptureSession2(probeResult.probeSession);
15584
15592
  } catch (err) {
15585
15593
  log.warn("[plan] probe session close failed", {
@@ -17221,7 +17229,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
17221
17229
  height: plan2.dimensions.height,
17222
17230
  fps: { num: plan2.dimensions.fpsNum, den: plan2.dimensions.fpsDen },
17223
17231
  format: plan2.dimensions.format === "mp4" ? "jpeg" : "png",
17224
- quality: plan2.dimensions.format === "mp4" ? 80 : void 0,
17232
+ quality: plan2.dimensions.format === "mp4" ? resolveCaptureJpegQuality(job.config.quality) : void 0,
17225
17233
  deviceScaleFactor: encoder.deviceScaleFactor,
17226
17234
  // Re-inject the controller's snapshotted variables so the chunk's
17227
17235
  // first capture sees the same `window.__hfVariables` the in-process
@@ -8,14 +8,14 @@ import {
8
8
  DEFAULT_REGISTRY_URL,
9
9
  fetchItemFile,
10
10
  validRegistryItem
11
- } from "./chunk-OQ7XMM3S.js";
11
+ } from "./chunk-YZTVHRJ2.js";
12
12
  import {
13
13
  publishRegistryFile,
14
14
  registryTargetPath
15
15
  } from "./chunk-GMECXFAN.js";
16
16
  import {
17
17
  validateVariables
18
- } from "./chunk-PCWOSS7G.js";
18
+ } from "./chunk-XQKVEQNY.js";
19
19
  import {
20
20
  realProjectRoot
21
21
  } from "./chunk-OFQWTKPW.js";
@@ -6,21 +6,21 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  parakeetRunner
9
- } from "./chunk-2KAL22B5.js";
9
+ } from "./chunk-IPDS2SWI.js";
10
10
  import {
11
11
  DecodeCancelled,
12
12
  prepareSherpaWav,
13
13
  sherpaUnsupportedReason,
14
14
  transcribeWithSherpa
15
- } from "./chunk-6SFPQ2RZ.js";
15
+ } from "./chunk-DIOBKUBV.js";
16
16
  import {
17
17
  initialModelForLanguage,
18
18
  transcribe
19
- } from "./chunk-XANZ4R4P.js";
19
+ } from "./chunk-QF7AE3DB.js";
20
20
  import {
21
21
  createRenderCancellationScope,
22
22
  stoppedByCancelSignal
23
- } from "./chunk-4WFNTWKZ.js";
23
+ } from "./chunk-KQGWP4KH.js";
24
24
  import {
25
25
  formatSrt,
26
26
  formatVtt,
@@ -30,7 +30,7 @@ import {
30
30
  import {
31
31
  DEFAULT_MODEL,
32
32
  isWhisperUnavailable
33
- } from "./chunk-CZQLCBWY.js";
33
+ } from "./chunk-YG2Y55KF.js";
34
34
  import {
35
35
  normalizeErrorMessage
36
36
  } from "./chunk-KNU5COPB.js";
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  updateNoticesSuppressed
9
- } from "./chunk-AFRXL75S.js";
9
+ } from "./chunk-35PWWBGZ.js";
10
10
  import {
11
11
  hostAnswers
12
12
  } from "./chunk-K4WIOZFP.js";