hyperframes 0.8.112 → 0.8.113

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 (157) hide show
  1. package/dist/{add-NIVC2YMT.js → add-ILIGSLV4.js} +15 -15
  2. package/dist/{animatedGifPrep-NWAJKCHG.js → animatedGifPrep-U7FMC7DB.js} +6 -6
  3. package/dist/{asset-O6JJKF3Z.js → asset-OFDEIAGM.js} +2 -2
  4. package/dist/{assetCataloger-DJSPW3RL.js → assetCataloger-5LCGR5XU.js} +2 -2
  5. package/dist/{auth-6XRZQQQS.js → auth-5JDDEX2M.js} +2 -2
  6. package/dist/{autoUpdate-GZHLQBLS.js → autoUpdate-JXVZVJCV.js} +2 -2
  7. package/dist/{backgroundChecks-4QQRGJ5S.js → backgroundChecks-BBWGY3V6.js} +3 -3
  8. package/dist/backgroundChecksWorker.js +3 -3
  9. package/dist/{batchRender-PJGNXN7F.js → batchRender-QVJ7NEUH.js} +3 -3
  10. package/dist/{beats-VYR6B4UB.js → beats-YEYVQMX6.js} +11 -11
  11. package/dist/{benchmark-CGP2NKIP.js → benchmark-J2V46VWI.js} +12 -12
  12. package/dist/{browser-ZWD4ETXK.js → browser-XBWASLD2.js} +11 -11
  13. package/dist/{bundleWithLocalizedFonts-JWHKLSZM.js → bundleWithLocalizedFonts-4CVITCYK.js} +2 -2
  14. package/dist/{capture-C4MPRLJV.js → capture-F2Y7TIHU.js} +8 -8
  15. package/dist/{capture-IQ7AUK6M.js → capture-GLHK4ST7.js} +2 -2
  16. package/dist/{catalog-RZ7PWQMS.js → catalog-3QDMTDK2.js} +15 -15
  17. package/dist/{check-7UU4SSO6.js → check-O3RR4NWI.js} +32 -32
  18. package/dist/{checkBrowser-6KYNYIU7.js → checkBrowser-K36DAG4S.js} +29 -29
  19. package/dist/{chunk-OXZO4WQI.js → chunk-2DBYGR4N.js} +9 -9
  20. package/dist/{chunk-OWN3ZIIK.js → chunk-3IUSKIZW.js} +1 -1
  21. package/dist/{chunk-BD3MHTSR.js → chunk-3XPZJUKM.js} +2 -2
  22. package/dist/{chunk-YQ5MFXWG.js → chunk-4KGMIOMY.js} +5 -5
  23. package/dist/{chunk-N34BYX3E.js → chunk-4PFZPP2N.js} +54 -30
  24. package/dist/{chunk-KQ3VNA6R.js → chunk-7543YIMQ.js} +1 -1
  25. package/dist/{chunk-LYBFDHXD.js → chunk-7CGIICLA.js} +3 -3
  26. package/dist/{chunk-H3WFEPV2.js → chunk-BOUDTDBQ.js} +1 -1
  27. package/dist/chunk-C6AIZOQN.js +3541 -0
  28. package/dist/{chunk-E664L6K3.js → chunk-DDK22K3I.js} +3 -3
  29. package/dist/{chunk-QXERSWXX.js → chunk-DQBY7FRR.js} +123 -3
  30. package/dist/{chunk-36XLW2TP.js → chunk-DR7QW6C5.js} +2 -2
  31. package/dist/{chunk-VW6CVKVA.js → chunk-E52XEEAA.js} +2 -2
  32. package/dist/{chunk-Q7U7QRC7.js → chunk-EMZF2TPA.js} +2 -2
  33. package/dist/{chunk-5SDXALUQ.js → chunk-ENHAGQEP.js} +1 -1
  34. package/dist/{chunk-C4JINRJK.js → chunk-FCEFKWPM.js} +1 -1
  35. package/dist/{chunk-PRETPA7Z.js → chunk-FW7K32YT.js} +1 -1
  36. package/dist/{chunk-2GXKCB7J.js → chunk-FXHVADV6.js} +1 -1
  37. package/dist/{chunk-P74PW7KR.js → chunk-G2T2X6FZ.js} +3 -3
  38. package/dist/{chunk-CS4IE5G7.js → chunk-GDJ74GHW.js} +4 -3
  39. package/dist/{chunk-VHRHI3CU.js → chunk-HTQR7SUZ.js} +1 -1
  40. package/dist/{chunk-EA4LCCJI.js → chunk-HYXL3VJA.js} +5 -5
  41. package/dist/{chunk-M4RYK5OF.js → chunk-IP3XINRB.js} +1 -1
  42. package/dist/{chunk-A6GVXZZ3.js → chunk-IRJBTYJF.js} +1 -1
  43. package/dist/chunk-K4WKGXRC.js +18 -0
  44. package/dist/{chunk-JRULOVZK.js → chunk-L5QASNBN.js} +1 -1
  45. package/dist/{chunk-7G25WGTA.js → chunk-L5SYYW2P.js} +2 -2
  46. package/dist/{chunk-TSZU5JMC.js → chunk-LMC46FK5.js} +2 -2
  47. package/dist/{chunk-J2S4MY2M.js → chunk-OCNCK5FQ.js} +2 -2
  48. package/dist/{chunk-NOOBRCMC.js → chunk-OEA2J2TF.js} +3 -3
  49. package/dist/{chunk-BSBIG74E.js → chunk-P3FGUSFK.js} +8 -8
  50. package/dist/{chunk-4BXTKKRD.js → chunk-QPR4N2D4.js} +1 -1
  51. package/dist/{chunk-GODQ5XA4.js → chunk-R4NWAW35.js} +8 -16
  52. package/dist/{chunk-KIIKVKHB.js → chunk-SIN32SJB.js} +2 -2
  53. package/dist/{chunk-KPSRL2NB.js → chunk-T3NMEYGM.js} +1 -1
  54. package/dist/{chunk-BLI5XATY.js → chunk-U4VSY56O.js} +1 -1
  55. package/dist/{chunk-3Q7HXIXZ.js → chunk-VFCKXTBB.js} +5 -2
  56. package/dist/{chunk-UTXMQVB2.js → chunk-VIJ35BJ6.js} +10 -10
  57. package/dist/{chunk-7VIXEM6Q.js → chunk-VLC7JS4K.js} +1 -1
  58. package/dist/{chunk-TXVN43SX.js → chunk-VTP4VSRP.js} +8 -8
  59. package/dist/{chunk-BZGWHPRW.js → chunk-XFJXFNJF.js} +3 -3
  60. package/dist/{chunk-7OJSZTJK.js → chunk-XXKBPGPJ.js} +2 -2
  61. package/dist/{chunk-P3AQVFY2.js → chunk-XZM2I47O.js} +3 -3
  62. package/dist/{chunk-YAFO7V4A.js → chunk-YJEGT5L6.js} +1 -1
  63. package/dist/{chunk-2BEOCUAG.js → chunk-ZMMSMDCA.js} +1 -1
  64. package/dist/{chunk-POEGJGEA.js → chunk-ZYSS3JED.js} +1 -1
  65. package/dist/{chunk-KS5HFREQ.js → chunk-ZZIXIOK2.js} +4 -4
  66. package/dist/{clean-263PH5CR.js → clean-RPB34TT6.js} +16 -16
  67. package/dist/cli.js +122 -54
  68. package/dist/{cloud-STLYEQNN.js → cloud-QECFFPKC.js} +4 -4
  69. package/dist/{cloudrun-7ZVNB6FY.js → cloudrun-BML6ZG7K.js} +3 -3
  70. package/dist/{compare-33JLJ52D.js → compare-PF6WHQ4T.js} +24 -24
  71. package/dist/{compiler-H3QAMMC2.js → compiler-ZHVIEP26.js} +3 -3
  72. package/dist/{component-O5JLM26B.js → component-4ENCNLED.js} +3 -3
  73. package/dist/{compositions-CN4ZVT5G.js → compositions-5UA33RSG.js} +11 -11
  74. package/dist/{delete-Z23A45R3.js → delete-SARS5LIK.js} +2 -2
  75. package/dist/{deploy-PJLSZMUH.js → deploy-MX76RZ36.js} +1 -1
  76. package/dist/{destroy-IPUDK6YN.js → destroy-H2TZBYHH.js} +1 -1
  77. package/dist/{dist-ICXYT7XK.js → dist-HRBNHR4M.js} +1 -1
  78. package/dist/{dist-7VEVT4NT.js → dist-OKRUIHYU.js} +2 -2
  79. package/dist/{doctor-6QLXSGPK.js → doctor-TSAQGYP4.js} +11 -11
  80. package/dist/{events-UA4DJUO2.js → events-3HUO73ZE.js} +9 -9
  81. package/dist/{events-EAAIWITP.js → events-SZ5NWYWD.js} +8 -8
  82. package/dist/{feedback-2CIRCBHY.js → feedback-42OTOFC6.js} +10 -10
  83. package/dist/{figma-DFCCII66.js → figma-RYNFCYXB.js} +3 -3
  84. package/dist/fontLocalizeCli.js +8 -8
  85. package/dist/{get-UQ2AAXWM.js → get-IRHLG5OQ.js} +2 -2
  86. package/dist/{gpuPolicy-CPCLBMS5.js → gpuPolicy-LRMOZXFU.js} +6 -6
  87. package/dist/{grade-compare-THUUFHO3.js → grade-compare-KGJP5HV7.js} +24 -24
  88. package/dist/{help-SR2MRL3U.js → help-C5HS56RZ.js} +1 -1
  89. package/dist/{history-WLI7KFXB.js → history-DFJNDM2T.js} +16 -17
  90. package/dist/hyperframe-runtime.js +52 -52
  91. package/dist/hyperframe.manifest.json +1 -1
  92. package/dist/hyperframe.runtime.iife.js +52 -52
  93. package/dist/hyperframes-player.global.js +1 -1
  94. package/dist/{info-DFJM3YRJ.js → info-26GTDTKN.js} +11 -11
  95. package/dist/{init-HEAMOTGH.js → init-RXA6NI73.js} +25 -24
  96. package/dist/{inspect-TO2EXJNK.js → inspect-2S5GAZYC.js} +25 -25
  97. package/dist/{installer-REA7ZASD.js → installer-DGYYDGWJ.js} +4 -4
  98. package/dist/{keyframes-XHEBAJY7.js → keyframes-WBMAX7XZ.js} +12 -12
  99. package/dist/{lambda-MSWYKDNT.js → lambda-OQBFCEFA.js} +6 -6
  100. package/dist/{layout-UQXCTFFV.js → layout-ZRU7PXBG.js} +25 -25
  101. package/dist/{lint-BSMZ526C.js → lint-ATVNZ6FG.js} +12 -12
  102. package/dist/{lintProject-VNE322A7.js → lintProject-TOLC6HDS.js} +1 -1
  103. package/dist/{list-RNP5EMTX.js → list-E2GHYPCQ.js} +2 -2
  104. package/dist/{login-S6V75HG5.js → login-LOC4KA7H.js} +4 -4
  105. package/dist/{manager-NEVLEZK3.js → manager-CT3D67CG.js} +1 -1
  106. package/dist/{media-treatment-IHEEEDUQ.js → media-treatment-L43MVH2V.js} +12 -12
  107. package/dist/{models-OQEBKNJI.js → models-JF5OOZ5A.js} +7 -7
  108. package/dist/{motionShot-EAIFVJ2I.js → motionShot-BJ5CLYMN.js} +12 -12
  109. package/dist/{normalize-audio-4ACUR6W6.js → normalize-audio-K33FKGAF.js} +11 -11
  110. package/dist/{pipeline-SOQHD5YN.js → pipeline-IWPF5ZMK.js} +6 -6
  111. package/dist/{play-3WJPS3FE.js → play-PHHXYCQI.js} +20 -20
  112. package/dist/{preflight-ZUADCOLZ.js → preflight-2GH2Z4GZ.js} +8 -8
  113. package/dist/{present-MU23WZZA.js → present-KBFK2YVB.js} +16 -16
  114. package/dist/{preview-VOTNRX67.js → preview-T3E5TFDC.js} +159 -87
  115. package/dist/{producer-HKRMTCPU.js → producer-SL66UNEP.js} +1 -1
  116. package/dist/{projectConfig-H37MQGE6.js → projectConfig-7AKXZNNR.js} +6 -6
  117. package/dist/{publication-QVDKMAKD.js → publication-B2OERUY7.js} +2 -2
  118. package/dist/{publish-54IPKU5O.js → publish-ZGKT7KED.js} +8 -8
  119. package/dist/{remove-background-KQQ2WPKP.js → remove-background-4LRTT6YL.js} +7 -7
  120. package/dist/{render-HJQ44SEI.js → render-H6RSJF2V.js} +12 -12
  121. package/dist/{render-P7727PLY.js → render-OKNPNMFS.js} +23 -23
  122. package/dist/{render-S2T3SLI4.js → render-TGCDBKMP.js} +3 -3
  123. package/dist/{render-batch-DUFAHD6F.js → render-batch-WRQFW4UC.js} +3 -3
  124. package/dist/{renderCancellation-BSVXXGZM.js → renderCancellation-BFCQYGVV.js} +6 -6
  125. package/dist/renderSetupWorker.js +2 -2
  126. package/dist/{resolver-PHWKDEH2.js → resolver-37UOGAMT.js} +4 -4
  127. package/dist/{sherpa-GHQOWXFV.js → sherpa-SDVKYXCX.js} +7 -7
  128. package/dist/{skills-SOCMD66Y.js → skills-O25ZTFTO.js} +11 -11
  129. package/dist/{skillsUpdateCheck-PONPICQM.js → skillsUpdateCheck-Y2V4OMMT.js} +3 -3
  130. package/dist/{snapshot-ECXEZ4TY.js → snapshot-KGM2HZIC.js} +27 -27
  131. package/dist/{src-LVBNYMJW.js → src-PJJ6NISA.js} +5 -5
  132. package/dist/{src-RQE5HXZK.js → src-PLWCT745.js} +7 -7
  133. package/dist/{staticProjectServer-TQYP44CW.js → staticProjectServer-OCE7GU5S.js} +14 -14
  134. package/dist/{status-HVI7QZHE.js → status-LENRPQS5.js} +6 -6
  135. package/dist/studio/assets/{hyperframes-player-CBpg41JM.js → hyperframes-player-DzJbtQVO.js} +1 -1
  136. package/dist/studio/assets/{index-BKy_birQ.js → index-DRhF3v4Z.js} +4 -4
  137. package/dist/studio/assets/{index-CZfrSyU9.js → index-DgwDQK5G.js} +1 -1
  138. package/dist/studio/assets/{index-BFitquwi.js → index-n5FUn1xv.js} +1 -1
  139. package/dist/studio/index.html +1 -1
  140. package/dist/{studio-api-EKF6TFDB.js → studio-api-IEQ5BIHT.js} +8 -8
  141. package/dist/{studioSelectionClient-A6JCWRRW.js → studioSelectionClient-IUUPKUHZ.js} +1 -2
  142. package/dist/{studioServer-BSNDGK63.js → studioServer-LXJ34MGN.js} +43 -43
  143. package/dist/{system-NLNIE7PO.js → system-4KRSV2B7.js} +6 -6
  144. package/dist/{telemetry-XNDAM6JU.js → telemetry-R3BPD6VK.js} +9 -9
  145. package/dist/{timeline-IKWTTCNY.js → timeline-N5UKVS2S.js} +15 -15
  146. package/dist/{tokens-KOTFKBAK.js → tokens-774UBF2R.js} +2 -2
  147. package/dist/{transcribe-ELJHKA5B.js → transcribe-3UXXEDXX.js} +7 -7
  148. package/dist/{transcribe-STEYOXIO.js → transcribe-IP74EZLM.js} +12 -12
  149. package/dist/{tts-DO2W6NLB.js → tts-P3LIPIL5.js} +13 -6
  150. package/dist/{updateCheck-OJMEQUST.js → updateCheck-EXHNAPKI.js} +2 -2
  151. package/dist/{upgrade-NIS32YR6.js → upgrade-A4M3O2F2.js} +2 -2
  152. package/dist/{urlDownloader-KJSQAFN7.js → urlDownloader-4KNER64L.js} +5 -5
  153. package/dist/{validate-7MCKNH5K.js → validate-DV75GM6J.js} +15 -15
  154. package/dist/{video-TUXP3VGQ.js → video-GINAMW5I.js} +6 -6
  155. package/package.json +1 -1
  156. package/dist/chunk-S6TH5G6Z.js +0 -3541
  157. package/dist/chunk-VWA4HODG.js +0 -129
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-ZTZA4UWZ.js";
13
13
  import {
14
14
  getSystemMeta
15
- } from "./chunk-JRULOVZK.js";
15
+ } from "./chunk-L5QASNBN.js";
16
16
  import {
17
17
  getInvocationId
18
18
  } from "./chunk-54HJ63Q2.js";
@@ -23,7 +23,7 @@ import {
23
23
  evaluateCanary,
24
24
  findCanary,
25
25
  parseCanaryOverride
26
- } from "./chunk-C4JINRJK.js";
26
+ } from "./chunk-FCEFKWPM.js";
27
27
  import {
28
28
  hostAnswers
29
29
  } from "./chunk-K4WIOZFP.js";
@@ -37,7 +37,7 @@ import {
37
37
  } from "./chunk-XUXGIA7H.js";
38
38
  import {
39
39
  VERSION
40
- } from "./chunk-BD3MHTSR.js";
40
+ } from "./chunk-3XPZJUKM.js";
41
41
 
42
42
  // src/telemetry/transport.ts
43
43
  import { spawn } from "child_process";
@@ -5,6 +5,10 @@ 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
 
8
+ // src/utils/studioSelectionClient.ts
9
+ import { existsSync, realpathSync } from "fs";
10
+ import { resolve as resolve2 } from "path";
11
+
8
12
  // src/server/portUtils.ts
9
13
  import net from "net";
10
14
  import http from "http";
@@ -217,7 +221,7 @@ async function killActiveServers(startPort = 3002) {
217
221
  }
218
222
  return { killed, unverified };
219
223
  }
220
- async function findPortAndServe(fetch, startPort, projectDir, forceNew, expectedServerBuildSignature = null, bindHost, expectedBrowserGpuMode) {
224
+ async function findPortAndServe(fetch2, startPort, projectDir, forceNew, expectedServerBuildSignature = null, bindHost, expectedBrowserGpuMode) {
221
225
  const { createAdaptorServer } = await import("@hono/node-server");
222
226
  const host = bindHost ?? (process.env.HYPERFRAMES_PREVIEW_HOST?.trim() || "127.0.0.1");
223
227
  const normalizedDir = resolve(projectDir).replace(/\\/g, "/").toLowerCase();
@@ -226,7 +230,7 @@ async function findPortAndServe(fetch, startPort, projectDir, forceNew, expected
226
230
  for (let port = startPort; port <= endPort; port++) {
227
231
  const available = await testPortOnAllHosts(port);
228
232
  if (available) {
229
- if (!server) server = createAdaptorServer({ fetch });
233
+ if (!server) server = createAdaptorServer({ fetch: fetch2 });
230
234
  try {
231
235
  await new Promise((resolveListener, rejectListener) => {
232
236
  const onError = (err) => {
@@ -269,9 +273,125 @@ async function findPortAndServe(fetch, startPort, projectDir, forceNew, expected
269
273
  );
270
274
  }
271
275
 
276
+ // src/utils/studioSelectionClient.ts
277
+ var VITE_STUDIO_DISCOVERY_PORTS = [5190];
278
+ var AmbiguousPreviewServerError = class extends Error {
279
+ ports;
280
+ constructor(servers) {
281
+ const ports = servers.map((server) => server.port).sort((a, b) => a - b);
282
+ super(
283
+ `Multiple Studio preview servers match this project (${ports.join(", ")}). Pass --port <port> to choose one.`
284
+ );
285
+ this.name = "AmbiguousPreviewServerError";
286
+ this.ports = ports;
287
+ }
288
+ };
289
+ var PreviewServerPortMismatchError = class extends Error {
290
+ requestedPort;
291
+ ports;
292
+ constructor(requestedPort, servers, hint = "") {
293
+ const ports = servers.map((server) => server.port).sort((a, b) => a - b);
294
+ super(
295
+ `No Studio preview server for this project is running on port ${requestedPort}. Matching server port${ports.length === 1 ? "" : "s"}: ${ports.join(", ")}. Rerun with --port ${ports[0]}${ports.length > 1 ? " or omit --port to see all candidates" : ""}.${hint}`
296
+ );
297
+ this.name = "PreviewServerPortMismatchError";
298
+ this.requestedPort = requestedPort;
299
+ this.ports = ports;
300
+ }
301
+ };
302
+ function normalizePath(path) {
303
+ const resolved = resolve2(path);
304
+ try {
305
+ if (existsSync(resolved)) {
306
+ return realpathSync(resolved).replace(/\\/g, "/").toLowerCase();
307
+ }
308
+ } catch {
309
+ }
310
+ return resolved.replace(/\\/g, "/").toLowerCase();
311
+ }
312
+ async function findPreviewServerForProject(projectDir, startPort = 3002, scan = scanActiveServers, fetchImpl = fetch, options = {}) {
313
+ const normalizedProjectDir = normalizePath(projectDir);
314
+ const servers = await scan(startPort);
315
+ const embeddedServers = servers.filter(
316
+ (server) => normalizePath(server.projectDir) === normalizedProjectDir
317
+ );
318
+ if (options.preferredPort !== void 0) {
319
+ const preferred = embeddedServers.find((server) => server.port === options.preferredPort);
320
+ if (preferred) return preferred;
321
+ const viteServer = await findViteStudioServerForProject(normalizedProjectDir, fetchImpl, [
322
+ options.preferredPort
323
+ ]);
324
+ if (viteServer) return viteServer;
325
+ if (embeddedServers.length > 0) {
326
+ throw new PreviewServerPortMismatchError(options.preferredPort, embeddedServers);
327
+ }
328
+ return null;
329
+ }
330
+ if (embeddedServers.length === 1) return embeddedServers[0];
331
+ if (embeddedServers.length > 1) throw new AmbiguousPreviewServerError(embeddedServers);
332
+ return findViteStudioServerForProject(normalizedProjectDir, fetchImpl);
333
+ }
334
+ function studioSelectionUrl(server) {
335
+ return studioApiUrl(server, "selection");
336
+ }
337
+ function studioApiUrl(server, route) {
338
+ const host = server.host ?? "127.0.0.1";
339
+ return `http://${host}:${server.port}/api/projects/${encodeURIComponent(server.projectName)}/${route}`;
340
+ }
341
+ var LOOPBACK_HOSTS = ["127.0.0.1", "[::1]"];
342
+ async function findViteStudioServerForProject(normalizedProjectDir, fetchImpl, ports = VITE_STUDIO_DISCOVERY_PORTS) {
343
+ for (const port of ports) {
344
+ for (const host of LOOPBACK_HOSTS) {
345
+ try {
346
+ const response = await fetchImpl(`http://${host}:${port}/api/projects`);
347
+ if (!response.ok) continue;
348
+ const payload = await response.json();
349
+ const project = payload.projects?.find(
350
+ (candidate) => normalizePath(candidate.dir) === normalizedProjectDir
351
+ );
352
+ if (!project) continue;
353
+ return {
354
+ port,
355
+ host,
356
+ projectName: project.id,
357
+ projectDir: project.dir,
358
+ version: "studio-dev",
359
+ pid: null
360
+ };
361
+ } catch {
362
+ }
363
+ }
364
+ }
365
+ return null;
366
+ }
367
+ async function fetchStudioSelection(server, fetchImpl = fetch) {
368
+ const url = studioSelectionUrl(server);
369
+ const response = await fetchImpl(url);
370
+ if (!response.ok) {
371
+ throw new Error(`selection endpoint returned ${response.status}`);
372
+ }
373
+ return await response.json();
374
+ }
375
+ async function fetchStudioLint(server, fetchImpl = fetch) {
376
+ const url = studioApiUrl(server, "lint");
377
+ const response = await fetchImpl(url);
378
+ if (!response.ok) {
379
+ throw new Error(`lint endpoint returned ${response.status}`);
380
+ }
381
+ return await response.json();
382
+ }
383
+
272
384
  export {
385
+ MAX_PORT_SCAN,
273
386
  scanActiveServers,
274
387
  activeServerOnPort,
275
388
  killActiveServers,
276
- findPortAndServe
389
+ findPortAndServe,
390
+ AmbiguousPreviewServerError,
391
+ PreviewServerPortMismatchError,
392
+ findPreviewServerForProject,
393
+ studioSelectionUrl,
394
+ studioApiUrl,
395
+ fetchStudioSelection,
396
+ fetchStudioLint
277
397
  };
@@ -8,14 +8,14 @@ import {
8
8
  DEFAULT_REGISTRY_URL,
9
9
  fetchItemFile,
10
10
  validRegistryItem
11
- } from "./chunk-M4RYK5OF.js";
11
+ } from "./chunk-IP3XINRB.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-C4JINRJK.js";
18
+ } from "./chunk-FCEFKWPM.js";
19
19
  import {
20
20
  realProjectRoot
21
21
  } from "./chunk-OFQWTKPW.js";
@@ -13,11 +13,11 @@ import {
13
13
  } from "./chunk-TVCRUG2S.js";
14
14
  import {
15
15
  getFreeDiskMb
16
- } from "./chunk-JRULOVZK.js";
16
+ } from "./chunk-L5QASNBN.js";
17
17
  import {
18
18
  ensureBrowser,
19
19
  findBrowser
20
- } from "./chunk-N34BYX3E.js";
20
+ } from "./chunk-4PFZPP2N.js";
21
21
  import {
22
22
  runCancellableProcess
23
23
  } from "./chunk-LCSMOLGX.js";
@@ -20,7 +20,7 @@ import {
20
20
  typeDirPath,
21
21
  updateRecord,
22
22
  withFigmaErrors
23
- } from "./chunk-PRETPA7Z.js";
23
+ } from "./chunk-FW7K32YT.js";
24
24
  import {
25
25
  defineCommand
26
26
  } from "./chunk-S3S4TGEH.js";
@@ -221,7 +221,7 @@ var asset_default = defineCommand({
221
221
  rendered > 0 ? `(${results.length} nodes, ${rendered} rendered in 1 figma request)` : `(${results.length} nodes, all reused from cache \u2014 no figma request)`
222
222
  );
223
223
  }
224
- const { trackFigmaImport } = await import("./telemetry-XNDAM6JU.js");
224
+ const { trackFigmaImport } = await import("./telemetry-R3BPD6VK.js");
225
225
  trackFigmaImport({
226
226
  phase: "asset",
227
227
  reused: results.every((r) => r.reused),
@@ -8,7 +8,7 @@ import {
8
8
  DEFAULT_REGISTRY_URL,
9
9
  fetchItemManifest,
10
10
  fetchRegistryManifest
11
- } from "./chunk-M4RYK5OF.js";
11
+ } from "./chunk-IP3XINRB.js";
12
12
 
13
13
  // src/registry/resolver.ts
14
14
  function defaultWarn(message) {
@@ -17,7 +17,7 @@ import {
17
17
  parseStrictFiniteTimingNumber,
18
18
  resolveNaturalMediaTimelineDuration,
19
19
  resolveTimedImageDurationSeconds
20
- } from "./chunk-S6TH5G6Z.js";
20
+ } from "./chunk-C6AIZOQN.js";
21
21
  import {
22
22
  COMPOSITION_ATTRIBUTES,
23
23
  parseStartExpression
@@ -1278,7 +1278,7 @@ async function withFigmaErrors(command, fn) {
1278
1278
  } catch (err) {
1279
1279
  if (err instanceof Error) {
1280
1280
  try {
1281
- const { trackCommandFailure } = await import("./events-UA4DJUO2.js");
1281
+ const { trackCommandFailure } = await import("./events-3HUO73ZE.js");
1282
1282
  trackCommandFailure(
1283
1283
  command,
1284
1284
  err,
@@ -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-BLI5XATY.js";
9
+ } from "./chunk-U4VSY56O.js";
10
10
  import {
11
11
  hostAnswers
12
12
  } from "./chunk-K4WIOZFP.js";
@@ -22,7 +22,7 @@ import {
22
22
  renderFrameIdForRenderId,
23
23
  resolveAuthoredTimingWindow,
24
24
  toFps
25
- } from "./chunk-C4JINRJK.js";
25
+ } from "./chunk-FCEFKWPM.js";
26
26
  import {
27
27
  AUDIO_GROUP_RENDER_ID_ATTR,
28
28
  COLOR_GRADING_SOURCE_HIDDEN_ATTR,
@@ -52,7 +52,7 @@ import {
52
52
  shiftRateLane,
53
53
  sourceTimeAt,
54
54
  timeAtSourceTime
55
- } from "./chunk-S6TH5G6Z.js";
55
+ } from "./chunk-C6AIZOQN.js";
56
56
  import {
57
57
  chromeMajorCeiling,
58
58
  exceedsChromeCeiling
@@ -60,7 +60,7 @@ import {
60
60
  import {
61
61
  isWithinProjectRoot,
62
62
  resolveProjectRelativeSrc
63
- } from "./chunk-YAFO7V4A.js";
63
+ } from "./chunk-YJEGT5L6.js";
64
64
  import {
65
65
  FFMPEG_PATH_ENV,
66
66
  FFPROBE_PATH_ENV,
@@ -8,12 +8,12 @@ import {
8
8
  MAX_AUDIO_GAIN_DB,
9
9
  formatAudioGain,
10
10
  isAudibleVideoElement
11
- } from "./chunk-S6TH5G6Z.js";
11
+ } from "./chunk-C6AIZOQN.js";
12
12
  import {
13
13
  findFfBinary
14
14
  } from "./chunk-PJ3HDUCY.js";
15
15
 
16
- // ../studio-server/dist/chunk-TEYDBVSK.js
16
+ // ../studio-server/dist/chunk-DSVQ2U7J.js
17
17
  import { execFile } from "child_process";
18
18
  import { isAbsolute, relative, resolve } from "path";
19
19
  import { promisify } from "util";
@@ -315,7 +315,8 @@ async function measureAudio(ffmpegPath, file, tag) {
315
315
  const result = await execFileAsync(ffmpegPath, loudnessMeasureArgs(file, tag), {
316
316
  encoding: "utf8",
317
317
  maxBuffer: 16 * 1024 * 1024,
318
- timeout: FFMPEG_TIMEOUT_MS
318
+ timeout: FFMPEG_TIMEOUT_MS,
319
+ windowsHide: true
319
320
  });
320
321
  return parseEbur128Summary(result.stderr);
321
322
  }
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-TVCRUG2S.js";
18
18
  import {
19
19
  stoppedByCancelSignal
20
- } from "./chunk-KQ3VNA6R.js";
20
+ } from "./chunk-7543YIMQ.js";
21
21
 
22
22
  // src/whisper/transcribe.ts
23
23
  import { execFileSync } from "child_process";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-5ETJX6WM.js";
17
17
  import {
18
18
  runEnvironmentChecks
19
- } from "./chunk-VW6CVKVA.js";
19
+ } from "./chunk-E52XEEAA.js";
20
20
  import {
21
21
  c
22
22
  } from "./chunk-ZTZA4UWZ.js";
@@ -25,24 +25,24 @@ import {
25
25
  getFreeDiskMb,
26
26
  getShmSizeMb,
27
27
  getSystemMeta
28
- } from "./chunk-JRULOVZK.js";
28
+ } from "./chunk-L5QASNBN.js";
29
29
  import {
30
30
  defineCommand
31
31
  } from "./chunk-S3S4TGEH.js";
32
32
  import {
33
33
  resolveExtractCacheDir
34
- } from "./chunk-P74PW7KR.js";
34
+ } from "./chunk-G2T2X6FZ.js";
35
35
  import {
36
36
  getUpdateMeta,
37
37
  withMeta
38
- } from "./chunk-BLI5XATY.js";
38
+ } from "./chunk-U4VSY56O.js";
39
39
  import {
40
40
  CONFIG_PATH,
41
41
  withFileLock
42
42
  } from "./chunk-XUXGIA7H.js";
43
43
  import {
44
44
  VERSION
45
- } from "./chunk-BD3MHTSR.js";
45
+ } from "./chunk-3XPZJUKM.js";
46
46
  import {
47
47
  normalizeErrorMessage
48
48
  } from "./chunk-KNU5COPB.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-GMECXFAN.js";
13
13
  import {
14
14
  ITEM_TYPE_DIRS
15
- } from "./chunk-C4JINRJK.js";
15
+ } from "./chunk-FCEFKWPM.js";
16
16
  import {
17
17
  realProjectRoot
18
18
  } from "./chunk-OFQWTKPW.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-IHFUKJOR.js";
10
10
  import {
11
11
  trackCommandFailure
12
- } from "./chunk-LYBFDHXD.js";
12
+ } from "./chunk-7CGIICLA.js";
13
13
  import {
14
14
  failCommand
15
15
  } from "./chunk-PBN6GBJE.js";
@@ -0,0 +1,18 @@
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/textFile.ts
9
+ import { existsSync } from "fs";
10
+ import { extname, resolve } from "path";
11
+ function isTextFile(input) {
12
+ const path = resolve(input);
13
+ return existsSync(path) && extname(path).toLowerCase() === ".txt";
14
+ }
15
+
16
+ export {
17
+ isTextFile
18
+ };
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-AMKC3AXA.js";
10
10
  import {
11
11
  getSystemTotalMb
12
- } from "./chunk-P74PW7KR.js";
12
+ } from "./chunk-G2T2X6FZ.js";
13
13
 
14
14
  // src/telemetry/system.ts
15
15
  import { cpus, freemem, platform as platform2, release as release2 } from "os";
@@ -6,10 +6,10 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType
9
- } from "./chunk-TXVN43SX.js";
9
+ } from "./chunk-VTP4VSRP.js";
10
10
  import {
11
11
  injectTagsAtHeadStart
12
- } from "./chunk-S6TH5G6Z.js";
12
+ } from "./chunk-C6AIZOQN.js";
13
13
 
14
14
  // src/utils/compositionServer.ts
15
15
  import { createHash } from "crypto";
@@ -8,7 +8,7 @@ import {
8
8
  firstFrameColourArgs,
9
9
  hdrToSdrToneMapFilter,
10
10
  parseFirstFrameColour
11
- } from "./chunk-C4JINRJK.js";
11
+ } from "./chunk-FCEFKWPM.js";
12
12
  import {
13
13
  mkdirWithinProject,
14
14
  realProjectRoot,
@@ -21,7 +21,7 @@ import {
21
21
  isUnresolvedAssetPlaceholder,
22
22
  maskNonScannableRanges,
23
23
  resolveLocalAssetCandidates
24
- } from "./chunk-YAFO7V4A.js";
24
+ } from "./chunk-YJEGT5L6.js";
25
25
  import {
26
26
  findFfBinary
27
27
  } from "./chunk-PJ3HDUCY.js";
@@ -21,7 +21,7 @@ import {
21
21
  shouldClampResolvedMediaDuration,
22
22
  stripEmbeddedRuntimeScripts,
23
23
  warnUnknownEnumValues
24
- } from "./chunk-S6TH5G6Z.js";
24
+ } from "./chunk-C6AIZOQN.js";
25
25
  import {
26
26
  cssVariableName
27
27
  } from "./chunk-VC76R6W2.js";
@@ -31,7 +31,7 @@ import {
31
31
  } from "./chunk-OFQWTKPW.js";
32
32
  import {
33
33
  lintHyperframeHtml
34
- } from "./chunk-YAFO7V4A.js";
34
+ } from "./chunk-YJEGT5L6.js";
35
35
  import {
36
36
  CSS_URL_RE,
37
37
  checkSubCompositionUsability,
@@ -7,7 +7,7 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  getMimeType,
9
9
  injectMediaCodecMapIntoHtml
10
- } from "./chunk-TXVN43SX.js";
10
+ } from "./chunk-VTP4VSRP.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-TSZU5JMC.js";
21
+ } from "./chunk-LMC46FK5.js";
22
22
  import {
23
23
  resolveAutoProxy
24
- } from "./chunk-H3WFEPV2.js";
24
+ } from "./chunk-BOUDTDBQ.js";
25
25
 
26
26
  // src/utils/staticProjectServer.ts
27
27
  import { createServer } from "http";
@@ -17,7 +17,7 @@ import {
17
17
  EncoderInterruptedError,
18
18
  encoderFailureError,
19
19
  prepareAnimatedGifInputs
20
- } from "./chunk-7OJSZTJK.js";
20
+ } from "./chunk-XXKBPGPJ.js";
21
21
  import {
22
22
  createStudioPositionSeekReapplyScript
23
23
  } from "./chunk-KC5XXX3X.js";
@@ -145,7 +145,7 @@ import {
145
145
  validateEngineConfigSnapshot,
146
146
  verifyDiskDrawElementSamples,
147
147
  writeCapturedFrame
148
- } from "./chunk-P74PW7KR.js";
148
+ } from "./chunk-G2T2X6FZ.js";
149
149
  import {
150
150
  HF_VFX_ATTR,
151
151
  MEDIA_START_BASIS_ATTR,
@@ -162,7 +162,7 @@ import {
162
162
  resolveAbsoluteMediaStartSeconds,
163
163
  resolveAuthoredTimingWindow,
164
164
  toFps
165
- } from "./chunk-C4JINRJK.js";
165
+ } from "./chunk-FCEFKWPM.js";
166
166
  import {
167
167
  CANVAS_DIMENSIONS,
168
168
  HTML_BODY_CSS_HEIGHT_FIRST_RE,
@@ -186,7 +186,7 @@ import {
186
186
  inlineSubCompositions,
187
187
  prepareFlattenedInnerRoot,
188
188
  styleElementsFor
189
- } from "./chunk-J2S4MY2M.js";
189
+ } from "./chunk-OCNCK5FQ.js";
190
190
  import {
191
191
  HF_COLOR_GRADING_ATTR,
192
192
  MAX_AUDIO_GAIN,
@@ -207,7 +207,7 @@ import {
207
207
  resolveNaturalMediaTimelineDurationFromValues,
208
208
  shouldClampResolvedMediaDuration,
209
209
  sourceTimeAt
210
- } from "./chunk-S6TH5G6Z.js";
210
+ } from "./chunk-C6AIZOQN.js";
211
211
  import {
212
212
  chromeMajorCeiling
213
213
  } from "./chunk-TWWSYAKJ.js";
@@ -216,7 +216,7 @@ import {
216
216
  lintHyperframeHtml,
217
217
  readProjectFile,
218
218
  resolveProjectRelativeSrc
219
- } from "./chunk-YAFO7V4A.js";
219
+ } from "./chunk-YJEGT5L6.js";
220
220
  import {
221
221
  CSS_URL_RE,
222
222
  checkSubCompositionUsability,
@@ -14147,7 +14147,7 @@ function startServer(options = {}) {
14147
14147
  });
14148
14148
  async function shutdown(signal) {
14149
14149
  log.info(`Received ${signal}, shutting down`);
14150
- const { drainBrowserPool } = await import("./src-LVBNYMJW.js");
14150
+ const { drainBrowserPool } = await import("./src-PJJ6NISA.js");
14151
14151
  await drainBrowserPool().catch(() => {
14152
14152
  });
14153
14153
  const handle = await Promise.race([
@@ -15270,7 +15270,7 @@ async function buildLocalExecutionPlan(projectDir, config, executionPlanDir, opt
15270
15270
  if (probeResult.fileServer) closeFileServerSafely(probeResult.fileServer, "plan", log);
15271
15271
  if (probeResult.probeSession) {
15272
15272
  try {
15273
- const { closeCaptureSession: closeCaptureSession2 } = await import("./src-LVBNYMJW.js");
15273
+ const { closeCaptureSession: closeCaptureSession2 } = await import("./src-PJJ6NISA.js");
15274
15274
  await closeCaptureSession2(probeResult.probeSession);
15275
15275
  } catch (err) {
15276
15276
  log.warn("[plan] probe session close failed", {
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-AWDFDFI3.js";
15
15
  import {
16
16
  isBlockedNetworkHost
17
- } from "./chunk-P74PW7KR.js";
17
+ } from "./chunk-G2T2X6FZ.js";
18
18
  import {
19
19
  DOMParser,
20
20
  parseHTML
@@ -7,29 +7,29 @@ var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  RegistryCompatibilityError,
9
9
  gateRegistryItemsCompatibility
10
- } from "./chunk-POEGJGEA.js";
10
+ } from "./chunk-ZYSS3JED.js";
11
11
  import {
12
12
  DEFAULT_PROJECT_CONFIG,
13
13
  createProjectConfig,
14
14
  loadProjectConfig,
15
15
  projectConfigPath,
16
16
  recordProjectRegistryItems
17
- } from "./chunk-H3WFEPV2.js";
17
+ } from "./chunk-BOUDTDBQ.js";
18
18
  import {
19
19
  resolveItemWithDependencies,
20
20
  resolveItemsByTag
21
- } from "./chunk-5SDXALUQ.js";
21
+ } from "./chunk-ENHAGQEP.js";
22
22
  import {
23
23
  InvalidVariableValuesError,
24
24
  prepareItem,
25
25
  publishItem
26
- } from "./chunk-36XLW2TP.js";
26
+ } from "./chunk-DR7QW6C5.js";
27
27
  import {
28
28
  DEFAULT_REGISTRY_URL
29
- } from "./chunk-M4RYK5OF.js";
29
+ } from "./chunk-IP3XINRB.js";
30
30
  import {
31
31
  trackRegistryItemAdded
32
- } from "./chunk-LYBFDHXD.js";
32
+ } from "./chunk-7CGIICLA.js";
33
33
  import {
34
34
  c
35
35
  } from "./chunk-ZTZA4UWZ.js";
@@ -37,12 +37,11 @@ import {
37
37
  defineCommand
38
38
  } from "./chunk-S3S4TGEH.js";
39
39
  import {
40
- failCommand,
41
- failUsage
40
+ failCommand
42
41
  } from "./chunk-PBN6GBJE.js";
43
42
  import {
44
43
  ITEM_TYPE_DIRS
45
- } from "./chunk-C4JINRJK.js";
44
+ } from "./chunk-FCEFKWPM.js";
46
45
  import {
47
46
  isProjectRootMissing,
48
47
  realpath
@@ -361,13 +360,6 @@ var add_default = defineCommand({
361
360
  const projectDir = resolve(args.dir ?? process.cwd());
362
361
  const json = args.json === true;
363
362
  const skipClipboard = args.clipboard === false;
364
- const extra = args._.slice(1);
365
- if (extra.length > 0) {
366
- const msg = `add installs one item or tag per invocation. Got extra argument${extra.length === 1 ? "" : "s"}: ${extra.join(", ")}. Run add once per item, or pass a single tag to install every item tagged with it.`;
367
- if (json) console.log(JSON.stringify({ ok: false, error: msg }));
368
- else console.error(c.error(msg));
369
- failUsage();
370
- }
371
363
  const hasConfigBefore = existsSync(projectConfigPath(projectDir));
372
364
  try {
373
365
  const result = await runAdd({
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  DEFAULT_VP9_CPU_USED,
18
18
  renderProvenanceArgs
19
- } from "./chunk-P74PW7KR.js";
19
+ } from "./chunk-G2T2X6FZ.js";
20
20
  import {
21
21
  loadOptionalPackage
22
22
  } from "./chunk-XT5P4QMO.js";
@@ -202,7 +202,7 @@ function inferInputKind(inputPath) {
202
202
  }
203
203
  async function probeMedia(inputPath) {
204
204
  const isImage = inferInputKind(inputPath) === "image";
205
- const engine = await import("./src-LVBNYMJW.js");
205
+ const engine = await import("./src-PJJ6NISA.js");
206
206
  const meta = await engine.extractMediaMetadata(inputPath);
207
207
  if (isImage) {
208
208
  return { width: meta.width, height: meta.height, fps: 0, frameCount: 1 };
@@ -13,7 +13,7 @@ function resolveLocalBrowserGpuMode(browserGpuArg, envMode = process.env.PRODUCE
13
13
  return "auto";
14
14
  }
15
15
  async function resolveCaptureBrowserGpuMode(requestedMode, chromePath) {
16
- const { resolveBrowserGpuMode } = await import("./src-LVBNYMJW.js");
16
+ const { resolveBrowserGpuMode } = await import("./src-PJJ6NISA.js");
17
17
  return resolveBrowserGpuMode(requestedMode, { chromePath });
18
18
  }
19
19