hyperframes 0.8.157 → 0.8.159

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 (155) hide show
  1. package/README.md +14 -0
  2. package/dist/{add-XKIJJAC6.js → add-7UMRT6IJ.js} +11 -11
  3. package/dist/{animatedGifPrep-MTJRHJ5G.js → animatedGifPrep-COFZMEVD.js} +5 -5
  4. package/dist/api.js +11 -11
  5. package/dist/{asset-TEWIJMG5.js → asset-N37XIJTB.js} +2 -2
  6. package/dist/{assetCataloger-DI7FC5KZ.js → assetCataloger-ZOQ67MGR.js} +2 -2
  7. package/dist/{auth-ERW6EOVW.js → auth-GKFS2PL6.js} +1 -1
  8. package/dist/{autoUpdate-IHYT5BQF.js → autoUpdate-V4PLREDQ.js} +2 -2
  9. package/dist/{backgroundChecks-DTKZTDHN.js → backgroundChecks-TVOKARY2.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-FTZ67377.js → batchRender-IARQXQHN.js} +3 -3
  12. package/dist/{beats-AE4ZKJ3I.js → beats-FY4UDXBL.js} +11 -10
  13. package/dist/{benchmark-Q3YSQVWW.js → benchmark-ZJYFRFYF.js} +8 -8
  14. package/dist/{browser-IRRLG5FG.js → browser-WRZOH4PD.js} +3 -3
  15. package/dist/{bundleWithLocalizedFonts-IVO43QBQ.js → bundleWithLocalizedFonts-SFHKZZAX.js} +2 -2
  16. package/dist/{capture-ANATPLOS.js → capture-KFYPMVTT.js} +18 -8
  17. package/dist/{capture-MVH3XNAE.js → capture-LLLIHYEF.js} +2 -2
  18. package/dist/{catalog-5BJJW3G4.js → catalog-QO762U7V.js} +11 -11
  19. package/dist/{catch-up-DU2O72RS.js → catch-up-MELHNTGB.js} +4 -4
  20. package/dist/{check-P5D3YU2H.js → check-RX3LTKYB.js} +38 -37
  21. package/dist/{checkBrowser-RNIDFQZZ.js → checkBrowser-EUUMEILI.js} +35 -34
  22. package/dist/{chunk-YBKIAQNU.js → chunk-24N3BB5M.js} +3 -3
  23. package/dist/{chunk-IRRRH66M.js → chunk-2CEH75X3.js} +115 -13
  24. package/dist/{chunk-LQXHRO6F.js → chunk-3W3MOLRL.js} +2 -2
  25. package/dist/{chunk-EYNN5DJG.js → chunk-4D5RBIX6.js} +30 -10
  26. package/dist/{chunk-4YDQQQY6.js → chunk-4DEBDQD4.js} +2 -2
  27. package/dist/{chunk-6B6G3QMQ.js → chunk-4IKI2RYR.js} +11 -11
  28. package/dist/{chunk-QAWCWGQG.js → chunk-5GPX4X4L.js} +2 -2
  29. package/dist/{chunk-WZBGU46C.js → chunk-5HNZQSO4.js} +1 -1
  30. package/dist/{chunk-OTG5H2VM.js → chunk-5O6I5ZV7.js} +2 -2
  31. package/dist/{chunk-ZFZNPLRJ.js → chunk-5RSV6DWB.js} +4 -3
  32. package/dist/{chunk-WK375PPO.js → chunk-5YCFHCD4.js} +2 -2
  33. package/dist/{chunk-SMPG26EL.js → chunk-6TDZJ43G.js} +1 -1
  34. package/dist/{chunk-7ZWOLEGS.js → chunk-76NO4ZRM.js} +1 -1
  35. package/dist/{chunk-3FRK53UC.js → chunk-7RTTPSXG.js} +1 -1
  36. package/dist/{chunk-ZY4A2R7C.js → chunk-7XEVZDKU.js} +7 -7
  37. package/dist/{chunk-56QTFOWH.js → chunk-A5RDOXZE.js} +1 -1
  38. package/dist/{chunk-GPUVPZRK.js → chunk-AEQWF7PE.js} +1 -1
  39. package/dist/{chunk-DRT6ZQI2.js → chunk-AFYZWHR7.js} +7 -7
  40. package/dist/{chunk-EGKIQS5J.js → chunk-AQXJC64X.js} +1 -1
  41. package/dist/{chunk-BPTKOTF2.js → chunk-BEW7RCCW.js} +1 -1
  42. package/dist/{chunk-O4ZB2LUC.js → chunk-DLQQA25O.js} +1 -1
  43. package/dist/{chunk-23VDPRQ3.js → chunk-DVAEX52Q.js} +1 -1
  44. package/dist/{chunk-J7WFHOCW.js → chunk-EGJVFPUX.js} +1 -1
  45. package/dist/{chunk-T76NSAXO.js → chunk-ESOAYGIT.js} +6 -4
  46. package/dist/{chunk-OGJFYVRC.js → chunk-EWAAH7AU.js} +1 -1
  47. package/dist/{chunk-QRPYTJBW.js → chunk-FEKRMXT6.js} +1 -1
  48. package/dist/{chunk-J6SJCYAQ.js → chunk-GGDCBVXK.js} +4 -4
  49. package/dist/{chunk-YB26LWR2.js → chunk-H6BKVVU4.js} +2 -2
  50. package/dist/{chunk-EEEUI3ON.js → chunk-HEEN6X6O.js} +15 -8
  51. package/dist/{chunk-HQG7B5ZE.js → chunk-HO3SITVT.js} +1 -1
  52. package/dist/{chunk-25IXEZXH.js → chunk-IJ7JPX4W.js} +2 -2
  53. package/dist/{chunk-UGIIDY6C.js → chunk-IKDBT5WT.js} +79 -4
  54. package/dist/{chunk-FJT35XBA.js → chunk-INNBWSZK.js} +1 -1
  55. package/dist/{chunk-SLUFA6UM.js → chunk-IWOEAWIP.js} +1 -1
  56. package/dist/{chunk-LZ7C6CXD.js → chunk-JZLFHF2M.js} +2 -2
  57. package/dist/{chunk-NIT2ZCNI.js → chunk-K5BMHQOU.js} +9 -9
  58. package/dist/{chunk-CA7IDB4Z.js → chunk-MMYY4KV3.js} +18 -3
  59. package/dist/{chunk-ZTUZDPHE.js → chunk-MTUC2Z32.js} +2 -2
  60. package/dist/{chunk-XRRZZFGI.js → chunk-NCVGBBWC.js} +1 -1
  61. package/dist/{chunk-NFX4K6OW.js → chunk-NIGOOCVS.js} +1 -1
  62. package/dist/{chunk-TQ62EMUI.js → chunk-ODE7HHNN.js} +20 -20
  63. package/dist/chunk-TWBTXEDZ.js +3795 -0
  64. package/dist/{chunk-T243WV6D.js → chunk-UK4KRTIX.js} +1 -1
  65. package/dist/{chunk-SGIZMTWO.js → chunk-V5J4XEBG.js} +1 -1
  66. package/dist/{chunk-ZZ3ZWTOI.js → chunk-WWMFR4SH.js} +1 -1
  67. package/dist/{chunk-SWRIMG46.js → chunk-YITZFHRJ.js} +1 -1
  68. package/dist/{clean-4WDZ3TFN.js → clean-RW7Z4XM6.js} +18 -18
  69. package/dist/cli.js +52 -52
  70. package/dist/{cloud-FL6VP6IU.js → cloud-EEOV7JKB.js} +4 -4
  71. package/dist/{cloudrun-STLNWUBW.js → cloudrun-EZAXYVXG.js} +3 -3
  72. package/dist/{compare-MXZ7QKBN.js → compare-5UARQFXX.js} +29 -28
  73. package/dist/{compiler-VFJVUZWR.js → compiler-THI7BXZU.js} +2 -2
  74. package/dist/{component-XKBA5ON2.js → component-AYOFPL33.js} +3 -3
  75. package/dist/{compositions-2LUY6RQW.js → compositions-XJNJBOMG.js} +9 -9
  76. package/dist/{delete-OBAOZCXI.js → delete-653AOR25.js} +2 -2
  77. package/dist/{dist-SVTSOG4Q.js → dist-DLR4X3KN.js} +2 -2
  78. package/dist/{doctor-BLXWRHAE.js → doctor-WA6VRRE7.js} +7 -7
  79. package/dist/{events-V4LYF3MW.js → events-U5COLUWT.js} +2 -2
  80. package/dist/{events-LSJDXTXK.js → events-XXBCP2I4.js} +3 -3
  81. package/dist/{feedback-LMDNGTYB.js → feedback-DX6Q3LN7.js} +8 -8
  82. package/dist/{figma-BXHFTYCT.js → figma-LCQVLBXF.js} +3 -3
  83. package/dist/fontLocalizeCli.js +8 -8
  84. package/dist/{get-2ZKWMYCG.js → get-UYNPFMHX.js} +2 -2
  85. package/dist/{gpuPolicy-VXNJ4UBN.js → gpuPolicy-YIW3HL3B.js} +5 -5
  86. package/dist/{grade-compare-F7JNDXGF.js → grade-compare-YQEYATJV.js} +28 -28
  87. package/dist/{help-WGANCPIE.js → help-FDURC7WR.js} +1 -1
  88. package/dist/{history-FILLGPWB.js → history-EU5UZLHT.js} +10 -10
  89. package/dist/hyperframe-runtime.js +55 -55
  90. package/dist/hyperframe.manifest.json +1 -1
  91. package/dist/hyperframe.runtime.iife.js +55 -55
  92. package/dist/hyperframes-player.global.js +1 -1
  93. package/dist/{info-QQJ7C6SO.js → info-7T6CK6CL.js} +7 -7
  94. package/dist/{init-BQYTOLTG.js → init-KQYSKFVU.js} +31 -26
  95. package/dist/{inspect-BTBKTW5W.js → inspect-HQBV7VHS.js} +28 -27
  96. package/dist/{installer-HF5BXXXM.js → installer-OKKPQNKS.js} +4 -4
  97. package/dist/{keyframes-Y5QDNXST.js → keyframes-SK74JHOA.js} +6 -6
  98. package/dist/{lambda-ZCX7KGTY.js → lambda-S2N4VTRO.js} +4 -4
  99. package/dist/{layout-HITFK2H5.js → layout-MTE5Y6DE.js} +28 -27
  100. package/dist/{lint-6HH5X4NJ.js → lint-FJGGJYB7.js} +8 -8
  101. package/dist/{list-KBERMLPP.js → list-MBPALK5U.js} +2 -2
  102. package/dist/{login-MZNDV73I.js → login-HDN4T5E4.js} +4 -4
  103. package/dist/{media-treatment-YACCPVXX.js → media-treatment-IP34DXWN.js} +11 -11
  104. package/dist/{models-WHDUQZQZ.js → models-W5TASRHD.js} +8 -8
  105. package/dist/{motionShot-CRQTWUJB.js → motionShot-2WYEMOPJ.js} +12 -11
  106. package/dist/{normalize-audio-Z7UQTZ5J.js → normalize-audio-F4NQPXII.js} +7 -7
  107. package/dist/{open-GM2J5QEA.js → open-DRXNALDE.js} +7 -7
  108. package/dist/{parakeetRunner-5PNBGCGH.js → parakeetRunner-VISBF2EA.js} +8 -8
  109. package/dist/{pipeline-QA2422UI.js → pipeline-A2XOVZOM.js} +5 -5
  110. package/dist/{play-JGMRZO6G.js → play-W2QELQX7.js} +26 -26
  111. package/dist/{present-SI7ZE6IB.js → present-NHYRS4F4.js} +20 -20
  112. package/dist/{preview-PZOQHOIO.js → preview-SMJVUPXE.js} +21 -21
  113. package/dist/{producer-PQMZ7OYH.js → producer-276O3CKW.js} +1 -1
  114. package/dist/{projectConfig-EYYDESVO.js → projectConfig-FXFUHFPZ.js} +6 -6
  115. package/dist/{publication-MJY3XYYV.js → publication-SSQO6ECV.js} +2 -2
  116. package/dist/{publish-UT3L777Q.js → publish-UHDKDXZI.js} +10 -10
  117. package/dist/{remove-background-HT73ZUIG.js → remove-background-IG6U56HC.js} +6 -6
  118. package/dist/{render-6CJXA7UA.js → render-6P5RSFS3.js} +12 -12
  119. package/dist/{render-YTJ3SMCD.js → render-XQONIJEJ.js} +3 -3
  120. package/dist/{render-SFIX3O3B.js → render-ZJPSLTKV.js} +49 -28
  121. package/dist/{render-batch-AFB2XK3I.js → render-batch-MH3Z6IPT.js} +3 -3
  122. package/dist/{resolver-F2D2YCSQ.js → resolver-JMSGO2JF.js} +4 -4
  123. package/dist/{sherpa-IBKSF6GX.js → sherpa-64JLV4YM.js} +7 -7
  124. package/dist/skills/hyperframes/SKILL.md +1 -1
  125. package/dist/skills/hyperframes/references/frame-worker-core.md +1 -1
  126. package/dist/skills/hyperframes/references/intent-interview.md +2 -2
  127. package/dist/skills/hyperframes/references/production-loop.md +11 -11
  128. package/dist/skills/hyperframes/references/review-loop.md +6 -6
  129. package/dist/skills/hyperframes/references/storyboard-format.md +1 -1
  130. package/dist/skills/hyperframes-cli/SKILL.md +1 -1
  131. package/dist/{skills-G26XO2BY.js → skills-UXOL62PY.js} +5 -5
  132. package/dist/{skillsUpdateCheck-ZNDQSDB4.js → skillsUpdateCheck-5Y6676K6.js} +3 -3
  133. package/dist/{snapshot-SN7I7O7I.js → snapshot-SQBPCXOV.js} +74 -48
  134. package/dist/{src-NDI4KNT3.js → src-N42CT3YR.js} +6 -4
  135. package/dist/{src-4GCHM2LX.js → src-RQMK5INS.js} +7 -7
  136. package/dist/{staticProjectServer-TTC3LYHO.js → staticProjectServer-AQXVWMLU.js} +15 -13
  137. package/dist/studio/assets/{hyperframes-player-D3ufdOJ_.js → hyperframes-player-kqB1psAJ.js} +1 -1
  138. package/dist/studio/assets/{index-7oKTFwYd.js → index-BrViH8hj.js} +1 -1
  139. package/dist/studio/assets/{index-CALVHgsJ.js → index-C3AZLr-0.js} +1 -1
  140. package/dist/studio/assets/{index-DYk4U8BS.js → index-X_d1b5vz.js} +4 -4
  141. package/dist/studio/index.html +1 -1
  142. package/dist/{studio-api-TVIDDUZG.js → studio-api-GY5D7RAP.js} +9 -9
  143. package/dist/{studioServer-WBV2Q3SH.js → studioServer-O3VONODG.js} +49 -49
  144. package/dist/{telemetry-RVFKZEOH.js → telemetry-V2K5P7CI.js} +3 -3
  145. package/dist/{timeline-BUYUBI5X.js → timeline-YU3YPLKB.js} +18 -18
  146. package/dist/{tokens-PUA5FQKP.js → tokens-NPSSSG2A.js} +2 -2
  147. package/dist/{transcribe-DZ6O6EG5.js → transcribe-BXJNS3RZ.js} +6 -6
  148. package/dist/{transcribe-L2QHSNHO.js → transcribe-FNBDG24U.js} +12 -12
  149. package/dist/{updateCheck-PULEO7CW.js → updateCheck-MB3RHSVK.js} +2 -2
  150. package/dist/{upgrade-UJJIVNHJ.js → upgrade-5VNRUR37.js} +2 -2
  151. package/dist/{urlDownloader-INLS5A6I.js → urlDownloader-WCT7FMLA.js} +4 -4
  152. package/dist/{validate-DJAZMEQB.js → validate-UXSXRCE6.js} +20 -19
  153. package/dist/{video-3GLT6U6Z.js → video-NRNQBZMV.js} +5 -5
  154. package/package.json +1 -1
  155. package/dist/chunk-LPOTN5GW.js +0 -3795
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType,
9
9
  injectMediaCodecMapIntoHtml
10
- } from "./chunk-TQ62EMUI.js";
10
+ } from "./chunk-ODE7HHNN.js";
11
11
  import {
12
12
  PROXY_VARIANT_CONFIG,
13
13
  ProxyCapacityError,
@@ -18,18 +18,75 @@ import {
18
18
  recordProxyRequest,
19
19
  resolveProxy,
20
20
  resolveProxyVariantRequest
21
- } from "./chunk-ZFZNPLRJ.js";
21
+ } from "./chunk-5RSV6DWB.js";
22
22
  import {
23
23
  resolveAutoProxy
24
- } from "./chunk-GPUVPZRK.js";
24
+ } from "./chunk-AEQWF7PE.js";
25
25
  import {
26
26
  decodeWellFormedEscapes
27
27
  } from "./chunk-BSQ7XANM.js";
28
28
 
29
29
  // src/utils/staticProjectServer.ts
30
- import { createServer } from "http";
30
+ import { createServer, request as httpRequest } from "http";
31
+ import { Duplex } from "stream";
31
32
  import { createReadStream, existsSync, statSync } from "fs";
32
33
  import { isAbsolute, relative, resolve } from "path";
34
+ var REFUSED_LISTEN = /* @__PURE__ */ new Set(["EPERM", "EACCES"]);
35
+ function socketPair() {
36
+ const sides = [];
37
+ const side = (other) => new Duplex({
38
+ read() {
39
+ },
40
+ write(chunk, _encoding, done) {
41
+ other().push(chunk);
42
+ done();
43
+ },
44
+ final(done) {
45
+ other().push(null);
46
+ done();
47
+ }
48
+ });
49
+ sides.push(
50
+ side(() => sides[1]),
51
+ side(() => sides[0])
52
+ );
53
+ return [sides[0], sides[1]];
54
+ }
55
+ function answerInProcess(server, request) {
56
+ const [client, served] = socketPair();
57
+ server.emit("connection", served);
58
+ return new Promise((resolveAnswer, rejectAnswer) => {
59
+ const req = httpRequest(
60
+ {
61
+ method: request.method,
62
+ path: request.path,
63
+ headers: { ...request.headers, connection: "close" },
64
+ // No `agent`: Node uses createConnection only when no agent is given.
65
+ createConnection: () => client
66
+ },
67
+ (res) => {
68
+ const chunks = [];
69
+ res.on("data", (chunk) => chunks.push(chunk));
70
+ res.on("error", rejectAnswer);
71
+ res.on("end", () => {
72
+ const headers = {};
73
+ for (const [name, value] of Object.entries(res.headers)) {
74
+ if (value !== void 0 && name !== "connection" && name !== "transfer-encoding")
75
+ headers[name] = Array.isArray(value) ? value.join(", ") : value;
76
+ }
77
+ resolveAnswer({ status: res.statusCode ?? 500, headers, body: Buffer.concat(chunks) });
78
+ });
79
+ }
80
+ );
81
+ req.on("error", rejectAnswer);
82
+ req.end();
83
+ });
84
+ }
85
+ var inProcessServers = 0;
86
+ var inProcessAnswers = /* @__PURE__ */ new Map();
87
+ function inProcessAnswer(url) {
88
+ return inProcessAnswers.get(new URL(url).origin);
89
+ }
33
90
  function serveFileWithRange(filePath, rangeHeader, res, contentType = getMimeType(filePath)) {
34
91
  const size = statSync(filePath).size;
35
92
  const headers = {
@@ -165,7 +222,24 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
165
222
  if (!resolvedPort) rejectPort(new Error(bindErrorMessage));
166
223
  else resolvePort(resolvedPort);
167
224
  });
225
+ }).catch((error) => {
226
+ if (REFUSED_LISTEN.has(error.code ?? "")) return 0;
227
+ throw error;
168
228
  });
229
+ if (port === 0) {
230
+ server.removeAllListeners("error");
231
+ const url = `http://hyperframes-${++inProcessServers}.localhost/`;
232
+ const answer = (request) => answerInProcess(server, request);
233
+ inProcessAnswers.set(new URL(url).origin, answer);
234
+ return {
235
+ url,
236
+ port: 0,
237
+ close: async () => {
238
+ inProcessAnswers.delete(new URL(url).origin);
239
+ },
240
+ answer
241
+ };
242
+ }
169
243
  return {
170
244
  url: `http://127.0.0.1:${port}/`,
171
245
  port,
@@ -176,5 +250,6 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
176
250
  }
177
251
 
178
252
  export {
253
+ inProcessAnswer,
179
254
  serveStaticProjectHtml
180
255
  };
@@ -39,7 +39,7 @@ import {
39
39
  stripEmbeddedRuntimeScripts,
40
40
  styleElementsFor,
41
41
  warnUnknownEnumValues
42
- } from "./chunk-LPOTN5GW.js";
42
+ } from "./chunk-TWBTXEDZ.js";
43
43
  import {
44
44
  cssVariableName
45
45
  } from "./chunk-VC76R6W2.js";
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  formatVariableValidationIssue,
21
21
  validateVariables
22
- } from "./chunk-SGIZMTWO.js";
22
+ } from "./chunk-V5J4XEBG.js";
23
23
  import {
24
24
  extractCompositionMetadata
25
25
  } from "./chunk-ALLKNYC3.js";
@@ -7,10 +7,10 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  trackLintReport,
9
9
  trackLintRuleStreak
10
- } from "./chunk-XRRZZFGI.js";
10
+ } from "./chunk-NCVGBBWC.js";
11
11
  import {
12
12
  shouldTrack
13
- } from "./chunk-HQG7B5ZE.js";
13
+ } from "./chunk-HO3SITVT.js";
14
14
  import {
15
15
  LINT_RULE_COUNT,
16
16
  LINT_RULE_GROUP_COUNTS
@@ -9,17 +9,17 @@ import {
9
9
  resolveCliChromeGpuMode,
10
10
  seekCompositionTimeline,
11
11
  waitForRuntimeReady
12
- } from "./chunk-EYNN5DJG.js";
12
+ } from "./chunk-4D5RBIX6.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-CA7IDB4Z.js";
19
+ } from "./chunk-MMYY4KV3.js";
20
20
  import {
21
21
  resolveProject
22
- } from "./chunk-WZBGU46C.js";
22
+ } from "./chunk-5HNZQSO4.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-O4ZB2LUC.js";
36
+ } from "./chunk-DLQQA25O.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-PQMZ7OYH.js");
231
+ const { loadProducer } = await import("./producer-276O3CKW.js");
232
232
  const { localizeRemoteMediaSources, localizeRemoteImageSources, localizeRemoteFontFaces } = await loadProducer();
233
233
  dir = mkdtempSync(join(tmpdir(), "hf-validate-assets-"));
234
234
  const assetDir = dir;
@@ -249,9 +249,9 @@ 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-VFJVUZWR.js");
252
+ const { bundleToSingleHtml } = await import("./compiler-THI7BXZU.js");
253
253
  const { ensureBrowser } = await import("./manager-ZLJD3EAY.js");
254
- const { serveStaticProjectHtml } = await import("./staticProjectServer-TTC3LYHO.js");
254
+ const { serveStaticProjectHtml } = await import("./staticProjectServer-AQXVWMLU.js");
255
255
  const { lintProject } = await import("./lintProject-JGHKRO5L.js");
256
256
  const lintResult = await lintProject(projectDir);
257
257
  const compositionErrors = extractCompositionErrorsFromLint(lintResult);
@@ -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-NDI4KNT3.js");
276
+ const { buildChromeArgs, analyzeClipMediaFit } = await import("./src-N42CT3YR.js");
277
277
  const requestedGpuMode = resolveCliChromeGpuMode();
278
- const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu, resolveLocalWebGpu } = await import("./gpuPolicy-VXNJ4UBN.js");
278
+ const { assertWebGpuAdapterAvailable, compositionRequiresWebGpu, resolveLocalWebGpu } = await import("./gpuPolicy-YIW3HL3B.js");
279
279
  const resolvedGpuMode = await resolveManagedGpuMode(requestedGpuMode, browser.executablePath);
280
280
  const requiresWebGpu = compositionRequiresWebGpu(html);
281
281
  const { gpuConfig, softwareWebGpu } = resolveLocalWebGpu(resolvedGpuMode, requiresWebGpu);
@@ -6,13 +6,16 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveCaptureBrowserGpuMode
9
- } from "./chunk-YB26LWR2.js";
9
+ } from "./chunk-H6BKVVU4.js";
10
10
  import {
11
11
  requestCliExit
12
12
  } from "./chunk-PBN6GBJE.js";
13
13
  import {
14
14
  normalizeErrorMessage
15
15
  } from "./chunk-KNU5COPB.js";
16
+ import {
17
+ processIsAlive
18
+ } from "./chunk-KGPLIH7B.js";
16
19
 
17
20
  // src/browser/launch.ts
18
21
  var BrowserCleanupError = class extends AggregateError {
@@ -21,6 +24,7 @@ var browsers = /* @__PURE__ */ new Set();
21
24
  var closing = /* @__PURE__ */ new WeakMap();
22
25
  var pending = /* @__PURE__ */ new Map();
23
26
  var CLOSE_GRACE_MS = 1e3;
27
+ var EXIT_POLL_MS = 50;
24
28
  var listening = false;
25
29
  var shutdown;
26
30
  function stopForSignal(signal) {
@@ -45,7 +49,11 @@ async function resolveManagedGpuMode(requestedMode, chromePath, context = {}) {
45
49
  return resolveCaptureBrowserGpuMode(requestedMode, chromePath, {
46
50
  launch: async (puppeteer, options) => {
47
51
  context.signal?.throwIfAborted();
48
- const browser = await launchManagedBrowser(puppeteer, { ...options, signal: context.signal });
52
+ const browser = await launchManagedBrowser(puppeteer, {
53
+ ...options,
54
+ ...context.noListen ? { pipe: true, args: [...options.args ?? [], "--single-process"] } : {},
55
+ signal: context.signal
56
+ });
49
57
  try {
50
58
  context.onBrowser?.(browser);
51
59
  } catch (error) {
@@ -110,6 +118,7 @@ async function closeBrowser(browser) {
110
118
  if (child.exitCode !== null || child.signalCode !== null) return;
111
119
  const exited = new Promise((resolve) => child.once("exit", () => resolve()));
112
120
  let timer;
121
+ let poll;
113
122
  const grace = new Promise((resolve) => {
114
123
  timer = setTimeout(resolve, CLOSE_GRACE_MS);
115
124
  });
@@ -126,9 +135,15 @@ async function closeBrowser(browser) {
126
135
  CLOSE_GRACE_MS
127
136
  );
128
137
  });
129
- await Promise.race([exited, exitLimit]);
138
+ const goneBeforeExitEvent = new Promise((resolve) => {
139
+ poll = setInterval(() => {
140
+ if (child.pid === void 0 || !processIsAlive(child.pid)) resolve();
141
+ }, EXIT_POLL_MS);
142
+ });
143
+ await Promise.race([exited, goneBeforeExitEvent, exitLimit]);
130
144
  } finally {
131
145
  clearTimeout(timer);
146
+ clearInterval(poll);
132
147
  }
133
148
  }
134
149
 
@@ -6,8 +6,8 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
 
8
8
  // src/version.ts
9
- var VERSION = true ? "0.8.157" : "0.0.0-dev";
10
- var PRODUCER_VERSION = true ? "0.8.157" : "0.0.0-dev";
9
+ var VERSION = true ? "0.8.159" : "0.0.0-dev";
10
+ var PRODUCER_VERSION = true ? "0.8.159" : "0.0.0-dev";
11
11
 
12
12
  export {
13
13
  VERSION,
@@ -8,7 +8,7 @@ import {
8
8
  flush,
9
9
  shouldTrack,
10
10
  trackEvent
11
- } from "./chunk-HQG7B5ZE.js";
11
+ } from "./chunk-HO3SITVT.js";
12
12
  import {
13
13
  getPowerState
14
14
  } from "./chunk-QWQ6GQTI.js";
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
 
8
8
  // src/utils/producer.ts
9
9
  async function loadProducer() {
10
- return await import("./src-4GCHM2LX.js");
10
+ return await import("./src-RQMK5INS.js");
11
11
  }
12
12
 
13
13
  export {
@@ -21,7 +21,7 @@ import {
21
21
  splitElementInHtml,
22
22
  unwrapElementsFromHtml,
23
23
  wrapElementsInHtml
24
- } from "./chunk-56QTFOWH.js";
24
+ } from "./chunk-A5RDOXZE.js";
25
25
  import {
26
26
  DEFAULT_TARGET_LUFS,
27
27
  absoluteLoudnessPlan,
@@ -31,19 +31,6 @@ import {
31
31
  requiredFfmpeg,
32
32
  resolveLocalAudioPath
33
33
  } from "./chunk-C6TPGUWD.js";
34
- import {
35
- MAX_WINDOW_IDLE_MS,
36
- STUDIO_SIGNATURE_MANIFEST_PATHS,
37
- UNDO_MODES,
38
- clearFileWriteReceipt,
39
- createProjectSignature,
40
- createWriteToken,
41
- fileContentVersion,
42
- recordFileWriteReceipt,
43
- resolveProjectAndSignature,
44
- resolveProjectSignature,
45
- settledFileTag
46
- } from "./chunk-6PIGOKTE.js";
47
34
  import {
48
35
  PROXY_PARAMS_VERSION,
49
36
  PROXY_PENDING_RETRY_AFTER_SECONDS,
@@ -65,7 +52,20 @@ import {
65
52
  scanProjectMediaCodecMap,
66
53
  shouldPrewarmProxy,
67
54
  waitForProxy
68
- } from "./chunk-ZFZNPLRJ.js";
55
+ } from "./chunk-5RSV6DWB.js";
56
+ import {
57
+ MAX_WINDOW_IDLE_MS,
58
+ STUDIO_SIGNATURE_MANIFEST_PATHS,
59
+ UNDO_MODES,
60
+ clearFileWriteReceipt,
61
+ createProjectSignature,
62
+ createWriteToken,
63
+ fileContentVersion,
64
+ recordFileWriteReceipt,
65
+ resolveProjectAndSignature,
66
+ resolveProjectSignature,
67
+ settledFileTag
68
+ } from "./chunk-6PIGOKTE.js";
69
69
  import {
70
70
  STUDIO_MOTION_PATH,
71
71
  createStudioMotionRenderBodyScript,
@@ -101,7 +101,7 @@ import {
101
101
  } from "./chunk-EOVYQ3IG.js";
102
102
  import {
103
103
  addScenePartsManifest
104
- } from "./chunk-FJT35XBA.js";
104
+ } from "./chunk-INNBWSZK.js";
105
105
  import {
106
106
  ensureHfIds,
107
107
  stampHfIdsInPlace
@@ -115,7 +115,7 @@ import {
115
115
  parseFps,
116
116
  parsePreviewProxyBox,
117
117
  sameInstant
118
- } from "./chunk-SGIZMTWO.js";
118
+ } from "./chunk-V5J4XEBG.js";
119
119
  import {
120
120
  AFTER_FONTS_SCRIPT_TYPE,
121
121
  RUNTIME_BOOTSTRAP_ATTR,
@@ -129,7 +129,7 @@ import {
129
129
  resolveRateSpec,
130
130
  sourceTimeAt,
131
131
  stripEmbeddedRuntimeScripts
132
- } from "./chunk-LPOTN5GW.js";
132
+ } from "./chunk-TWBTXEDZ.js";
133
133
  import {
134
134
  HTML_ATTRIBUTE_ENTITIES,
135
135
  MagicString,
@@ -304,7 +304,7 @@ function clearElementScreenshotIsolation() {
304
304
  page.__hfThumbnailFaded = [];
305
305
  }
306
306
 
307
- // ../studio-server/dist/chunk-RHYH6YOX.js
307
+ // ../studio-server/dist/chunk-KJZ6WB6Z.js
308
308
  import { resolve } from "path";
309
309
  function isAutoProxyEnabled(adapter) {
310
310
  return adapter.autoProxy !== false;
@@ -5493,7 +5493,7 @@ async function prepareGsapMutationScript(c, res, firstMutation) {
5493
5493
  let block = extractGsapScriptBlock(html);
5494
5494
  if (!block && (firstMutation.type === "add" || firstMutation.type === "add-with-keyframes")) {
5495
5495
  const compId = html.match(/data-composition-id="([^"]+)"/)?.[1] ?? "main";
5496
- const { GSAP_CDN } = await import("./dist-SVTSOG4Q.js");
5496
+ const { GSAP_CDN } = await import("./dist-DLR4X3KN.js");
5497
5497
  const bootstrap = [
5498
5498
  `<script src="${GSAP_CDN}"></script>`,
5499
5499
  "<script>",