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
@@ -1,2 +1,3 @@
1
1
  /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
- import{fork as g}from"node:child_process";import{copyFile as b,mkdir as V,mkdtemp as I,rename as p,rm as M}from"node:fs/promises";import{createRequire as R}from"node:module";import{dirname as w,join as x,resolve as f}from"node:path";import{fileURLToPath as S}from"node:url";import{ModelError as l}from"./data.js";import{answerOf as _}from"./build-job.js";import{buildInputs as y,cacheKey as L,readModelCache as P,runtimeDigest as k,sweepModelCache as v,writeModelCache as C}from"./build-cache.js";export{buildInputs,cacheKey,readModelCache,runtimeDigest,sweepModelCache,writeModelCache}from"./build-cache.js";export{programLocation}from"./program-location.js";export{capabilities}from"./capabilities.js";export{ModelError}from"./data.js";export{modelReport}from"./report.js";export const BUILD_DEFAULTS={seed:0,maxPatternVertices:1e6,maxSurfaceVertices:1e6,maxInstances:1e5,timeout:60};const O=new URL(`./build-worker.${import.meta.url.endsWith(".ts")?"ts":"js"}`,import.meta.url),T=import.meta.url.endsWith(".ts")?["--import","tsx"]:[];let D;export function modelRuntimeDigest(){return D??=(()=>{const n=R(import.meta.url);return k([S(new URL(".",import.meta.url))],[n.resolve("manifold-3d/manifold.js"),n.resolve("manifold-3d/manifold.wasm")])})()}export async function buildModule(n,r){const c=f(n),t={file:c,parameters:r.parameters??{},seed:r.seed??BUILD_DEFAULTS.seed,maxPatternVertices:r.maxPatternVertices??BUILD_DEFAULTS.maxPatternVertices,maxSurfaceVertices:r.maxSurfaceVertices??BUILD_DEFAULTS.maxSurfaceVertices,maxInstances:r.maxInstances??BUILD_DEFAULTS.maxInstances,root:f(r.root)},s=r.timeout??BUILD_DEFAULTS.timeout;if(!Number.isFinite(s)||s<=0)throw new l("bad_timeout","The timeout must be positive seconds.");const e=r.out===void 0?void 0:f(r.out),i=r.log??(o=>{process.stderr.write(o)});let m;e&&(await V(w(e),{recursive:!0}),m=await I(x(w(e),".allyhub-model-")),t.out=x(m,"model.glb"));const a=r.cache?{root:t.root,dir:r.cache}:void 0;try{const o=L({file:c,parameters:t.parameters,seed:t.seed,maxPatternVertices:t.maxPatternVertices,maxSurfaceVertices:t.maxSurfaceVertices,maxInstances:t.maxInstances,runtime:await modelRuntimeDigest()});if(a&&await v(a.dir),a&&r.fresh!==!0){const d=await P(a,o,e!==void 0);if(d)return e&&t.out&&d.glb&&(await b(d.glb,t.out),await p(t.out,e)),{report:d.result,...e?{glb:e}:{},cache:"hit"}}const u=await E(t,s,i),h=a&&await C(a,o,await y(t.root,c,u.inputs),u.report,t.out);return e&&t.out&&await p(t.out,e),{report:u.report,...e?{glb:e}:{},cache:h?"stored":a?"unstored":"off"}}finally{m&&await M(m,{recursive:!0,force:!0})}}function E(n,r,c){return new Promise((t,s)=>{const e=g(O,[JSON.stringify(n)],{stdio:["ignore","pipe","pipe","ipc"],execArgv:T});e.stdout?.on("data",c),e.stderr?.on("data",c);let i,m=!1;const a=setTimeout(()=>{m=!0,e.kill("SIGKILL")},r*1e3);e.on("message",o=>{i=_(o)}),e.on("error",o=>{clearTimeout(a),s(o)}),e.on("exit",(o,u)=>{clearTimeout(a),m?s(new l("model_timeout",`Model exceeded ${String(r)} seconds.`)):i&&"error"in i?s(new l(i.error.code,i.error.message)):o!==0||!i?s(new l("model_failed",`Model worker exited with ${String(o??u)}.`)):t(i)})})}
2
+ import{spawn as V}from"node:child_process";import{copyFile as M,mkdir as R,mkdtemp as y,rename as p,rm as I}from"node:fs/promises";import{createRequire as S}from"node:module";import{dirname as w,join as h,resolve as f}from"node:path";import{fileURLToPath as x,pathToFileURL as _}from"node:url";import{createPackages as j}from"@allyhub-next/runtimes";import{nodeCommand as L}from"@allyhub-next/runtimes/node";import{ModelError as u}from"./data.js";import{answerOf as P}from"./build-job.js";import{buildInputs as k,cacheKey as v,readModelCache as C,runtimeDigest as O,sweepModelCache as T,writeModelCache as D}from"./build-cache.js";export{buildInputs,cacheKey,readModelCache,runtimeDigest,sweepModelCache,writeModelCache}from"./build-cache.js";export{programLocation}from"./program-location.js";export{capabilities}from"./capabilities.js";export{ModelError}from"./data.js";export{modelReport}from"./report.js";export const BUILD_DEFAULTS={seed:0,maxPatternVertices:1e6,maxSurfaceVertices:1e6,maxInstances:1e5,timeout:60};const E=new URL(`./build-worker.${import.meta.url.endsWith(".ts")?"ts":"js"}`,import.meta.url),F=import.meta.url.endsWith(".ts")?["--import","tsx"]:[];let g;export function manifoldFiles(){return g??=(async()=>{try{const t=S(import.meta.url);return{js:t.resolve("manifold-3d/manifold.js"),wasm:t.resolve("manifold-3d/manifold.wasm")}}catch{}const o=j();await o.ensure("manifold-3d",{onFetch:()=>{process.stderr.write(`Getting Manifold, once, to build 3D models…
3
+ `)}});const e=o.resolve("manifold-3d","manifold-3d/manifold.js"),n=o.resolve("manifold-3d","manifold-3d/manifold.wasm");if(!e||!n)throw new Error("manifold-3d holds no manifold.js");return{js:e,wasm:n}})().catch(o=>{throw g=void 0,o})}let U;export function modelRuntimeDigest(){return U??=manifoldFiles().then(({js:o,wasm:e})=>O([x(new URL(".",import.meta.url))],[o,e]))}export async function buildModule(o,e){const n=f(o),t={file:n,parameters:e.parameters??{},seed:e.seed??BUILD_DEFAULTS.seed,maxPatternVertices:e.maxPatternVertices??BUILD_DEFAULTS.maxPatternVertices,maxSurfaceVertices:e.maxSurfaceVertices??BUILD_DEFAULTS.maxSurfaceVertices,maxInstances:e.maxInstances??BUILD_DEFAULTS.maxInstances,root:f(e.root),manifold:_((await manifoldFiles()).js).href},m=e.timeout??BUILD_DEFAULTS.timeout;if(!Number.isFinite(m)||m<=0)throw new u("bad_timeout","The timeout must be positive seconds.");const r=e.out===void 0?void 0:f(e.out),s=e.log??(a=>{process.stderr.write(a)});let c;r&&(await R(w(r),{recursive:!0}),c=await y(h(w(r),".allyhub-model-")),t.out=h(c,"model.glb"));const i=e.cache?{root:t.root,dir:e.cache}:void 0;try{const a=v({file:n,parameters:t.parameters,seed:t.seed,maxPatternVertices:t.maxPatternVertices,maxSurfaceVertices:t.maxSurfaceVertices,maxInstances:t.maxInstances,runtime:await modelRuntimeDigest()});if(i&&await T(i.dir),i&&e.fresh!==!0){const l=await C(i,a,r!==void 0);if(l)return r&&t.out&&l.glb&&(await M(l.glb,t.out),await p(t.out,r)),{report:l.result,...r?{glb:r}:{},cache:"hit"}}const d=await K(t,m,s),b=i&&await D(i,a,await k(t.root,n,d.inputs),d.report,t.out);return r&&t.out&&await p(t.out,r),{report:d.report,...r?{glb:r}:{},cache:b?"stored":i?"unstored":"off"}}finally{c&&await I(c,{recursive:!0,force:!0})}}function K(o,e,n){return new Promise((t,m)=>{const r=V(L(),[...F,x(E),JSON.stringify(o)],{stdio:["ignore","pipe","pipe","ipc"]});r.stdout?.on("data",n),r.stderr?.on("data",n);let s,c=!1;const i=setTimeout(()=>{c=!0,r.kill("SIGKILL")},e*1e3);r.on("message",a=>{s=P(a)}),r.on("error",a=>{clearTimeout(i),m(a)}),r.on("exit",(a,d)=>{clearTimeout(i),c?m(new u("model_timeout",`Model exceeded ${String(e)} seconds.`)):s&&"error"in s?m(new u(s.error.code,s.error.message)):a!==0||!s?m(new u("model_failed",`Model worker exited with ${String(a??d)}.`)):t(s)})})}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allyhub-next/model",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -5,7 +5,5 @@ export declare function baseDigest(prepared: Pick<Prepared, "bundle" | "root" |
5
5
  /** sha256 of the runtime bundle the stage loads. */
6
6
  runtime: string): Promise<string>;
7
7
  /** The digest of one version, given its piece's base and what it read. */
8
- export declare function outputDigest(prepared: Pick<Prepared, "messages" | "media" | "data">, base: string, piece: PieceInfo, combo: Combo, reads: Reads,
9
- /** Its parts' keys: a deck's speaker notes key counts too. */
10
- parts: readonly string[]): string;
8
+ export declare function outputDigest(prepared: Pick<Prepared, "messages" | "media" | "data">, base: string, piece: PieceInfo, combo: Combo, reads: Reads): string;
11
9
  //# sourceMappingURL=digest.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{createHash as l}from"node:crypto";import{readFile as A}from"node:fs/promises";import{join as B}from"node:path";import{fontsDigest as H}from"@allyhub-next/build";import{comboKey as J,mediaByStem as N,messagePrefix as _}from"@allyhub-next/video-core";const w="allyhub-digest-v4",g=s=>s.digest("hex");async function C(s,e){const n=s.bundle,u=n?.chunks.entries[e.id.replaceAll("/","__")];if(!n||!u)return null;const i=new Set,f=a=>{if(i.has(a))return;i.add(a);const c=n.chunks.chunks[a];if(c){for(const d of c.css)i.add(d);for(const d of c.imports)f(d)}};f(u.file);const r=l("sha256");for(const a of[...i].sort())r.update(`${a}\0`),r.update(await A(B(n.dir,a)).catch(()=>Buffer.alloc(0))),r.update("\0");return g(r)}export async function baseDigest(s,e,n){const u=await H(s.root,s.files,s.fonts),i=l("sha256");return i.update(`${w}\0piece\0`),i.update(JSON.stringify([n,e.id,e.file,e.dims,e.matrix?{space:e.matrix.space,rules:e.matrix.rules}:null,e.format,await C(s,e),...u===void 0?[]:[u]])),`sha256:${g(i)}`}function b(s,e){return s?Object.keys(s).filter(n=>n.startsWith(`${e}.`)).sort().map(n=>[n,s[n]]):[]}export function outputDigest(s,e,n,u,i,f){const r=s.messages.locales,a=r[0],c=u.lang,d=c===void 0?void 0:s.messages.messages[c],h=a===void 0?void 0:s.messages.messages[a],x=(t,o)=>t&&Object.hasOwn(t,o)?t[o]:null,y=(t,o)=>(t===void 0?void 0:s.messages.anchors[t]?.[o])??[],k=t=>{const o=x(d,t);return o!==null?[o,...y(c,t)]:[null,x(h,t),...y(a,t)]},S=t=>{const o=b(d,t);return o.length>0?[o]:[[],b(h,t)]},p=[...i.messages].sort((t,o)=>t.key===o.key?t.kind<o.kind?-1:1:t.key<o.key?-1:1).map(t=>t.kind==="list"?[t.key,"list",...S(t.key)]:[t.key,"text",...k(t.key)]),O=typeof n.options.prefix=="string"?n.options.prefix:_(n.id),D=n.kind==="slides"&&n.options.notes===!0?f.map(t=>`${O}.${t}.notes`).map(t=>[t,...k(t)]):[],j=[...new Set(i.media.map(t=>t.path))].sort().map(t=>{const o=s.media[t]??N(s.media,t);if(!o)return[t,null];const $={...o};return delete $.url,[t,$]}),v=[...new Set(i.data.map(t=>t.path))].sort().map(t=>[t,s.data[t]?.sha256??null]),m=l("sha256");return m.update(`${w}\0output\0${e}\0`),m.update(JSON.stringify([n.kind,n.options,J(u),r,p,D,j,v])),`sha256:${g(m)}`}
2
+ import{createHash as m}from"node:crypto";import{readFile as A}from"node:fs/promises";import{join as B}from"node:path";import{fontsDigest as H}from"@allyhub-next/build";import{comboKey as J,mediaByStem as N,messagePrefix as W}from"@allyhub-next/video-core";const b="allyhub-digest-v4",h=s=>s.digest("hex");async function _(s,o){const n=s.bundle,u=n?.chunks.entries[o.id.replaceAll("/","__")];if(!n||!u)return null;const i=new Set,d=a=>{if(i.has(a))return;i.add(a);const r=n.chunks.chunks[a];if(r){for(const l of r.css)i.add(l);for(const l of r.imports)d(l)}};d(u.file);const c=m("sha256");for(const a of[...i].sort())c.update(`${a}\0`),c.update(await A(B(n.dir,a)).catch(()=>Buffer.alloc(0))),c.update("\0");return h(c)}export async function baseDigest(s,o,n){const u=await H(s.root,s.files,s.fonts),i=m("sha256");return i.update(`${b}\0piece\0`),i.update(JSON.stringify([n,o.id,o.file,o.dims,o.matrix?{space:o.matrix.space,rules:o.matrix.rules}:null,o.format,await _(s,o),...u===void 0?[]:[u]])),`sha256:${h(i)}`}function w(s,o){return s?Object.keys(s).filter(n=>n.startsWith(`${o}.`)).sort().map(n=>[n,s[n]]):[]}export function outputDigest(s,o,n,u,i){const d=s.messages.locales,c=d[0],a=u.lang,r=a===void 0?void 0:s.messages.messages[a],l=c===void 0?void 0:s.messages.messages[c],g=(t,e)=>t&&Object.hasOwn(t,e)?t[e]:null,k=(t,e)=>(t===void 0?void 0:s.messages.anchors[t]?.[e])??[],y=t=>{const e=g(r,t);return e!==null?[e,...k(a,t)]:[null,g(l,t),...k(c,t)]},S=t=>{const e=w(r,t);return e.length>0?[e]:[[],w(l,t)]},$=[...i.messages].sort((t,e)=>t.key===e.key?t.kind<e.kind?-1:1:t.key<e.key?-1:1).map(t=>t.kind==="list"?[t.key,"list",...S(t.key)]:[t.key,"text",...y(t.key)]),O=`${W(n.id)}.`,j=n.kind==="slides"?[n.deck?.file??null,...[...new Set([...Object.keys(r??{}),...Object.keys(l??{})])].filter(t=>t.startsWith(O)).sort().map(t=>[t,...y(t)])]:[],D=[...new Set(i.media.map(t=>t.path))].sort().map(t=>{const e=s.media[t]??N(s.media,t);if(!e)return[t,null];const x={...e};return delete x.url,[t,x]}),v=[...new Set(i.data.map(t=>t.path))].sort().map(t=>[t,s.data[t]?.sha256??null]),f=m("sha256");return f.update(`${b}\0output\0${o}\0`),f.update(JSON.stringify([n.kind,n.options,J(u),d,$,j,D,v])),`sha256:${h(f)}`}
@@ -101,11 +101,6 @@ export declare class LoadedVersion implements VersionPage {
101
101
  x: number;
102
102
  y: number;
103
103
  }>;
104
- /**
105
- * As a constructed style sheet adopted by the document, not a <style>
106
- * element: the page's watcher of changes outside the stage (AK-R003)
107
- * sees no change to the DOM.
108
- */
109
104
  hideText(on: boolean, outlines?: boolean): Promise<void>;
110
105
  measure(times?: readonly number[]): Promise<LayoutReport>;
111
106
  tracks(from: number, to: number): Promise<Track[]>;
@@ -1,4 +1,4 @@
1
1
  /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
- import{LoadError as c}from"@allyhub-next/stage";import{HIDE_OUTLINE_CSS as p,HIDE_TEXT_CSS as g,comboKey as l,problem as o,RULES as f}from"@allyhub-next/video-core";import{dedupe as w}from"./ledger.js";export class StuckError extends Error{code="AK-P003";kept;constructor(e,t){super(e),this.name="StuckError",this.kept=t}}const y="ak-hide-text";export class LoadedVersion{target;stage;summary;failed;hung=!1;constructor(e,t,s,a){this.target=e,this.stage=t,this.summary=s,this.failed=a}static async load(e,t,s,a,i){try{return new LoadedVersion(t,e,await s(),[])}catch(r){const h=r instanceof c?r.detail:r instanceof Error?r.message:String(r),n=await i?.(h).catch(()=>{}),u={piece:t.piece,output:t.output,combo:t.combo,format:t.format,where:n?{file:n.file,line:n.line}:{file:a}},m=r instanceof c&&r.code in f?r.code:"AK-R001",d=r instanceof Error?r.message.split(`
2
+ import{LoadError as h}from"@allyhub-next/stage";import{comboKey as g,problem as o,RULES as p}from"@allyhub-next/video-core";import{dedupe as l}from"./ledger.js";export class StuckError extends Error{code="AK-P003";kept;constructor(e,t){super(e),this.name="StuckError",this.kept=t}}export class LoadedVersion{target;stage;summary;failed;hung=!1;constructor(e,t,s,a){this.target=e,this.stage=t,this.summary=s,this.failed=a}static async load(e,t,s,a,i){try{return new LoadedVersion(t,e,await s(),[])}catch(r){const c=r instanceof h?r.detail:r instanceof Error?r.message:String(r),n=await i?.(c).catch(()=>{}),m={piece:t.piece,output:t.output,combo:t.combo,format:t.format,where:n?{file:n.file,line:n.line}:{file:a}},u=r instanceof h&&r.code in p?r.code:"AK-R001",d=r instanceof Error?r.message.split(`
3
3
  `)[0]??"":String(r).split(`
4
- `)[0];return new LoadedVersion(t,e,void 0,[o(m,`Failed to load ${t.output} of ${t.piece} (${l(t.combo)}, ${t.format}): ${d??""}`,u)])}}get timeline(){if(!this.summary)throw new Error("The version did not load.");return this.summary.timeline}get backstop(){return((this.summary?.seekLimit??10)*2+30)*1e3}async answered(e,t){let s;try{return await Promise.race([e,new Promise((a,i)=>{s=setTimeout(()=>{this.hung=!0,i(new StuckError(`The page drawing ${this.target.piece} did not answer for the moment ${t.toFixed(2)} s in ${String(this.backstop/1e3)} s: piece code may run forever there (a loop that never ends, in a layer's render).`,!1))},this.backstop)})])}finally{clearTimeout(s)}}async seek(e,t){await this.answered(this.stage.seek(e,t===void 0?{}:{part:t}),e);const s=await this.stage.stuck();if(s!==void 0)throw new StuckError(s,!0)}sign(e){return this.answered(this.stage.signatureAt(e),e)}async shot(e){return await this.seek(e),this.stage.capture({format:"png"})}async thumb(e,t){return await this.seek(e),this.stage.drawing.frame({format:"png",scale:Math.min(1,t/this.stage.page.width)})}async region(e,t,s,a){return await this.seek(e,t),{png:await this.stage.drawing.frame({format:"png",clip:{x:s[0],y:s[1],width:s[2],height:s[3]},scale:a}),x:s[0],y:s[1],scale:1/a}}async grab(e){return{png:await this.stage.drawing.frame({format:"png",clip:{x:e[0],y:e[1],width:e[2],height:e[3]}}),x:e[0],y:e[1]}}async hideText(e,t=!1){const s=t?p:g,a=JSON.stringify(y);await this.stage.page.evaluate(`(() => { const w = window; const kept = w[${a}]; document.adoptedStyleSheets = document.adoptedStyleSheets.filter((x) => x !== kept); if (!${String(e)}) return; const s = new CSSStyleSheet(); s.replaceSync(${JSON.stringify(s)}); w[${a}] = s; document.adoptedStyleSheets = [...document.adoptedStyleSheets, s]; })()`)}measure(e){return this.stage.measure(e)}tracks(e,t){return this.stage.tracks(e,t)}inks(e){return this.stage.inks(e)}ask(e,t){return this.stage.ask(e,t)}async problems(){const e={piece:this.target.piece,output:this.target.output,combo:this.target.combo,format:this.target.format};let t=[];if(this.summary&&!this.hung)try{t=await this.stage.problems()}catch{t=this.summary.problems}return w([...this.failed,...this.stage.refused().map(s=>o("AK-N003",`The sandbox blocked a request: ${s}. Piece code has no network.`,e)),...this.stage.page.errors().map(s=>o("AK-R001",`The runtime threw an unhandled exception: ${s.text}`,e)),...t])}async console(){if(this.hung)return{messages:[],dropped:0};try{return await this.stage.console()}catch{return{messages:[],dropped:0}}}close(){return this.stage.close()}}
4
+ `)[0];return new LoadedVersion(t,e,void 0,[o(u,`Failed to load ${t.output} of ${t.piece} (${g(t.combo)}, ${t.format}): ${d??""}`,m)])}}get timeline(){if(!this.summary)throw new Error("The version did not load.");return this.summary.timeline}get backstop(){return((this.summary?.seekLimit??10)*2+30)*1e3}async answered(e,t){let s;try{return await Promise.race([e,new Promise((a,i)=>{s=setTimeout(()=>{this.hung=!0,i(new StuckError(`The page drawing ${this.target.piece} did not answer for the moment ${t.toFixed(2)} s in ${String(this.backstop/1e3)} s: piece code may run forever there (a loop that never ends, in a layer's render).`,!1))},this.backstop)})])}finally{clearTimeout(s)}}async seek(e,t){await this.answered(this.stage.seek(e,t===void 0?{}:{part:t}),e);const s=await this.stage.stuck();if(s!==void 0)throw new StuckError(s,!0)}sign(e){return this.answered(this.stage.signatureAt(e),e)}async shot(e){return await this.seek(e),this.stage.capture({format:"png"})}async thumb(e,t){return await this.seek(e),this.stage.drawing.frame({format:"png",scale:Math.min(1,t/this.stage.page.width)})}async region(e,t,s,a){return await this.seek(e,t),{png:await this.stage.drawing.frame({format:"png",clip:{x:s[0],y:s[1],width:s[2],height:s[3]},scale:a}),x:s[0],y:s[1],scale:1/a}}async grab(e){return{png:await this.stage.drawing.frame({format:"png",clip:{x:e[0],y:e[1],width:e[2],height:e[3]}}),x:e[0],y:e[1]}}hideText(e,t=!1){return this.stage.hideText(e,t)}measure(e){return this.stage.measure(e)}tracks(e,t){return this.stage.tracks(e,t)}inks(e){return this.stage.inks(e)}ask(e,t){return this.stage.ask(e,t)}async problems(){const e={piece:this.target.piece,output:this.target.output,combo:this.target.combo,format:this.target.format};let t=[];if(this.summary&&!this.hung)try{t=await this.stage.problems()}catch{t=this.summary.problems}return l([...this.failed,...this.stage.refused().map(s=>o("AK-N003",`The sandbox blocked a request: ${s}. Piece code has no network.`,e)),...this.stage.page.errors().map(s=>o("AK-R001",`The runtime threw an unhandled exception: ${s.text}`,e)),...t])}async console(){if(this.hung)return{messages:[],dropped:0};try{return await this.stage.console()}catch{return{messages:[],dropped:0}}}close(){return this.stage.close()}}
@@ -1,2 +1,2 @@
1
1
  /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
- import{createHash as l}from"node:crypto";import{readFile as h,rm as w}from"node:fs/promises";import{join as a}from"node:path";import{startBrowser as b}from"@allyhub-next/browser";import{placeFinder as f,prepare as g,sourceOf as D}from"@allyhub-next/build";import{CACHE_DIR as v}from"@allyhub-next/formats";import{stageFiles as L}from"@allyhub-next/runtime/host";import{BUILD_BASE as d,StagePage as O,mediaUrl as c,sceneryHost as y,serveDecoders as S,serveStage as F}from"@allyhub-next/stage";import{CONSOLE_LIMIT as I}from"@allyhub-next/video-core";import{LoadedVersion as j}from"./page.js";let m;export function runtimeDigest(){return m??=h(L().runtime).then(p=>l("sha256").update(p).digest("hex")),m}export class CheckSession{prepared;browser;consoleLimit;server;owned;places;constructor(e,o,t,r,s,i){this.prepared=e,this.browser=o,this.server=t,this.consoleLimit=r,this.places=i,this.owned=s}static async open(e){const o=e.buildDir===void 0,t=e.buildDir??a(e.root,v,"build",`check-${String(process.pid)}`),r=await g(e.root,{buildDir:t,mediaUrl:c,host:y(e.root)});r.bundle&&await S(r.bundle.dir);const s=r.bundle?.dir??t,i=await F({buildDir:s,root:r.root,media:Object.keys(r.media)});let n=e.browser;try{n??=await b(e.gpu===void 0?{}:{gpu:e.gpu})}catch(u){throw await i.close(),u}return new CheckSession(r,n,i,e.consoleLimit??I,{browser:e.browser===void 0,...o?{buildDir:t}:{}},f({served:new URL(d,i.origin).href,dir:s,root:r.root}))}get gpu(){return this.browser.gpu}mediaPath(e){return Object.hasOwn(this.prepared.media,e)?a(this.prepared.root,e):void 0}async open(e,o,t="check"){const r=await O.open({format:e.format},{browser:this.browser,server:this.server,beginFrame:this.browser.beginFrame}),s=D(this.prepared,e,d,c);return j.load(r,o,()=>r.load(s,{combo:o.combo,purpose:t,consoleLimit:this.consoleLimit}),e.file,i=>this.places.placeOf(i))}async close(){await this.server.close(),this.owned.browser&&await this.browser.close(),this.owned.buildDir!==void 0&&await w(this.owned.buildDir,{recursive:!0,force:!0})}}
2
+ import{createHash as l}from"node:crypto";import{readFile as h,rm as w}from"node:fs/promises";import{join as a}from"node:path";import{startBrowser as b}from"@allyhub-next/browser";import{placeFinder as f,prepare as g,sourceOf as D}from"@allyhub-next/build";import{CACHE_DIR as v}from"@allyhub-next/formats";import{stageFiles as L}from"@allyhub-next/stage-page";import{BUILD_BASE as d,StagePage as O,mediaUrl as c,sceneryHost as y,serveDecoders as S,serveStage as F}from"@allyhub-next/stage";import{CONSOLE_LIMIT as I}from"@allyhub-next/video-core";import{LoadedVersion as j}from"./page.js";let m;export function runtimeDigest(){return m??=h(L().runtime).then(p=>l("sha256").update(p).digest("hex")),m}export class CheckSession{prepared;browser;consoleLimit;server;owned;places;constructor(e,o,t,r,s,i){this.prepared=e,this.browser=o,this.server=t,this.consoleLimit=r,this.places=i,this.owned=s}static async open(e){const o=e.buildDir===void 0,t=e.buildDir??a(e.root,v,"build",`check-${String(process.pid)}`),r=await g(e.root,{buildDir:t,mediaUrl:c,host:y(e.root)});r.bundle&&await S(r.bundle.dir);const s=r.bundle?.dir??t,i=await F({buildDir:s,root:r.root,media:Object.keys(r.media)});let n=e.browser;try{n??=await b(e.gpu===void 0?{}:{gpu:e.gpu})}catch(u){throw await i.close(),u}return new CheckSession(r,n,i,e.consoleLimit??I,{browser:e.browser===void 0,...o?{buildDir:t}:{}},f({served:new URL(d,i.origin).href,dir:s,root:r.root}))}get gpu(){return this.browser.gpu}mediaPath(e){return Object.hasOwn(this.prepared.media,e)?a(this.prepared.root,e):void 0}async open(e,o,t="check"){const r=await O.open({format:e.format},{browser:this.browser,server:this.server,beginFrame:this.browser.beginFrame}),s=D(this.prepared,e,d,c);return j.load(r,o,()=>r.load(s,{combo:o.combo,purpose:t,consoleLimit:this.consoleLimit}),e.file,i=>this.places.placeOf(i))}async close(){await this.server.close(),this.owned.browser&&await this.browser.close(),this.owned.buildDir!==void 0&&await w(this.owned.buildDir,{recursive:!0,force:!0})}}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allyhub-next/project",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,14 +1,4 @@
1
1
  import { z } from "zod";
2
- /** The tool the model calls to show an item. */
3
- export declare const OPEN_TOOL = "allyhub_open";
4
- /** The card's resource. */
5
- export declare const CARD_RESOURCE = "ui://allyhub/card";
6
- /** Where the tool result's `_meta` holds the card whole. */
7
- export declare const CARD_META = "allyhub/card";
8
- /** `allyhub_open`'s input. */
9
- export declare const OpenInputSchema: z.ZodObject<{
10
- path: z.ZodOptional<z.ZodString>;
11
- }, z.core.$strict>;
12
2
  /** What the card shows of an item, made from its files when it is opened. */
13
3
  export declare const PreviewSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
14
4
  type: z.ZodLiteral<"picture">;
@@ -44,58 +34,4 @@ export declare const CardItemSchema: z.ZodObject<{
44
34
  title: z.ZodOptional<z.ZodString>;
45
35
  }, z.core.$strict>;
46
36
  export type CardItem = z.infer<typeof CardItemSchema>;
47
- /** `allyhub_open`'s structured result: what the card shows. */
48
- export declare const CardSchema: z.ZodObject<{
49
- project: z.ZodObject<{
50
- name: z.ZodString;
51
- }, z.core.$strict>;
52
- url: z.ZodString;
53
- item: z.ZodOptional<z.ZodObject<{
54
- kind: z.ZodEnum<{
55
- video: "video";
56
- slides: "slides";
57
- doc: "doc";
58
- sheet: "sheet";
59
- scenery: "scenery";
60
- model: "model";
61
- website: "website";
62
- }>;
63
- dir: z.ZodString;
64
- entry: z.ZodString;
65
- title: z.ZodOptional<z.ZodString>;
66
- }, z.core.$strict>>;
67
- preview: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
68
- type: z.ZodLiteral<"picture">;
69
- image: z.ZodObject<{
70
- mime: z.ZodString;
71
- data: z.ZodBase64;
72
- }, z.core.$strict>;
73
- width: z.ZodInt;
74
- height: z.ZodInt;
75
- duration: z.ZodOptional<z.ZodNumber>;
76
- }, z.core.$strict>, z.ZodObject<{
77
- type: z.ZodLiteral<"text">;
78
- lines: z.ZodArray<z.ZodString>;
79
- }, z.core.$strict>, z.ZodObject<{
80
- type: z.ZodLiteral<"table">;
81
- columns: z.ZodArray<z.ZodString>;
82
- rows: z.ZodArray<z.ZodArray<z.ZodString>>;
83
- count: z.ZodInt;
84
- }, z.core.$strict>], "type">>;
85
- items: z.ZodOptional<z.ZodArray<z.ZodObject<{
86
- kind: z.ZodEnum<{
87
- video: "video";
88
- slides: "slides";
89
- doc: "doc";
90
- sheet: "sheet";
91
- scenery: "scenery";
92
- model: "model";
93
- website: "website";
94
- }>;
95
- dir: z.ZodString;
96
- entry: z.ZodString;
97
- title: z.ZodOptional<z.ZodString>;
98
- }, z.core.$strict>>>;
99
- }, z.core.$strict>;
100
- export type Card = z.infer<typeof CardSchema>;
101
37
  //# sourceMappingURL=app.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{z as t}from"zod";import{KINDS as r}from"@allyhub-next/formats";import{PathSchema as e}from"./files.js";import{ImageSchema as i}from"./tools.js";export const OPEN_TOOL="allyhub_open",CARD_RESOURCE="ui://allyhub/card",CARD_META="allyhub/card",OpenInputSchema=t.strictObject({path:t.string().min(1).optional().describe("The item to open: its folder or entry file, absolute or from the folder allyhub mcp runs in (launch/plan, launch/plan/doc.mdx); leave it out for the project's items")}),PreviewSchema=t.discriminatedUnion("type",[t.strictObject({type:t.literal("picture"),image:i,width:t.int().positive(),height:t.int().positive(),duration:t.number().nonnegative().optional()}),t.strictObject({type:t.literal("text"),lines:t.array(t.string())}),t.strictObject({type:t.literal("table"),columns:t.array(t.string()),rows:t.array(t.array(t.string())),count:t.int().nonnegative()})]),CardItemSchema=t.strictObject({kind:t.enum(r),dir:e,entry:e,title:t.string().optional()}),CardSchema=t.strictObject({project:t.strictObject({name:t.string().min(1)}),url:t.string().min(1),item:CardItemSchema.optional(),preview:PreviewSchema.optional(),items:t.array(CardItemSchema).optional()});
2
+ import{z as t}from"zod";import{KINDS as e}from"@allyhub-next/formats";import{PathSchema as i}from"./files.js";import{ImageSchema as r}from"./tools.js";export const PreviewSchema=t.discriminatedUnion("type",[t.strictObject({type:t.literal("picture"),image:r,width:t.int().positive(),height:t.int().positive(),duration:t.number().nonnegative().optional()}),t.strictObject({type:t.literal("text"),lines:t.array(t.string())}),t.strictObject({type:t.literal("table"),columns:t.array(t.string()),rows:t.array(t.array(t.string())),count:t.int().nonnegative()})]),CardItemSchema=t.strictObject({kind:t.enum(e),dir:i,entry:i,title:t.string().optional()});
@@ -113,21 +113,4 @@ export declare const CredentialsFileSchema: z.ZodObject<{
113
113
  since: z.ZodISODateTime;
114
114
  }, z.core.$strict>;
115
115
  export type CredentialsFile = z.infer<typeof CredentialsFileSchema>;
116
- /** What `allyhub auth token --json` prints: an access token for the API, renewed as needed. */
117
- export declare const TokenOutputSchema: z.ZodObject<{
118
- accessToken: z.ZodString;
119
- expiresAt: z.ZodISODateTime;
120
- account: z.ZodObject<{
121
- id: z.ZodString;
122
- email: z.ZodEmail;
123
- name: z.ZodOptional<z.ZodString>;
124
- organization: z.ZodOptional<z.ZodObject<{
125
- id: z.ZodString;
126
- name: z.ZodString;
127
- }, z.core.$strict>>;
128
- }, z.core.$strict>;
129
- }, z.core.$strict>;
130
- export type TokenOutput = z.infer<typeof TokenOutputSchema>;
131
- /** What a client sends with it: `Authorization: Bearer <accessToken>`. */
132
- export declare const bearer: (token: TokenOutput) => string;
133
116
  //# sourceMappingURL=auth.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{z as e}from"zod";export const AuthServerSchema=e.object({issuer:e.url(),authorization_endpoint:e.url(),token_endpoint:e.url(),device_authorization_endpoint:e.url(),revocation_endpoint:e.url(),code_challenge_methods_supported:e.array(e.string()).refine(t=>t.includes("S256"),{message:"The server must take S256 PKCE challenges."})}),CLIENT_ID="allyhub-cli",ISSUER_PATH="/api/auth",METADATA_PATH=`/.well-known/oauth-authorization-server${ISSUER_PATH}`,SCOPES="openid profile email offline_access",ACCOUNT_PATH="/api/account",ORGANIZATION_HEADER="x-allyhub-organization",DEVICES_PAGE_PATH="/devices",DEVICES_PATH="/api/account/devices",ACCOUNT_EXPORT_PATH="/api/account/export",ACCOUNT_DELETE_PATH="/api/account/delete",DevicesSchema=e.object({devices:e.array(e.object({id:e.string(),client:e.string(),signedInAt:e.iso.datetime(),lastActiveAt:e.iso.datetime()}))}),BROWSER_LINK_PATH="/api/account/browser-link",BrowserLinkRequestSchema=e.strictObject({to:e.string().startsWith("/")}),BrowserLinkSchema=e.object({url:e.url()}),CREDENTIALS_FILE=".allyhub/credentials.json",TokenResponseSchema=e.object({access_token:e.string().min(1),token_type:e.string(),expires_in:e.number().positive(),refresh_token:e.string().min(1).optional(),scope:e.string().optional()}),OAuthErrorSchema=e.object({error:e.string(),error_description:e.string().optional()}),DeviceAuthorizationSchema=e.object({device_code:e.string().min(1),user_code:e.string().min(1),verification_uri:e.url(),verification_uri_complete:e.url().optional(),expires_in:e.number().positive(),interval:e.number().positive().optional()}),AccountSchema=e.strictObject({id:e.string().min(1),email:e.email(),name:e.string().optional(),organization:e.strictObject({id:e.string().min(1),name:e.string()}).optional()}),CredentialsFileSchema=e.strictObject({version:e.literal(1),url:e.url(),issuer:e.url(),account:AccountSchema,refreshToken:e.string().min(1),access:e.strictObject({token:e.string().min(1),expiresAt:e.iso.datetime({offset:!0})}).optional(),since:e.iso.datetime({offset:!0})}),TokenOutputSchema=e.strictObject({accessToken:e.string().min(1),expiresAt:e.iso.datetime({offset:!0}),account:AccountSchema}),bearer=t=>`Bearer ${t.accessToken}`;
2
+ import{z as e}from"zod";export const AuthServerSchema=e.object({issuer:e.url(),authorization_endpoint:e.url(),token_endpoint:e.url(),device_authorization_endpoint:e.url(),revocation_endpoint:e.url(),code_challenge_methods_supported:e.array(e.string()).refine(t=>t.includes("S256"),{message:"The server must take S256 PKCE challenges."})}),CLIENT_ID="allyhub-cli",ISSUER_PATH="/api/auth",METADATA_PATH=`/.well-known/oauth-authorization-server${ISSUER_PATH}`,SCOPES="openid profile email offline_access",ACCOUNT_PATH="/api/account",ORGANIZATION_HEADER="x-allyhub-organization",DEVICES_PAGE_PATH="/devices",DEVICES_PATH="/api/account/devices",ACCOUNT_EXPORT_PATH="/api/account/export",ACCOUNT_DELETE_PATH="/api/account/delete",DevicesSchema=e.object({devices:e.array(e.object({id:e.string(),client:e.string(),signedInAt:e.iso.datetime(),lastActiveAt:e.iso.datetime()}))}),BROWSER_LINK_PATH="/api/account/browser-link",BrowserLinkRequestSchema=e.strictObject({to:e.string().startsWith("/")}),BrowserLinkSchema=e.object({url:e.url()}),CREDENTIALS_FILE=".allyhub/credentials.json",TokenResponseSchema=e.object({access_token:e.string().min(1),token_type:e.string(),expires_in:e.number().positive(),refresh_token:e.string().min(1).optional(),scope:e.string().optional()}),OAuthErrorSchema=e.object({error:e.string(),error_description:e.string().optional()}),DeviceAuthorizationSchema=e.object({device_code:e.string().min(1),user_code:e.string().min(1),verification_uri:e.url(),verification_uri_complete:e.url().optional(),expires_in:e.number().positive(),interval:e.number().positive().optional()}),AccountSchema=e.strictObject({id:e.string().min(1),email:e.email(),name:e.string().optional(),organization:e.strictObject({id:e.string().min(1),name:e.string()}).optional()}),CredentialsFileSchema=e.strictObject({version:e.literal(1),url:e.url(),issuer:e.url(),account:AccountSchema,refreshToken:e.string().min(1),access:e.strictObject({token:e.string().min(1),expiresAt:e.iso.datetime({offset:!0})}).optional(),since:e.iso.datetime({offset:!0})});
@@ -40,8 +40,6 @@ export interface CommandSpec<I extends z.ZodObject = z.ZodObject, O extends z.Zo
40
40
  output: O;
41
41
  /** Lines of `allyhub help <command>` that show it at work. */
42
42
  examples?: readonly string[];
43
- /** Exposed as an MCP tool by `allyhub mcp` (most are; one that talks to a terminal is not). */
44
- mcp?: boolean;
45
43
  }
46
44
  /** A command's spec, checked: its name's form, and that each positional is a field. */
47
45
  export declare function command<I extends z.ZodObject, O extends z.ZodType>(spec: CommandSpec<I, O>): CommandSpec<I, O>;
@@ -54,6 +52,4 @@ export declare function describeCommand(spec: CommandSpec): {
54
52
  output: Record<string, unknown>;
55
53
  examples: string[];
56
54
  };
57
- /** The MCP tool name of a command: `scenery view` is `allyhub_scenery_view`. */
58
- export declare const toolName: (name: string) => string;
59
55
  //# sourceMappingURL=cli.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{z as o}from"zod";export const EXIT={ok:0,failed:1,usage:2,conflict:3,auth:4,platform:5,notFound:6,interrupted:130},CliErrorSchema=o.strictObject({error:o.strictObject({code:o.string().regex(/^[a-z][a-z0-9-]*$/u),message:o.string().min(1),hint:o.string().optional()})}),COMMAND_NAME=/^[a-z0-9][a-z0-9-]*(?: [a-z0-9][a-z0-9-]*)*$/u;export function command(t){if(!COMMAND_NAME.test(t.name))throw new Error(`"${t.name}" is not a command name.`);const e=Object.keys(t.input.shape);for(const n of t.positional??[])if(!e.includes(n))throw new Error(`${t.name}: positional "${n}" is not a field of its input.`);for(const[n,r]of Object.entries(t.input.shape))if(!r.description)throw new Error(`${t.name}: "${n}" has no description.`);return t}export function describeCommand(t){return{name:t.name,summary:t.summary,positional:[...t.positional??[]],input:o.toJSONSchema(t.input,{io:"input",unrepresentable:"any"}),output:o.toJSONSchema(t.output,{io:"output",unrepresentable:"any"}),examples:[...t.examples??[]]}}export const toolName=t=>`allyhub_${t.replaceAll(/[ -]/gu,"_")}`;
2
+ import{z as o}from"zod";export const EXIT={ok:0,failed:1,usage:2,conflict:3,auth:4,platform:5,notFound:6,interrupted:130},CliErrorSchema=o.strictObject({error:o.strictObject({code:o.string().regex(/^[a-z][a-z0-9-]*$/u),message:o.string().min(1),hint:o.string().optional()})}),COMMAND_NAME=/^[a-z0-9][a-z0-9-]*(?: [a-z0-9][a-z0-9-]*)*$/u;export function command(t){if(!COMMAND_NAME.test(t.name))throw new Error(`"${t.name}" is not a command name.`);const e=Object.keys(t.input.shape);for(const n of t.positional??[])if(!e.includes(n))throw new Error(`${t.name}: positional "${n}" is not a field of its input.`);for(const[n,r]of Object.entries(t.input.shape))if(!r.description)throw new Error(`${t.name}: "${n}" has no description.`);return t}export function describeCommand(t){return{name:t.name,summary:t.summary,positional:[...t.positional??[]],input:o.toJSONSchema(t.input,{io:"input",unrepresentable:"any"}),output:o.toJSONSchema(t.output,{io:"output",unrepresentable:"any"}),examples:[...t.examples??[]]}}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { type ClientOf } from "./jsonrpc.js";
3
+ import type { NoteSurface } from "./notes.js";
3
4
  export declare const ThemeSchema: z.ZodEnum<{
4
5
  light: "light";
5
6
  dark: "dark";
@@ -115,19 +116,6 @@ export declare const HOST_METHODS: {
115
116
  }>;
116
117
  message: z.ZodOptional<z.ZodString>;
117
118
  }, z.core.$strict>, z.ZodObject<{}, z.core.$strict>>;
118
- readonly "editor/context": import("./jsonrpc.js").MethodSpec<z.ZodObject<{
119
- text: z.ZodString;
120
- at: z.ZodOptional<z.ZodObject<{
121
- t: z.ZodNumber;
122
- version: z.ZodString;
123
- }, z.core.$strict>>;
124
- picture: z.ZodOptional<z.ZodObject<{
125
- x: z.ZodNumber;
126
- y: z.ZodNumber;
127
- width: z.ZodNumber;
128
- height: z.ZodNumber;
129
- }, z.core.$strict>>;
130
- }, z.core.$strict>, z.ZodObject<{}, z.core.$strict>>;
131
119
  readonly "tools/call": import("./jsonrpc.js").MethodSpec<z.ZodObject<{
132
120
  name: z.ZodString;
133
121
  arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -176,6 +164,7 @@ export declare const HOST_NOTIFICATIONS: {
176
164
  item: z.ZodString;
177
165
  versions: z.ZodArray<z.ZodString>;
178
166
  types: z.ZodArray<z.ZodString>;
167
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean]>>>;
179
168
  state: z.ZodEnum<{
180
169
  running: "running";
181
170
  done: "done";
@@ -249,6 +238,11 @@ export declare const HOST_NOTIFICATIONS: {
249
238
  website: "website";
250
239
  }>;
251
240
  }, z.core.$strict>>;
241
+ readonly "editor/command": import("./jsonrpc.js").NotificationSpec<z.ZodObject<{
242
+ command: z.ZodEnum<{
243
+ export: "export";
244
+ }>;
245
+ }, z.core.$strict>>;
252
246
  };
253
247
  /** Every method an editor may call on its host. */
254
248
  export declare const EDITOR_HOST_METHODS: {
@@ -315,19 +309,6 @@ export declare const EDITOR_HOST_METHODS: {
315
309
  }>;
316
310
  message: z.ZodOptional<z.ZodString>;
317
311
  }, z.core.$strict>, z.ZodObject<{}, z.core.$strict>>;
318
- readonly "editor/context": import("./jsonrpc.js").MethodSpec<z.ZodObject<{
319
- text: z.ZodString;
320
- at: z.ZodOptional<z.ZodObject<{
321
- t: z.ZodNumber;
322
- version: z.ZodString;
323
- }, z.core.$strict>>;
324
- picture: z.ZodOptional<z.ZodObject<{
325
- x: z.ZodNumber;
326
- y: z.ZodNumber;
327
- width: z.ZodNumber;
328
- height: z.ZodNumber;
329
- }, z.core.$strict>>;
330
- }, z.core.$strict>, z.ZodObject<{}, z.core.$strict>>;
331
312
  readonly "tools/call": import("./jsonrpc.js").MethodSpec<z.ZodObject<{
332
313
  name: z.ZodString;
333
314
  arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -405,5 +386,7 @@ export declare const EDITOR_HOST_METHODS: {
405
386
  export type EditorHost = ClientOf<typeof EDITOR_HOST_METHODS> & {
406
387
  /** Tells `files/changed`, `host/context-changed` and the tools' notifications; answers how to stop. */
407
388
  on<N extends keyof typeof HOST_NOTIFICATIONS>(name: N, listener: (params: z.output<(typeof HOST_NOTIFICATIONS)[N]["params"]>) => void): () => void;
389
+ /** Gives the host what it asks of the editor for a person's notes; answers how to stop. Absent where nobody takes notes. */
390
+ notes?(surface: NoteSurface): () => void;
408
391
  };
409
392
  //# sourceMappingURL=editor.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{z as t}from"zod";import{EDITORS as r,KINDS as s}from"@allyhub-next/formats";import{FILE_METHODS as n,FILE_NOTIFICATIONS as i,PathSchema as o}from"./files.js";import{method as e,notification as a}from"./jsonrpc.js";import{TOOL_NOTIFICATIONS as c}from"./tools.js";export const ThemeSchema=t.enum(["light","dark"]),HostContextSchema=t.strictObject({locale:t.string().min(2),theme:ThemeSchema,agent:t.strictObject({name:t.string().min(1)}).optional(),project:t.strictObject({name:t.string().min(1)}),item:t.strictObject({kind:t.enum(s),dir:o,entry:o}),editor:t.enum(r)}),OpenTargetSchema=t.discriminatedUnion("type",[t.strictObject({type:t.literal("file"),path:o,line:t.int().positive().optional()}),t.strictObject({type:t.literal("browser"),url:t.url({protocol:/^https?$/u}).optional(),tabId:t.string().min(1).optional()})]),EDITOR_STATES=["saved","saving","unsaved","error"],HOST_METHODS={"host/context":e(t.strictObject({}),HostContextSchema,"Where the editor runs."),"items/open":e(t.strictObject({target:OpenTargetSchema}),t.strictObject({}),"Shows another item, a file or a page, where the host shows things."),"storage/get":e(t.strictObject({key:t.string().min(1)}),t.strictObject({value:t.unknown()}),"What the editor kept for this person on this computer (a hand sort, what was last seen), or null."),"storage/set":e(t.strictObject({key:t.string().min(1),value:t.unknown()}),t.strictObject({}),"Keeps a value for this person on this computer; null removes it."),"editor/state":e(t.strictObject({state:t.enum(EDITOR_STATES),message:t.string().optional()}),t.strictObject({}),"Says whether what the person typed is saved."),"editor/context":e(t.strictObject({text:t.string(),at:t.strictObject({t:t.number().nonnegative(),version:t.string()}).optional(),picture:t.strictObject({x:t.number(),y:t.number(),width:t.number().positive(),height:t.number().positive()}).optional()}),t.strictObject({}),"Tells the host what the editor shows, as MCP Apps' ui/update-model-context does: what a note the person makes on it is about."),"tools/call":e(t.strictObject({name:t.string().min(1),arguments:t.record(t.string(),t.unknown()).default({})}),t.strictObject({result:t.unknown()}),"Runs one of the project server's tools (tools.ts's PROJECT_TOOLS), for an editor that needs more than files (a video's preview, a still).")},HOST_NOTIFICATIONS={"host/context-changed":a(HostContextSchema,"The language, theme or agent changed."),...i,...c},EDITOR_HOST_METHODS={...n,...HOST_METHODS};
2
+ import{z as t}from"zod";import{EDITORS as s,KINDS as n}from"@allyhub-next/formats";import{FILE_METHODS as i,FILE_NOTIFICATIONS as a,PathSchema as o}from"./files.js";import{method as e,notification as r}from"./jsonrpc.js";import{TOOL_NOTIFICATIONS as c}from"./tools.js";export const ThemeSchema=t.enum(["light","dark"]),HostContextSchema=t.strictObject({locale:t.string().min(2),theme:ThemeSchema,agent:t.strictObject({name:t.string().min(1)}).optional(),project:t.strictObject({name:t.string().min(1)}),item:t.strictObject({kind:t.enum(n),dir:o,entry:o}),editor:t.enum(s)}),OpenTargetSchema=t.discriminatedUnion("type",[t.strictObject({type:t.literal("file"),path:o,line:t.int().positive().optional()}),t.strictObject({type:t.literal("browser"),url:t.url({protocol:/^https?$/u}).optional(),tabId:t.string().min(1).optional()})]),EDITOR_STATES=["saved","saving","unsaved","error"],HOST_METHODS={"host/context":e(t.strictObject({}),HostContextSchema,"Where the editor runs."),"items/open":e(t.strictObject({target:OpenTargetSchema}),t.strictObject({}),"Shows another item, a file or a page, where the host shows things."),"storage/get":e(t.strictObject({key:t.string().min(1)}),t.strictObject({value:t.unknown()}),"What the editor kept for this person on this computer (a hand sort, what was last seen), or null."),"storage/set":e(t.strictObject({key:t.string().min(1),value:t.unknown()}),t.strictObject({}),"Keeps a value for this person on this computer; null removes it."),"editor/state":e(t.strictObject({state:t.enum(EDITOR_STATES),message:t.string().optional()}),t.strictObject({}),"Says whether what the person typed is saved."),"tools/call":e(t.strictObject({name:t.string().min(1),arguments:t.record(t.string(),t.unknown()).default({})}),t.strictObject({result:t.unknown()}),"Runs one of the project server's tools (tools.ts's PROJECT_TOOLS), for an editor that needs more than files (a video's preview, a still).")},HOST_NOTIFICATIONS={"host/context-changed":r(HostContextSchema,"The language, theme or agent changed."),"editor/command":r(t.strictObject({command:t.enum(["export"])}),"The host around the editor asked it to do what its own shortcut does."),...a,...c},EDITOR_HOST_METHODS={...i,...HOST_METHODS};
@@ -1,6 +1,7 @@
1
1
  export * from "./jsonrpc.js";
2
2
  export * from "./files.js";
3
3
  export * from "./editor.js";
4
+ export * from "./notes.js";
4
5
  export * from "./tools.js";
5
6
  export * from "./cli.js";
6
7
  export * from "./auth.js";
@@ -1,2 +1,2 @@
1
1
  /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
- export*from"./jsonrpc.js";export*from"./files.js";export*from"./editor.js";export*from"./tools.js";export*from"./cli.js";export*from"./auth.js";export*from"./registry.js";export*from"./runtimes.js";export*from"./cloud.js";export*from"./teams.js";export*from"./app.js";export*from"./routes.js";
2
+ export*from"./jsonrpc.js";export*from"./files.js";export*from"./editor.js";export*from"./notes.js";export*from"./tools.js";export*from"./cli.js";export*from"./auth.js";export*from"./registry.js";export*from"./runtimes.js";export*from"./cloud.js";export*from"./teams.js";export*from"./app.js";export*from"./routes.js";
@@ -0,0 +1,163 @@
1
+ import { z } from "zod";
2
+ import { pointsOf, mapShape, touches, type NoteShape } from "@allyhub-next/formats";
3
+ export declare const NoteRectSchema: z.ZodObject<{
4
+ x: z.ZodNumber;
5
+ y: z.ZodNumber;
6
+ width: z.ZodNumber;
7
+ height: z.ZodNumber;
8
+ }, z.core.$strict>;
9
+ export type NoteRect = z.infer<typeof NoteRectSchema>;
10
+ /** A mark as the host tells it, px of the surface: its shape, and nothing of what is under it. */
11
+ export declare const NoteShapeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
12
+ kind: z.ZodLiteral<"box">;
13
+ rect: z.ZodObject<{
14
+ x: z.ZodNumber;
15
+ y: z.ZodNumber;
16
+ width: z.ZodNumber;
17
+ height: z.ZodNumber;
18
+ }, z.core.$strict>;
19
+ }, z.core.$strict>, z.ZodObject<{
20
+ kind: z.ZodLiteral<"round">;
21
+ rect: z.ZodObject<{
22
+ x: z.ZodNumber;
23
+ y: z.ZodNumber;
24
+ width: z.ZodNumber;
25
+ height: z.ZodNumber;
26
+ }, z.core.$strict>;
27
+ }, z.core.$strict>, z.ZodObject<{
28
+ kind: z.ZodLiteral<"arrow">;
29
+ from: z.ZodObject<{
30
+ x: z.ZodNumber;
31
+ y: z.ZodNumber;
32
+ }, z.core.$strict>;
33
+ to: z.ZodObject<{
34
+ x: z.ZodNumber;
35
+ y: z.ZodNumber;
36
+ }, z.core.$strict>;
37
+ }, z.core.$strict>, z.ZodObject<{
38
+ kind: z.ZodLiteral<"line">;
39
+ points: z.ZodArray<z.ZodObject<{
40
+ x: z.ZodNumber;
41
+ y: z.ZodNumber;
42
+ }, z.core.$strict>>;
43
+ }, z.core.$strict>], "kind">;
44
+ export { mapShape, pointsOf, touches };
45
+ export type { NoteShape };
46
+ /** Where to change something: a project's file, and its line. */
47
+ export declare const NoteSourceSchema: z.ZodObject<{
48
+ path: z.ZodString;
49
+ line: z.ZodOptional<z.ZodInt>;
50
+ }, z.core.$strict>;
51
+ export type NoteSource = z.infer<typeof NoteSourceSchema>;
52
+ export declare const FrozenSchema: z.ZodObject<{
53
+ key: z.ZodString;
54
+ what: z.ZodString;
55
+ source: z.ZodOptional<z.ZodObject<{
56
+ path: z.ZodString;
57
+ line: z.ZodOptional<z.ZodInt>;
58
+ }, z.core.$strict>>;
59
+ }, z.core.$strict>;
60
+ export type Frozen = z.infer<typeof FrozenSchema>;
61
+ export declare const NotePictureSchema: z.ZodObject<{
62
+ rect: z.ZodOptional<z.ZodObject<{
63
+ x: z.ZodNumber;
64
+ y: z.ZodNumber;
65
+ width: z.ZodNumber;
66
+ height: z.ZodNumber;
67
+ }, z.core.$strict>>;
68
+ mime: z.ZodString;
69
+ data: z.ZodString;
70
+ }, z.core.$strict>;
71
+ export type NotePicture = z.infer<typeof NotePictureSchema>;
72
+ export declare const NoteElementSchema: z.ZodObject<{
73
+ name: z.ZodString;
74
+ source: z.ZodOptional<z.ZodObject<{
75
+ path: z.ZodString;
76
+ line: z.ZodOptional<z.ZodInt>;
77
+ }, z.core.$strict>>;
78
+ text: z.ZodOptional<z.ZodString>;
79
+ }, z.core.$strict>;
80
+ export type NoteElement = z.infer<typeof NoteElementSchema>;
81
+ /**
82
+ * What a framed page tells the window that holds it: it answers `NOTE_METHODS`
83
+ * from now on, or no longer. The window asks only a page that has said so.
84
+ */
85
+ export declare const NOTE_READY = "note/ready";
86
+ export declare const NOTE_GONE = "note/gone";
87
+ export declare const NOTE_METHODS: {
88
+ readonly "note/freeze": import("./jsonrpc.js").MethodSpec<z.ZodObject<{}, z.core.$strict>, z.ZodObject<{
89
+ key: z.ZodString;
90
+ what: z.ZodString;
91
+ source: z.ZodOptional<z.ZodObject<{
92
+ path: z.ZodString;
93
+ line: z.ZodOptional<z.ZodInt>;
94
+ }, z.core.$strict>>;
95
+ }, z.core.$strict>>;
96
+ readonly "note/pictures": import("./jsonrpc.js").MethodSpec<z.ZodObject<{
97
+ page: z.ZodBoolean;
98
+ }, z.core.$strict>, z.ZodObject<{
99
+ pictures: z.ZodArray<z.ZodObject<{
100
+ rect: z.ZodOptional<z.ZodObject<{
101
+ x: z.ZodNumber;
102
+ y: z.ZodNumber;
103
+ width: z.ZodNumber;
104
+ height: z.ZodNumber;
105
+ }, z.core.$strict>>;
106
+ mime: z.ZodString;
107
+ data: z.ZodString;
108
+ }, z.core.$strict>>;
109
+ }, z.core.$strict>>;
110
+ readonly "note/locate": import("./jsonrpc.js").MethodSpec<z.ZodObject<{
111
+ mark: z.ZodDiscriminatedUnion<[z.ZodObject<{
112
+ kind: z.ZodLiteral<"box">;
113
+ rect: z.ZodObject<{
114
+ x: z.ZodNumber;
115
+ y: z.ZodNumber;
116
+ width: z.ZodNumber;
117
+ height: z.ZodNumber;
118
+ }, z.core.$strict>;
119
+ }, z.core.$strict>, z.ZodObject<{
120
+ kind: z.ZodLiteral<"round">;
121
+ rect: z.ZodObject<{
122
+ x: z.ZodNumber;
123
+ y: z.ZodNumber;
124
+ width: z.ZodNumber;
125
+ height: z.ZodNumber;
126
+ }, z.core.$strict>;
127
+ }, z.core.$strict>, z.ZodObject<{
128
+ kind: z.ZodLiteral<"arrow">;
129
+ from: z.ZodObject<{
130
+ x: z.ZodNumber;
131
+ y: z.ZodNumber;
132
+ }, z.core.$strict>;
133
+ to: z.ZodObject<{
134
+ x: z.ZodNumber;
135
+ y: z.ZodNumber;
136
+ }, z.core.$strict>;
137
+ }, z.core.$strict>, z.ZodObject<{
138
+ kind: z.ZodLiteral<"line">;
139
+ points: z.ZodArray<z.ZodObject<{
140
+ x: z.ZodNumber;
141
+ y: z.ZodNumber;
142
+ }, z.core.$strict>>;
143
+ }, z.core.$strict>], "kind">;
144
+ }, z.core.$strict>, z.ZodObject<{
145
+ elements: z.ZodArray<z.ZodObject<{
146
+ name: z.ZodString;
147
+ source: z.ZodOptional<z.ZodObject<{
148
+ path: z.ZodString;
149
+ line: z.ZodOptional<z.ZodInt>;
150
+ }, z.core.$strict>>;
151
+ text: z.ZodOptional<z.ZodString>;
152
+ }, z.core.$strict>>;
153
+ }, z.core.$strict>>;
154
+ readonly "note/thaw": import("./jsonrpc.js").MethodSpec<z.ZodObject<{}, z.core.$strict>, z.ZodObject<{}, z.core.$strict>>;
155
+ };
156
+ /** What an editor gives its host for notes on it, for as long as it is on show. */
157
+ export interface NoteSurface {
158
+ freeze(): Promise<Frozen>;
159
+ pictures?(): Promise<NotePicture[]>;
160
+ locate?(mark: NoteShape): Promise<NoteElement[]>;
161
+ thaw?(): void;
162
+ }
163
+ //# sourceMappingURL=notes.d.ts.map
@@ -0,0 +1,2 @@
1
+ /*! AllyHub. Copyright (c) 2026 AllyHub, Inc. All rights reserved. Use is subject to LICENSE.md. */
2
+ import{z as t}from"zod";import{pointsOf as r,mapShape as n,touches as i}from"@allyhub-next/formats";import{PathSchema as s}from"./files.js";import{method as e}from"./jsonrpc.js";export const NoteRectSchema=t.strictObject({x:t.number(),y:t.number(),width:t.number().nonnegative(),height:t.number().nonnegative()});const o=t.strictObject({x:t.number(),y:t.number()});export const NoteShapeSchema=t.discriminatedUnion("kind",[t.strictObject({kind:t.literal("box"),rect:NoteRectSchema}),t.strictObject({kind:t.literal("round"),rect:NoteRectSchema}),t.strictObject({kind:t.literal("arrow"),from:o,to:o}),t.strictObject({kind:t.literal("line"),points:t.array(o).min(1)})]);export{n as mapShape,r as pointsOf,i as touches};export const NoteSourceSchema=t.strictObject({path:s,line:t.int().positive().optional()}),FrozenSchema=t.strictObject({key:t.string().min(1),what:t.string(),source:NoteSourceSchema.optional()}),NotePictureSchema=t.strictObject({rect:NoteRectSchema.optional(),mime:t.string().min(1),data:t.string().min(1)}),NoteElementSchema=t.strictObject({name:t.string().min(1),source:NoteSourceSchema.optional(),text:t.string().optional()}),NOTE_READY="note/ready",NOTE_GONE="note/gone",NOTE_METHODS={"note/freeze":e(t.strictObject({}),FrozenSchema,"Stops what moves and says what is on show. Answered once it is drawn, so a page still loading is not captured empty."),"note/pictures":e(t.strictObject({page:t.boolean()}),t.strictObject({pictures:t.array(NotePictureSchema)}),"What is on show drawn better than a screenshot can, or what a screenshot cannot reach: a render's frame, a frame of its own. Laid in order over the host's screenshot."),"note/locate":e(t.strictObject({mark:NoteShapeSchema}),t.strictObject({elements:t.array(NoteElementSchema)}),"What a mark is on, while frozen: the surface alone knows what it shows, and says it in its own terms, with its file and line where it knows them. Empty is an answer: the mark's place still goes."),"note/thaw":e(t.strictObject({}),t.strictObject({}),"The person is done. Nothing starts by itself: a video that was paused stays paused.")};
@@ -144,8 +144,8 @@ export declare const RegistryIndexSchema: z.ZodObject<{
144
144
  title: z.ZodString;
145
145
  description: z.ZodString;
146
146
  version: z.ZodOptional<z.ZodString>;
147
- preview: z.ZodOptional<z.ZodString>;
148
147
  categories: z.ZodDefault<z.ZodArray<z.ZodString>>;
148
+ preview: z.ZodOptional<z.ZodString>;
149
149
  card: z.ZodOptional<z.ZodObject<{
150
150
  category: z.ZodEnum<{
151
151
  video: "video";
@@ -10,6 +10,7 @@ export declare const RuntimeFileSchema: z.ZodObject<{
10
10
  none: "none";
11
11
  zip: "zip";
12
12
  tgz: "tgz";
13
+ dmg: "dmg";
13
14
  }>>;
14
15
  name: z.ZodOptional<z.ZodString>;
15
16
  check: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -39,6 +40,7 @@ export declare const RuntimeSchema: z.ZodObject<{
39
40
  none: "none";
40
41
  zip: "zip";
41
42
  tgz: "tgz";
43
+ dmg: "dmg";
42
44
  }>>;
43
45
  name: z.ZodOptional<z.ZodString>;
44
46
  check: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -72,6 +74,7 @@ export declare const RuntimeManifestSchema: z.ZodObject<{
72
74
  none: "none";
73
75
  zip: "zip";
74
76
  tgz: "tgz";
77
+ dmg: "dmg";
75
78
  }>>;
76
79
  name: z.ZodOptional<z.ZodString>;
77
80
  check: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -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";export const PLATFORMS=["darwin-arm64","darwin-x64","linux-x64","linux-arm64","win32-x64"];const s=t.string().regex(/^[0-9a-f]{64}$/u),i=t.string().min(1).refine(e=>!e.startsWith("/")&&!e.split(/[\\/]/u).includes(".."),{message:"A path stays inside the runtime's folder."});export const RuntimeFileSchema=t.strictObject({url:t.url({protocol:/^https$/u}),sha256:s,size:t.int().positive(),unpack:t.enum(["none","zip","tgz"]).default("none"),name:i.optional(),check:t.array(t.strictObject({path:i,sha256:s})).default([]),executable:t.boolean().default(!1),bins:t.record(t.string().regex(/^[a-z0-9][a-z0-9-]*$/u),i).default({})}),RuntimeSchema=t.strictObject({about:t.string().min(1),version:t.string().min(1),license:t.string().min(1),homepage:t.url().optional(),platforms:t.partialRecord(t.union([t.enum(PLATFORMS),t.literal("any")]),t.array(RuntimeFileSchema).min(1))}),RuntimeManifestSchema=t.strictObject({$schema:t.string().optional(),version:t.literal(1),runtimes:t.record(t.string().regex(/^[a-z0-9][a-z0-9-]*$/u),RuntimeSchema)});export function platformOf(e,n){const r=`${e}-${n}`;return PLATFORMS.includes(r)?r:void 0}export function binsOf(e){return Object.assign({},...e.map(n=>n.bins))}export function filesFor(e,n){return e.platforms[n]??e.platforms.any}
2
+ import{z as t}from"zod";export const PLATFORMS=["darwin-arm64","darwin-x64","linux-x64","linux-arm64","win32-x64"];const s=t.string().regex(/^[0-9a-f]{64}$/u),i=t.string().min(1).refine(e=>!e.startsWith("/")&&!e.split(/[\\/]/u).includes(".."),{message:"A path stays inside the runtime's folder."});export const RuntimeFileSchema=t.strictObject({url:t.url({protocol:/^https$/u}),sha256:s,size:t.int().positive(),unpack:t.enum(["none","zip","tgz","dmg"]).default("none"),name:i.optional(),check:t.array(t.strictObject({path:i,sha256:s})).default([]),executable:t.boolean().default(!1),bins:t.record(t.string().regex(/^[a-z0-9][a-z0-9-]*$/u),i).default({})}),RuntimeSchema=t.strictObject({about:t.string().min(1),version:t.string().min(1),license:t.string().min(1),homepage:t.url().optional(),platforms:t.partialRecord(t.union([t.enum(PLATFORMS),t.literal("any")]),t.array(RuntimeFileSchema).min(1))}),RuntimeManifestSchema=t.strictObject({$schema:t.string().optional(),version:t.literal(1),runtimes:t.record(t.string().regex(/^[a-z0-9][a-z0-9-]*$/u),RuntimeSchema)});export function platformOf(e,n){const r=`${e}-${n}`;return PLATFORMS.includes(r)?r:void 0}export function binsOf(e){return Object.assign({},...e.map(n=>n.bins))}export function filesFor(e,n){return e.platforms[n]??e.platforms.any}