hyperframes 0.8.173 → 0.8.175

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 (187) hide show
  1. package/dist/{add-V7VBTFNG.js → add-S4AOKSNH.js} +14 -15
  2. package/dist/{animatedGifPrep-62S72ZY6.js → animatedGifPrep-QRDM2NMV.js} +9 -11
  3. package/dist/api.js +19 -21
  4. package/dist/{asset-Z4JI2F6V.js → asset-DQ45BUBL.js} +2 -2
  5. package/dist/{assetCataloger-Q7LE7BCC.js → assetCataloger-NPDCMAYE.js} +9 -11
  6. package/dist/{audio-HIHNLQJ7.js → audio-OOAXEELO.js} +16 -18
  7. package/dist/{auth-4K6DSZCD.js → auth-33IY64LT.js} +2 -2
  8. package/dist/{autoUpdate-DXZDD5VT.js → autoUpdate-KGLJUGNZ.js} +2 -2
  9. package/dist/{backgroundChecks-ODMKKJ4S.js → backgroundChecks-DQPHYLVN.js} +3 -3
  10. package/dist/backgroundChecksWorker.js +3 -3
  11. package/dist/{batchRender-I4BFJGPA.js → batchRender-KXXTVNPB.js} +4 -4
  12. package/dist/{beats-7QCA6GDR.js → beats-WDYSCACS.js} +6 -7
  13. package/dist/{benchmark-IT4WTSMZ.js → benchmark-WOAULMYW.js} +11 -12
  14. package/dist/{browser-5VHM72PM.js → browser-2HX46R74.js} +5 -6
  15. package/dist/{bundleWithLocalizedFonts-MKTQCB2Y.js → bundleWithLocalizedFonts-32N7TVM6.js} +2 -2
  16. package/dist/{capture-B5Y45EWD.js → capture-5ASPHTMF.js} +22 -18
  17. package/dist/{capture-CMNNIMIL.js → capture-7LR5UVM2.js} +2 -2
  18. package/dist/{catalog-AKPJ65GY.js → catalog-LVW3RT4U.js} +15 -16
  19. package/dist/{catch-up-2SVYRMD3.js → catch-up-W6Z73GXL.js} +6 -7
  20. package/dist/{check-Q7AX6K7O.js → check-C23ZWACZ.js} +56 -52
  21. package/dist/{checkBrowser-CPXD5BZY.js → checkBrowser-WS6FSLBJ.js} +182 -88
  22. package/dist/{chunk-QVPOR7WE.js → chunk-32GKETR7.js} +22 -1
  23. package/dist/{chunk-4RDDUBOC.js → chunk-3Q4Y33FT.js} +11 -11
  24. package/dist/{chunk-2DWYRHJS.js → chunk-3SWMUZ4Y.js} +2 -2
  25. package/dist/{chunk-PBVUVNWP.js → chunk-3X3CELOP.js} +1 -1
  26. package/dist/{chunk-5E43335V.js → chunk-42T7OP4O.js} +1 -1
  27. package/dist/{chunk-TWZRU64W.js → chunk-4XM6VXLN.js} +7 -7
  28. package/dist/{chunk-6JQDH4O6.js → chunk-7E4YFL4U.js} +1 -1
  29. package/dist/{chunk-NOMPG5HQ.js → chunk-7GUAZGSW.js} +3 -3
  30. package/dist/{chunk-XRQBHOBT.js → chunk-B4VT6YU2.js} +2 -2
  31. package/dist/{chunk-2BL7BJ22.js → chunk-BHMWVRNS.js} +1 -1
  32. package/dist/{chunk-LN4SZS7W.js → chunk-CEYY3SOX.js} +3 -3
  33. package/dist/chunk-CIWX5UKC.js +16 -0
  34. package/dist/{chunk-CBOYQOLY.js → chunk-DQY6WTF7.js} +1 -1
  35. package/dist/{chunk-BCPJSBCS.js → chunk-DZMWNCHM.js} +7 -3
  36. package/dist/chunk-EEXE43II.js +3805 -0
  37. package/dist/{chunk-ROQBQHBK.js → chunk-EKDTCSCL.js} +1 -1
  38. package/dist/{chunk-L4SFGSSQ.js → chunk-FRNKM4MG.js} +1 -1
  39. package/dist/{chunk-6HKO6VWS.js → chunk-G7I3WZK4.js} +1 -1
  40. package/dist/{chunk-2TNPXPI5.js → chunk-GK2FIKIQ.js} +10 -8
  41. package/dist/chunk-HIP62XAW.js +36 -0
  42. package/dist/{chunk-FDWTZVA6.js → chunk-IUOPF3DL.js} +1 -1
  43. package/dist/{chunk-N7RTLKMM.js → chunk-J53AJK3Q.js} +2 -2
  44. package/dist/{chunk-OFFNB2SU.js → chunk-JNL3RMDG.js} +241 -6
  45. package/dist/{chunk-HCOL75LA.js → chunk-JT7PV3GL.js} +3 -3
  46. package/dist/{chunk-6RIH2NDU.js → chunk-KHR4IJAW.js} +178 -122
  47. package/dist/{chunk-WIAO42MD.js → chunk-KZHYAGC3.js} +5 -5
  48. package/dist/{chunk-C4QGOXO2.js → chunk-KZQGUXG5.js} +494 -136
  49. package/dist/{chunk-2QJDC4NT.js → chunk-LY2GLSOS.js} +1 -1
  50. package/dist/{chunk-CHALU2TF.js → chunk-LZT3NUTE.js} +1 -1
  51. package/dist/{chunk-BTPZ74Z3.js → chunk-MJZQ44NV.js} +1 -1
  52. package/dist/{chunk-YOOW26KG.js → chunk-NELZN7SV.js} +2 -2
  53. package/dist/{chunk-VFCKXTBB.js → chunk-NL5F3AD4.js} +27 -38
  54. package/dist/{chunk-X3SCQP2A.js → chunk-NSWIF4VH.js} +1 -1
  55. package/dist/{chunk-L3RCYYON.js → chunk-NWEER3QY.js} +2 -2
  56. package/dist/{chunk-3O45NOL7.js → chunk-NZRAS3FB.js} +1 -1
  57. package/dist/chunk-NZZYJOMJ.js +136 -0
  58. package/dist/{chunk-5JTRGGTX.js → chunk-O6FWDZYJ.js} +1 -1
  59. package/dist/{chunk-2YTOJ447.js → chunk-OUMYTLPP.js} +3 -3
  60. package/dist/{chunk-QURKHVV5.js → chunk-OYEDHVSI.js} +1 -1
  61. package/dist/{chunk-BYRHCRU3.js → chunk-PBKOURSI.js} +2 -2
  62. package/dist/{chunk-MWNSVO4P.js → chunk-QMQZXNGU.js} +8 -8
  63. package/dist/{chunk-XDPXSQJO.js → chunk-QWCXGTOH.js} +1 -1
  64. package/dist/{chunk-V2D4QZBC.js → chunk-RAZVWSU5.js} +3 -3
  65. package/dist/{chunk-O433SZAJ.js → chunk-RERXOG54.js} +35 -16
  66. package/dist/{chunk-IK3SOMZ4.js → chunk-S354WIFQ.js} +19 -22
  67. package/dist/{chunk-QWQ6GQTI.js → chunk-T6AGUTZJ.js} +2 -4
  68. package/dist/{chunk-PCLYCYBK.js → chunk-TNDNFZOK.js} +4 -4
  69. package/dist/{chunk-SOAXQ7Q7.js → chunk-UWUKJDTA.js} +2 -2
  70. package/dist/{chunk-KR5ZHRF2.js → chunk-V7T7WA2K.js} +2 -2
  71. package/dist/{chunk-U7EGMXQR.js → chunk-VEQ7DKPG.js} +4 -17
  72. package/dist/{chunk-JYVGYKXG.js → chunk-W2LGJSEN.js} +73 -1
  73. package/dist/{chunk-ETPPGNJB.js → chunk-W5USVP6Z.js} +2 -2
  74. package/dist/{chunk-H5C375DW.js → chunk-WDFLYDKN.js} +5 -5
  75. package/dist/{chunk-BYVBP3U5.js → chunk-XDK2FUAC.js} +9 -9
  76. package/dist/{chunk-TDPVEMBS.js → chunk-XFCLWWL3.js} +1 -1
  77. package/dist/{chunk-TNHRCZT3.js → chunk-XRRDVRCY.js} +42 -2
  78. package/dist/{chunk-4D2T6Y5Y.js → chunk-YCSCDQDS.js} +6 -6
  79. package/dist/{chunk-XZNKIYIG.js → chunk-YMU42UU2.js} +1 -1
  80. package/dist/{chunk-ODR7V2JL.js → chunk-Z2R7CFWH.js} +1 -1
  81. package/dist/{chunk-X2ALZSKK.js → chunk-ZD7QKZSS.js} +3 -3
  82. package/dist/{chunk-45IAFBUP.js → chunk-ZDOWJ3NS.js} +14 -14
  83. package/dist/{chunk-A2DMF2Q6.js → chunk-ZGSLXWH2.js} +2 -2
  84. package/dist/{chunk-KRWEUM4R.js → chunk-ZXHEOTYW.js} +1 -1
  85. package/dist/{clean-SBFI3ZKR.js → clean-KBNXV6DP.js} +18 -20
  86. package/dist/cli.js +53 -53
  87. package/dist/{cloud-IRE4HLEK.js → cloud-BWWKDRR6.js} +4 -4
  88. package/dist/{cloudrun-GIHWEBGM.js → cloudrun-P35BPQCO.js} +5 -5
  89. package/dist/commands/contrast-audit.browser.js +18 -50
  90. package/dist/{compare-S6NM2FSV.js → compare-UWJRKF5K.js} +28 -30
  91. package/dist/{compiler-WCWRB2LZ.js → compiler-5TFPJPQQ.js} +5 -6
  92. package/dist/{component-WDFZQ2HN.js → component-SWOGSIO2.js} +3 -3
  93. package/dist/{compositions-RMUBDPD4.js → compositions-PIPVEXE3.js} +14 -16
  94. package/dist/{delete-SDNARGJ4.js → delete-OXIDK7N3.js} +4 -4
  95. package/dist/{deploy-4MK3Y67M.js → deploy-NKWMPAMH.js} +19 -5
  96. package/dist/{destroy-GFQLTIY3.js → destroy-UKP522AE.js} +4 -2
  97. package/dist/{deterministicFonts-RWGQPEZU.js → deterministicFonts-L7YEEFGI.js} +1 -1
  98. package/dist/{dist-FAN2FFAV.js → dist-2FMTAVGL.js} +3 -3
  99. package/dist/{dist-65ELHZOF.js → dist-U2HCECNB.js} +3 -3
  100. package/dist/{doctor-YPCZILXV.js → doctor-KLQLFPCF.js} +14 -16
  101. package/dist/{events-Q2K7SNEZ.js → events-EGCYD45B.js} +5 -6
  102. package/dist/{events-INXDJ44V.js → events-EVTTGISX.js} +4 -5
  103. package/dist/{feedback-FRGRCTIX.js → feedback-G4WZLOVD.js} +10 -11
  104. package/dist/{ffmpeg-7BYARPLM.js → ffmpeg-QIYSAPHO.js} +24 -4
  105. package/dist/{figma-C262EFOC.js → figma-Q4CKDE7M.js} +3 -3
  106. package/dist/fontLocalizeCli.js +12 -14
  107. package/dist/{get-ZIUUGSVI.js → get-NPRQH64W.js} +4 -4
  108. package/dist/{gpuPolicy-FRLW63IY.js → gpuPolicy-L72BQRFR.js} +9 -11
  109. package/dist/{grade-compare-DN342HJC.js → grade-compare-H4NJEL4P.js} +29 -31
  110. package/dist/{help-XQPBPSBP.js → help-2S3XXDEA.js} +1 -1
  111. package/dist/{history-PF5FUC6M.js → history-X4CGCVEQ.js} +8 -9
  112. package/dist/hyperframe-runtime.js +59 -59
  113. package/dist/hyperframe.manifest.json +1 -1
  114. package/dist/hyperframe.runtime.iife.js +59 -59
  115. package/dist/hyperframes-player.global.js +3 -3
  116. package/dist/{info-PC7IKGVB.js → info-YYUISGL7.js} +10 -11
  117. package/dist/{init-ORZX3PSQ.js → init-BAAI4ZMR.js} +34 -34
  118. package/dist/{inspect-L5GRL6SP.js → inspect-LXJ3XJUZ.js} +29 -31
  119. package/dist/{installer-KXS557O7.js → installer-NY5E5HCO.js} +5 -5
  120. package/dist/{keyframes-EIZDSXUH.js → keyframes-NXXJSQWG.js} +8 -9
  121. package/dist/{lambda-U3N7MRD7.js → lambda-PG3JKNWS.js} +16 -12
  122. package/dist/{layout-WHAVE2H5.js → layout-CBFO36IE.js} +29 -31
  123. package/dist/{lint-I7PYIW56.js → lint-Y6NWQTKF.js} +11 -12
  124. package/dist/{lintProject-7IEOAXJY.js → lintProject-ARKJXDQF.js} +3 -3
  125. package/dist/{list-XXQM3WDO.js → list-VY6KIYTX.js} +4 -4
  126. package/dist/{login-64NUUDYU.js → login-426Q3H3P.js} +4 -4
  127. package/dist/{manager-B6MVBM2E.js → manager-3RRUFZ4H.js} +25 -3
  128. package/dist/{media-treatment-5XIM4A3F.js → media-treatment-ZVIXMJZJ.js} +23 -18
  129. package/dist/{models-WRB3S67Z.js → models-KC2QBPVK.js} +13 -15
  130. package/dist/{motionShot-BOFBL73C.js → motionShot-3ZSLQJ4D.js} +19 -21
  131. package/dist/{normalize-audio-PP4BSZSU.js → normalize-audio-DRU5LFYU.js} +6 -7
  132. package/dist/{open-F4CUWMZF.js → open-LPBZQ4DC.js} +14 -15
  133. package/dist/{parakeetRunner-O7QYJ7V7.js → parakeetRunner-IFY6NK5G.js} +16 -18
  134. package/dist/{pipeline-BCHSFFT3.js → pipeline-AGMCDT5A.js} +11 -13
  135. package/dist/{play-PPBR2GJK.js → play-WVWXNQED.js} +21 -23
  136. package/dist/{policies-DCSIM4AB.js → policies-5NTZOHJA.js} +2 -0
  137. package/dist/preflight-I5JGCCKM.js +52 -0
  138. package/dist/{present-Y7VTCZRZ.js → present-IPTWJUKY.js} +17 -19
  139. package/dist/{preview-53AD4OME.js → preview-JVLRQVD7.js} +34 -25
  140. package/dist/{producer-WBJDNLBF.js → producer-HKGHSAON.js} +1 -1
  141. package/dist/{progress-5AM2MZ7V.js → progress-I37JB7R4.js} +1 -0
  142. package/dist/{projectConfig-4KUGQ4P6.js → projectConfig-HDALEM6S.js} +7 -7
  143. package/dist/{publication-OFDIFS4R.js → publication-NX4VC7UU.js} +3 -3
  144. package/dist/{publish-RWWTY743.js → publish-AZRRQUXM.js} +11 -11
  145. package/dist/{remove-background-G7VK3VKP.js → remove-background-WY7KA77M.js} +12 -14
  146. package/dist/{render-52W63I3Y.js → render-BEDATKWV.js} +14 -15
  147. package/dist/{render-6CXZNXXZ.js → render-HGT3EGIK.js} +9 -4
  148. package/dist/{render-7PPMS4P6.js → render-P3PFNCBA.js} +40 -38
  149. package/dist/{render-batch-2EJVUVVN.js → render-batch-MUCDZ2WF.js} +4 -4
  150. package/dist/renderSetupWorker.js +3 -3
  151. package/dist/{resolver-FF5GV6IA.js → resolver-FLQ42X2Y.js} +5 -5
  152. package/dist/sam-IKPEJRRO.js +21 -0
  153. package/dist/{screenshotCapture-XAYELJK7.js → screenshotCapture-HXEZ3TNJ.js} +20 -3
  154. package/dist/{sherpa-QJPI6B5S.js → sherpa-SQGEFX3S.js} +15 -17
  155. package/dist/skills/hyperframes/SKILL.md +42 -0
  156. package/dist/skills/hyperframes-cli/references/cloud.md +1 -1
  157. package/dist/skills/media-use/scripts/lib/recipe-store.mjs +5 -2
  158. package/dist/{skills-H6ZJNOLH.js → skills-D2FIQ2JN.js} +11 -10
  159. package/dist/{skillsUpdateCheck-4EBGMO2A.js → skillsUpdateCheck-2OLTHCBX.js} +3 -3
  160. package/dist/{snapshot-DZRUBWRH.js → snapshot-R7U73M3N.js} +32 -34
  161. package/dist/{src-WD5GOYON.js → src-4COYCAFY.js} +8 -10
  162. package/dist/{src-ZL7ACIZ3.js → src-WOD4AEI3.js} +11 -13
  163. package/dist/{staticProjectServer-72JF5PPO.js → staticProjectServer-DG4VZO4G.js} +15 -16
  164. package/dist/{status-RGHSK3DJ.js → status-BV7QAUQD.js} +2 -3
  165. package/dist/studio/assets/{hyperframes-player-B-wEZiX3.js → hyperframes-player-BByRREAU.js} +1 -1
  166. package/dist/studio/assets/{index-DPugLDRK.js → index-CULLUqJo.js} +1 -1
  167. package/dist/studio/assets/{index-Bvkb0Zxy.js → index-Wz-WEqHg.js} +97 -97
  168. package/dist/studio/index.html +1 -1
  169. package/dist/{studio-api-BL6CLOA6.js → studio-api-RGNBVLLL.js} +9 -10
  170. package/dist/{studioServer-TRWCZZXP.js → studioServer-LC5T4OXQ.js} +48 -50
  171. package/dist/{system-VRXC6S4A.js → system-7F3UEHQT.js} +2 -3
  172. package/dist/{telemetry-FDSW3ZOZ.js → telemetry-BLOE3TWY.js} +5 -6
  173. package/dist/{timeline-ZRN336EA.js → timeline-QQPPMADL.js} +124 -51
  174. package/dist/{tokens-RMLNQHIB.js → tokens-E3SHBFDU.js} +2 -2
  175. package/dist/{transcribe-AEHHCYAL.js → transcribe-D5N7SBDO.js} +22 -24
  176. package/dist/{transcribe-SOODKU6H.js → transcribe-O2AQ5E2L.js} +12 -14
  177. package/dist/{updateCheck-OSPEYRBY.js → updateCheck-ELOZ2CID.js} +2 -2
  178. package/dist/{upgrade-AK4S7DMX.js → upgrade-JDFZEPZY.js} +2 -2
  179. package/dist/{urlDownloader-FSCMLFG7.js → urlDownloader-32OGC3EW.js} +8 -10
  180. package/dist/{validate-JJTCKZIV.js → validate-LQQEABER.js} +23 -25
  181. package/dist/{video-ZDM5CFI2.js → video-HXIM27TO.js} +9 -11
  182. package/package.json +1 -1
  183. package/dist/chunk-7JDEZNBY.js +0 -3805
  184. package/dist/chunk-7KDQAD2W.js +0 -81
  185. package/dist/chunk-BXCMXMJQ.js +0 -73
  186. package/dist/chunk-KCF6GHJP.js +0 -250
  187. package/dist/preflight-G5KP7ZKA.js +0 -32
@@ -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-ZL7ACIZ3.js");
10
+ return await import("./src-WOD4AEI3.js");
11
11
  }
12
12
 
13
13
  export {
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  setHostHandlesSigint
9
- } from "./chunk-O433SZAJ.js";
9
+ } from "./chunk-RERXOG54.js";
10
10
  import {
11
11
  processAncestorSnapshot,
12
12
  processIdentity,
@@ -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-Q2K7SNEZ.js");
1281
+ const { trackCommandFailure } = await import("./events-EGCYD45B.js");
1282
1282
  trackCommandFailure(
1283
1283
  command,
1284
1284
  err,
@@ -16,6 +16,9 @@ import {
16
16
  resolveLocalAssetCandidates,
17
17
  resolveProjectRelativeSrc
18
18
  } from "./chunk-6BNTGNGD.js";
19
+ import {
20
+ findFfBinary
21
+ } from "./chunk-VAS6HQX3.js";
19
22
  import {
20
23
  COMPOSITION_VARIABLE_TYPES,
21
24
  FONT_ALIAS_KEYS,
@@ -27,15 +30,14 @@ import {
27
30
  resolveAliasDisplayName
28
31
  } from "./chunk-OYLO6TYK.js";
29
32
  import {
30
- findFfBinary
31
- } from "./chunk-VAS6HQX3.js";
32
- import {
33
+ COLOR_GRADING_SOURCE_TAGS,
33
34
  COMPOSITION_ATTRIBUTES,
34
35
  checkSubCompositionUsability,
35
36
  parseNumeric,
36
37
  readClipTiming,
38
+ spansOverlap,
37
39
  validateColorGradingContract
38
- } from "./chunk-QVPOR7WE.js";
40
+ } from "./chunk-32GKETR7.js";
39
41
  import {
40
42
  readAuthoredDurationSeconds,
41
43
  readDataDurationSeconds,
@@ -5766,11 +5768,11 @@ var mediaRules = [
5766
5768
  snippet: truncateSnippet(tag.raw)
5767
5769
  });
5768
5770
  };
5769
- if (tag.name !== "video" && tag.name !== "img") {
5771
+ if (!COLOR_GRADING_SOURCE_TAGS.includes(tag.name)) {
5770
5772
  report(
5771
5773
  "color_grading_non_media",
5772
- `data-color-grading on <${tag.name}> has no effect. The shader runtime only grades real <video> and <img> elements.`,
5773
- "Move the grading attribute to the real <video> or <img> media element. Do not attach it to a wrapper or CSS background."
5774
+ `data-color-grading on <${tag.name}> has no effect. The shader runtime only grades real <video>, <img> and <canvas> elements.`,
5775
+ "Move the grading attribute to the real <video>, <img> or <canvas> element. Do not attach it to a wrapper or CSS background."
5774
5776
  );
5775
5777
  continue;
5776
5778
  }
@@ -10988,7 +10990,7 @@ function lintDuplicateAudioTracks(htmlSources) {
10988
10990
  const a = tracks[i];
10989
10991
  const b = tracks[j];
10990
10992
  if (a.trackIndex !== b.trackIndex) continue;
10991
- if (a.start < b.end && b.start < a.end) {
10993
+ if (spansOverlap(a.start, a.end, b.start, b.end)) {
10992
10994
  findings.push({
10993
10995
  code: "duplicate_audio_track",
10994
10996
  severity: "warning",
@@ -0,0 +1,36 @@
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/commands/lambda/repoRoot.ts
9
+ import { existsSync } from "fs";
10
+ import { dirname, resolve } from "path";
11
+ import { fileURLToPath } from "url";
12
+ function repoRoot() {
13
+ const override = process.env.HYPERFRAMES_REPO_ROOT;
14
+ if (override) {
15
+ if (existsSync(resolve(override, "packages", "aws-lambda", "package.json"))) return override;
16
+ throw new Error(
17
+ "[hyperframes lambda] HYPERFRAMES_REPO_ROOT is not a hyperframes checkout (no packages/aws-lambda/package.json there). Point it at the repo root, or unset it."
18
+ );
19
+ }
20
+ let dir = dirname(fileURLToPath(import.meta.url));
21
+ for (let depth = 0; depth < 12; depth++) {
22
+ if (existsSync(resolve(dir, "packages", "aws-lambda", "package.json"))) {
23
+ return dir;
24
+ }
25
+ const parent = dirname(dir);
26
+ if (parent === dir) break;
27
+ dir = parent;
28
+ }
29
+ throw new Error(
30
+ "[hyperframes lambda] could not find the repo root (no packages/aws-lambda/ above this CLI's source). Run `hyperframes lambda` from within a hyperframes checkout, or set HYPERFRAMES_REPO_ROOT explicitly."
31
+ );
32
+ }
33
+
34
+ export {
35
+ repoRoot
36
+ };
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  resolveProject
9
- } from "./chunk-6JQDH4O6.js";
9
+ } from "./chunk-7E4YFL4U.js";
10
10
  import {
11
11
  DEFAULT_HISTORY_ROOT,
12
12
  HistoryBusyError,
@@ -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-4RDDUBOC.js";
9
+ } from "./chunk-3Q4Y33FT.js";
10
10
  import {
11
11
  injectTagsAtHeadStart
12
- } from "./chunk-7JDEZNBY.js";
12
+ } from "./chunk-EEXE43II.js";
13
13
 
14
14
  // src/utils/compositionServer.ts
15
15
  import { createHash } from "crypto";
@@ -4,9 +4,6 @@ import { dirname as __hf_dirname } from "node:path";
4
4
  var require = __hf_createRequire(import.meta.url);
5
5
  var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
- import {
8
- ensureHfIds
9
- } from "./chunk-KCF6GHJP.js";
10
7
  import {
11
8
  HF_AUDIO_FX_ATTR,
12
9
  HF_COLOR_GRADING_ATTR,
@@ -40,7 +37,7 @@ import {
40
37
  stripEmbeddedRuntimeScripts,
41
38
  styleElementsFor,
42
39
  warnUnknownEnumValues
43
- } from "./chunk-7JDEZNBY.js";
40
+ } from "./chunk-EEXE43II.js";
44
41
  import {
45
42
  cssVariableName
46
43
  } from "./chunk-VC76R6W2.js";
@@ -50,11 +47,11 @@ import {
50
47
  } from "./chunk-OFQWTKPW.js";
51
48
  import {
52
49
  lintHyperframeHtml
53
- } from "./chunk-2TNPXPI5.js";
50
+ } from "./chunk-GK2FIKIQ.js";
54
51
  import {
55
52
  checkSubCompositionUsability,
56
53
  resolveSubCompositionContent
57
- } from "./chunk-QVPOR7WE.js";
54
+ } from "./chunk-32GKETR7.js";
58
55
  import {
59
56
  CSS_URL_RE,
60
57
  decodeCssEscapes,
@@ -1862,6 +1859,239 @@ function inlineSubCompositions(document, hosts, options) {
1862
1859
  };
1863
1860
  }
1864
1861
 
1862
+ // ../parsers/dist/hfIds.js
1863
+ var EXCLUDED_TAGS = /* @__PURE__ */ new Set([
1864
+ "script",
1865
+ "style",
1866
+ "template",
1867
+ "meta",
1868
+ "link",
1869
+ "noscript",
1870
+ "base"
1871
+ ]);
1872
+ function fnv1a(str) {
1873
+ let h = 2166136261;
1874
+ for (let i = 0; i < str.length; i++) {
1875
+ h ^= str.charCodeAt(i);
1876
+ h = Math.imul(h, 16777619);
1877
+ }
1878
+ return h >>> 0;
1879
+ }
1880
+ function toHfId(hash2) {
1881
+ const s = (hash2 >>> 0).toString(36);
1882
+ const four = s.length >= 4 ? s.slice(-4) : s.padStart(4, "0");
1883
+ return `hf-${four}`;
1884
+ }
1885
+ function ownText(el) {
1886
+ let text = "";
1887
+ el.childNodes.forEach((n) => {
1888
+ if (n.nodeType === 3) text += n.nodeValue ?? "";
1889
+ });
1890
+ return text.trim();
1891
+ }
1892
+ function getContractAttribute(el, name) {
1893
+ return Array.from(el.attributes).find((attr) => attr.name.toLowerCase() === name)?.value ?? null;
1894
+ }
1895
+ function contentKey(el) {
1896
+ const attrs = Array.from(el.attributes).filter((a) => !a.name.toLowerCase().startsWith("data-hf-")).map((a) => `${a.name.toLowerCase()}\0${a.value}`).sort().join("");
1897
+ return `${el.tagName.toLowerCase()}|${attrs}|${ownText(el)}`;
1898
+ }
1899
+ function mintHfId(el, assigned) {
1900
+ const key = contentKey(el);
1901
+ let id = toHfId(fnv1a(key));
1902
+ let dup = 0;
1903
+ while (assigned.has(id)) {
1904
+ dup += 1;
1905
+ if (dup > 1e4) {
1906
+ id = `hf-${(fnv1a(key) >>> 0).toString(36)}-${dup}`;
1907
+ break;
1908
+ }
1909
+ id = toHfId(fnv1a(`${key}#${dup}`));
1910
+ }
1911
+ assigned.add(id);
1912
+ return id;
1913
+ }
1914
+ function getChildElements(parent) {
1915
+ const directChildren = Array.from(parent.children);
1916
+ if (directChildren.length || parent.tagName.toLowerCase() !== "template") return directChildren;
1917
+ const content = parent.content;
1918
+ if (content?.children.length) return Array.from(content.children);
1919
+ return directChildren;
1920
+ }
1921
+ function isCompositionTemplate(el) {
1922
+ if (el.tagName.toLowerCase() !== "template") return false;
1923
+ if (getContractAttribute(el, "data-composition-id") !== null) return true;
1924
+ for (const child of getChildElements(el)) {
1925
+ if (getContractAttribute(child, "data-composition-id") !== null) return true;
1926
+ }
1927
+ return false;
1928
+ }
1929
+ function walkCompositionDescendants(root, visit) {
1930
+ const rootElement = root.nodeType === 9 ? root.documentElement : root;
1931
+ if (!rootElement) return;
1932
+ const walk = (parent) => {
1933
+ for (const child of getChildElements(parent)) {
1934
+ const isTemplate = child.tagName.toLowerCase() === "template";
1935
+ if (isTemplate && !isCompositionTemplate(child)) continue;
1936
+ visit(child);
1937
+ walk(child);
1938
+ }
1939
+ };
1940
+ walk(rootElement);
1941
+ }
1942
+ function assignHfIds(body) {
1943
+ const assigned = /* @__PURE__ */ new Set();
1944
+ walkCompositionDescendants(body, (el) => {
1945
+ const existing = getContractAttribute(el, "data-hf-id");
1946
+ if (existing) assigned.add(existing);
1947
+ });
1948
+ walkCompositionDescendants(body, (el) => {
1949
+ if (EXCLUDED_TAGS.has(el.tagName.toLowerCase())) return;
1950
+ if (getContractAttribute(el, "data-hf-id")) return;
1951
+ el.setAttribute("data-hf-id", mintHfId(el, assigned));
1952
+ });
1953
+ }
1954
+ function ensureHfIds(html) {
1955
+ const { document, wrapped } = parseFragmentOrDocument(html);
1956
+ if (!document.body) return html;
1957
+ assignHfIds(document.body);
1958
+ return wrapped ? document.body.innerHTML || "" : document.toString();
1959
+ }
1960
+ function parseFragmentOrDocument(html) {
1961
+ const wrapped = !/^(?:<!doctype|<html[\s>/])/i.test(
1962
+ html.replace(/^(?:\s|<!--(?:>|->|[\s\S]*?-->))*/, "")
1963
+ );
1964
+ const { document } = wrapped ? parseHTML(`<!DOCTYPE html><html><head></head><body>${html}</body></html>`) : parseHTML(html);
1965
+ return { document, wrapped };
1966
+ }
1967
+ function stampHfIdsInPlace(html) {
1968
+ const { document, wrapped } = parseFragmentOrDocument(html);
1969
+ if (!document.body) return html;
1970
+ const elements = wrapped ? getChildElements(document.body).flatMap(inDocumentOrder) : inDocumentOrder(document.documentElement);
1971
+ const existing = elements.map((el) => el.getAttribute("data-hf-id"));
1972
+ const pinned = existing.map((id) => id !== null && id.length > 0);
1973
+ assignHfIds(document.body);
1974
+ const minted = elements.map((el, n) => pinned[n] ? null : el.getAttribute("data-hf-id"));
1975
+ const tags = startTags(html);
1976
+ const inserts = tags && alignInserts(html, tags, elements, minted, existing);
1977
+ return inserts ? spliceIds(html, inserts) : ensureHfIds(html);
1978
+ }
1979
+ function inDocumentOrder(el) {
1980
+ return [el, ...getChildElements(el).flatMap(inDocumentOrder)];
1981
+ }
1982
+ var RAW_TEXT = /* @__PURE__ */ new Set(["script", "style", "textarea", "title", "xmp", "noembed", "noframes"]);
1983
+ var IMPLIED = /* @__PURE__ */ new Set(["html", "head", "body", "tbody"]);
1984
+ function startTags(html) {
1985
+ const lower = html.toLowerCase();
1986
+ const tags = [];
1987
+ let i = html.indexOf("<");
1988
+ while (i >= 0) {
1989
+ const name = html.startsWith("<!--", i) ? null : /^<([a-zA-Z][^\s/>]*)/.exec(html.slice(i, i + 128));
1990
+ if (!name) {
1991
+ i = nextTagAfter(html, i);
1992
+ continue;
1993
+ }
1994
+ const end = closingBracket(html, i + name[0].length);
1995
+ if (end < 0) return null;
1996
+ const tag = name[1].toLowerCase();
1997
+ tags.push({ name: tag, nameEnd: i + name[0].length, bracket: end });
1998
+ const after = RAW_TEXT.has(tag) ? rawTextEnd(lower, tag, end) : end;
1999
+ i = after < 0 ? -1 : html.indexOf("<", after + 1);
2000
+ }
2001
+ return tags;
2002
+ }
2003
+ function rawTextEnd(lower, tag, from) {
2004
+ const marker = `</${tag}`;
2005
+ for (let at = lower.indexOf(marker, from); at >= 0; at = lower.indexOf(marker, at + marker.length)) {
2006
+ const next = lower[at + marker.length];
2007
+ if (next !== void 0 && /[\s/>]/.test(next)) return at;
2008
+ }
2009
+ return -1;
2010
+ }
2011
+ function nextTagAfter(html, lt) {
2012
+ const comment = html.startsWith("<!--", lt);
2013
+ const end = comment ? html.indexOf("-->", lt + 4) : html.indexOf(">", lt);
2014
+ return end < 0 ? -1 : html.indexOf("<", end + 1);
2015
+ }
2016
+ function closingBracket(html, from) {
2017
+ let quote = "";
2018
+ for (let i = from; i < html.length; i++) {
2019
+ const c = html[i];
2020
+ if (quote) quote = c === quote ? "" : quote;
2021
+ else if (c === '"' || c === "'") quote = c;
2022
+ else if (c === ">") return i;
2023
+ }
2024
+ return -1;
2025
+ }
2026
+ function alignInserts(html, tags, elements, minted, existing) {
2027
+ const walked = walkAlign(html, tags, elements, minted, existing);
2028
+ if (!walked) return null;
2029
+ return walked.next === tags.length ? walked.inserts : null;
2030
+ }
2031
+ function walkAlign(html, tags, elements, minted, existing) {
2032
+ const state = { inserts: [], next: 0 };
2033
+ for (const [n, el] of elements.entries()) {
2034
+ if (!take(state, html, tags, el, minted[n] ?? null, existing[n] === "")) return null;
2035
+ }
2036
+ return state;
2037
+ }
2038
+ function take(state, html, tags, el, id, fillEmpty) {
2039
+ const step = alignOne(html, tags[state.next], el, id, fillEmpty);
2040
+ if (!step) return false;
2041
+ if (step.insert) state.inserts.push(step.insert);
2042
+ if (step.next) state.next += 1;
2043
+ return true;
2044
+ }
2045
+ function alignOne(html, tag, el, id, fillEmpty) {
2046
+ if (tag?.name === el.tagName.toLowerCase()) return matched(html, tag, id, fillEmpty);
2047
+ if (IMPLIED.has(el.tagName.toLowerCase()) && !id) return { insert: null, next: false };
2048
+ return null;
2049
+ }
2050
+ function matched(html, tag, id, fillEmpty) {
2051
+ if (!id) return { insert: null, next: true };
2052
+ const placed = placeId(html, tag, id, fillEmpty);
2053
+ if (!placed) return null;
2054
+ return { insert: placed, next: true };
2055
+ }
2056
+ function placeId(html, tag, id, fillEmpty) {
2057
+ if (!fillEmpty) return { at: tag.nameEnd, text: ` data-hf-id="${id}"` };
2058
+ const emptyAt = emptyHfIdValue(html, tag);
2059
+ if (emptyAt === null) return null;
2060
+ return { at: emptyAt, text: id };
2061
+ }
2062
+ function emptyHfIdValue(html, tag) {
2063
+ const open = outsideQuotes(html.slice(tag.nameEnd, tag.bracket));
2064
+ const match = /\sdata-hf-id\s*=\s*(["'])\1/i.exec(open);
2065
+ if (!match) return null;
2066
+ return tag.nameEnd + match.index + match[0].length - 1;
2067
+ }
2068
+ function outsideQuotes(open) {
2069
+ let quote = "";
2070
+ let out = "";
2071
+ for (const c of open) {
2072
+ out += quotedChar(quote, c);
2073
+ quote = quoteOf(quote, c);
2074
+ }
2075
+ return out;
2076
+ }
2077
+ function quoteOf(quote, c) {
2078
+ if (quote) return c === quote ? "" : quote;
2079
+ return c === '"' || c === "'" ? c : "";
2080
+ }
2081
+ function quotedChar(quote, c) {
2082
+ if (!quote || c === quote) return c;
2083
+ return " ".repeat(c.length);
2084
+ }
2085
+ function spliceIds(html, inserts) {
2086
+ let out = "";
2087
+ let from = 0;
2088
+ for (const { at, text } of inserts) {
2089
+ out += html.slice(from, at) + text;
2090
+ from = at;
2091
+ }
2092
+ return out + html.slice(from);
2093
+ }
2094
+
1865
2095
  // ../core/dist/compiler/htmlBundler.js
1866
2096
  var DEFAULT_RUNTIME_SCRIPT_URL = "";
1867
2097
  function getRuntimeScriptUrl() {
@@ -3142,6 +3372,11 @@ export {
3142
3372
  validateHyperframeHtmlContract,
3143
3373
  ensureExternalLinkTag,
3144
3374
  inlineSubCompositions,
3375
+ EXCLUDED_TAGS,
3376
+ mintHfId,
3377
+ walkCompositionDescendants,
3378
+ ensureHfIds,
3379
+ stampHfIdsInPlace,
3145
3380
  assignBundledRuntimeCompositionIds,
3146
3381
  prepareFlattenedInnerRoot,
3147
3382
  parsesAsScript,
@@ -6,7 +6,7 @@ var __filename = __hf_fileURLToPath(import.meta.url);
6
6
  var __dirname = __hf_dirname(__filename);
7
7
  import {
8
8
  downloadToFile
9
- } from "./chunk-BXCMXMJQ.js";
9
+ } from "./chunk-NZZYJOMJ.js";
10
10
  import {
11
11
  CACHE_DIR,
12
12
  PINNED_PACKAGES,
@@ -21,10 +21,10 @@ import {
21
21
  emitWords,
22
22
  getPreparedWavDurationSeconds,
23
23
  prepareWav
24
- } from "./chunk-LN4SZS7W.js";
24
+ } from "./chunk-CEYY3SOX.js";
25
25
  import {
26
26
  stoppedByCancelSignal
27
- } from "./chunk-L4SFGSSQ.js";
27
+ } from "./chunk-FRNKM4MG.js";
28
28
  import {
29
29
  PARAKEET_MODEL_LABEL,
30
30
  SHERPA_ERROR_PREFIX,