allyhub 0.3.0 → 0.4.0

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 (643) hide show
  1. package/dist/commands/add.js +2 -2
  2. package/dist/commands/auth.js +4 -4
  3. package/dist/commands/cloud-tools.js +9 -10
  4. package/dist/commands/dev.js +1 -1
  5. package/dist/commands/doctor.js +4 -4
  6. package/dist/commands/frames/piece.js +1 -1
  7. package/dist/commands/frames.js +6 -6
  8. package/dist/commands/index.js +1 -1
  9. package/dist/commands/inspect/contrast.js +1 -1
  10. package/dist/commands/inspect/layout.js +1 -1
  11. package/dist/commands/orgs.js +2 -2
  12. package/dist/commands/render.js +2 -2
  13. package/dist/commands/sheet.js +2 -2
  14. package/dist/commands/slides.js +3 -0
  15. package/dist/main.js +3 -3
  16. package/dist/text/facts-text.js +5 -5
  17. package/dist/text/format.js +2 -2
  18. package/dist/works.js +1 -1
  19. package/editor-web/assets/browser-B31cR_c2.js +105 -0
  20. package/editor-web/assets/dist-6TNEuNMX.js +4 -0
  21. package/editor-web/assets/dist-Cm2TIjW5.js +2 -0
  22. package/editor-web/assets/dist-Cpt0p8bX.js +6 -0
  23. package/editor-web/assets/dist-D2GccKEJ.js +1 -0
  24. package/editor-web/assets/dist-Z0zvYXmu.js +233 -0
  25. package/editor-web/assets/dist-fs4ONrUV.js +32 -0
  26. package/editor-web/assets/index-CAcsAZ9u.js +70 -0
  27. package/editor-web/assets/index-DlcJckhO.css +2 -0
  28. package/editor-web/assets/list-D2v7U8K8.js +1 -0
  29. package/editor-web/assets/react-D0RmGe2w.js +101 -0
  30. package/editor-web/assets/rolldown-runtime-XKyaHtl9.js +1 -0
  31. package/editor-web/assets/text-align-start-B3k2cx5f.js +1 -0
  32. package/editor-web/assets/undo-2-Ecr7-Obc.js +1 -0
  33. package/editor-web/index.html +4 -4
  34. package/node_modules/@allyhub-next/audio/package.json +1 -1
  35. package/node_modules/@allyhub-next/browser/package.json +1 -1
  36. package/node_modules/@allyhub-next/build/dist/data.js +1 -1
  37. package/node_modules/@allyhub-next/build/dist/meta-worker.d.ts +10 -0
  38. package/node_modules/@allyhub-next/build/dist/meta-worker.js +2 -2
  39. package/node_modules/@allyhub-next/build/dist/model-info.js +2 -1
  40. package/node_modules/@allyhub-next/build/dist/plugin.d.ts +2 -0
  41. package/node_modules/@allyhub-next/build/dist/plugin.js +9 -8
  42. package/node_modules/@allyhub-next/build/dist/prepare.d.ts +13 -1
  43. package/node_modules/@allyhub-next/build/dist/prepare.js +2 -2
  44. package/node_modules/@allyhub-next/build/dist/scan.d.ts +1 -1
  45. package/node_modules/@allyhub-next/build/dist/scan.js +1 -1
  46. package/node_modules/@allyhub-next/build/dist/types.js +3 -3
  47. package/node_modules/@allyhub-next/build/package.json +1 -1
  48. package/node_modules/@allyhub-next/check/dist/check.js +3 -3
  49. package/node_modules/@allyhub-next/check/dist/generated.d.ts +1 -1
  50. package/node_modules/@allyhub-next/check/package.json +1 -1
  51. package/node_modules/@allyhub-next/cloud/dist/index.js +1 -1
  52. package/node_modules/@allyhub-next/cloud/dist/signin.js +2 -2
  53. package/node_modules/@allyhub-next/cloud/dist/token.js +1 -1
  54. package/node_modules/@allyhub-next/cloud/package.json +1 -1
  55. package/node_modules/@allyhub-next/components/package.json +1 -1
  56. package/node_modules/@allyhub-next/dev-server/dist/card.d.ts +2 -11
  57. package/node_modules/@allyhub-next/dev-server/dist/card.js +1 -1
  58. package/node_modules/@allyhub-next/dev-server/dist/exports.d.ts +2 -2
  59. package/node_modules/@allyhub-next/dev-server/dist/exports.js +1 -1
  60. package/node_modules/@allyhub-next/dev-server/dist/index.d.ts +1 -1
  61. package/node_modules/@allyhub-next/dev-server/dist/index.js +1 -1
  62. package/node_modules/@allyhub-next/dev-server/dist/live.d.ts +3 -0
  63. package/node_modules/@allyhub-next/dev-server/dist/live.js +1 -1
  64. package/node_modules/@allyhub-next/dev-server/dist/project.d.ts +3 -0
  65. package/node_modules/@allyhub-next/dev-server/dist/project.js +1 -1
  66. package/node_modules/@allyhub-next/dev-server/dist/reveal.d.ts +6 -0
  67. package/node_modules/@allyhub-next/dev-server/dist/reveal.js +2 -0
  68. package/node_modules/@allyhub-next/dev-server/dist/server.js +1 -1
  69. package/node_modules/@allyhub-next/dev-server/dist/stage.d.ts +2 -0
  70. package/node_modules/@allyhub-next/dev-server/dist/stage.js +22 -2
  71. package/node_modules/@allyhub-next/dev-server/dist/tools.d.ts +2 -0
  72. package/node_modules/@allyhub-next/dev-server/dist/tools.js +1 -1
  73. package/node_modules/@allyhub-next/dev-server/package.json +1 -1
  74. package/node_modules/@allyhub-next/doc/dist/docx.d.ts +28 -0
  75. package/node_modules/@allyhub-next/doc/dist/docx.js +4 -0
  76. package/node_modules/@allyhub-next/doc/dist/html.d.ts +3 -0
  77. package/node_modules/@allyhub-next/doc/dist/html.js +1 -1
  78. package/node_modules/@allyhub-next/doc/package.json +5 -1
  79. package/node_modules/@allyhub-next/export/dist/deck-fonts.d.ts +24 -0
  80. package/node_modules/@allyhub-next/export/dist/deck-fonts.js +2 -0
  81. package/node_modules/@allyhub-next/export/dist/deck-pptx.d.ts +12 -0
  82. package/node_modules/@allyhub-next/export/dist/deck-pptx.js +2 -0
  83. package/node_modules/@allyhub-next/export/dist/export.d.ts +12 -3
  84. package/node_modules/@allyhub-next/export/dist/export.js +2 -2
  85. package/node_modules/@allyhub-next/export/dist/index.d.ts +1 -0
  86. package/node_modules/@allyhub-next/export/dist/index.js +1 -1
  87. package/node_modules/@allyhub-next/export/dist/names.d.ts +11 -6
  88. package/node_modules/@allyhub-next/export/dist/names.js +1 -1
  89. package/node_modules/@allyhub-next/export/package.json +1 -1
  90. package/node_modules/@allyhub-next/formats/dist/data/script.d.ts +22 -0
  91. package/node_modules/@allyhub-next/formats/dist/data/script.js +1 -1
  92. package/node_modules/@allyhub-next/formats/dist/data/slides.d.ts +1494 -0
  93. package/node_modules/@allyhub-next/formats/dist/data/slides.js +2 -0
  94. package/node_modules/@allyhub-next/formats/dist/index.d.ts +2 -0
  95. package/node_modules/@allyhub-next/formats/dist/index.js +1 -1
  96. package/node_modules/@allyhub-next/formats/dist/items.d.ts +21 -0
  97. package/node_modules/@allyhub-next/formats/dist/items.js +1 -1
  98. package/node_modules/@allyhub-next/formats/dist/note-shape.d.ts +39 -0
  99. package/node_modules/@allyhub-next/formats/dist/note-shape.js +2 -0
  100. package/node_modules/@allyhub-next/formats/dist/schemas.d.ts +418 -0
  101. package/node_modules/@allyhub-next/formats/dist/schemas.js +1 -1
  102. package/node_modules/@allyhub-next/formats/package.json +1 -1
  103. package/node_modules/@allyhub-next/measure/dist/index.d.ts +1 -1
  104. package/node_modules/@allyhub-next/measure/dist/index.js +1 -1
  105. package/node_modules/@allyhub-next/measure/dist/overlay.d.ts +14 -1
  106. package/node_modules/@allyhub-next/measure/dist/overlay.js +1 -1
  107. package/node_modules/@allyhub-next/measure/package.json +1 -1
  108. package/node_modules/@allyhub-next/media/dist/asr/parakeet.d.ts +1 -4
  109. package/node_modules/@allyhub-next/media/dist/asr/parakeet.js +4 -4
  110. package/node_modules/@allyhub-next/media/dist/asr/transcribe.d.ts +1 -1
  111. package/node_modules/@allyhub-next/media/dist/asr/transcribe.js +1 -1
  112. package/node_modules/@allyhub-next/media/dist/grid.d.ts +3 -3
  113. package/node_modules/@allyhub-next/media/dist/grid.js +5 -5
  114. package/node_modules/@allyhub-next/media/dist/local.d.ts +3 -0
  115. package/node_modules/@allyhub-next/media/dist/local.js +1 -1
  116. package/node_modules/@allyhub-next/media/dist/ocr/tesseract.d.ts +8 -2
  117. package/node_modules/@allyhub-next/media/dist/ocr/tesseract.js +1 -1
  118. package/node_modules/@allyhub-next/media/dist/ocr/text.js +3 -3
  119. package/node_modules/@allyhub-next/media/dist/ocr/worker.js +1 -1
  120. package/node_modules/@allyhub-next/media/dist/sheet.js +3 -3
  121. package/node_modules/@allyhub-next/media/dist/tools.d.ts +11 -1
  122. package/node_modules/@allyhub-next/media/dist/tools.js +1 -1
  123. package/node_modules/@allyhub-next/media/dist/vision/faces.js +1 -1
  124. package/node_modules/@allyhub-next/media/dist/vision/matte.js +1 -1
  125. package/node_modules/@allyhub-next/media/dist/vision/runtime.d.ts +1 -1
  126. package/node_modules/@allyhub-next/media/dist/vision/runtime.js +2 -2
  127. package/node_modules/@allyhub-next/media/dist/worker-process.d.ts +1 -1
  128. package/node_modules/@allyhub-next/media/dist/worker-process.js +1 -1
  129. package/node_modules/@allyhub-next/media/package.json +1 -1
  130. package/node_modules/@allyhub-next/model/dist/build-job.d.ts +2 -0
  131. package/node_modules/@allyhub-next/model/dist/build-worker.js +1 -1
  132. package/node_modules/@allyhub-next/model/dist/build.d.ts +10 -0
  133. package/node_modules/@allyhub-next/model/dist/build.js +2 -1
  134. package/node_modules/@allyhub-next/model/package.json +1 -1
  135. package/node_modules/@allyhub-next/project/dist/digest.d.ts +1 -3
  136. package/node_modules/@allyhub-next/project/dist/digest.js +1 -1
  137. package/node_modules/@allyhub-next/project/dist/page.d.ts +0 -5
  138. package/node_modules/@allyhub-next/project/dist/page.js +2 -2
  139. package/node_modules/@allyhub-next/project/dist/session.js +1 -1
  140. package/node_modules/@allyhub-next/project/package.json +1 -1
  141. package/node_modules/@allyhub-next/protocol/dist/app.d.ts +0 -64
  142. package/node_modules/@allyhub-next/protocol/dist/app.js +1 -1
  143. package/node_modules/@allyhub-next/protocol/dist/auth.d.ts +0 -17
  144. package/node_modules/@allyhub-next/protocol/dist/auth.js +1 -1
  145. package/node_modules/@allyhub-next/protocol/dist/cli.d.ts +0 -4
  146. package/node_modules/@allyhub-next/protocol/dist/cli.js +1 -1
  147. package/node_modules/@allyhub-next/protocol/dist/editor.d.ts +9 -26
  148. package/node_modules/@allyhub-next/protocol/dist/editor.js +1 -1
  149. package/node_modules/@allyhub-next/protocol/dist/index.d.ts +1 -0
  150. package/node_modules/@allyhub-next/protocol/dist/index.js +1 -1
  151. package/node_modules/@allyhub-next/protocol/dist/notes.d.ts +163 -0
  152. package/node_modules/@allyhub-next/protocol/dist/notes.js +2 -0
  153. package/node_modules/@allyhub-next/protocol/dist/registry.d.ts +1 -1
  154. package/node_modules/@allyhub-next/protocol/dist/runtimes.d.ts +3 -0
  155. package/node_modules/@allyhub-next/protocol/dist/runtimes.js +1 -1
  156. package/node_modules/@allyhub-next/protocol/dist/tools.d.ts +37 -0
  157. package/node_modules/@allyhub-next/protocol/dist/tools.js +1 -1
  158. package/node_modules/@allyhub-next/protocol/package.json +1 -1
  159. package/node_modules/@allyhub-next/registry/dist/registry.js +1 -1
  160. package/node_modules/@allyhub-next/registry/package.json +1 -1
  161. package/node_modules/@allyhub-next/render/dist/doc/index.d.ts +1 -1
  162. package/node_modules/@allyhub-next/render/dist/doc/index.js +1 -1
  163. package/node_modules/@allyhub-next/render/dist/doc/print.d.ts +11 -0
  164. package/node_modules/@allyhub-next/render/dist/doc/print.js +17 -1
  165. package/node_modules/@allyhub-next/render/dist/exports.d.ts +29 -4
  166. package/node_modules/@allyhub-next/render/dist/exports.js +2 -2
  167. package/node_modules/@allyhub-next/render/dist/page.d.ts +11 -1
  168. package/node_modules/@allyhub-next/render/dist/render.d.ts +2 -0
  169. package/node_modules/@allyhub-next/render/dist/render.js +2 -2
  170. package/node_modules/@allyhub-next/render/package.json +1 -1
  171. package/node_modules/@allyhub-next/runtime/LICENSE +241 -0
  172. package/node_modules/@allyhub-next/runtime/dist/bridge.d.ts +13 -3
  173. package/node_modules/@allyhub-next/runtime/dist/clock.js +1 -1
  174. package/node_modules/@allyhub-next/runtime/dist/env.js +1 -1
  175. package/node_modules/@allyhub-next/runtime/dist/facade.js +1 -1
  176. package/node_modules/@allyhub-next/runtime/dist/footage.js +1 -1
  177. package/node_modules/@allyhub-next/runtime/dist/frame.js +1 -1
  178. package/node_modules/@allyhub-next/runtime/dist/index.d.ts +2 -0
  179. package/node_modules/@allyhub-next/runtime/dist/index.js +1 -1
  180. package/node_modules/@allyhub-next/runtime/dist/locate.d.ts +11 -0
  181. package/node_modules/@allyhub-next/runtime/dist/locate.js +2 -0
  182. package/node_modules/@allyhub-next/runtime/dist/measure.d.ts +2 -1
  183. package/node_modules/@allyhub-next/runtime/dist/measure.js +1 -1
  184. package/node_modules/@allyhub-next/runtime/dist/music.js +1 -1
  185. package/node_modules/@allyhub-next/runtime/dist/output.js +1 -1
  186. package/node_modules/@allyhub-next/runtime/dist/piece.d.ts +5 -9
  187. package/node_modules/@allyhub-next/runtime/dist/piece.js +2 -2
  188. package/node_modules/@allyhub-next/runtime/dist/player/player.js +1 -1
  189. package/node_modules/@allyhub-next/runtime/dist/reads.d.ts +2 -0
  190. package/node_modules/@allyhub-next/runtime/dist/reads.js +1 -1
  191. package/node_modules/@allyhub-next/runtime/dist/sound.js +1 -1
  192. package/node_modules/@allyhub-next/runtime/dist/stage-kit.d.ts +12 -0
  193. package/node_modules/@allyhub-next/runtime/dist/stage-kit.js +2 -0
  194. package/node_modules/@allyhub-next/runtime/package.json +5 -6
  195. package/node_modules/@allyhub-next/runtimes/dist/errors.d.ts +5 -1
  196. package/node_modules/@allyhub-next/runtimes/dist/index.d.ts +1 -0
  197. package/node_modules/@allyhub-next/runtimes/dist/index.js +1 -1
  198. package/node_modules/@allyhub-next/runtimes/dist/node-program.d.ts +3 -0
  199. package/node_modules/@allyhub-next/runtimes/dist/node-program.js +2 -0
  200. package/node_modules/@allyhub-next/runtimes/dist/packages.d.ts +65 -0
  201. package/node_modules/@allyhub-next/runtimes/dist/packages.js +4 -0
  202. package/node_modules/@allyhub-next/runtimes/dist/runtimes.js +2 -2
  203. package/node_modules/@allyhub-next/runtimes/dist/unpack.d.ts +7 -0
  204. package/node_modules/@allyhub-next/runtimes/dist/unpack.js +1 -1
  205. package/node_modules/@allyhub-next/runtimes/package.json +5 -1
  206. package/node_modules/@allyhub-next/runtimes/pins/docx/package-lock.json +67 -0
  207. package/node_modules/@allyhub-next/runtimes/pins/docx/package.json +9 -0
  208. package/node_modules/@allyhub-next/runtimes/pins/exceljs/package-lock.json +2533 -0
  209. package/node_modules/@allyhub-next/runtimes/pins/exceljs/package.json +8 -0
  210. package/node_modules/@allyhub-next/runtimes/pins/gltf-tools/package-lock.json +753 -0
  211. package/node_modules/@allyhub-next/runtimes/pins/gltf-tools/package.json +14 -0
  212. package/node_modules/@allyhub-next/runtimes/pins/manifold-3d/package-lock.json +950 -0
  213. package/node_modules/@allyhub-next/runtimes/pins/manifold-3d/package.json +8 -0
  214. package/node_modules/@allyhub-next/runtimes/pins/onnxruntime-node/package-lock.json +227 -0
  215. package/node_modules/@allyhub-next/runtimes/pins/onnxruntime-node/package.json +8 -0
  216. package/node_modules/@allyhub-next/runtimes/pins/sherpa-onnx-node/package-lock.json +105 -0
  217. package/node_modules/@allyhub-next/runtimes/pins/sherpa-onnx-node/package.json +8 -0
  218. package/node_modules/@allyhub-next/runtimes/pins/tesseract.js/package-lock.json +128 -0
  219. package/node_modules/@allyhub-next/runtimes/pins/tesseract.js/package.json +9 -0
  220. package/node_modules/@allyhub-next/runtimes/schemas/runtimes.schema.json +5 -24
  221. package/node_modules/@allyhub-next/scaffold/dist/index.js +3 -3
  222. package/node_modules/@allyhub-next/scaffold/package.json +1 -1
  223. package/node_modules/@allyhub-next/scenery/package.json +1 -1
  224. package/node_modules/@allyhub-next/scenery-host/dist/bundle.d.ts +2 -2
  225. package/node_modules/@allyhub-next/scenery-host/dist/bundle.js +3 -3
  226. package/node_modules/@allyhub-next/scenery-host/dist/viewer.d.ts +11 -0
  227. package/node_modules/@allyhub-next/scenery-host/dist/viewer.js +1 -1
  228. package/node_modules/@allyhub-next/scenery-host/package.json +1 -1
  229. package/node_modules/@allyhub-next/sheet/package.json +1 -1
  230. package/node_modules/@allyhub-next/site/dist/media.js +2 -2
  231. package/node_modules/@allyhub-next/site/package.json +1 -1
  232. package/node_modules/@allyhub-next/slides-core/LICENSE +241 -0
  233. package/node_modules/@allyhub-next/slides-core/dist/animation.d.ts +129 -0
  234. package/node_modules/@allyhub-next/slides-core/dist/animation.js +2 -0
  235. package/node_modules/@allyhub-next/slides-core/dist/api.d.ts +649 -0
  236. package/node_modules/@allyhub-next/slides-core/dist/api.js +4 -0
  237. package/node_modules/@allyhub-next/slides-core/dist/capabilities.d.ts +18 -0
  238. package/node_modules/@allyhub-next/slides-core/dist/capabilities.js +2 -0
  239. package/node_modules/@allyhub-next/slides-core/dist/chart-api.d.ts +165 -0
  240. package/node_modules/@allyhub-next/slides-core/dist/chart-api.js +2 -0
  241. package/node_modules/@allyhub-next/slides-core/dist/chart-file.d.ts +11 -0
  242. package/node_modules/@allyhub-next/slides-core/dist/chart-file.js +2 -0
  243. package/node_modules/@allyhub-next/slides-core/dist/chart.d.ts +184 -0
  244. package/node_modules/@allyhub-next/slides-core/dist/chart.js +2 -0
  245. package/node_modules/@allyhub-next/slides-core/dist/check.d.ts +7 -0
  246. package/node_modules/@allyhub-next/slides-core/dist/check.js +2 -0
  247. package/node_modules/@allyhub-next/slides-core/dist/enums.d.ts +146 -0
  248. package/node_modules/@allyhub-next/slides-core/dist/enums.js +2 -0
  249. package/node_modules/@allyhub-next/slides-core/dist/file.d.ts +109 -0
  250. package/node_modules/@allyhub-next/slides-core/dist/file.js +4 -0
  251. package/node_modules/@allyhub-next/slides-core/dist/index.d.ts +21 -0
  252. package/node_modules/@allyhub-next/slides-core/dist/index.js +2 -0
  253. package/node_modules/@allyhub-next/slides-core/dist/measure.d.ts +34 -0
  254. package/node_modules/@allyhub-next/slides-core/dist/measure.js +2 -0
  255. package/node_modules/@allyhub-next/slides-core/dist/model.d.ts +278 -0
  256. package/node_modules/@allyhub-next/slides-core/dist/model.js +2 -0
  257. package/node_modules/@allyhub-next/slides-core/dist/office.d.ts +58 -0
  258. package/node_modules/@allyhub-next/slides-core/dist/office.js +2 -0
  259. package/node_modules/@allyhub-next/slides-core/dist/path.d.ts +6 -0
  260. package/node_modules/@allyhub-next/slides-core/dist/path.js +2 -0
  261. package/node_modules/@allyhub-next/slides-core/dist/placeholders.d.ts +7 -0
  262. package/node_modules/@allyhub-next/slides-core/dist/placeholders.js +2 -0
  263. package/node_modules/@allyhub-next/slides-core/dist/resolve.d.ts +181 -0
  264. package/node_modules/@allyhub-next/slides-core/dist/resolve.js +2 -0
  265. package/node_modules/@allyhub-next/slides-core/dist/script.d.ts +43 -0
  266. package/node_modules/@allyhub-next/slides-core/dist/script.js +3 -0
  267. package/node_modules/@allyhub-next/slides-core/dist/stage.d.ts +63 -0
  268. package/node_modules/@allyhub-next/slides-core/dist/stage.js +2 -0
  269. package/node_modules/@allyhub-next/slides-core/dist/strict.d.ts +23 -0
  270. package/node_modules/@allyhub-next/slides-core/dist/strict.js +2 -0
  271. package/node_modules/@allyhub-next/slides-core/dist/theme.d.ts +72 -0
  272. package/node_modules/@allyhub-next/slides-core/dist/theme.js +2 -0
  273. package/node_modules/@allyhub-next/slides-core/dist/units.d.ts +35 -0
  274. package/node_modules/@allyhub-next/slides-core/dist/units.js +2 -0
  275. package/node_modules/@allyhub-next/slides-core/package.json +14 -0
  276. package/node_modules/@allyhub-next/slides-pptx/LICENSE +241 -0
  277. package/node_modules/@allyhub-next/slides-pptx/dist/charts.d.ts +6 -0
  278. package/node_modules/@allyhub-next/slides-pptx/dist/charts.js +2 -0
  279. package/node_modules/@allyhub-next/slides-pptx/dist/fonts.d.ts +45 -0
  280. package/node_modules/@allyhub-next/slides-pptx/dist/fonts.js +2 -0
  281. package/node_modules/@allyhub-next/slides-pptx/dist/import.d.ts +18 -0
  282. package/node_modules/@allyhub-next/slides-pptx/dist/import.js +3 -0
  283. package/node_modules/@allyhub-next/slides-pptx/dist/index.d.ts +5 -0
  284. package/node_modules/@allyhub-next/slides-pptx/dist/index.js +2 -0
  285. package/node_modules/@allyhub-next/slides-pptx/dist/read.d.ts +55 -0
  286. package/node_modules/@allyhub-next/slides-pptx/dist/read.js +4 -0
  287. package/node_modules/@allyhub-next/slides-pptx/dist/shapes.d.ts +67 -0
  288. package/node_modules/@allyhub-next/slides-pptx/dist/shapes.js +2 -0
  289. package/node_modules/@allyhub-next/slides-pptx/dist/text.d.ts +21 -0
  290. package/node_modules/@allyhub-next/slides-pptx/dist/text.js +2 -0
  291. package/node_modules/@allyhub-next/slides-pptx/dist/theme.d.ts +4 -0
  292. package/node_modules/@allyhub-next/slides-pptx/dist/theme.js +2 -0
  293. package/node_modules/@allyhub-next/slides-pptx/dist/timing.d.ts +32 -0
  294. package/node_modules/@allyhub-next/slides-pptx/dist/timing.js +2 -0
  295. package/node_modules/@allyhub-next/slides-pptx/dist/write.d.ts +32 -0
  296. package/node_modules/@allyhub-next/slides-pptx/dist/write.js +3 -0
  297. package/node_modules/@allyhub-next/slides-pptx/dist/xml.d.ts +26 -0
  298. package/node_modules/@allyhub-next/slides-pptx/dist/xml.js +3 -0
  299. package/node_modules/@allyhub-next/slides-pptx/package.json +14 -0
  300. package/node_modules/@allyhub-next/slides-runtime/LICENSE +241 -0
  301. package/node_modules/@allyhub-next/slides-runtime/dist/draw.d.ts +40 -0
  302. package/node_modules/@allyhub-next/slides-runtime/dist/draw.js +3 -0
  303. package/node_modules/@allyhub-next/slides-runtime/dist/edit.d.ts +4 -0
  304. package/node_modules/@allyhub-next/slides-runtime/dist/edit.js +2 -0
  305. package/node_modules/@allyhub-next/slides-runtime/dist/index.d.ts +4 -0
  306. package/node_modules/@allyhub-next/slides-runtime/dist/index.js +2 -0
  307. package/node_modules/@allyhub-next/slides-runtime/dist/ink.d.ts +10 -0
  308. package/node_modules/@allyhub-next/slides-runtime/dist/ink.js +2 -0
  309. package/node_modules/@allyhub-next/slides-runtime/dist/load.d.ts +6 -0
  310. package/node_modules/@allyhub-next/slides-runtime/dist/load.js +6 -0
  311. package/node_modules/@allyhub-next/slides-runtime/package.json +14 -0
  312. package/node_modules/@allyhub-next/stage/dist/graphics.js +1 -1
  313. package/node_modules/@allyhub-next/stage/dist/identity.js +1 -1
  314. package/node_modules/@allyhub-next/stage/dist/page.d.ts +9 -0
  315. package/node_modules/@allyhub-next/stage/dist/page.js +12 -2
  316. package/node_modules/@allyhub-next/stage/dist/server.js +1 -1
  317. package/node_modules/@allyhub-next/stage/package.json +1 -1
  318. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/400-italic.css +79 -0
  319. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/400.css +79 -0
  320. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/700-italic.css +79 -0
  321. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/700.css +79 -0
  322. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/LICENSE +93 -0
  323. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/arial.css +316 -0
  324. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-400-italic.woff2 +0 -0
  325. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-400-normal.woff2 +0 -0
  326. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-700-italic.woff2 +0 -0
  327. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-700-normal.woff2 +0 -0
  328. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-400-italic.woff2 +0 -0
  329. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-400-normal.woff2 +0 -0
  330. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-700-italic.woff2 +0 -0
  331. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-700-normal.woff2 +0 -0
  332. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-400-italic.woff2 +0 -0
  333. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-400-normal.woff2 +0 -0
  334. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-700-italic.woff2 +0 -0
  335. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-700-normal.woff2 +0 -0
  336. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-400-italic.woff2 +0 -0
  337. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-400-normal.woff2 +0 -0
  338. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-700-italic.woff2 +0 -0
  339. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-700-normal.woff2 +0 -0
  340. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-400-italic.woff2 +0 -0
  341. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-400-normal.woff2 +0 -0
  342. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-700-italic.woff2 +0 -0
  343. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-700-normal.woff2 +0 -0
  344. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-400-italic.woff2 +0 -0
  345. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-400-normal.woff2 +0 -0
  346. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-700-italic.woff2 +0 -0
  347. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-700-normal.woff2 +0 -0
  348. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-400-italic.woff2 +0 -0
  349. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-400-normal.woff2 +0 -0
  350. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-700-italic.woff2 +0 -0
  351. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-700-normal.woff2 +0 -0
  352. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-400-italic.woff2 +0 -0
  353. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-400-normal.woff2 +0 -0
  354. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-700-italic.woff2 +0 -0
  355. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-700-normal.woff2 +0 -0
  356. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/400-italic.css +69 -0
  357. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/400.css +69 -0
  358. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/700-italic.css +69 -0
  359. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/700.css +69 -0
  360. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/LICENSE +93 -0
  361. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/calibri.css +276 -0
  362. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-400-italic.woff2 +0 -0
  363. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-400-normal.woff2 +0 -0
  364. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-700-italic.woff2 +0 -0
  365. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-700-normal.woff2 +0 -0
  366. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-400-italic.woff2 +0 -0
  367. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-400-normal.woff2 +0 -0
  368. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-700-italic.woff2 +0 -0
  369. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-700-normal.woff2 +0 -0
  370. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-400-italic.woff2 +0 -0
  371. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-400-normal.woff2 +0 -0
  372. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-700-italic.woff2 +0 -0
  373. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-700-normal.woff2 +0 -0
  374. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-400-italic.woff2 +0 -0
  375. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-400-normal.woff2 +0 -0
  376. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-700-italic.woff2 +0 -0
  377. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-700-normal.woff2 +0 -0
  378. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-400-italic.woff2 +0 -0
  379. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-400-normal.woff2 +0 -0
  380. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-700-italic.woff2 +0 -0
  381. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-700-normal.woff2 +0 -0
  382. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-400-italic.woff2 +0 -0
  383. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-400-normal.woff2 +0 -0
  384. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-700-italic.woff2 +0 -0
  385. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-700-normal.woff2 +0 -0
  386. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-400-italic.woff2 +0 -0
  387. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-400-normal.woff2 +0 -0
  388. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-700-italic.woff2 +0 -0
  389. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-700-normal.woff2 +0 -0
  390. package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/400.css +1 -1
  391. package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/700.css +1 -1
  392. package/node_modules/@allyhub-next/stage-page/dist/fonts/noto-sans-sc/microsoft-yahei.css +2018 -0
  393. package/node_modules/@allyhub-next/stage-page/dist/host.js +21 -0
  394. package/node_modules/@allyhub-next/stage-page/dist/page.js +79 -0
  395. package/node_modules/@allyhub-next/stage-page/package.json +14 -0
  396. package/node_modules/@allyhub-next/video-core/dist/export.d.ts +6 -5
  397. package/node_modules/@allyhub-next/video-core/dist/export.js +1 -1
  398. package/node_modules/@allyhub-next/video-core/dist/fact.d.ts +173 -4
  399. package/node_modules/@allyhub-next/video-core/dist/fact.js +1 -1
  400. package/node_modules/@allyhub-next/video-core/dist/formats.d.ts +6 -13
  401. package/node_modules/@allyhub-next/video-core/dist/formats.js +1 -1
  402. package/node_modules/@allyhub-next/video-core/dist/index.d.ts +0 -1
  403. package/node_modules/@allyhub-next/video-core/dist/index.js +1 -1
  404. package/node_modules/@allyhub-next/video-core/dist/measure.d.ts +83 -0
  405. package/node_modules/@allyhub-next/video-core/dist/piece.d.ts +8 -9
  406. package/node_modules/@allyhub-next/video-core/dist/piece.js +1 -1
  407. package/node_modules/@allyhub-next/video-core/dist/problem.d.ts +5 -1
  408. package/node_modules/@allyhub-next/video-core/dist/problem.js +1 -1
  409. package/node_modules/@allyhub-next/video-core/dist/schema.d.ts +0 -2
  410. package/node_modules/@allyhub-next/video-core/dist/script-edit.d.ts +4 -0
  411. package/node_modules/@allyhub-next/video-core/dist/script.d.ts +8 -0
  412. package/node_modules/@allyhub-next/video-core/dist/script.js +1 -1
  413. package/node_modules/@allyhub-next/video-core/dist/timeline.d.ts +34 -1
  414. package/node_modules/@allyhub-next/video-core/package.json +1 -1
  415. package/package.json +48 -41
  416. package/dist/commands/mcp-app.js +0 -3
  417. package/dist/commands/mcp-docs.js +0 -2
  418. package/dist/commands/mcp.js +0 -2
  419. package/editor-app/view.html +0 -128
  420. package/editor-web/assets/chevron-left-W6sP7nB1.js +0 -1
  421. package/editor-web/assets/chevron-up-566GQpAm.js +0 -1
  422. package/editor-web/assets/dist-BKDr73BR.js +0 -136
  423. package/editor-web/assets/dist-CPCNTYVu.js +0 -8
  424. package/editor-web/assets/dist-C_NajYp0.js +0 -1
  425. package/editor-web/assets/dist-mA6NrAKh.js +0 -232
  426. package/editor-web/assets/floating-ui.react-dom-BUxFRF6t.js +0 -1
  427. package/editor-web/assets/index-CFZhjTQW.js +0 -56
  428. package/editor-web/assets/index-DgU-lyX6.css +0 -2
  429. package/editor-web/assets/react-Ff_buMj8.js +0 -61
  430. package/editor-web/assets/undo-2-BKFItM3X.js +0 -1
  431. package/node_modules/@allyhub-next/runtime/dist/host.js +0 -21
  432. package/node_modules/@allyhub-next/runtime/dist/page.js +0 -72
  433. package/node_modules/@allyhub-next/runtime/dist/paged.d.ts +0 -16
  434. package/node_modules/@allyhub-next/runtime/dist/paged.js +0 -2
  435. package/node_modules/@allyhub-next/video-core/dist/slides.d.ts +0 -37
  436. package/node_modules/@allyhub-next/video-core/dist/slides.js +0 -2
  437. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/LICENSE +0 -0
  438. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/emoji.css +0 -0
  439. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/files/noto-color-emoji-emoji-400-normal.woff2 +0 -0
  440. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/LICENSE +0 -0
  441. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-100-400-normal.woff2 +0 -0
  442. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-100-700-normal.woff2 +0 -0
  443. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-101-400-normal.woff2 +0 -0
  444. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-101-700-normal.woff2 +0 -0
  445. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-102-400-normal.woff2 +0 -0
  446. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-102-700-normal.woff2 +0 -0
  447. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-103-400-normal.woff2 +0 -0
  448. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-103-700-normal.woff2 +0 -0
  449. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-104-400-normal.woff2 +0 -0
  450. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-104-700-normal.woff2 +0 -0
  451. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-105-400-normal.woff2 +0 -0
  452. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-105-700-normal.woff2 +0 -0
  453. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-106-400-normal.woff2 +0 -0
  454. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-106-700-normal.woff2 +0 -0
  455. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-107-400-normal.woff2 +0 -0
  456. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-107-700-normal.woff2 +0 -0
  457. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-108-400-normal.woff2 +0 -0
  458. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-108-700-normal.woff2 +0 -0
  459. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-109-400-normal.woff2 +0 -0
  460. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-109-700-normal.woff2 +0 -0
  461. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-110-400-normal.woff2 +0 -0
  462. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-110-700-normal.woff2 +0 -0
  463. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-111-400-normal.woff2 +0 -0
  464. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-111-700-normal.woff2 +0 -0
  465. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-112-400-normal.woff2 +0 -0
  466. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-112-700-normal.woff2 +0 -0
  467. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-113-400-normal.woff2 +0 -0
  468. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-113-700-normal.woff2 +0 -0
  469. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-114-400-normal.woff2 +0 -0
  470. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-114-700-normal.woff2 +0 -0
  471. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-115-400-normal.woff2 +0 -0
  472. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-115-700-normal.woff2 +0 -0
  473. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-116-400-normal.woff2 +0 -0
  474. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-116-700-normal.woff2 +0 -0
  475. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-117-400-normal.woff2 +0 -0
  476. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-117-700-normal.woff2 +0 -0
  477. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-118-400-normal.woff2 +0 -0
  478. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-118-700-normal.woff2 +0 -0
  479. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-119-400-normal.woff2 +0 -0
  480. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-119-700-normal.woff2 +0 -0
  481. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-21-400-normal.woff2 +0 -0
  482. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-21-700-normal.woff2 +0 -0
  483. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-22-400-normal.woff2 +0 -0
  484. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-22-700-normal.woff2 +0 -0
  485. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-23-400-normal.woff2 +0 -0
  486. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-23-700-normal.woff2 +0 -0
  487. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-24-400-normal.woff2 +0 -0
  488. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-24-700-normal.woff2 +0 -0
  489. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-25-400-normal.woff2 +0 -0
  490. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-25-700-normal.woff2 +0 -0
  491. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-26-400-normal.woff2 +0 -0
  492. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-26-700-normal.woff2 +0 -0
  493. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-27-400-normal.woff2 +0 -0
  494. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-27-700-normal.woff2 +0 -0
  495. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-28-400-normal.woff2 +0 -0
  496. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-28-700-normal.woff2 +0 -0
  497. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-29-400-normal.woff2 +0 -0
  498. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-29-700-normal.woff2 +0 -0
  499. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-30-400-normal.woff2 +0 -0
  500. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-30-700-normal.woff2 +0 -0
  501. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-31-400-normal.woff2 +0 -0
  502. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-31-700-normal.woff2 +0 -0
  503. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-32-400-normal.woff2 +0 -0
  504. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-32-700-normal.woff2 +0 -0
  505. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-33-400-normal.woff2 +0 -0
  506. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-33-700-normal.woff2 +0 -0
  507. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-34-400-normal.woff2 +0 -0
  508. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-34-700-normal.woff2 +0 -0
  509. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-35-400-normal.woff2 +0 -0
  510. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-35-700-normal.woff2 +0 -0
  511. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-36-400-normal.woff2 +0 -0
  512. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-36-700-normal.woff2 +0 -0
  513. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-37-400-normal.woff2 +0 -0
  514. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-37-700-normal.woff2 +0 -0
  515. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-38-400-normal.woff2 +0 -0
  516. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-38-700-normal.woff2 +0 -0
  517. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-39-400-normal.woff2 +0 -0
  518. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-39-700-normal.woff2 +0 -0
  519. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-4-400-normal.woff2 +0 -0
  520. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-4-700-normal.woff2 +0 -0
  521. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-40-400-normal.woff2 +0 -0
  522. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-40-700-normal.woff2 +0 -0
  523. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-41-400-normal.woff2 +0 -0
  524. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-41-700-normal.woff2 +0 -0
  525. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-42-400-normal.woff2 +0 -0
  526. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-42-700-normal.woff2 +0 -0
  527. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-43-400-normal.woff2 +0 -0
  528. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-43-700-normal.woff2 +0 -0
  529. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-44-400-normal.woff2 +0 -0
  530. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-44-700-normal.woff2 +0 -0
  531. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-45-400-normal.woff2 +0 -0
  532. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-45-700-normal.woff2 +0 -0
  533. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-46-400-normal.woff2 +0 -0
  534. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-46-700-normal.woff2 +0 -0
  535. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-47-400-normal.woff2 +0 -0
  536. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-47-700-normal.woff2 +0 -0
  537. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-48-400-normal.woff2 +0 -0
  538. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-48-700-normal.woff2 +0 -0
  539. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-49-400-normal.woff2 +0 -0
  540. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-49-700-normal.woff2 +0 -0
  541. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-5-400-normal.woff2 +0 -0
  542. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-5-700-normal.woff2 +0 -0
  543. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-50-400-normal.woff2 +0 -0
  544. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-50-700-normal.woff2 +0 -0
  545. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-51-400-normal.woff2 +0 -0
  546. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-51-700-normal.woff2 +0 -0
  547. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-52-400-normal.woff2 +0 -0
  548. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-52-700-normal.woff2 +0 -0
  549. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-53-400-normal.woff2 +0 -0
  550. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-53-700-normal.woff2 +0 -0
  551. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-54-400-normal.woff2 +0 -0
  552. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-54-700-normal.woff2 +0 -0
  553. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-55-400-normal.woff2 +0 -0
  554. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-55-700-normal.woff2 +0 -0
  555. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-56-400-normal.woff2 +0 -0
  556. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-56-700-normal.woff2 +0 -0
  557. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-57-400-normal.woff2 +0 -0
  558. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-57-700-normal.woff2 +0 -0
  559. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-58-400-normal.woff2 +0 -0
  560. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-58-700-normal.woff2 +0 -0
  561. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-59-400-normal.woff2 +0 -0
  562. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-59-700-normal.woff2 +0 -0
  563. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-6-400-normal.woff2 +0 -0
  564. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-6-700-normal.woff2 +0 -0
  565. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-60-400-normal.woff2 +0 -0
  566. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-60-700-normal.woff2 +0 -0
  567. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-61-400-normal.woff2 +0 -0
  568. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-61-700-normal.woff2 +0 -0
  569. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-62-400-normal.woff2 +0 -0
  570. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-62-700-normal.woff2 +0 -0
  571. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-63-400-normal.woff2 +0 -0
  572. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-63-700-normal.woff2 +0 -0
  573. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-64-400-normal.woff2 +0 -0
  574. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-64-700-normal.woff2 +0 -0
  575. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-65-400-normal.woff2 +0 -0
  576. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-65-700-normal.woff2 +0 -0
  577. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-66-400-normal.woff2 +0 -0
  578. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-66-700-normal.woff2 +0 -0
  579. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-67-400-normal.woff2 +0 -0
  580. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-67-700-normal.woff2 +0 -0
  581. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-68-400-normal.woff2 +0 -0
  582. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-68-700-normal.woff2 +0 -0
  583. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-69-400-normal.woff2 +0 -0
  584. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-69-700-normal.woff2 +0 -0
  585. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-70-400-normal.woff2 +0 -0
  586. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-70-700-normal.woff2 +0 -0
  587. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-71-400-normal.woff2 +0 -0
  588. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-71-700-normal.woff2 +0 -0
  589. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-72-400-normal.woff2 +0 -0
  590. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-72-700-normal.woff2 +0 -0
  591. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-73-400-normal.woff2 +0 -0
  592. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-73-700-normal.woff2 +0 -0
  593. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-74-400-normal.woff2 +0 -0
  594. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-74-700-normal.woff2 +0 -0
  595. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-75-400-normal.woff2 +0 -0
  596. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-75-700-normal.woff2 +0 -0
  597. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-76-400-normal.woff2 +0 -0
  598. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-76-700-normal.woff2 +0 -0
  599. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-77-400-normal.woff2 +0 -0
  600. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-77-700-normal.woff2 +0 -0
  601. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-78-400-normal.woff2 +0 -0
  602. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-78-700-normal.woff2 +0 -0
  603. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-79-400-normal.woff2 +0 -0
  604. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-79-700-normal.woff2 +0 -0
  605. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-80-400-normal.woff2 +0 -0
  606. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-80-700-normal.woff2 +0 -0
  607. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-81-400-normal.woff2 +0 -0
  608. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-81-700-normal.woff2 +0 -0
  609. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-82-400-normal.woff2 +0 -0
  610. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-82-700-normal.woff2 +0 -0
  611. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-83-400-normal.woff2 +0 -0
  612. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-83-700-normal.woff2 +0 -0
  613. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-84-400-normal.woff2 +0 -0
  614. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-84-700-normal.woff2 +0 -0
  615. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-85-400-normal.woff2 +0 -0
  616. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-85-700-normal.woff2 +0 -0
  617. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-86-400-normal.woff2 +0 -0
  618. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-86-700-normal.woff2 +0 -0
  619. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-87-400-normal.woff2 +0 -0
  620. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-87-700-normal.woff2 +0 -0
  621. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-88-400-normal.woff2 +0 -0
  622. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-88-700-normal.woff2 +0 -0
  623. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-89-400-normal.woff2 +0 -0
  624. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-89-700-normal.woff2 +0 -0
  625. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-90-400-normal.woff2 +0 -0
  626. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-90-700-normal.woff2 +0 -0
  627. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-91-400-normal.woff2 +0 -0
  628. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-91-700-normal.woff2 +0 -0
  629. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-97-400-normal.woff2 +0 -0
  630. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-97-700-normal.woff2 +0 -0
  631. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-98-400-normal.woff2 +0 -0
  632. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-98-700-normal.woff2 +0 -0
  633. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-99-400-normal.woff2 +0 -0
  634. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-99-700-normal.woff2 +0 -0
  635. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-cyrillic-400-normal.woff2 +0 -0
  636. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-cyrillic-700-normal.woff2 +0 -0
  637. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-400-normal.woff2 +0 -0
  638. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-700-normal.woff2 +0 -0
  639. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-ext-400-normal.woff2 +0 -0
  640. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-ext-700-normal.woff2 +0 -0
  641. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-vietnamese-400-normal.woff2 +0 -0
  642. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-vietnamese-700-normal.woff2 +0 -0
  643. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/host.d.ts +0 -0
@@ -10,8 +10,14 @@ export interface VersionExportOptions {
10
10
  captions?: CaptionCueOptions;
11
11
  /** false renders every part again and keeps nothing in the part cache. */
12
12
  partCache?: false;
13
+ /** A deck's pdf, png and pptx: a page, a file or a slide per step, not only each page's last. */
14
+ steps?: boolean;
15
+ /** A deck's pptx: PowerPoint's own model (the default), each slide a picture, or its text boxes over the picture. */
16
+ pptx?: "native" | "picture" | "editable";
13
17
  /** 0–1. */
14
18
  onProgress?: (p: number) => void;
19
+ /** Aborting it stops the export: what runs stops, and no part of a file stays. */
20
+ signal?: AbortSignal;
15
21
  }
16
22
  /** What one export wrote. */
17
23
  export interface VersionFile {
@@ -34,8 +40,12 @@ export interface VersionFile {
34
40
  };
35
41
  master?: Record<string, unknown>;
36
42
  timings?: RenderTimings;
43
+ /** A deck's PowerPoint file: the fonts it names and does not carry, and why. */
44
+ fontsLeft?: {
45
+ font: string;
46
+ why: string;
47
+ }[];
37
48
  }
38
- /** One version as one file type, written to `out` (its first file's path). */
39
49
  export declare function exportVersion(v: OpenedVersion, type: FileType, out: string, o?: VersionExportOptions): Promise<VersionFile>;
40
50
  /** Exports made at once: a quarter of the CPUs. */
41
51
  export declare const exportsAtOnce: (n: number) => number;
@@ -62,7 +72,7 @@ export interface NotExported {
62
72
  hint?: string;
63
73
  }
64
74
  /** A doc's and a sheet's own file types. */
65
- export declare const DOC_TYPES: readonly ["pdf", "png", "md"];
75
+ export declare const DOC_TYPES: readonly ["pdf", "docx", "png", "md"];
66
76
  export declare const SHEET_TYPES: readonly ["xlsx", "csv", "md", "json"];
67
77
  export type DocType = (typeof DOC_TYPES)[number];
68
78
  export type SheetType = (typeof SHEET_TYPES)[number];
@@ -90,7 +100,6 @@ export interface ProjectExportOptions extends VersionExportOptions {
90
100
  /** Make what the media index lacks first (default true). */
91
101
  index?: boolean;
92
102
  log?: (line: string) => void;
93
- signal?: AbortSignal;
94
103
  }
95
104
  export interface ProjectExport {
96
105
  out: string;
@@ -1,3 +1,3 @@
1
1
  /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
- import{mkdir as F,readFile as W,stat as Z,writeFile as T}from"node:fs/promises";import{cpus as ue}from"node:os";import{basename as he,dirname as ee,isAbsolute as ge,join as g,relative as te,sep as we}from"node:path";import{parseDoc as be,markdownOf as ye}from"@allyhub-next/doc";import{codeOf as ke,fontsDigest as xe}from"@allyhub-next/build";import{RenderError as $e,VIDEO_TYPES as Pe,renderCaptions as Se,renderCover as Ee,renderPdf as Ce,renderPng as Me,renderPptx as je,renderVideo as Oe,mixSound as Te,requireEncoder as Ne,requireFfmpeg as ve}from"@allyhub-next/render";import{renderDoc as Le}from"@allyhub-next/render/doc";import{jsonOf as _e,markdownOf as De,readSheet as Fe,readSpec as Ae}from"@allyhub-next/sheet";import{CACHE_DIR as Ie,SHEET_SPEC as Re}from"@allyhub-next/formats";import{buildModule as Ye}from"@allyhub-next/model/build";import{graphicsPage as Ve,stageIdentity as ze}from"@allyhub-next/stage";import{DEFAULT_TYPES as He,FILE_TYPES as ne,comboKey as q,exportProblem as We,pieceIs as A,pieceNamed as se}from"@allyhub-next/video-core";import{runCheck as qe}from"@allyhub-next/check";import{batchCsv as Be,batchRows as Je}from"./batch.js";import{batchName as Ke,checkName as Ue,exportName as oe,exportNames as Ge}from"./names.js";import{ConsolePool as Qe,mergeConsole as Xe,dedupe as ie,indexNeeds as Ze,makeIndex as et,CheckSession as tt,OpenedVersion as nt,ProjectError as v,versionLabel as re}from"@allyhub-next/project";const ae=e=>Pe.includes(e);export async function exportVersion(e,o,c,r={}){await F(ee(c),{recursive:!0});const p={page:e.graphics(),target:e.target,look:e.look,media:e.media,out:c};if(o==="wav"){const f=await Te({timeline:e.timeline,sound:await e.sound(),out:c});return r.onProgress?.(1),{files:[c],duration:Math.round(e.timeline.duration*e.timeline.fps)/e.timeline.fps,...f.loudness?{loudness:f.loudness}:{},master:{...f}}}if(ae(o)&&(o!=="png"||e.piece.kind==="video")){const f=e.prepared,a=await xe(f.root,f.files,f.fonts),i=await Oe({target:e.target,look:e.look,media:e.media,pages:[e.graphics()],openPage:async()=>{const u=await e.session.open(e.piece,e.target,"render");return Ve(u.stage,{gpu:e.session.gpu})},...o==="gif"?{}:{sound:await e.sound()},out:c,type:o,...r.encode?{encode:r.encode}:{},...r.workers===void 0?{}:{workers:r.workers},...r.onProgress?{onProgress:r.onProgress}:{},code:await ke(f,e.piece,ze(a)),...r.partCache===!1?{partCache:!1}:{}});return{files:i.files??[i.out],duration:i.duration,parts:i.parts,...i.junctions?{junctions:i.junctions}:{},...i.loudness?{loudness:i.loudness}:{},...i.master?{master:{...i.master}}:{},timings:i.timings}}const m=o==="srt"||o==="vtt"?await Se({...p,type:o,...r.captions?{captions:r.captions}:{}}):o==="pdf"?await Ce(p):o==="pptx"?await je(p):o==="png"?await Me(p):await Ee(p);return r.onProgress?.(1),{files:m.files??[m.out]}}export const exportsAtOnce=e=>Math.max(1,Math.min(e,Math.floor(ue().length/4))),DOC_TYPES=["pdf","png","md"],SHEET_TYPES=["xlsx","csv","md","json"],MODEL_TYPES=["glb"];const B=(e,o)=>`${String(e)} ${o}${e===1?"":"s"}`;function st(e){if(e===void 0)return;const o=new Set([...Object.keys(ne),...DOC_TYPES,...SHEET_TYPES,...MODEL_TYPES]);for(const c of e)if(!o.has(c))throw new v("bad-type",`Cannot render ${c}.`,"usage",`Types: ${[...o].join(", ")}.`);return[...e]}export async function exportProject(e){const o=st(e.types);e.name!==void 0&&Ue(e.name);const c=e.items??[],r=c.length>0,p=d=>c.some(w=>A({id:d,path:d},w)),m=[],f=[],a=[],i=()=>tt.open({root:e.root,...e.gpu===void 0?{}:{gpu:e.gpu},...e.consoleLimit===void 0?{}:{consoleLimit:e.consoleLimit}});let u=await i();try{const d=u.prepared,w=d.docs.filter(t=>!r||p(t.place)),j=d.sheets.filter(t=>!r||p(t.place)),E=d.items.filter(t=>t.kind==="model"&&(!r||p(t.dir))),$=c.filter(t=>!d.items.some(n=>n.kind==="model"&&A({id:n.dir,path:n.dir},t))&&!d.docs.some(n=>A({id:n.place,path:n.place},t))&&!d.sheets.some(n=>A({id:n.place,path:n.place},t)));for(const t of $)if(!d.pieces.some(n=>se({id:n.id,path:n.place},t)))throw new v("no-item",`No item ${t}.`,"not-found",`Items: ${[...d.pieces.map(n=>n.id),...d.docs.map(n=>n.place),...d.sheets.map(n=>n.place),...d.items.filter(n=>n.kind==="model").map(n=>n.dir)].join(", ")||"none"}.`);const C=r&&$.length===0,_=o?.filter(t=>t in ne),I=C?[]:d.pieces.filter(t=>$.length===0||$.some(n=>se({id:t.id,path:t.place},n))),R=o?.includes("csv")===!0?I.filter(t=>t.matrix!==void 0):[];if(o?.includes("csv")===!0&&$.length>0&&R.length===0)throw new v("bad-type",`${$.join(", ")} has no slots (matrix.slots), so there is no table of ads to write as csv.`,"usage","csv is a batch's table of ads, or a sheet's rows.");let D=[...d.problems];const Y=new Qe(u.consoleLimit),le=new Set([...d.docs.map(t=>t.file),...d.sheets.flatMap(t=>t.files)]),de=t=>t.where?.file!==void 0&&le.has(t.where.file),J=t=>t.filter(n=>n.level==="error"&&!de(n)).length;if(!C&&(_?.length!==0||R.length>0)&&(d.pieces.length>0||J(d.problems)>0)){e.log?.("Checking…");const t=()=>it(u,e.root,$,e.combos);let n=await t();const N=e.index===!1?[]:Ze(n.results);if(N.length>0){const s=await et(d.root,N,rt(e.log),e.signal);a.push(...s.failed.map(l=>({file:l.need.file,error:l.error}))),s.done.length>0&&(await u.close(),u=await i(),n=await t())}D=n.problems,Y.addReport(n.console);const O=J(n.problems);if(O>0)throw new v("check-failed",`The check found ${B(O,"must-fix problem")}, so nothing is rendered.`,"failed","allyhub check lists them; fix them, then render.");for(const s of R){const l=performance.now(),k=Ke(s.id),P=Je(s,n.plans,u.prepared.media,ot(e.root,e.out),e.name);await F(ee(g(e.out,k)),{recursive:!0}),await T(g(e.out,k),Be(P));const S=n.targets.filter(b=>b.piece===s.id).length;P.length<S&&e.log?.(`${k}: ${B(S-P.length,"ad")} not listed, which did not load (allyhub check says why).`),m.push(await L(e.out,k,s.id,"csv",l))}const x=[],V=new Set;for(const s of n.targets){const l=u.prepared.pieces.find(h=>h.id===s.piece);if(!l)continue;if(!r&&l.options.deliverable===!1){V.add(s.piece);continue}const k=l.kind==="video"?"video":"paged",P=n.results.find(h=>h.piece===s.piece&&q(h.combo)===s.key&&h.format===s.format),S=n.plans.find(h=>h.piece===s.piece&&q(h.combo)===s.key&&h.format===s.format),b=P?.timeline?(P.timeline.audio.speech?.length??0)>0:S?.parts.some(h=>h.speech!==void 0)??!1,M={piece:s.piece,output:s.output,combo:s.combo,format:s.format,...s.id===void 0?{}:{id:s.id}};for(const h of _??He[k]){const y=We({kind:k,speech:b},h);if(!(y?.code==="bad_type"&&!r)){if(y&&y.code!=="no_speech")throw new v("bad-type",`${re(M)}: ${y.message}`,"usage",y.hint);x.push({target:M,type:h,...y?{refused:{name:oe(M,h),piece:M.piece,type:h,code:"no-speech",message:`${re(M)}: ${y.message}`,...y.hint?{hint:y.hint}:{}}}:{}})}}}if(V.size>0&&e.log?.(`Not rendered, shown only inside another video (deliverable: false): ${[...V].join(", ")}. Name one to render it.`),x.some(s=>ae(s.type)||s.type==="wav")){await ve();for(const s of new Set(x.map(l=>l.type)))await Ne(s,e.encode?.codec)}const G=Ge(x,e.name);x.forEach((s,l)=>{s.refused&&(s.refused.name=G[l]??s.refused.name)});const Q=[],z=new Array(x.length).fill(0),H=(s,l)=>{z[s]=Math.max(z[s]??0,l),e.onProgress?.(z.reduce((k,P)=>k+P,0)/x.length)};let X=0,fe=0;const pe=async()=>{for(let s=X++;s<x.length;s=X++){const l=x[s];if(!l)continue;const k=G[s]??oe(l.target,l.type);if(l.refused){f.push(l.refused),H(s,1);continue}const P=performance.now(),S=await nt.open({root:e.root,session:u,item:l.target.piece,combos:[l.target.combo],purpose:"render"});try{const b=await exportVersion(S,l.type,g(e.out,k),{...e,onProgress:y=>{H(s,y)}}),M=(await Promise.all(b.files.map(y=>Z(y)))).reduce((y,me)=>y+me.size,0),h=Math.round((performance.now()-P)/10)/100;m.push({...b,name:ce(te(e.out,b.files[0]??"")),path:b.files[0]??g(e.out,k),piece:l.target.piece,type:l.type,combo:l.target.combo,key:q(l.target.combo),format:l.target.format,bytes:M,seconds:h}),e.log?.(`[${String(++fe)}/${String(x.length)}] ${k} (${h.toFixed(1)} s)`)}catch(b){if(!(b instanceof $e))throw b;f.push({name:k,piece:l.target.piece,type:l.type,code:b.code,message:b.message,...b.hint?{hint:b.hint}:{}})}finally{Q.push(...await S.problems()),Y.add(l.target,await S.console()),await S.close(),H(s,1)}}};x.length>0&&e.log?.(`Rendering ${B(x.length,"file")}…`),await Promise.all(Array.from({length:exportsAtOnce(x.length)},pe)),D=ie([...D,...Q])}const K=t=>d.problems.find(n=>n.level==="error"&&n.where?.file!==void 0&&t.includes(n.where.file));for(const t of[...w,...j]){const n=K("files"in t?t.files:[t.file]);n&&f.push({name:t.place,piece:t.place,type:"files"in t?"xlsx":"pdf",code:"check-failed",message:`${n.where?.file??t.place}: ${n.message}`,hint:"Fix it, then render again."})}const U=t=>t.filter(n=>K("files"in n?n.files:[n.file])===void 0);if(m.push(...await at(e.root,U(w),o,e.out,e.log),...await ct(e.root,U(j),o,e.out,e.log)),o===void 0||o.includes("glb"))for(const t of E){e.log?.(`Building ${t.entry}…`);const n=performance.now(),N=`${t.dir}/${he(t.dir)}.glb`;try{await Ye(g(e.root,t.entry),{root:e.root,out:g(e.out,N),cache:g(e.root,Ie,"model"),log:()=>{}}),m.push(await L(e.out,N,t.dir,"glb",n))}catch(O){f.push({name:t.dir,piece:t.dir,type:"glb",code:"model-failed",message:`${t.entry}: ${O instanceof Error?O.message:String(O)}`,hint:"Fix it, then render again."})}}return{out:e.out,files:m,failed:f,problems:D,console:Y.report(),unindexed:a}}finally{await u.close()}}const ce=e=>e.split(we).join("/");function ot(e,o){const c=te(e,o);return c===""?".":c.startsWith("..")||ge(c)?o:ce(c)}async function it(e,o,c,r){const p=[];for(const i of c.length>0?c:[void 0])p.push(await qe({dir:o,session:e,facts:!1,...i===void 0?{}:{piece:i},...r?{combos:[...r]}:{}}));const m=new Set,f=p.flatMap(i=>i.targets).filter(i=>{const u=`${i.piece}\0${i.key}\0${i.format}`;return m.has(u)?!1:(m.add(u),!0)}),a=ie(p.flatMap(i=>i.problems));return{targets:f,results:p.flatMap(i=>i.results),plans:p.flatMap(i=>i.plans),problems:a,errors:a.filter(i=>i.level==="error").length,console:Xe(e.consoleLimit,...p.map(i=>i.console))}}function rt(e){let o="";return c=>{const r=c.status==="failed"?`Could not index ${c.file}: ${c.message}`:c.message;c.status==="running"&&c.share!==void 0||r!==o&&(o=r,e?.(r))}}async function L(e,o,c,r,p){const m=g(e,o);return{files:[m],name:o,path:m,piece:c,type:r,bytes:(await Z(m)).size,seconds:Math.round((performance.now()-p)/10)/100}}async function at(e,o,c,r,p){const m=(c??["pdf"]).filter(a=>DOC_TYPES.includes(a)),f=[];for(const a of o){if(m.length===0)break;p?.(`Rendering ${a.file}…`);const i=performance.now();if(m.includes("md")){const w=await W(g(e,a.file),"utf8");await F(g(r,a.place),{recursive:!0}),await T(g(r,a.place,"doc.md"),ye(be(w).blocks)),f.push(await L(r,`${a.place}/doc.md`,a.place,"md",i))}const u=m.filter(w=>w!=="md");if(u.length===0)continue;const d=await Le({root:e,doc:{file:a.file,dir:a.dir,path:a.place,title:a.title},out:g(r,a.place),types:u});for(const w of d)f.push(await L(r,`${a.place}/${w}`,a.place,w.endsWith(".png")?"png":"pdf",i))}return f}async function ct(e,o,c,r,p){const m=(c??["xlsx"]).filter(a=>SHEET_TYPES.includes(a)),f=[];for(const a of o){if(m.length===0)break;p?.(`Writing ${a.file}…`);const i=performance.now(),u=await W(g(e,a.file),"utf8"),d=await W(g(e,a.dir,Re),"utf8").catch(()=>{}),{data:w}=Fe(u),j=d===void 0?{columns:{}}:Ae(d).spec;await F(g(r,a.place),{recursive:!0});for(const E of m){const $=`${a.place}/sheet.${E}`,C=g(r,$);if(E==="csv")await T(C,u);else if(E==="md")await T(C,De(w,j));else if(E==="json")await T(C,`${JSON.stringify(_e(w,j),null,2)}
3
- `);else{const{xlsxOf:_}=await import("@allyhub-next/sheet/xlsx"),I=(await import("exceljs")).default;await T(C,await _(I,w,j,{title:a.title??a.place.split("/").pop()??"Sheet"}))}f.push(await L(r,$,a.place,E,i))}}return f}
2
+ import{renderDeckPptx as we}from"./deck-pptx.js";import{mkdir as L,readFile as H,stat as te,writeFile as T}from"node:fs/promises";import{cpus as xe}from"node:os";import{basename as q,dirname as ne,isAbsolute as be,join as w,relative as se,sep as ke}from"node:path";import{parseDoc as ye,markdownOf as $e}from"@allyhub-next/doc";import{createPackages as oe}from"@allyhub-next/runtimes";import{codeOf as Pe,fontsDigest as Se}from"@allyhub-next/build";import{RenderError as Ee,VIDEO_TYPES as je,renderCaptions as Me,renderCover as Ce,renderPdf as Oe,renderPng as Te,renderPptx as Fe,renderVideo as Ne,mixSound as Ae,requireEncoder as De,requireFfmpeg as Ie}from"@allyhub-next/render";import{renderDoc as Le,renderWord as _e}from"@allyhub-next/render/doc";import{jsonOf as ve,markdownOf as Re,readSheet as Ye,readSpec as Ve}from"@allyhub-next/sheet";import{CACHE_DIR as We,SHEET_SPEC as ze}from"@allyhub-next/formats";import{buildModule as He}from"@allyhub-next/model/build";import{graphicsPage as qe,stageIdentity as Ge}from"@allyhub-next/stage";import{DEFAULT_TYPES as Be,FILE_TYPES as ie,comboKey as G,exportProblem as Je,pieceIs as _,pieceNamed as re}from"@allyhub-next/video-core";import{runCheck as Ke}from"@allyhub-next/check";import{batchCsv as Ue,batchRows as Qe}from"./batch.js";import{batchName as Xe,checkName as Ze,exportName as ae,exportNames as et}from"./names.js";import{ConsolePool as tt,mergeConsole as nt,dedupe as ce,indexNeeds as st,makeIndex as ot,CheckSession as it,OpenedVersion as rt,ProjectError as A,versionLabel as le}from"@allyhub-next/project";const de=e=>je.includes(e);async function at(e){const{default:o}=await oe().load("exceljs",{onFetch:()=>e?.("Getting exceljs, once, to write workbooks…")});return o}async function ct(e){const o=oe(),c=()=>e?.("Getting docx, once, to write Word documents…"),[s,f]=await Promise.all([o.load("docx",{onFetch:c}),o.load("docx",{module:"fflate",onFetch:c})]);return{docx:s,zip:f}}export async function exportVersion(e,o,c,s={}){await L(ne(c),{recursive:!0});const f={page:e.graphics(),target:e.target,look:e.look,media:e.media,out:c,...s.steps===!0?{steps:!0}:{},...s.pptx&&s.pptx!=="native"?{pptx:s.pptx}:{}};if(o==="pptx"&&e.piece.kind==="slides"&&(s.pptx??"native")==="native"){const p=await we(e,c);if(p)return s.onProgress?.(1),p}if(o==="wav"){const p=await Ae({timeline:e.timeline,sound:await e.sound(),out:c});return s.onProgress?.(1),{files:[c],duration:Math.round(e.timeline.duration*e.timeline.fps)/e.timeline.fps,...p.loudness?{loudness:p.loudness}:{},master:{...p}}}if(de(o)&&(o!=="png"||e.piece.kind==="video")){const p=e.prepared,r=await Se(p.root,p.files,p.fonts),a=await Ne({target:e.target,look:e.look,media:e.media,pages:[e.graphics()],openPage:async()=>{const u=await e.session.open(e.piece,e.target,"render");return qe(u.stage,{gpu:e.session.gpu})},...o==="gif"?{}:{sound:await e.sound()},out:c,type:o,...s.encode?{encode:s.encode}:{},...s.workers===void 0?{}:{workers:s.workers},...s.onProgress?{onProgress:s.onProgress}:{},code:await Pe(p,e.piece,Ge(r)),...s.partCache===!1?{partCache:!1}:{},...s.signal?{signal:s.signal}:{}});return{files:a.files??[a.out],duration:a.duration,parts:a.parts,...a.junctions?{junctions:a.junctions}:{},...a.loudness?{loudness:a.loudness}:{},...a.master?{master:{...a.master}}:{},timings:a.timings}}const m=o==="srt"||o==="vtt"?await Me({...f,type:o,...s.captions?{captions:s.captions}:{}}):o==="pdf"?await Oe(f):o==="pptx"?await Fe(f):o==="png"?await Te(f):await Ce(f);return s.onProgress?.(1),{files:m.files??[m.out]}}export const exportsAtOnce=e=>Math.max(1,Math.min(e,Math.floor(xe().length/4))),DOC_TYPES=["pdf","docx","png","md"],SHEET_TYPES=["xlsx","csv","md","json"],MODEL_TYPES=["glb"];const B=(e,o)=>`${String(e)} ${o}${e===1?"":"s"}`;function lt(e){if(e===void 0)return;const o=new Set([...Object.keys(ie),...DOC_TYPES,...SHEET_TYPES,...MODEL_TYPES]);for(const c of e)if(!o.has(c))throw new A("bad-type",`Cannot render ${c}.`,"usage",`Types: ${[...o].join(", ")}.`);return[...e]}export async function exportProject(e){const o=lt(e.types);e.name!==void 0&&Ze(e.name);const c=e.items??[],s=c.length>0,f=d=>c.some($=>_({id:d,path:d},$)),m=[],p=[],r=[],a=()=>it.open({root:e.root,...e.gpu===void 0?{}:{gpu:e.gpu},...e.consoleLimit===void 0?{}:{consoleLimit:e.consoleLimit}});let u=await a();try{const d=u.prepared,$=d.docs.filter(t=>!s||f(t.place)),g=d.sheets.filter(t=>!s||f(t.place)),j=d.items.filter(t=>t.kind==="model"&&(!s||f(t.dir))),P=c.filter(t=>!d.items.some(n=>n.kind==="model"&&_({id:n.dir,path:n.dir},t))&&!d.docs.some(n=>_({id:n.place,path:n.place},t))&&!d.sheets.some(n=>_({id:n.place,path:n.place},t)));for(const t of P)if(!d.pieces.some(n=>re({id:n.id,path:n.place},t)))throw new A("no-item",`No item ${t}.`,"not-found",`Items: ${[...d.pieces.map(n=>n.id),...d.docs.map(n=>n.place),...d.sheets.map(n=>n.place),...d.items.filter(n=>n.kind==="model").map(n=>n.dir)].join(", ")||"none"}.`);const M=s&&P.length===0,D=o?.filter(t=>t in ie),v=M?[]:d.pieces.filter(t=>P.length===0||P.some(n=>re({id:t.id,path:t.place},n))),R=o?.includes("csv")===!0?v.filter(t=>t.matrix!==void 0):[];if(o?.includes("csv")===!0&&P.length>0&&R.length===0)throw new A("bad-type",`${P.join(", ")} has no slots (matrix.slots), so there is no table of ads to write as csv.`,"usage","csv is a batch's table of ads, or a sheet's rows.");let I=[...d.problems];const Y=new tt(u.consoleLimit),fe=new Set([...d.docs.map(t=>t.file),...d.sheets.flatMap(t=>t.files)]),me=t=>t.where?.file!==void 0&&fe.has(t.where.file),J=t=>t.filter(n=>n.level==="error"&&!me(n)).length;if(!M&&(D?.length!==0||R.length>0)&&(d.pieces.length>0||J(d.problems)>0)){e.log?.("Checking…");const t=()=>pt(u,e.root,P,e.combos);let n=await t();const N=e.index===!1?[]:st(n.results);if(N.length>0){const i=await ot(d.root,N,ft(e.log),e.signal);r.push(...i.failed.map(l=>({file:l.need.file,error:l.error}))),i.done.length>0&&(await u.close(),u=await a(),n=await t())}I=n.problems,Y.addReport(n.console);const O=J(n.problems);if(O>0)throw new A("check-failed",`The check found ${B(O,"must-fix problem")}, so nothing is rendered.`,"failed","allyhub check lists them; fix them, then render.");for(const i of R){const l=performance.now(),k=Xe(i.id),S=Qe(i,n.plans,u.prepared.media,dt(e.root,e.out),e.name);await L(ne(w(e.out,k)),{recursive:!0}),await T(w(e.out,k),Ue(S));const E=n.targets.filter(x=>x.piece===i.id).length;S.length<E&&e.log?.(`${k}: ${B(E-S.length,"ad")} not listed, which did not load (allyhub check says why).`),m.push(await F(e.out,k,i.id,"csv",l))}const y=[],V=new Set;for(const i of n.targets){const l=u.prepared.pieces.find(h=>h.id===i.piece);if(!l)continue;if(!s&&l.options.deliverable===!1){V.add(i.piece);continue}const k=l.kind,S=n.results.find(h=>h.piece===i.piece&&G(h.combo)===i.key&&h.format===i.format),E=n.plans.find(h=>h.piece===i.piece&&G(h.combo)===i.key&&h.format===i.format),x=S?.timeline?(S.timeline.audio.speech?.length??0)>0:E?.parts.some(h=>h.speech!==void 0)??!1,C={piece:i.piece,output:i.output,combo:i.combo,format:i.format,...i.id===void 0?{}:{id:i.id}};for(const h of D??Be[k]){const b=Je({kind:k,speech:x},h);if(!(b?.code==="bad_type"&&!s)){if(b&&b.code!=="no_speech")throw new A("bad-type",`${le(C)}: ${b.message}`,"usage",b.hint);y.push({target:C,type:h,...b?{refused:{name:ae(C,h,e),piece:C.piece,type:h,code:"no-speech",message:`${le(C)}: ${b.message}`,...b.hint?{hint:b.hint}:{}}}:{}})}}}if(V.size>0&&e.log?.(`Not rendered, shown only inside another video (deliverable: false): ${[...V].join(", ")}. Name one to render it.`),y.some(i=>de(i.type)||i.type==="wav")){await Ie();for(const i of new Set(y.map(l=>l.type)))await De(i,e.encode?.codec)}const Q=et(y,e.name,e);y.forEach((i,l)=>{i.refused&&(i.refused.name=Q[l]??i.refused.name)});const X=[],W=new Array(y.length).fill(0),z=(i,l)=>{W[i]=Math.max(W[i]??0,l),e.onProgress?.(W.reduce((k,S)=>k+S,0)/y.length)};let Z=0,ue=0;const he=async()=>{for(let i=Z++;i<y.length;i=Z++){e.signal?.throwIfAborted();const l=y[i];if(!l)continue;const k=Q[i]??ae(l.target,l.type,e);if(l.refused){p.push(l.refused),z(i,1);continue}const S=performance.now(),E=await rt.open({root:e.root,session:u,item:l.target.piece,combos:[l.target.combo],purpose:"render"});try{const x=await exportVersion(E,l.type,w(e.out,k),{...e,onProgress:b=>{z(i,b)}}),C=(await Promise.all(x.files.map(b=>te(b)))).reduce((b,ge)=>b+ge.size,0),h=Math.round((performance.now()-S)/10)/100;m.push({...x,name:pe(se(e.out,x.files[0]??"")),path:x.files[0]??w(e.out,k),piece:l.target.piece,type:l.type,combo:l.target.combo,key:G(l.target.combo),format:l.target.format,bytes:C,seconds:h}),e.log?.(`[${String(++ue)}/${String(y.length)}] ${k} (${h.toFixed(1)} s)`)}catch(x){if(e.signal?.aborted||!(x instanceof Ee))throw x;p.push({name:k,piece:l.target.piece,type:l.type,code:x.code,message:x.message,...x.hint?{hint:x.hint}:{}})}finally{X.push(...await E.problems()),Y.add(l.target,await E.console()),await E.close(),z(i,1)}}};y.length>0&&e.log?.(`Rendering ${B(y.length,"file")}…`);const ee=(await Promise.allSettled(Array.from({length:exportsAtOnce(y.length)},he))).find(i=>i.status==="rejected");if(ee)throw ee.reason;I=ce([...I,...X])}const K=t=>d.problems.find(n=>n.level==="error"&&n.where?.file!==void 0&&t.includes(n.where.file));for(const t of[...$,...g]){const n=K("files"in t?t.files:[t.file]);n&&p.push({name:t.place,piece:t.place,type:"files"in t?"xlsx":"pdf",code:"check-failed",message:`${n.where?.file??t.place}: ${n.message}`,hint:"Fix it, then render again."})}e.signal?.throwIfAborted();const U=t=>t.filter(n=>K("files"in n?n.files:[n.file])===void 0);if(m.push(...await mt(e.root,U($),o,e.out,e.log),...await ut(e.root,U(g),o,e.out,e.log)),o===void 0||o.includes("glb"))for(const t of j){e.log?.(`Building ${t.entry}…`);const n=performance.now(),N=`${t.dir}/${q(t.dir)}.glb`;try{await He(w(e.root,t.entry),{root:e.root,out:w(e.out,N),cache:w(e.root,We,"model"),log:()=>{}}),m.push(await F(e.out,N,t.dir,"glb",n))}catch(O){p.push({name:t.dir,piece:t.dir,type:"glb",code:"model-failed",message:`${t.entry}: ${O instanceof Error?O.message:String(O)}`,hint:"Fix it, then render again."})}}return{out:e.out,files:m,failed:p,problems:I,console:Y.report(),unindexed:r}}finally{await u.close()}}const pe=e=>e.split(ke).join("/");function dt(e,o){const c=se(e,o);return c===""?".":c.startsWith("..")||be(c)?o:pe(c)}async function pt(e,o,c,s){const f=[];for(const a of c.length>0?c:[void 0])f.push(await Ke({dir:o,session:e,facts:!1,...a===void 0?{}:{piece:a},...s?{combos:[...s]}:{}}));const m=new Set,p=f.flatMap(a=>a.targets).filter(a=>{const u=`${a.piece}\0${a.key}\0${a.format}`;return m.has(u)?!1:(m.add(u),!0)}),r=ce(f.flatMap(a=>a.problems));return{targets:p,results:f.flatMap(a=>a.results),plans:f.flatMap(a=>a.plans),problems:r,errors:r.filter(a=>a.level==="error").length,console:nt(e.consoleLimit,...f.map(a=>a.console))}}function ft(e){let o="";return c=>{const s=c.status==="failed"?`Could not index ${c.file}: ${c.message}`:c.message;c.status==="running"&&c.share!==void 0||s!==o&&(o=s,e?.(s))}}async function F(e,o,c,s,f){const m=w(e,o);return{files:[m],name:o,path:m,piece:c,type:s,bytes:(await te(m)).size,seconds:Math.round((performance.now()-f)/10)/100}}async function mt(e,o,c,s,f){const m=(c??["pdf"]).filter(r=>DOC_TYPES.includes(r)),p=[];for(const r of o){if(m.length===0)break;f?.(`Rendering ${r.file}…`);const a=performance.now(),u=q(r.place);if(m.includes("md")){const g=await H(w(e,r.file),"utf8");await L(w(s,r.place),{recursive:!0}),await T(w(s,r.place,`${u}.md`),$e(ye(g).blocks)),p.push(await F(s,`${r.place}/${u}.md`,r.place,"md",a))}if(m.includes("docx")){const g=`${r.place}/${u}.docx`;await _e({root:e,doc:{file:r.file,dir:r.dir,path:r.place,title:r.title},out:w(s,g),...await ct(f)}),p.push(await F(s,g,r.place,"docx",a))}const d=m.filter(g=>g==="pdf"||g==="png");if(d.length===0)continue;const $=await Le({root:e,doc:{file:r.file,dir:r.dir,path:r.place,title:r.title},out:w(s,r.place),name:u,types:d});for(const g of $)p.push(await F(s,`${r.place}/${g}`,r.place,g.endsWith(".png")?"png":"pdf",a))}return p}async function ut(e,o,c,s,f){const m=(c??["xlsx"]).filter(r=>SHEET_TYPES.includes(r)),p=[];for(const r of o){if(m.length===0)break;f?.(`Writing ${r.file}…`);const a=performance.now(),u=await H(w(e,r.file),"utf8"),d=await H(w(e,r.dir,ze),"utf8").catch(()=>{}),{data:$}=Ye(u),g=d===void 0?{columns:{}}:Ve(d).spec;await L(w(s,r.place),{recursive:!0});for(const j of m){const P=`${r.place}/${q(r.place)}.${j}`,M=w(s,P);if(j==="csv")await T(M,u);else if(j==="md")await T(M,Re($,g));else if(j==="json")await T(M,`${JSON.stringify(ve($,g),null,2)}
3
+ `);else{const{xlsxOf:D}=await import("@allyhub-next/sheet/xlsx"),v=await at(f);await T(M,await D(v,$,g,{title:r.title??r.place.split("/").pop()??"Sheet"}))}p.push(await F(s,P,r.place,j,a))}}return p}
@@ -1,4 +1,5 @@
1
1
  export { DOC_TYPES, SHEET_TYPES, exportProject, exportVersion, exportsAtOnce, type DocType, type ExportedFile, type NotExported, type ProjectExport, type ProjectExportOptions, type SheetType, type VersionExportOptions, type VersionFile, } from "./export.js";
2
2
  export { batchName, checkName, exportName, exportNames, versionSuffixes, } from "./names.js";
3
3
  export { batchCsv, batchOf, batchRows, type Batch, type BatchCombo, type BatchRow, } from "./batch.js";
4
+ export { renderDeckPptx } from "./deck-pptx.js";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
1
  /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
- export{DOC_TYPES,SHEET_TYPES,exportProject,exportVersion,exportsAtOnce}from"./export.js";export{batchName,checkName,exportName,exportNames,versionSuffixes}from"./names.js";export{batchCsv,batchOf,batchRows}from"./batch.js";
2
+ export{DOC_TYPES,SHEET_TYPES,exportProject,exportVersion,exportsAtOnce}from"./export.js";export{batchName,checkName,exportName,exportNames,versionSuffixes}from"./names.js";export{batchCsv,batchOf,batchRows}from"./batch.js";export{renderDeckPptx}from"./deck-pptx.js";
@@ -1,12 +1,17 @@
1
1
  import { type Target } from "@allyhub-next/project";
2
2
  import { type FileType } from "@allyhub-next/video-core";
3
+ /** How a deck's file was made, which its name says: another way never overwrites it. */
4
+ export interface ExportManner {
5
+ steps?: boolean;
6
+ pptx?: "native" | "picture" | "editable";
7
+ }
3
8
  /**
4
- * Where a version's file goes in the output folder:
5
- * `<piece>/video.<combo id>.<ext>` for a piece with slots,
6
- * `<piece>/video.<combo key>.<ext>`, or `<piece>/video.<ext>` when the
7
- * piece has no dimensions.
9
+ * Where a version's file goes in the output folder, by the name of the
10
+ * piece's folder: `film/film.<combo id>.<ext>` for a piece with slots,
11
+ * `film/film.<its values, in the dimensions' order by name>.<ext>`
12
+ * (film.en.mp4), or `film/film.<ext>` when the piece has no dimensions.
8
13
  */
9
- export declare function exportName(t: Target, type: FileType): string;
14
+ export declare function exportName(t: Target, type: FileType, how?: ExportManner): string;
10
15
  /** A name for the files (allyhub render --name), checked: a plain file name without folders or an extension's dot at either end. */
11
16
  export declare function checkName(name: string): string;
12
17
  /**
@@ -25,7 +30,7 @@ export declare function versionSuffixes(targets: readonly Pick<Target, "combo" |
25
30
  export declare function exportNames(items: readonly {
26
31
  target: Target;
27
32
  type: FileType;
28
- }[], name?: string): string[];
33
+ }[], name?: string, how?: ExportManner): string[];
29
34
  /** Where a batch's table of ads goes in the output folder: `<piece>/ads.csv`. */
30
35
  export declare const batchName: (piece: string) => string;
31
36
  //# sourceMappingURL=names.d.ts.map
@@ -1,2 +1,2 @@
1
1
  /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
- import{ProjectError as m}from"@allyhub-next/project";import{FILE_TYPES as s,comboKey as i}from"@allyhub-next/video-core";export function exportName(e,n){const a=i(e.combo),t=e.id??(a==="default"?"":a);return`${e.piece}/${e.output}${t===""?"":`.${t}`}.${s[n].ext}`}export function checkName(e){const n=e.trim().replace(/\.+$/u,"");if(n===""||/[/\\]/u.test(n)||n.startsWith("."))throw new m("bad-name",`Cannot name the files ${e}.`,"usage","Give a plain file name without folders or an extension, like --name tidyform-launch; --out chooses the folder.");return n}export function versionSuffixes(e){const n=e.map(t=>t.id??i(t.combo));if(new Set(n).size<=1)return e.map(()=>"");const a=[...new Set(e.flatMap(t=>Object.keys(t.combo)))].filter(t=>new Set(e.map(o=>o.combo[t])).size>1).sort();return e.map(t=>t.id??a.map(o=>t.combo[o]??"").join("."))}export function exportNames(e,n){if(n===void 0)return e.map(o=>exportName(o.target,o.type));const a=checkName(n),t=new Map;for(const o of new Set(e.map(r=>r.target.piece))){const r=e.map(c=>c.target).filter(c=>c.piece===o),p=versionSuffixes(r);r.forEach((c,f)=>t.set(c,p[f]??""))}return e.map(o=>{const r=t.get(o.target)??"";return`${o.target.piece}/${a}${r===""?"":`.${r}`}.${s[o.type].ext}`})}export const batchName=e=>`${e}/ads.csv`;
2
+ import{ProjectError as u}from"@allyhub-next/project";import{FILE_TYPES as i,comboKey as d}from"@allyhub-next/video-core";function s(e,t){return[t?.pptx!==void 0&&t.pptx!=="native"&&e==="pptx"?t.pptx:void 0,t?.steps===!0&&(e==="pdf"||e==="png")?"steps":void 0].flatMap(r=>r===void 0?[]:[`.${r}`]).join("")}export function exportName(e,t,r){const n=e.piece.slice(e.piece.lastIndexOf("/")+1),c=e.id??Object.keys(e.combo).sort().map(o=>e.combo[o]??"").join(".");return`${e.piece}/${n}${c===""?"":`.${c}`}${s(t,r)}.${i[t].ext}`}export function checkName(e){const t=e.trim().replace(/\.+$/u,"");if(t===""||/[/\\]/u.test(t)||t.startsWith("."))throw new u("bad-name",`Cannot name the files ${e}.`,"usage","Give a plain file name without folders or an extension, like --name tidyform-launch; --out chooses the folder.");return t}export function versionSuffixes(e){const t=e.map(n=>n.id??d(n.combo));if(new Set(t).size<=1)return e.map(()=>"");const r=[...new Set(e.flatMap(n=>Object.keys(n.combo)))].filter(n=>new Set(e.map(c=>c.combo[n])).size>1).sort();return e.map(n=>n.id??r.map(c=>n.combo[c]??"").join("."))}export function exportNames(e,t,r){if(t===void 0)return e.map(o=>exportName(o.target,o.type,r));const n=checkName(t),c=new Map;for(const o of new Set(e.map(p=>p.target.piece))){const p=e.map(a=>a.target).filter(a=>a.piece===o),f=versionSuffixes(p);p.forEach((a,m)=>c.set(a,f[m]??""))}return e.map(o=>{const p=c.get(o.target)??"";return`${o.target.piece}/${n}${p===""?"":`.${p}`}${s(o.type,r)}.${i[o.type].ext}`})}export const batchName=e=>`${e}/ads.csv`;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allyhub-next/export",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -16,6 +16,19 @@ export declare const ScriptPartSchema: z.ZodObject<{
16
16
  }, z.core.$strict>]>>;
17
17
  screen: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<ScriptText, unknown, z.core.$ZodTypeInternals<ScriptText, unknown>>>>;
18
18
  }, z.core.$strict>;
19
+ /**
20
+ * A deck's slide in its script: the words of its shapes by their names
21
+ * (a list is a shape's paragraphs) and its speaker notes.
22
+ */
23
+ export declare const ScriptSlideSchema: z.ZodObject<{
24
+ id: z.ZodString;
25
+ text: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<ScriptText, unknown, z.core.$ZodTypeInternals<ScriptText, unknown>>>>;
26
+ notes: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
27
+ declarations: z.ZodDefault<z.ZodArray<z.ZodString>>;
28
+ selectors: z.ZodDefault<z.ZodArray<z.ZodString>>;
29
+ match: z.ZodRecord<z.ZodString, z.ZodString>;
30
+ }, z.core.$strict>]>>;
31
+ }, z.core.$strict>;
19
32
  export declare const ScriptFileSchema: z.ZodObject<{
20
33
  title: z.ZodOptional<z.ZodString>;
21
34
  text: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<ScriptText, unknown, z.core.$ZodTypeInternals<ScriptText, unknown>>>>;
@@ -28,6 +41,15 @@ export declare const ScriptFileSchema: z.ZodObject<{
28
41
  }, z.core.$strict>]>>;
29
42
  screen: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<ScriptText, unknown, z.core.$ZodTypeInternals<ScriptText, unknown>>>>;
30
43
  }, z.core.$strict>>>;
44
+ slides: z.ZodDefault<z.ZodArray<z.ZodObject<{
45
+ id: z.ZodString;
46
+ text: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<ScriptText, unknown, z.core.$ZodTypeInternals<ScriptText, unknown>>>>;
47
+ notes: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
48
+ declarations: z.ZodDefault<z.ZodArray<z.ZodString>>;
49
+ selectors: z.ZodDefault<z.ZodArray<z.ZodString>>;
50
+ match: z.ZodRecord<z.ZodString, z.ZodString>;
51
+ }, z.core.$strict>]>>;
52
+ }, z.core.$strict>>>;
31
53
  }, z.core.$strict>;
32
54
  export type ScriptFile = z.infer<typeof ScriptFileSchema>;
33
55
  /** The script of an item in a language. */
@@ -1,2 +1,2 @@
1
1
  /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
- import{z as t}from"zod";import{SpokenSchema as n,VariantsSchema as s}from"./messages.js";export const SCRIPT_NAME=/^[A-Za-z0-9_-]+$/u;const r=t.string().regex(SCRIPT_NAME,"A name is letters, digits, _ and -.");export const ScriptTextSchema=t.lazy(()=>t.union([t.string(),n,s,t.array(ScriptTextSchema),t.record(r,ScriptTextSchema)])),ScriptPartSchema=t.strictObject({id:r,say:t.union([t.string(),s]).optional(),screen:t.record(r,ScriptTextSchema).optional()}),ScriptFileSchema=t.strictObject({title:t.string().optional(),text:t.record(r,ScriptTextSchema).optional(),parts:t.array(ScriptPartSchema).default([])}).superRefine((e,a)=>{const i=new Set;e.parts.forEach((o,c)=>{i.has(o.id)&&a.addIssue({code:"custom",path:["parts",c,"id"],message:`Two parts are "${o.id}".`}),i.add(o.id)})}),scriptFileFor=(e,a)=>`${e}/script.${a}.yaml`;export function scriptLocale(e){return/(?:^|\/)script\.([A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*)\.yaml$/u.exec(e)?.[1]}
2
+ import{z as t}from"zod";import{SpokenSchema as d,VariantsSchema as i}from"./messages.js";export const SCRIPT_NAME=/^[A-Za-z0-9_-]+$/u;const s=t.string().regex(SCRIPT_NAME,"A name is letters, digits, _ and -.");export const ScriptTextSchema=t.lazy(()=>t.union([t.string(),d,i,t.array(ScriptTextSchema),t.record(s,ScriptTextSchema)])),ScriptPartSchema=t.strictObject({id:s,say:t.union([t.string(),i]).optional(),screen:t.record(s,ScriptTextSchema).optional()}),ScriptSlideSchema=t.strictObject({id:s,text:t.record(s,ScriptTextSchema).optional(),notes:t.union([t.string(),i]).optional()}),ScriptFileSchema=t.strictObject({title:t.string().optional(),text:t.record(s,ScriptTextSchema).optional(),parts:t.array(ScriptPartSchema).default([]),slides:t.array(ScriptSlideSchema).default([])}).superRefine((r,o)=>{const c=new Set;r.parts.forEach((e,a)=>{c.has(e.id)&&o.addIssue({code:"custom",path:["parts",a,"id"],message:`Two parts are "${e.id}".`}),c.add(e.id)});const n=new Set;r.slides.forEach((e,a)=>{n.has(e.id)&&o.addIssue({code:"custom",path:["slides",a,"id"],message:`Two slides are "${e.id}".`}),n.add(e.id)})}),scriptFileFor=(r,o)=>`${r}/script.${o}.yaml`;export function scriptLocale(r){return/(?:^|\/)script\.([A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*)\.yaml$/u.exec(r)?.[1]}